/* ================= ABOUT PAGE ================= */
/* sub-hero */
.subhero{position:relative;background:var(--deep);color:#F3EFE4;overflow:hidden;padding-top:calc(150px + env(safe-area-inset-top,0px));padding-bottom:clamp(64px,8vw,100px)}
.subhero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
@media (max-width:900px){.subhero-grid{grid-template-columns:1fr;gap:24px}.subhero-art{order:-1;width:min(230px,66%);margin-inline:auto}}
.subhero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.crumbs{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--mist)}
.crumbs a{transition:color .3s}
.crumbs a:hover{color:var(--gold)}
.crumbs .sep{color:var(--gold)}
.crumbs [aria-current]{color:var(--gold-l)}
.subhero h1{font-size:clamp(46px,7vw,92px);line-height:1.1}
.subhero h1 .gold{color:var(--gold)}
.subhero .sub-lead{font-size:clamp(17px,1.6vw,20px);color:var(--mist);font-weight:300;line-height:1.95;text-align:justify;text-align-last:start}
.subhero-art{position:relative;min-width:0;display:grid;place-items:center}
.subhero-art svg{width:100%;max-width:420px;height:auto;overflow:visible}
.subhero-art .mark{position:absolute;width:34%;top:44%;left:50%;transform:translate(-50%,-50%);opacity:0;animation:fadeUp 1.2s var(--ease) 1.2s forwards}
.ghost-word{position:absolute;left:-2%;bottom:-40px;font-family:var(--f-display);font-size:clamp(120px,18vw,260px);font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(196,157,91,.14);line-height:1;pointer-events:none;white-space:nowrap}
@media (max-width:640px){.ghost-word{font-size:110px;bottom:-24px}.subhero{padding-top:calc(128px + env(safe-area-inset-top,0px))}}

/* who we are */
.who-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,80px);align-items:stretch}
@media (max-width:900px){.who-grid{grid-template-columns:1fr}}
.who-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.who-copy p{font-size:18px;line-height:2;color:var(--mute);text-align:justify;text-align-last:start}
.who-copy p.first{font-size:20px;color:var(--ink);font-weight:500}
.statement{position:relative;overflow:hidden;border-radius:30px;background:var(--paper);border:1px solid var(--line);padding:clamp(30px,4vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:420px}
.statement svg.arc{position:absolute;left:-60px;top:-40px;width:340px;opacity:.5;pointer-events:none}
.statement blockquote{position:relative;margin:0;font-family:var(--f-display);font-size:clamp(28px,3.2vw,40px);line-height:1.45;color:var(--deep);font-weight:700}
.statement blockquote em{font-style:normal;color:var(--green)}
.statement blockquote::before{content:"";display:block;width:56px;height:3px;background:var(--gold);margin-bottom:24px}
.facts{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.facts li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--cream);font-weight:600;font-size:15px;color:var(--ink)}
.facts li i{width:34px;height:34px;border-radius:10px;background:var(--deep);color:var(--gold);display:grid;place-items:center;flex:none}
.facts li i svg{width:17px;height:17px}

/* vision + mission */
.vm2-sec{background:var(--paper);border-block:1px solid var(--line)}
.vm2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:860px){.vm2{grid-template-columns:1fr}}
.vm2-card{position:relative;overflow:hidden;border-radius:30px;padding:clamp(30px,4vw,52px);min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;gap:18px;transition:transform .6s var(--ease),box-shadow .6s}
.vm2-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(10,38,34,.55)}
.vm2-card .ghost{position:absolute;top:18px;left:28px;font-family:var(--f-display);font-size:clamp(110px,12vw,170px);line-height:1;font-weight:700;pointer-events:none}
.vm2-card .tag{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:19px}
.vm2-card .tag i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center}
.vm2-card .tag i svg{width:22px;height:22px}
.vm2-card p{position:relative;font-size:19px;line-height:1.95;font-weight:500;text-align:justify;text-align-last:start}
.vm2-card.vision{background:var(--deep);color:#F3EFE4}
.vm2-card.vision .ghost{color:rgba(196,157,91,.09)}
.vm2-card.vision .tag{color:var(--gold)}
.vm2-card.vision .tag i{border:1px solid rgba(196,157,91,.5)}
.vm2-card.vision p{color:#E3EAE7}
.vm2-card.mission{background:var(--cream);border:1px solid var(--line)}
.vm2-card.mission .ghost{color:rgba(33,91,84,.07)}
.vm2-card.mission .tag{color:var(--green)}
.vm2-card.mission .tag i{background:var(--green);color:#F3EFE4}
.vm2-card.mission p{color:var(--ink)}

/* advantage */
.edge{position:relative;overflow:hidden}
.edge-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:center}
@media (max-width:900px){.edge-grid{grid-template-columns:1fr}}
.edge-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.edge-copy p{font-size:18px;line-height:2;color:var(--mist);text-align:justify;text-align-last:start}
.edge-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line-d)}
.edge-list li{position:relative;display:flex;align-items:center;gap:20px;padding-block:24px;border-bottom:1px solid var(--line-d);transition:padding .4s var(--ease)}
.edge-list li::after{content:"";position:absolute;right:0;left:0;bottom:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.edge-list li:hover{padding-right:12px}
.edge-list li:hover::after{transform:scaleX(1)}
.edge-list i{width:56px;height:56px;border-radius:16px;background:var(--gold);color:var(--deep);display:grid;place-items:center;flex:none;transition:transform .4s var(--ease)}
.edge-list li:hover i{transform:rotate(-8deg) scale(1.05)}
.edge-list i svg{width:26px;height:26px}
.edge-list h3{font-family:var(--f-body);font-size:20px;font-weight:600;color:#F3EFE4;line-height:1.6}

/* values */
.vals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.val{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:30px 24px;display:flex;flex-direction:column;gap:14px;transition:transform .5s var(--ease),background-color .5s,color .5s,border-color .5s}
.val::after{content:"";position:absolute;right:0;left:0;bottom:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .6s var(--ease)}
.val i{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--line);color:var(--green);display:grid;place-items:center;transition:background-color .4s,color .4s,border-color .4s}
.val i svg{width:24px;height:24px}
.val h3{font-size:24px;color:var(--deep);transition:color .4s}
.val p{font-size:15.5px;line-height:1.85;color:var(--mute);transition:color .4s}
.val:hover{transform:translateY(-8px);background:var(--deep);border-color:var(--deep)}
.val:hover::after{transform:scaleX(1)}
.val:hover i{background:var(--gold);border-color:var(--gold);color:var(--deep)}
.val:hover h3{color:#F3EFE4}
.val:hover p{color:var(--mist)}
@media (max-width:1100px) and (min-width:981px){.vals{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* method: vertical zig-zag timeline */
.method-sec{background:var(--paper);border-block:1px solid var(--line)}
.zz{position:relative;list-style:none;margin:0 auto;padding:0;max-width:980px}
.zz .line{position:absolute;top:0;bottom:0;right:50%;width:2px;transform:translateX(50%);background:var(--line);overflow:hidden}
.zz .line span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleY(var(--p,0));transform-origin:top;transition:transform .2s linear}
.zz-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);align-items:center;padding-block:14px}
.zz-step .dotn{grid-column:2;justify-self:center;width:64px;height:64px;border-radius:50%;background:var(--paper);border:2px solid var(--green);color:var(--green);display:grid;place-items:center;font-family:var(--f-display);font-size:22px;font-weight:700;z-index:1;transition:background-color .5s,color .5s,border-color .5s;font-variant-numeric:tabular-nums}
.zz-step.lit .dotn{background:var(--green);color:#F3EFE4}
.zz-card{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:22px 26px;font-size:17px;font-weight:600;line-height:1.75;color:var(--ink);transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}
.zz-card small{display:block;font-size:13px;font-weight:600;color:var(--gold-d);margin-bottom:4px}
.zz-step:hover .zz-card{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(10,38,34,.45)}
.zz-step:nth-child(even) .zz-card{grid-column:1;grid-row:1}
.zz-step:nth-child(odd) .zz-card{grid-column:3;grid-row:1}
.zz-step .dotn{grid-row:1}
@media (max-width:760px){
  .zz .line{right:31px;transform:none}
  .zz-step{grid-template-columns:64px minmax(0,1fr);gap:16px}
  .zz-step .dotn{grid-column:1;width:62px;height:62px}
  .zz-step:nth-child(odd) .zz-card,.zz-step:nth-child(even) .zz-card{grid-column:2}
}
.models2{margin-top:72px}
.models2 h3.h3c{font-size:26px;color:var(--deep);text-align:center;margin-bottom:28px}
.models2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:860px){.models2-grid{grid-template-columns:1fr}}
.model{display:flex;align-items:center;gap:18px;padding:24px;border-radius:22px;background:var(--deep);color:#F3EFE4;transition:transform .5s var(--ease)}
.model:hover{transform:translateY(-6px)}
.model i{width:52px;height:52px;border-radius:15px;background:rgba(196,157,91,.15);color:var(--gold);display:grid;place-items:center;flex:none}
.model i svg{width:24px;height:24px}
.model span{font-weight:600;font-size:17px;line-height:1.6}

/* compliance */
.comply{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;background:var(--sand);border:1px solid #E2D5B8;border-radius:30px;padding:clamp(28px,4vw,52px)}
@media (max-width:640px){.comply{grid-template-columns:1fr;text-align:right}}
.comply .seal2{width:120px;height:136px;border-radius:999px 999px 18px 18px;background:var(--deep);color:var(--gold);display:grid;place-items:center}
.comply .seal2 svg{width:52px;height:52px}
.comply h2{font-size:clamp(26px,3vw,36px);color:var(--deep);margin-bottom:12px}
.comply p{font-size:18px;line-height:2;color:var(--mute);text-align:justify;text-align-last:start}

/* brands strip */
.bstrip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:22px 30px}
.bstrip h3{font-size:20px;color:var(--deep)}
.bstrip .logos4{display:flex;align-items:center;gap:clamp(14px,3vw,36px);flex-wrap:wrap}
.bstrip .logos4 img{width:68px;height:68px;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s var(--ease)}
.bstrip .logos4 img:hover{transform:scale(1.1)}
@media (max-width:640px){.bstrip{flex-direction:column;align-items:stretch;text-align:center}.bstrip .logos4{justify-content:space-between}.bstrip .logos4 img{width:60px;height:60px}.bstrip .btn{justify-content:center}}

/* phones: values become a carousel with arrows */
@media (max-width:980px){
  .vals{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;padding-bottom:4px;scrollbar-width:none;align-items:stretch}
  .vals::-webkit-scrollbar{display:none}
  .val{flex:0 0 min(78%,320px);scroll-snap-align:start}
  .val:hover{transform:none}
  .mctl{display:flex}
}
@media (max-width:640px){
  .who-copy p.first{font-size:18px}
  .statement{min-height:0}
  .vm2-card{min-height:300px}
  .vm2-card p{font-size:17px}
  .edge-list h3{font-size:17px}
  .edge-list i{width:48px;height:48px}
}

/* phones: vision + mission swipe side by side */
@media (max-width:860px){
  .vm2{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;padding-bottom:4px;scrollbar-width:none;align-items:stretch}
  .vm2::-webkit-scrollbar{display:none}
  .vm2-card{flex:0 0 min(84%,420px);scroll-snap-align:start}
  .vm2-card:hover{transform:none}
}
