/* v3 layer — loaded after the live style.css. Everything not listed here is the live site, untouched. */

/* section index */
.v3-kicker{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.v3-kicker .section-eyebrow{margin-bottom:0}
.v3-idx{font-size:.62rem;font-weight:500;letter-spacing:.22em;color:rgba(26,37,53,.36);font-variant-numeric:lining-nums}
#geography .v3-idx,.contact-left .v3-idx{color:rgba(255,255,255,.4)}
#approach .section-inner>.reveal:first-child .v3-kicker{grid-column:1}

/* ── HERO: sector rail + Zug clock (desktop ≥900; phones keep the live pills) ── */
.v3-rail,.v3-clock{display:none}
@media (min-width:900px){
  #hero{min-height:max(100vh,800px);min-height:max(100svh,800px)}
  .hero-sectors{display:none}
  .hero-content{padding-bottom:150px}
  .v3-rail{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16);background:linear-gradient(to top,rgba(8,13,21,.46),rgba(8,13,21,.12));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .v3-rail a{position:relative;display:block;padding:22px 26px 26px;color:rgba(255,255,255,.7);text-decoration:none;border-right:1px solid rgba(255,255,255,.08);overflow:hidden;transition:background .3s,color .3s}
  .v3-rail a:first-child{padding-left:64px}
  .v3-rail a:last-child{border-right:none}
  .v3-rail i{display:block;font-size:.58rem;font-style:normal;font-weight:500;letter-spacing:.24em;color:rgba(255,255,255,.42);margin-bottom:10px;transition:color .3s}
  .v3-rail b{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:300;line-height:1.1;color:#fff}
  .v3-rail u{position:absolute;top:-1px;left:0;height:2px;width:0;background:var(--red);text-decoration:none}
  .v3-rail a.is-on u{animation:v3Rail 3.6s linear forwards}
  .v3-rail a.is-on{color:#fff;background:rgba(255,255,255,.05)}
  .v3-rail a.is-on i{color:rgba(200,16,46,.95)}
  .v3-rail em{position:absolute;right:22px;top:24px;font-style:normal;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
  .v3-rail a::after{content:'';position:absolute;inset:0 auto 0 0;width:60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-160%);pointer-events:none}
  .v3-rail a.is-on::after{animation:stabActivateShimmer 1.4s ease-out}
}
@media (min-width:900px) and (hover:hover){
  .v3-rail a:hover{background:rgba(255,255,255,.09);color:#fff}
  .v3-rail a:hover em{opacity:.8;transform:none}
}
@media (min-width:900px) and (max-width:1024px){
  .v3-rail a{padding:18px 18px 22px}
  .v3-rail a:first-child{padding-left:44px}
  .v3-rail b{font-size:1.08rem}
}
@media (min-width:1200px){
  .v3-clock{position:absolute;right:56px;bottom:136px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.66);white-space:nowrap;opacity:0;animation:fadeUp 1s 1.1s forwards;text-shadow:0 2px 14px rgba(8,13,21,.35)}
  .v3-clock b{font-family:var(--serif);font-size:2.1rem;font-weight:300;line-height:1;letter-spacing:.02em;color:#fff;font-variant-numeric:lining-nums tabular-nums}
}
@keyframes v3Rail{to{width:100%}}

/* ── MARQUEE ── */
.v3-marq{background:#1a2535;overflow:hidden;white-space:nowrap;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.v3-marq__t{display:inline-flex;animation:v3Marq 80s linear infinite}
.v3-marq:hover .v3-marq__t{animation-play-state:paused}
.v3-marq span{font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);display:inline-flex;align-items:center;gap:26px;padding-right:26px}
.v3-marq span::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--red);opacity:.8}
@keyframes v3Marq{to{transform:translateX(-50%)}}

/* ── FACTS STRIP (full width, 3 cells) ── */
.v3-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--ice);border-bottom:1px solid var(--border);position:relative;z-index:2}
.v3-fact{display:flex;align-items:baseline;justify-content:center;gap:16px;padding:28px 24px 26px;border-right:1px solid var(--border);position:relative}
.v3-fact:last-child{border-right:none}
.v3-fact::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--red);transition:width .9s cubic-bezier(.16,1,.3,1)}
.v3-facts.is-in .v3-fact::before{width:30px}
.v3-facts.is-in .v3-fact:nth-child(2)::before{transition-delay:.15s}.v3-facts.is-in .v3-fact:nth-child(3)::before{transition-delay:.3s}
.v3-fact b{transition:translate .5s cubic-bezier(.16,1,.3,1),color .4s}
.v3-fact i{transition:color .4s}
@media (hover:hover){.v3-facts.is-in .v3-fact:hover::before{width:96px;transition-delay:0s}.v3-fact:hover b{translate:0 -3px}.v3-fact:hover i{color:var(--navy)}}
.v3-facts.is-in .v3-fact:active::before{width:72px;transition-delay:0s}
.v3-fact i{font-size:.62rem;font-style:normal;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.v3-fact b{font-family:var(--serif);font-size:1.5rem;font-weight:300;line-height:1;color:var(--navy);font-variant-numeric:lining-nums;white-space:nowrap}
@media (max-width:1024px){.v3-fact{flex-direction:column;align-items:center;gap:9px;padding:20px 12px 18px}}
@media (max-width:899px){.v3-fact i{font-size:.54rem;letter-spacing:.14em;text-align:center}.v3-fact b{font-size:1.15rem}.v3-facts.is-in .v3-fact::before{width:24px}}

/* ── ABOUT (01): light editorial block, framed Baar photo ── */
#about.v3-about{position:relative;background:var(--ice);color:var(--navy);padding:0}
.v3-about__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:80px;align-items:center;padding:120px 56px 128px;max-width:1440px;margin:0 auto}
.v3-about__text{max-width:600px}
.v3-about .about-headline{font-size:clamp(2.8rem,4.3vw,4.8rem);margin-top:0;max-width:none;color:var(--navy)}
.v3-about .about-headline em{color:var(--navy);opacity:.42}
.v3-about .about-lead{margin-top:36px;max-width:540px}
.v3-about .about-lead+div{margin-top:22px}
.v3-about .about-body{max-width:520px}
.v3-about__media{margin:0;position:relative}
.v3-about__peak{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:24px;background:#1a2535 url('images/about-baar.png') 58% 60%/cover no-repeat}
.v3-about__peak image-slot{position:absolute;inset:0;display:block;width:100%;height:100%;transform:scale(1.06);transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.v3-about__peak img{object-position:58% 60%}
.v3-about__media.visible .v3-about__peak image-slot,.v3-about__media.is-visible .v3-about__peak image-slot{transform:scale(1)}
.v3-about__cap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:8px;align-items:end;padding-top:22px;margin-top:22px;border-top:1px solid var(--border)}
.v3-about__cap i{grid-column:1;font-size:.62rem;font-style:normal;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.v3-about__cap b{grid-column:1;display:block;font-family:var(--serif);font-size:1.35rem;font-weight:300;line-height:1.25;color:var(--navy)}
.v3-about__coord{grid-column:2;grid-row:1/3;font-size:.6rem;font-weight:500;letter-spacing:.2em;color:var(--muted);white-space:nowrap}
@media (max-width:1024px){.v3-about__in{grid-template-columns:1fr;gap:48px;padding:88px 36px 96px}.v3-about__peak{aspect-ratio:16/10}}
@media (max-width:899px){
  .v3-about__in{padding:64px 20px 72px;gap:36px}
  .v3-about .about-headline{font-size:clamp(2.15rem,9vw,3rem)}
  .v3-about .about-lead{margin-top:26px}
  .v3-about__peak{aspect-ratio:4/3;border-radius:20px}
  .v3-about__cap{grid-template-columns:1fr}.v3-about__coord{grid-column:1;grid-row:auto}
  .v3-about__cap b{font-size:1.15rem}
}

/* ── SECTORS (02): index cards, 2 + 3 → 2 + 2 + Capital wide → phone tiles 2×2 + Capital ── */
.v3-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;padding:22px 56px 48px}
.v3-cell{grid-column:span 2;display:flex}
.v3-cell:nth-child(-n+2){grid-column:span 3}
.v3-card{position:relative;flex:1;display:flex;flex-direction:column;min-height:400px;padding:30px 30px 28px;border-radius:24px;overflow:hidden;isolation:isolate;background:#1a2535;color:#fff;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.v3-card:hover{color:#fff}
.v3-cell:nth-child(-n+2) .v3-card{min-height:440px}
.v3-card__img{position:absolute;inset:0;z-index:-2;background:url('images/hero-poster.jpg') var(--pos,center)/260% auto no-repeat;opacity:.5;filter:saturate(.55);transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity .5s}
.v3-card[data-sector="2"] .v3-card__img{background:url('images/sector-energy.png?v=3') center 55%/cover no-repeat;opacity:.9;filter:saturate(.85)}
.v3-card[data-sector="0"] .v3-card__img{background:url('images/sector-agri.png?v=1') center 45%/cover no-repeat;opacity:.9;filter:saturate(.85)}
.v3-card[data-sector="1"] .v3-card__img{background:url('images/sector-auto.png?v=1') center 30%/cover no-repeat;opacity:.9;filter:saturate(.85)}
.v3-card[data-sector="3"] .v3-card__img{background:url('images/sector-logistics.png?v=1') center 40%/cover no-repeat;opacity:.9;filter:saturate(.85)}
.v3-card[data-sector="4"] .v3-card__img{background:url('images/sector-capital.png?v=1') 55% 20%/cover no-repeat;opacity:.9;filter:saturate(.85)}
.v3-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(8,13,21,.86) 0%,rgba(8,13,21,.5) 34%,rgba(8,13,21,.06) 64%,rgba(8,13,21,0));pointer-events:none}
.v3-card::before{content:'';position:absolute;top:0;left:30px;width:22px;height:2px;background:var(--red);transition:width .35s;z-index:2}
.v3-card__num{position:absolute;right:24px;top:22px;font-family:var(--serif);font-size:6.4rem;font-weight:300;line-height:.8;color:rgba(255,255,255,.12);transition:color .4s,transform .6s cubic-bezier(.16,1,.3,1);font-variant-numeric:lining-nums}
.v3-card .spanel-num{color:rgba(255,255,255,.72);max-width:62%;margin-bottom:0}
.v3-card .spanel-num{transition:color .35s;max-width:none}
.v3-card .spanel-num::after{flex:none;width:32px;height:2px;background:rgba(255,255,255,.28);transition:width .45s cubic-bezier(.16,1,.3,1),background .35s}
.v3-card::before{display:none}
.v3-card__num{display:none}
.v3-card__title{font-family:var(--serif);font-size:2rem;font-weight:300;line-height:1.08;margin:auto 0 14px;max-width:400px;padding-top:28px}
.v3-card__body{display:block}
.v3-card__desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.93rem;line-height:1.72;color:rgba(255,255,255,.82);margin:0 0 20px;max-width:480px}
.v3-card__tags .tag:nth-child(n+3){display:none}
.v3-card .tag,.v3-card__go,.v3-card .spanel-num,.section-eyebrow,.v3-kicker,.nav-cta{white-space:nowrap}
@media (min-width:900px){.hero-eyebrow span{white-space:nowrap}}
.v3-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.v3-card .tag{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.84)}
.v3-card{cursor:default}
.v3-card__img{transform:scale(1.08) translate3d(var(--px,0px),var(--py,0px),0)}
.v3-card::after{transition:opacity .8s cubic-bezier(.16,1,.3,1)}
.v3-card .tag{transition:border-color .4s,color .4s,background .4s,transform .5s cubic-bezier(.16,1,.3,1)}
.v3-card__go{position:relative;align-self:flex-start;font-size:.64rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;gap:12px;align-items:center;padding:13px 20px;margin-left:-20px;border-radius:999px;color:#fff;text-decoration:none;transition:background .35s,color .35s,margin .35s}
.v3-card__go i{font-style:normal;display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.v3-card__go::after{content:'';position:absolute;left:20px;right:20px;bottom:8px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.v3-card__go:focus-visible{outline:2px solid #fff;outline-offset:2px}
.v3-card.is-press{animation:v3Press .5s cubic-bezier(.16,1,.3,1)}
@keyframes v3Press{40%{transform:translateY(-3px) scale(.985)}}
.v3-spot{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.08),transparent 60%)}
@media (hover:hover){
  .v3-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(26,37,53,.18)}
  .v3-card:hover::before{width:64px}
  .v3-card:hover .v3-card__num{color:rgba(200,16,46,.6);transform:translateY(-4px)}
  .v3-card:hover .v3-card__img{opacity:.95;filter:saturate(1)}
  .v3-card:hover .v3-card__desc{-webkit-line-clamp:6}
  .v3-card:hover::after{opacity:.82}
  .v3-card:hover .v3-card__go::after{transform:scaleX(1)}
  .v3-card__go:hover{background:var(--red);margin-left:0}
  .v3-card__go:hover::after{transform:scaleX(0)}
  .v3-card__go:hover i{transform:translateX(6px)}
  .v3-card:hover .tag{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.12)}
  .v3-card .tag:hover{border-color:rgba(255,255,255,.85);background:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 0 18px rgba(255,255,255,.18)}
  .v3-card:hover .spanel-num{color:#fff;text-shadow:0 0 14px rgba(255,255,255,.35)}
  .v3-card:hover .spanel-num::after{width:72px;background:rgba(255,255,255,.85);box-shadow:0 0 10px rgba(255,255,255,.35)}
  .why-card:hover .v3-spot{opacity:1}
}
.why-card .v3-spot{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(200,16,46,.06),transparent 60%)}
.why-card:first-child .v3-spot{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.07),transparent 60%)}
.v3-detail{display:none}
@media (max-width:1100px){
  .v3-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3-cell,.v3-cell:nth-child(-n+2){grid-column:span 1}
  .v3-cell:nth-child(5){grid-column:1/-1}
  .v3-cell .v3-card,.v3-cell:nth-child(-n+2) .v3-card{min-height:380px}
  .v3-cell:nth-child(5) .v3-card{min-height:300px}
}
@media (max-width:1024px){.v3-cards{padding:0 36px 40px}}
@media (max-width:899px){.v3-cards{padding:0 20px 28px;gap:12px}.v3-card{padding:24px 22px 22px;border-radius:20px}.v3-card::before{left:22px}.v3-card__title{font-size:1.6rem}}
@media (max-width:640px){
  .v3-cards{gap:10px;padding-bottom:14px}
  .v3-cell .v3-card,.v3-cell:nth-child(-n+2) .v3-card{min-height:132px;padding:18px 16px 16px;border-radius:18px}
  .v3-cell:nth-child(5) .v3-card{min-height:96px}
  .v3-card::before{left:16px}
  .v3-card .spanel-num,.v3-card__body,.v3-card__go{display:none}
  .v3-card__num{font-size:3.4rem;right:14px;top:14px}
  .v3-card__title{font-size:1.18rem;line-height:1.18;margin:auto 0 0;padding-top:20px}
  .v3-card.is-active{box-shadow:inset 0 -3px 0 rgba(200,16,46,.9)}
  .v3-card.is-active::before{width:44px}
  .v3-card.is-active .v3-card__num{color:rgba(200,16,46,.6)}
  .v3-detail{display:block;margin:0 20px 34px;padding:24px 20px 24px;border:1px solid rgba(26,37,53,.08);border-radius:20px;background:linear-gradient(180deg,#fbfbfc,#f6f8fa);animation:fadePanel .42s ease}
  .v3-detail__n{font-size:.56rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
  .v3-detail__t{font-family:var(--serif);font-size:1.6rem;font-weight:300;line-height:1.12;color:var(--navy);margin-bottom:12px}
  .v3-detail .v3-card__desc{color:rgba(26,37,53,.68);font-size:.9rem;line-height:1.78;margin-bottom:16px}
  .v3-detail .v3-card__tags{margin-bottom:20px}
  .v3-detail .v3-detail__go{display:block;text-align:center}
}
@media (max-width:420px){.v3-cards{padding:0 16px 14px}.v3-detail{margin:0 16px 30px}}

/* ── APPROACH (03): sticky number + verb, timeline fills on scroll ── */
#approach{padding-bottom:96px;overflow:clip;background:var(--ice)}
#approach::before{display:none}
#approach .section-title{color:var(--navy)}
#approach .section-title em{color:var(--navy);opacity:.45}
#approach .section-eyebrow{color:var(--red)}
#approach .approach-sub{color:var(--muted)}
#why{background:#fff}
.v3-proc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;margin-top:44px;align-items:start}
.v3-proc__stick{position:sticky;top:150px}
.v3-proc__big{display:flex;align-items:flex-end;gap:22px}
.v3-proc__num{font-family:var(--serif);font-size:11rem;font-weight:300;line-height:.78;color:var(--navy);letter-spacing:-.04em;font-variant-numeric:lining-nums;min-width:2ch}
.v3-proc__verb{font-family:var(--serif);font-size:2.4rem;font-weight:300;font-style:italic;line-height:1;color:rgba(26,37,53,.5);padding-bottom:10px}
.v3-pop{animation:v3Pop .6s cubic-bezier(.16,1,.3,1)}
@keyframes v3Pop{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.v3-proc__bar{height:1px;background:rgba(26,37,53,.14);margin-top:40px;max-width:420px;position:relative}
.v3-proc__bar i{position:absolute;left:0;top:-.5px;height:2px;width:16.6%;background:var(--red);transition:width .5s cubic-bezier(.16,1,.3,1)}
.v3-steps{position:relative;padding-left:44px}
.v3-steps::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:rgba(26,37,53,.12)}
.v3-steps::after{content:'';position:absolute;left:6px;top:8px;width:1px;height:var(--fill,0%);max-height:calc(100% - 16px);background:linear-gradient(var(--red),rgba(200,16,46,.5))}
.v3-step{position:relative;padding:26px 0 40px;border-top:1px solid var(--border);opacity:.4;transition:opacity .5s}
.v3-step.is-on{opacity:1}
.v3-step::before{content:'';position:absolute;left:-42px;top:30px;width:9px;height:9px;border-radius:50%;border:1px solid rgba(26,37,53,.35);background:var(--ice);transition:background .4s,border-color .4s,box-shadow .4s}
.v3-step.is-on::before{background:var(--red);border-color:var(--red);box-shadow:0 0 0 6px rgba(200,16,46,.16)}
.v3-step .step-num{font-size:.64rem;color:rgba(200,16,46,.95)}
.v3-step .step-title{font-size:1.7rem;margin:12px 0 10px;color:var(--navy)}
#approach .v3-step .step-desc{color:var(--muted)}
.v3-step .step-desc{font-size:.96rem;line-height:1.8;max-width:540px}
@media (max-width:1024px){.v3-proc{grid-template-columns:1fr;gap:0;margin-top:28px}.v3-proc__stick{display:none}}
@media (max-width:899px){
  #approach{padding-bottom:52px}
  .v3-steps{padding-left:30px}
  .v3-steps::before,.v3-steps::after{left:4px}
  .v3-step{padding:20px 0 26px;opacity:.55}
  .v3-step::before{left:-30px;top:24px}
  .v3-step .step-title{font-size:1.25rem;margin:10px 0 8px}
  .v3-step .step-desc{font-size:.86rem;line-height:1.74}
}

/* ── OUR STANDARD — same navy as the contact block above it ── */
#credibility{background:var(--navy)}
.v3-std__k{display:flex;justify-content:center;margin-bottom:24px;position:relative;z-index:1}
.v3-std__k .section-eyebrow{margin:0;color:rgba(200,16,46,.9)}
#credibility .cred-text.v3-std{font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.28;color:#fff;max-width:1040px}
.v3-w{opacity:.18;transition:opacity .35s}
.v3-w.on{opacity:1}
@media (max-width:899px){#credibility .cred-text.v3-std{font-size:1.4rem;line-height:1.4}}

/* ── FOOTER: centred brand + sitemap ── */
footer.v3-foot{background:var(--ice);border-top:1px solid var(--border);padding:72px 56px 30px}
.v3-foot__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:48px;max-width:1240px;margin:0 auto;align-items:start}
.v3-foot__brand{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:340px}
.v3-foot__brand img{height:70px;width:auto;display:block}
.v3-foot__brand .footer-tagline{display:block;margin-top:14px;font-size:1.05rem;line-height:1.5;text-wrap:balance}
.v3-foot h4{font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:10px 0 18px}
.v3-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.v3-foot li a,.v3-foot li .footer-link-btn{font-family:var(--sans);font-size:.92rem;font-weight:300;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--navy);text-decoration:none;transition:color .2s}
.v3-foot li a:hover,.v3-foot li .footer-link-btn:hover{color:var(--red)}
.v3-foot li .social-link{display:inline-flex;align-items:center;gap:8px}
.v3-foot__base{max-width:1240px;margin:52px auto 0;padding-top:22px;border-top:1px solid var(--border);text-align:center;font-size:.74rem;color:var(--muted);letter-spacing:.04em}
@media (max-width:1024px){
  footer.v3-foot{padding:56px 36px 28px}
  .v3-foot__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
  .v3-foot__brand{grid-column:1/-1;justify-self:center}
}
@media (max-width:899px){
  footer.v3-foot{padding:44px 20px 26px}
  .v3-foot__grid{grid-template-columns:1fr 1fr;gap:34px 20px;text-align:center}
  .v3-foot__grid>div:last-child{grid-column:1/-1}
  .v3-foot__brand img{height:56px}
  .v3-foot li .social-link{justify-content:center}
  .v3-foot__base{margin-top:36px}
}

@media (prefers-reduced-motion:reduce){.v3-marq__t{animation:none}.v3-w{opacity:1}}

/* ── WHY (04): pinned horizontal gallery — vertical scroll drives the track ── */
#why.v3-why2{padding:0}
.v3-hs{position:relative}
.v3-hs__pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:40px;padding:96px 0 44px;overflow:hidden}
.v3-hs__head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:0 56px}
.v3-hs__ctl{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:none}
.v3-hs__cnt{font-family:var(--serif);font-size:1rem;color:rgba(26,37,53,.5);font-variant-numeric:lining-nums}
.v3-hs__cnt b{font-size:1.8rem;font-weight:300;color:var(--navy)}
.v3-hs__bar{width:200px;height:1px;background:rgba(26,37,53,.15);position:relative}
.v3-hs__bar i{position:absolute;left:0;top:-.5px;height:2px;width:var(--p,20%);background:var(--red);transition:width .25s linear}
.v3-hs__track{display:flex;gap:28px;padding:0 56px;flex:none;will-change:transform}
.v3-hp{position:relative;flex:none;width:min(58vw,820px);height:min(58vh,560px);overflow:hidden;background:#1a2535;color:#fff;opacity:.5;transition:opacity .7s}
.v3-hp.is-on{opacity:1}
.v3-hp image-slot{position:absolute;inset:0;display:block;width:100%;height:100%;transform:scale(1.12);filter:saturate(.55) brightness(.7);transition:transform 1.6s cubic-bezier(.16,1,.3,1),filter 1s}
.v3-hp.is-on image-slot{transform:scale(1);filter:saturate(.85) brightness(.9)}
.v3-hp__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(17,26,38,.94) 0%,rgba(17,26,38,.6) 42%,rgba(17,26,38,.08) 100%),linear-gradient(0deg,rgba(17,26,38,.9) 0%,rgba(17,26,38,0) 58%)}
.v3-hp__num{position:absolute;top:26px;left:34px;pointer-events:none;font-family:var(--serif);font-weight:300;font-size:clamp(7rem,11vw,11rem);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.3);font-variant-numeric:lining-nums;transition:-webkit-text-stroke-color .8s}
.v3-hp.is-on .v3-hp__num{-webkit-text-stroke-color:rgba(255,255,255,.75)}
.v3-hp__txt{position:absolute;left:38px;right:38px;bottom:36px;max-width:520px;pointer-events:none}
.v3-hp__txt::before{content:'';display:block;width:0;height:2px;margin-bottom:18px;background:var(--red);transition:width .8s .2s cubic-bezier(.16,1,.3,1)}
.v3-hp.is-on .v3-hp__txt::before{width:40px}
.v3-hp h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.08;color:#fff;margin:0 0 12px}
.v3-hp p{font-size:.95rem;line-height:1.75;color:rgba(255,255,255,.8);margin:0;text-wrap:pretty}
@media (max-width:1024px){
  .v3-hs{height:auto!important}
  .v3-hs__pin{position:relative;height:auto;padding:72px 0 56px;gap:28px}
  .v3-hs__head{padding:0 36px}
  .v3-hs__track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 36px;scroll-padding:0 36px;scrollbar-width:none;transform:none!important}
  .v3-hs__track::-webkit-scrollbar{display:none}
  .v3-hp{width:78vw;height:min(68vh,520px);scroll-snap-align:start}
}
@media (max-width:640px){
  .v3-hs__head{padding:0 20px;flex-direction:column;align-items:flex-start;gap:20px}
  .v3-hs__ctl{align-items:flex-start}.v3-hs__bar{width:140px}
  .v3-hs__track{padding:0 20px;scroll-padding:0 20px;gap:14px}
  .v3-hp{width:86vw;height:480px}
  .v3-hp__num{font-size:6rem;top:20px;left:22px}
  .v3-hp__txt{left:22px;right:22px;bottom:24px}
  .v3-hp p{font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){.v3-hp image-slot{transition:none;transform:none}}
/* body must not be a scroll container, otherwise position:sticky breaks */
body{overflow-x:clip}
.v3-flash{animation:v3Flash 1.8s ease-out}
@keyframes v3Flash{0%,30%{outline:2px solid var(--red);outline-offset:4px}100%{outline:2px solid transparent;outline-offset:10px}}
