[hidden]{display:none!important}
/* Baseline theme, adapted for Doctors For You International */
:root{
  --background:#ffffff; --foreground:#333333;
  --brand:#F23827; --brand-deep:#750a20; --brand-light:#ff8a7a; --accent-teal:#4C6575;
  --surface:#f6f6f6; --surface-card:#ffffff; --ink:#333333; --ink-soft:#6f6f6f;
  --ghost:#e9dfe1; --hairline:#e6e6e6; --on-brand:#ffffff;
  --radius-card:1.5rem; --radius-card-lg:2rem; --radius-pill:62.5rem; --radius-xl:.75rem;
  --expo:cubic-bezier(.16,1,.3,1); --quart:cubic-bezier(.25,1,.5,1); --inout:cubic-bezier(.65,0,.35,1);
  color-scheme:light;
}
html{font-size:16px}
@media (max-width:1920px){html{font-size:.833333vw}}
@media (max-width:1440px){html{font-size:1.111111vw}}
@media (max-width:1024px){html{font-size:1.5625vw}}
@media (max-width:640px){html{font-size:4.444444vw}}
html.locked{position:relative;overflow:hidden;height:100%}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
img{display:block;max-width:100%}
button{cursor:pointer;font:inherit;color:inherit;background:none;border:0;padding:0}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}
body{min-height:100vh;background:var(--background);color:var(--foreground);font-family:"Onest",system-ui,sans-serif;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased}
main{width:100%;overflow-x:clip;padding:.5rem}
@media (min-width:640px){main{padding:.75rem}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hide-sm{display:none}@media(min-width:640px){.hide-sm{display:inline-flex}}

/* ---------- reveal primitives ---------- */
.m{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.m>.rv{display:inline-block;transform:translateY(115%);opacity:0;transition-property:transform,opacity;transition-duration:var(--dur,950ms);transition-timing-function:var(--ez,var(--expo));transition-delay:var(--dl,0ms)}
.on .m>.rv,.m.on>.rv{transform:none;opacity:1}
.lines .m{display:block}
.fw{display:inline-block;transform:translateY(18px);opacity:0;transition:transform 700ms var(--quart),opacity 700ms var(--quart);transition-delay:var(--dl,0ms)}
.on .fw{transform:none;opacity:1}
.reset .rv,.reset.rv,.reset .fw{transition:none!important}
[data-inview]{opacity:0}

/* ---------- shared components ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-soft)}
.eyebrow::before{content:"";width:.375rem;height:.375rem;border-radius:var(--radius-pill);background:var(--brand)}
.eyebrow.light{color:rgba(255,255,255,.7)}.eyebrow.light::before{background:var(--brand-light)}
.pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--radius-pill);padding:.875rem 1.75rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;transition:background .25s,color .25s}
.pill svg{width:1rem;height:1rem}
.pill.light{background:#fff;color:var(--brand-deep)}.pill.light:hover{background:var(--brand-light);color:#fff}
.pill.solid{background:var(--ink);color:#fff}.pill.solid:hover{background:var(--brand-deep)}
.pill.outline{border:1px solid currentColor;color:var(--ink)}.pill.outline:hover{background:var(--ink);color:#fff}
.arrow-btn{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--ink);transition:background .25s,border-color .25s}
@media(min-width:640px){.arrow-btn{width:3.5rem;height:3.5rem}}
.arrow-btn svg{width:1.25rem;height:1.25rem}
.arrow-btn:hover{border-color:var(--ink)}
.arrow-btn.solid{background:var(--ink);border-color:var(--ink);color:#fff}.arrow-btn.solid:hover{background:var(--brand-deep)}
.flip{display:inline-flex;transform:scaleX(-1)}
.dots{display:flex;gap:.5rem;align-items:center}
.dots button{padding:.375rem}
.dots i{display:block;height:.375rem;width:.375rem;border-radius:var(--radius-pill);background:var(--ghost);transition:width .35s var(--expo),background .35s}
.dots button[aria-current="true"] i{width:1.25rem;background:var(--ink)}
.dots.light i{background:rgba(255,255,255,.4)}.dots.light button[aria-current="true"] i{background:#fff}
.glass{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.1);box-shadow:0 10px 30px rgba(117,10,32,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-card)}
.mark{width:1.25rem;height:1.25rem;flex:none}
.logo{display:inline-flex;align-items:center}
.logo img{height:3.25rem;width:auto}
header.site .brand .logo img{height:5.5rem}
@media(max-width:640px){header.site .brand .logo img{height:4.25rem}}
.logo.fail{min-height:2.6rem}
.logo.fail::after{content:"DFY INTERNATIONAL";color:#fff;font-weight:500;font-size:.9rem;letter-spacing:.18em;white-space:nowrap}
.logo.fail img{display:none}
#loader .logo img{height:7rem}
.fbrand .logo img{height:5rem}
#menu .top .logo img{height:3.25rem}
.hero h1.hero-logo{white-space:normal;line-height:1}
.hero h1.hero-logo .m{padding-bottom:0;margin-bottom:0}
.hero h1.hero-logo img{width:min(84vw,30rem);height:auto;max-height:36svh;object-fit:contain;object-position:left top;filter:drop-shadow(0 6px 24px rgba(40,6,14,.35))}
@media(min-width:640px){.hero h1.hero-logo{padding-top:2rem}}
h2.big{font-size:3rem;font-weight:500;line-height:.95;letter-spacing:-.025em;margin-top:1rem}
.img-fail{visibility:hidden}

/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:200;background:var(--brand-deep);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
#loader .word{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em}
#loader .word .mark{width:1.75rem;height:1.75rem}
#loader .track{width:10rem;height:1px;border-radius:var(--radius-pill);background:rgba(255,255,255,.2);overflow:hidden}
#loader .fill{height:100%;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform 1280ms var(--inout) 120ms}
#loader.go .fill{transform:scaleX(1)}
#loader.out{transform:translateY(-105%);transition:transform 850ms var(--inout)}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--brand-deep);color:#fff;border-radius:var(--radius-card-lg);height:calc(100svh - 1rem);min-height:36rem;display:flex;flex-direction:column}
@media(min-width:640px){.hero{height:calc(100svh - 1.5rem)}}
.hero .plate{position:absolute;inset:0;z-index:-10}
.hero .plate-in{position:absolute;left:0;right:0;top:-16%;height:132%;width:100%}
.hero .plate-in img{width:100%;height:100%;object-fit:cover}
.hero .plate::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(40,6,14,.62),rgba(40,6,14,.12) 45%,rgba(90,8,24,.78))}
header.site{display:flex;align-items:center;padding:1.5rem 1.5rem 0;font-size:.75rem}
@media(min-width:640px){header.site{padding:2rem 2.5rem 0}}
header.site .left{display:none;flex:1;gap:2rem}
header.site .left a{opacity:.9;transition:opacity .2s}header.site .left a:hover{opacity:1}
@media(min-width:1024px){header.site .left{display:flex}header.site .brand{justify-content:center}}
header.site .brand{flex:1;display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap}
header.site .right{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:1rem}
@media(min-width:640px){header.site .right{gap:1.25rem}}
.textbtn{text-transform:uppercase;letter-spacing:.025em;text-underline-offset:4px}.textbtn:hover{text-decoration:underline}
.burger{display:grid;place-content:center;gap:5px;width:2.5rem;height:2.5rem;border-radius:var(--radius-pill);background:rgba(255,255,255,.15);backdrop-filter:blur(8px);transition:background .2s}
.burger:hover{background:rgba(255,255,255,.25)}
.burger i{display:block;width:1rem;height:1px;background:#fff}
.hero h1{padding:1rem 1.5rem 0;font-size:10.2vw;font-weight:500;text-transform:uppercase;line-height:.85;letter-spacing:-.02em;white-space:nowrap}
@media(min-width:640px){.hero h1{padding:1rem 2.5rem 0}}
.hero .bottom{margin-top:auto;padding:0 1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}
@media(min-width:640px){.hero .bottom{padding:0 2.5rem 2.5rem;flex-direction:row;justify-content:space-between;align-items:flex-end}}
.live{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;padding:.4rem .8rem;border-radius:var(--radius-pill);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);margin-bottom:1rem}
.live b{width:.45rem;height:.45rem;border-radius:50%;background:#ff6b4a;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.tagline{font-size:2.4rem;font-weight:500;text-transform:uppercase;line-height:.95;letter-spacing:-.025em;color:rgba(255,255,255,.85)}
.cluster{display:flex;align-items:flex-end;gap:1rem}
.coll{display:none;width:16rem;flex-direction:column;gap:.75rem}
@media(min-width:768px){.coll{display:flex}}
.coll .card{display:flex;gap:.75rem;padding:.75rem}
.coll .card img{width:3.5rem;height:3.5rem;border-radius:var(--radius-xl);object-fit:cover;flex:none;background:rgba(255,255,255,.15)}
.coll .b{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}
.coll .t{font-size:.7rem;text-transform:uppercase;opacity:.8}
.coll a{display:inline-block;font-size:.65rem;text-decoration:underline;text-underline-offset:3px;margin-top:.35rem}
.member{display:flex;align-items:stretch;gap:.75rem;padding:.75rem;width:100%;max-width:20rem}
@media(min-width:640px){.member{width:15rem}}
.member .l{display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:.5rem}
.member .v{font-size:1.875rem;font-weight:500;line-height:1}
.avs{display:flex}.avs i{width:1.25rem;height:1.25rem;border-radius:var(--radius-pill);border:1px solid rgba(117,10,32,.4)}.avs i+i{margin-left:-.5rem}
.member small{font-size:.65rem;opacity:.8;line-height:1.3}
.member img{width:4rem;aspect-ratio:3/4;border-radius:var(--radius-xl);object-fit:cover;background:#fff}

/* ---------- trust / responses carousel ---------- */
.trust{position:relative;isolation:isolate;overflow:hidden;background:var(--background);padding:4rem 1.5rem}
@media(min-width:640px){.trust{padding:5rem 2.5rem}}
.badges{position:relative;z-index:20;display:flex;flex-direction:column;gap:1.5rem}
@media(min-width:640px){.badges{flex-direction:row;justify-content:space-between;align-items:flex-start}}
.pct{width:7rem;height:7rem;border-radius:var(--radius-pill);background:var(--surface);display:grid;place-content:center;text-align:center;justify-items:center}
@media(min-width:640px){.pct{width:8rem;height:8rem}}
.pct b{font-size:1.5rem;font-weight:500;line-height:1.1}
.pct small{font-size:.6rem;color:var(--ink-soft);max-width:7em;line-height:1.3;margin-top:.2rem}
.bcard{display:flex;gap:1rem;max-width:28rem;border-radius:var(--radius-card);background:var(--surface);padding:1.25rem}
@media(min-width:640px){.bcard{gap:1.25rem;padding:1.5rem}}
.bcard .idx{border-radius:var(--radius-xl);background:var(--background);padding:.5rem 1rem;font-size:1.25rem;font-weight:500;align-self:flex-start}
.bcard h3{font-size:1.125rem;font-weight:500}
.bcard p{font-size:.75rem;color:var(--ink-soft);line-height:1.65;margin-top:.35rem}
.ghosth{pointer-events:none;user-select:none;position:relative;z-index:0;max-width:88rem;margin:3rem auto 0;font-size:8.2vw;font-weight:500;text-transform:uppercase;line-height:1.02;letter-spacing:-.025em}
.ghosth .row{display:flex;justify-content:space-between}
.ghosth .pw{display:inline-block}
.ghosth .m{padding-bottom:.12em;margin-bottom:-.12em}
.ghosth .rv{color:var(--ghost);--dur:700ms}
.ghosth .ink .rv{color:var(--ink)}
.coach-wrap{position:relative;z-index:10;width:13rem;margin:2rem auto 0}
@media(min-width:640px){.coach-wrap{position:absolute;left:50%;top:50%;width:16rem;margin:0;transform:translate(-50%,-50%)}}
.coach{transform:rotate(6deg)}
.coach figure{position:relative;aspect-ratio:3/4;border-radius:var(--radius-card);background:var(--brand);overflow:hidden}
.coach figure img{width:100%;height:100%;object-fit:cover}
.cap{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;border-radius:var(--radius-xl);background:rgba(117,10,32,.4);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.5rem .75rem}
.cap b{display:block;font-size:.875rem;font-weight:500}
.cap small{display:block;font-size:.65rem;opacity:.8}
.controls{position:relative;z-index:20;display:flex;justify-content:space-between;align-items:center;margin-top:3rem}
@media(min-width:640px){.controls{margin-top:6rem}}

/* ---------- projects list ---------- */
.programs{background:var(--surface);padding:6rem 1.5rem}
@media(min-width:640px){.programs{padding:6rem 2.5rem 8rem}}
.plist{list-style:none;padding:0;margin-top:3.5rem}
.plist li{border-top:1px solid var(--hairline)}
.plist li:last-child{border-bottom:1px solid var(--hairline)}
.plist a{display:block}
.plist a:focus-visible{background:var(--background)}
.prow{display:flex;align-items:center;gap:1.5rem;padding:1.75rem 0}
.prow .n{width:2.5rem;font-size:.875rem;font-weight:500;color:var(--ink-soft);flex:none}
.prow .tx{flex:1;min-width:0}
.prow h3{font-size:1.5rem;font-weight:500;letter-spacing:-.025em;line-height:1.15}
@media(min-width:640px){.prow h3{font-size:1.875rem}}
.prow p{font-size:.875rem;color:var(--ink-soft);margin-top:.25rem}
.prow .tag{display:inline-block;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#fff;background:var(--brand);border-radius:var(--radius-pill);padding:.2rem .6rem;vertical-align:middle;margin-left:.6rem}
.prow .go{width:2.75rem;height:2.75rem;border-radius:var(--radius-pill);border:1px solid var(--hairline);display:grid;place-items:center;flex:none}
.prow .go svg{width:1.1rem;height:1.1rem;opacity:.55}

/* ---------- Nepal feature (facilities layout) ---------- */
.fac{position:relative;background:var(--background);border-radius:var(--radius-card-lg);margin-top:-2.5rem;padding:4rem 1.5rem 5rem}
@media(min-width:640px){.fac{padding:4rem 2.5rem 5rem}}
.fgrid{display:grid;gap:2.5rem;align-items:end}
@media(min-width:768px){.fgrid{grid-template-columns:1fr 1fr}}
.intro{max-width:26rem}
.intro .icon{width:4rem;height:4rem;border-radius:var(--radius-card);background:var(--surface);display:grid;place-items:center;color:var(--brand)}
.intro .icon svg{width:1.9rem;height:1.9rem}
.intro h2{margin-top:1.5rem}
.intro p.body{font-size:.875rem;color:var(--ink-soft);max-width:24rem;margin-top:1.5rem;line-height:1.65}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.25rem}
.chips span{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;background:var(--surface);border-radius:var(--radius-pill);padding:.35rem .75rem}
.did{list-style:none;padding:0;margin-top:1.5rem;display:grid;gap:.6rem;font-size:.85rem}
.did li{display:flex;gap:.6rem;align-items:baseline}
.did li::before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:var(--brand);flex:none;transform:translateY(-.1em)}
.cards{display:flex;align-items:flex-end;gap:1.25rem}
.cards figure{flex:1;min-width:0}
.cards figure:nth-child(2){margin-bottom:2rem}
.tile{position:relative;aspect-ratio:3/4;border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}
.tile img{width:100%;height:100%;object-fit:cover}
.tile .cap{padding:.75rem 1rem}
.tile .cap.blue{background:rgba(11,110,151,.55)}
.tile .cap small{opacity:.85}

/* ---------- glass gallery ---------- */
.gal{position:relative;isolation:isolate;overflow:hidden;margin-top:.75rem;border-radius:var(--radius-card-lg);background:var(--brand-deep);color:#fff;padding:5rem 1.5rem}
@media(min-width:640px){.gal{padding:5rem 2.5rem}}
.gal-bg{position:absolute;inset:-10%;z-index:-2}
.gal-bg img{width:100%;height:100%;object-fit:cover;filter:blur(40px) saturate(1.2);transform:scale(1.15);transition:opacity .6s}
.gal::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(117,10,32,.82),rgba(51,51,51,.7))}
.gal-head{display:flex;flex-direction:column;gap:1.5rem}
@media(min-width:640px){.gal-head{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.gal-meta{font-size:.875rem;color:rgba(255,255,255,.7);line-height:1.6}
@media(min-width:640px){.gal-meta{text-align:right}}
.stage{margin-top:3rem;display:grid;gap:1rem}
.gl{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 20px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.frame{position:relative;border-radius:var(--radius-card-lg);padding:.6rem;outline-offset:4px}
.slides{position:relative;aspect-ratio:4/3;border-radius:calc(var(--radius-card-lg) - .5rem);overflow:hidden;background:rgba(0,0,0,.25);touch-action:pan-y;cursor:grab}
@media(min-width:768px){.slides{aspect-ratio:16/9}}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--expo),transform 6s linear}
.slides img.on{opacity:1;transform:scale(1)}
.gbtn{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:var(--radius-pill);display:grid;place-items:center;color:#fff;transition:background .25s}
@media(min-width:640px){.gbtn{width:3.75rem;height:3.75rem}}
.gbtn:hover{background:rgba(255,255,255,.28)}
.gbtn svg{width:1.25rem;height:1.25rem}
.gbtn.prev{left:1.4rem}.gbtn.next{right:1.4rem}
.gcap{position:absolute;left:1.4rem;bottom:1.4rem;right:1.4rem;max-width:26rem;border-radius:var(--radius-card);padding:1rem 1.25rem}
@media(max-width:640px){.gbtn{top:auto;bottom:auto;top:1.2rem;transform:none}.gbtn.prev{left:auto;right:4.9rem}.gbtn.next{right:1.2rem}.gcap{position:static;max-width:none;margin-top:.6rem}}
.gcount{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.gcount b{color:#fff;font-weight:500}
.gcap p{font-size:.95rem;line-height:1.45;margin-top:.35rem;min-height:2.9em}
.gprog{height:2px;border-radius:2px;background:rgba(255,255,255,.2);margin-top:.8rem;overflow:hidden}
.gprog i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.thumbs{display:flex;gap:.6rem;overflow-x:auto;padding:.6rem;border-radius:var(--radius-card);scrollbar-width:none}
.thumbs::-webkit-scrollbar{display:none}
.thumbs button{flex:none;width:6.5rem;aspect-ratio:4/3;border-radius:var(--radius-xl);overflow:hidden;opacity:.55;outline:2px solid transparent;outline-offset:2px;transition:opacity .3s,outline-color .3s,transform .3s}
@media(max-width:640px){.thumbs button{width:5rem}}
.thumbs button:hover{opacity:.85}
.thumbs button[aria-current="true"]{opacity:1;outline-color:#fff}
.thumbs img{width:100%;height:100%;object-fit:cover}

/* ---------- stats ---------- */
.stats{background:var(--brand-deep);color:#fff;border-radius:var(--radius-card-lg);margin-top:.75rem;padding:5rem 1.5rem}
@media(min-width:640px){.stats{padding:5rem 2.5rem}}
.stats dl{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem;row-gap:3rem;margin-top:4rem}
@media(min-width:1024px){.stats dl{grid-template-columns:repeat(4,1fr)}}
.stat{border-top:1px solid rgba(255,255,255,.2);padding-top:1.25rem}
.stat .v{font-size:3.75rem;font-weight:500;letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums}
@media(min-width:640px){.stat .v{font-size:4.5rem}}
.stat .lb{font-size:.875rem;color:rgba(255,255,255,.65);margin-top:.75rem}

/* ---------- recognition (testimonials layout) ---------- */
.testi{background:var(--background);padding:5rem 1.5rem}
@media(min-width:640px){.testi{padding:6rem 2.5rem}}
.tgrid{list-style:none;padding:0;display:grid;gap:1.25rem;margin-top:3.5rem}
@media(min-width:768px){.tgrid{grid-template-columns:repeat(3,1fr)}}
.tcard{display:flex;flex-direction:column;justify-content:space-between;height:100%;border-radius:var(--radius-card);background:var(--surface);padding:1.75rem}
.tcard .q{font-size:2.25rem;color:var(--brand);line-height:1;font-weight:500}
.tcard blockquote{font-size:1.125rem;line-height:1.6;color:var(--ink);margin-top:1rem}
.tcard figcaption{border-top:1px solid var(--hairline);padding-top:1rem;margin-top:1.5rem}
.tcard figcaption b{font-weight:500;display:block}
.tcard figcaption small{font-size:.875rem;color:var(--ink-soft)}

/* ---------- footer ---------- */
footer.ft{background:var(--brand-deep);color:#fff;border-radius:var(--radius-card-lg);margin-top:.75rem;padding:3.5rem 1.5rem}
@media(min-width:640px){footer.ft{padding:4rem 2.5rem}}
.ctaband{border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:3.5rem;display:flex;flex-direction:column;gap:2rem}
@media(min-width:640px){.ctaband{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.ctaband .big2{font-size:3.75rem;font-weight:500;line-height:.92;letter-spacing:-.025em;margin-top:1rem}
.cols{display:grid;gap:2.5rem;padding:3.5rem 0}
@media(min-width:768px){.cols{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.fbrand{max-width:20rem}
.fbrand .nm{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em}
.fbrand p{font-size:.875rem;color:rgba(255,255,255,.65);margin-top:1rem}
.fbrand address{font-style:normal;margin-top:1.5rem;font-size:.875rem;color:rgba(255,255,255,.8);display:grid;gap:.35rem}
.fbrand address span{color:rgba(255,255,255,.55)}
.cols h4{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.cols ul{list-style:none;padding:0;margin-top:1rem;display:grid;gap:.75rem;font-size:.875rem;color:rgba(255,255,255,.8)}
.cols ul a:hover,.fbar a:hover{color:#fff}
.fbar{border-top:1px solid rgba(255,255,255,.15);padding-top:2rem;font-size:.875rem;color:rgba(255,255,255,.6);display:flex;flex-direction:column;gap:1.25rem}
@media(min-width:640px){.fbar{flex-direction:row;justify-content:space-between;align-items:center}}
.fbar nav{display:flex;flex-wrap:wrap;gap:1.25rem}

/* ---------- menu overlay ---------- */
#menu{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;pointer-events:none;visibility:hidden}
#menu.open{pointer-events:auto;visibility:visible}
#menu .bd{position:absolute;inset:0;background:var(--brand-deep);opacity:0}
#menu .panel{position:relative;flex:1;display:flex;flex-direction:column;color:#fff;padding:.5rem;opacity:0}
@media(min-width:640px){#menu .panel{padding:.75rem}}
#menu .inner{flex:1;display:flex;flex-direction:column;padding:1.5rem}
@media(min-width:640px){#menu .inner{padding:2rem 2.5rem 2.5rem}}
#menu .top{display:flex;justify-content:space-between;align-items:center}
#menu .top .nm{display:flex;align-items:center;gap:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em}
.xbtn{width:2.5rem;height:2.5rem;border-radius:var(--radius-pill);display:grid;place-items:center;background:rgba(255,255,255,.15);transition:background .2s}
.xbtn:hover{background:rgba(255,255,255,.25)}
.xbtn svg{width:1.1rem;height:1.1rem}
#menu nav.big{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5rem}
#menu nav.big a{display:block;font-size:3rem;font-weight:500;letter-spacing:-.025em;line-height:1.05;transition:color .2s;opacity:0}
@media(min-width:640px){#menu nav.big a{font-size:4.5rem}}
#menu nav.big a:hover{color:var(--brand-light)}
#menu .mbot{border-top:1px solid rgba(255,255,255,.15);padding-top:2rem;display:flex;flex-direction:column;gap:1.25rem}
@media(min-width:640px){#menu .mbot{flex-direction:row;justify-content:space-between;align-items:center}}
#menu .mbot nav{display:flex;gap:1.25rem;flex-wrap:wrap;color:rgba(255,255,255,.7);font-size:.875rem}
#menu .mbot nav a:hover{color:#fff}

/* ---------- modal ---------- */
#modal{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:.75rem;pointer-events:none;visibility:hidden}
@media(min-width:640px){#modal{align-items:center;padding:1.5rem}}
#modal.open{pointer-events:auto;visibility:visible}
#modal .bd{position:absolute;inset:0;background:rgba(117,10,32,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0}
#modal .dlg{position:relative;width:100%;max-height:92svh;overflow-y:auto;border-radius:var(--radius-card-lg);background:var(--surface-card);color:var(--ink);padding:1.5rem;box-shadow:0 30px 80px rgba(117,10,32,.35);opacity:0}
@media(min-width:640px){#modal .dlg{max-width:32rem;padding:2rem}}
#modal .mh{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
#modal h2{font-size:2.25rem;font-weight:500;line-height:.95;letter-spacing:-.025em;margin-top:.75rem}
@media(min-width:640px){#modal h2{font-size:3rem}}
#modal .xbtn{background:var(--surface);color:var(--ink);flex:none}#modal .xbtn:hover{background:var(--hairline)}
.cform{margin-top:1.75rem;display:flex;flex-direction:column;gap:1rem}
.cform label{display:grid;gap:.4rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft)}
.cform input,.cform textarea,.cform select{width:100%;border-radius:var(--radius-xl);border:1px solid var(--hairline);background:var(--background);padding:.75rem 1rem;font:inherit;font-size:.875rem;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:400}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--brand-light);box-shadow:0 0 0 3px rgba(242,56,39,.2)}
.cform button[type=submit]{align-self:flex-start;border-radius:var(--radius-pill);background:var(--ink);color:#fff;padding:.875rem 1.75rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;transition:background .2s}
.cform button[type=submit]:hover{background:var(--brand-deep)}
.cform button[disabled]{opacity:.5;pointer-events:none}
.ok{margin-top:2rem;border-radius:var(--radius-card);background:var(--surface);padding:1.5rem;text-align:center;display:grid;justify-items:center;gap:.6rem}
.ok .tick{width:3rem;height:3rem;border-radius:var(--radius-pill);background:var(--brand);color:#fff;display:grid;place-items:center}
.ok .tick svg{width:1.4rem;height:1.4rem}
.ok b{font-size:1.125rem;font-weight:500}
.ok p{font-size:.875rem;color:var(--ink-soft);max-width:22rem}
.ok .mail{font-weight:500;color:var(--ink);user-select:all}

@media (prefers-reduced-motion:reduce){
  .m>.rv,.fw{transition-duration:1ms!important}
  .live b{animation:none}
}

/* =================== subpages =================== */
.hero.sub{height:auto;min-height:36rem}
@media(min-width:640px){.hero.sub{height:auto;min-height:42rem}}
.hero.plain{background:radial-gradient(120% 90% at 85% 0%,#a3172f 0%,var(--brand-deep) 55%,#3d0511 100%)}
.hero.plain::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:4rem 4rem;mask-image:linear-gradient(to bottom,#000,transparent 85%);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.sub-hero{margin-top:auto;padding:4rem 1.5rem 2.5rem;display:flex;flex-direction:column;gap:1.25rem}
@media(min-width:640px){.sub-hero{padding:5rem 2.5rem 2.5rem}}
.crumb{display:flex;gap:.5rem;align-items:center;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.7)}
.crumb a:hover{color:#fff}
.hero h1.sub-title{padding:0;white-space:normal;font-size:3rem;font-weight:500;text-transform:uppercase;line-height:.9;letter-spacing:-.02em}
@media(min-width:640px){.hero h1.sub-title{padding:0;font-size:6.5rem}}
.sub-row{display:flex;flex-direction:column;gap:1.5rem}
@media(min-width:768px){.sub-row{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.sub-lead{max-width:38rem;font-size:1.125rem;color:rgba(255,255,255,.85);line-height:1.6}
.sub-meta{display:flex;flex-wrap:wrap;gap:.5rem}
.sub-meta span{padding:.5rem .9rem;font-size:.75rem;font-weight:500;letter-spacing:.06em;border-radius:var(--radius-pill);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sec{background:var(--background);padding:5rem 1.5rem}
@media(min-width:640px){.sec{padding:6rem 2.5rem}}
.sec.alt{background:var(--surface);border-radius:var(--radius-card-lg);margin-top:.75rem}
.split{display:grid;gap:2.5rem}
@media(min-width:900px){.split{grid-template-columns:1fr 1.35fr;gap:4rem}}
.rich{display:grid;gap:1.25rem;font-size:1.05rem;color:var(--ink-soft);line-height:1.7;max-width:44rem}
.rich p:first-child{font-size:1.4rem;color:var(--ink);line-height:1.5;letter-spacing:-.01em}
.rich a{color:var(--brand-deep);text-decoration:underline;text-underline-offset:3px}
.facts{list-style:none;padding:0;margin-top:2.5rem;border-top:1px solid var(--hairline)}
.facts li{display:grid;grid-template-columns:1fr;gap:.3rem;padding:1.1rem 0;border-bottom:1px solid var(--hairline)}
@media(min-width:640px){.facts li{grid-template-columns:12rem 1fr;gap:1.5rem}}
.facts .k{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);padding-top:.2em}
.chiplist{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.chiplist span{padding:.65rem 1.1rem;border-radius:var(--radius-pill);background:var(--surface);font-size:.9rem;font-weight:500}
.sec.alt .chiplist span{background:var(--background)}
.stats dl.many .v{font-size:3rem}
@media(min-width:640px){.stats dl.many .v{font-size:3.75rem}}
.src{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:3rem}
.photo-row{display:grid;gap:1.25rem;margin-top:3rem}
@media(min-width:768px){.photo-row{grid-template-columns:repeat(3,1fr)}}
.photo-row .tile{aspect-ratio:4/5}
.photo-row figure:nth-child(2){transform:translateY(2rem)}
@media(max-width:767px){.photo-row figure:nth-child(2){transform:none}}
a.next{display:flex;flex-direction:column;gap:1.5rem;margin-top:.75rem;border-radius:var(--radius-card-lg);background:var(--surface);padding:3rem 1.5rem;transition:background .3s}
@media(min-width:640px){a.next{flex-direction:row;justify-content:space-between;align-items:center;padding:3.5rem 2.5rem}}
a.next:hover{background:var(--hairline)}
a.next .t{font-size:2.5rem;font-weight:500;letter-spacing:-.025em;line-height:1;margin-top:.75rem}
@media(min-width:640px){a.next .t{font-size:3.75rem}}
a.next .go{width:4rem;height:4rem;border-radius:var(--radius-pill);background:var(--ink);color:#fff;display:grid;place-items:center;flex:none}
a.next .go svg{width:1.4rem;height:1.4rem}
.ccards{display:grid;gap:1.25rem;margin-top:3rem}
@media(min-width:768px){.ccards{grid-template-columns:repeat(3,1fr)}}
.ccard{border-radius:var(--radius-card);background:var(--surface);padding:1.75rem;display:flex;flex-direction:column;gap:.5rem}
.ccard .k{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft)}
.ccard .v{font-size:1.5rem;font-weight:500;letter-spacing:-.02em;word-break:break-word;user-select:all}
.ccard p{font-size:.875rem;color:var(--ink-soft)}
.formcard{border-radius:var(--radius-card-lg);background:var(--surface);padding:1.5rem}
@media(min-width:640px){.formcard{padding:2.5rem}}
.formcard .cform{margin-top:0}
.formcard .cform input,.formcard .cform textarea,.formcard .cform select{background:var(--background)}
.ok.inline{margin-top:0;background:var(--background)}
.map-tile{border-radius:var(--radius-card);overflow:hidden;background:var(--surface);aspect-ratio:1/1}
.map-tile img{width:100%;height:100%;object-fit:contain}
.hero .brand[aria-current],header.site .left a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px}
.slides.portrait{aspect-ratio:4/3}
@media(min-width:768px){.slides.portrait{aspect-ratio:2/1}}
.slides.portrait img{object-fit:contain}
.slides.portrait img.on{transform:none}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform .form-err{font-size:.85rem;color:#b3261e;background:#fdecea;border-radius:var(--radius-xl);padding:.65rem .9rem}
.cform [aria-invalid="true"]{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
