:root{
  --primary:#0E3E23; --deep:#092917; --gold:#B58934; --sand:#D4CEA8;
  --ink:#1B1C1A; --muted:#656860; --paper:#FFFFFF;
  --canvas:#FAF9F5; --alt:#F6F4EB; --red:#8C2D2D; --success:#1B4D2E;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Cairo","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  color:var(--ink); background:var(--canvas);
  line-height:1.8; overflow-x:hidden;
}
html[lang="en"] body{font-family:"Plus Jakarta Sans","Cairo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.6}
.wrap{max-width:1120px;margin-inline:auto;padding-inline:20px}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--deep);color:#fff;padding:10px 18px;border-radius:10px;z-index:99;transition:top .2s}
.skip:focus{top:12px;color:#fff}

/* Header — source-style fixed bar: transparent at top, dark glass on scroll */
.site-header{position:fixed;inset-inline:0;top:0;z-index:50;border-bottom:1px solid transparent;transition:background .5s ease,border-color .5s ease,opacity .3s ease}
.site-header.scrolled{background:rgba(9,41,23,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom-color:rgba(255,255,255,.1)}
body.gate-open .site-header{opacity:0;pointer-events:none}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;min-height:44px}
.brand-badge{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:1.15rem;background:var(--deep);outline:1px solid rgba(212,206,168,.45);outline-offset:-1px;padding:2px}
.brand-badge img{width:100%;height:100%;object-fit:contain;display:block;border-radius:1rem}
.brand-t{display:flex;flex-direction:column;line-height:1.25}
.brand-t strong{font-size:1.125rem;font-weight:800;color:#fff}
.brand-t small{font-size:.68rem;letter-spacing:.14em;color:#fff;opacity:.85;font-weight:700}
.mainnav{display:flex;align-items:center}
.mainnav ul{display:flex;gap:4px;list-style:none}
.mainnav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;color:rgba(255,255,255,.7);text-decoration:none;font-weight:500;font-size:.875rem}
.mainnav a:hover{background:rgba(255,255,255,.1);color:#fff}
.mainnav-cta{display:none}
.header-actions{display:flex;align-items:center;gap:8px}
.header-cta{border-radius:999px;background:var(--sand);border-color:var(--sand);color:var(--deep);font-size:.875rem;white-space:nowrap}
.header-cta:hover{background:#fff;border-color:#fff;color:var(--deep)}
.burger{display:none;place-items:center;align-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;color:#fff}
.burger span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.burger span+span{margin-top:3px}
.burger.open span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.site-header.menu-open{background:rgba(9,41,23,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom-color:rgba(255,255,255,.1)}
.lang-toggle{min-width:44px;min-height:44px;padding:8px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-weight:700;cursor:pointer;font-size:.9rem}
.lang-toggle:hover{background:rgba(255,255,255,.14)}
.lang-float{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left));z-index:70;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border-color:var(--sand);background:var(--sand);color:var(--primary);box-shadow:0 8px 24px rgba(9,41,23,.35)}
.lang-float:hover{background:#C7C29E;border-color:#C7C29E;color:var(--primary)}
body.float-on .lang-float{bottom:calc(84px + env(safe-area-inset-bottom))}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:12px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid transparent;cursor:pointer}
.btn-primary{background:var(--primary);color:var(--canvas)}
.btn-primary:hover{background:var(--deep)}
.btn-outline{background:var(--sand);color:var(--primary);border-color:var(--sand)}
.btn-outline:hover{background:#C7C29E;border-color:#C7C29E}
.btn-lg{min-height:52px;padding:14px 30px;font-size:1.05rem}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.2)}
.btn-ghost:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);color:#fff}

/* Hero — source dark hero (#092917): badge/H1/sub/CTAs/ticks/stores + framed visual + stats */
.hero{background:var(--deep);color:#fff;padding:112px 0 64px;position:relative;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.45;pointer-events:none}
.hero-veil{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,rgba(9,41,23,.55),rgba(9,41,23,.78));pointer-events:none}
.hero-glow{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-glow .blob-a{position:absolute;top:-160px;inset-inline-end:-15%;width:520px;height:520px;border-radius:50%;background:rgba(19,78,44,.7);filter:blur(130px);translate:calc(var(--px,0)*-14px) calc(var(--py,0)*-14px)}
.hero-glow .blob-b{position:absolute;bottom:-128px;inset-inline-start:-15%;width:420px;height:420px;border-radius:50%;background:rgba(212,206,168,.1);filter:blur(130px);translate:calc(var(--px,0)*-22px) calc(var(--py,0)*-22px)}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero-copy{text-align:start}



.hero-copy h1{margin-top:0;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1.25;color:#fff}
.hero-copy h1 span{color:var(--sand)}
.hero-sub{margin:20px auto 0;max-width:36rem;font-size:.95rem;line-height:1.9;color:rgba(255,255,255,.7)}
.hero-ctas{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:32px}
.hero-ctas .btn{min-height:56px;border-radius:16px;font-size:1rem}
.hero-ctas .hero-store{flex:1 1 0;min-width:0;padding:8px 12px}
.hero-ctas .btn-ghost{flex:1 1 100%}
.hero .btn-primary{background:var(--sand);border-color:var(--sand);color:var(--deep);box-shadow:0 18px 40px -18px rgba(212,206,168,.7)}
.hero .btn-primary:hover{background:#fff;border-color:#fff;color:var(--deep)}
.hero-ticks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;list-style:none;margin-top:28px;font-size:.75rem;color:rgba(255,255,255,.6)}
.hero-ticks li{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.hero-ticks svg{width:14px;height:14px;flex:none;color:var(--sand)}
.hero-stores{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hero-store{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:10px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;text-decoration:none;direction:ltr}
.hero-store:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff}
.hero-store svg{width:20px;height:20px;flex:none}
.hero-store>span{display:flex;flex-direction:column;text-align:center;line-height:1.3}
.hero-store small{font-size:.65rem;font-weight:600;color:rgba(255,255,255,.6)}
.hero-store strong{font-size:.85rem}
.hero-store-sand{background:var(--sand);border-color:var(--sand);color:var(--deep)}
.hero-store-sand small{color:var(--deep)}
.hero-store-sand:hover{background:#fff;border-color:#fff;color:var(--deep)}

.hero-visual{position:relative;width:100%;max-width:380px;margin-inline:auto}
.hero-frame-glow{position:absolute;inset:-16px;border-radius:3rem;background:linear-gradient(to bottom,rgba(212,206,168,.25),transparent);filter:blur(32px);pointer-events:none}
.hero-visual>img{width:100%;height:auto;display:block}
.hero-shade{position:absolute;inset-inline:0;bottom:0;height:8rem;background:linear-gradient(to top,rgba(9,41,23,.85),transparent);pointer-events:none}
.hero-card{position:absolute;display:flex;align-items:center;gap:12px;border-radius:1.5rem;padding:12px 16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.hero-card-a{top:-12px;inset-inline-start:0}
.hero-card-b{bottom:-16px;inset-inline-end:0}
.hero-card-ic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:1rem;background:var(--sand);color:var(--deep)}
.hero-card-ic.dim{background:rgba(255,255,255,.1);color:var(--sand)}
.hero-card-t{display:flex;flex-direction:column;text-align:start;line-height:1.5}
.hero-card-t strong{font-size:.82rem;color:#fff}
.hero-card-t small{font-size:.7rem;color:rgba(255,255,255,.6)}

/* Steps strip */
.steps{background:var(--canvas);padding:0 0 32px}
.steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none}
.steps-list li{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid #E7E3D6;border-radius:var(--radius);padding:12px 16px;min-height:44px;font-weight:700;color:var(--deep);font-size:.95rem}
.step-n{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:.95rem;flex:none}
.steps-list li:nth-child(2) .step-n{background:var(--gold);color:var(--deep)}
/* Download gate — fullscreen two-leaf intro, hidden by default (JS shows it) */
#gate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;overflow:hidden}
#gate[hidden]{display:none}
#gate .leaf{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;transition:transform .9s ease}
#gate .leaf-top{flex:7 1 70dvh;height:70dvh;max-height:70dvh;background:linear-gradient(160deg,#062015 0%,#0E3E23 55%,#134E2C 100%),radial-gradient(120% 60% at 50% 0%,rgba(255,255,255,.06),rgba(255,255,255,0) 70%);background-color:var(--deep);color:#fff;justify-content:flex-start;padding-bottom:0;overflow:hidden}
body.gate-open{overflow:hidden}
.gate-lockup{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-top:4px;flex:none}
.gate-lockup>img{width:54px;height:54px;object-fit:contain;flex:none;display:block}
#gate .leaf-bottom{flex:3 1 30dvh;min-height:230px;background:var(--paper);color:var(--ink);justify-content:flex-start;padding-top:18px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
#gate.leaving .leaf-top{transform:translateY(-100%)}
#gate.leaving .leaf-bottom{transform:translateY(100%)}
.gate-brand{display:flex;flex-direction:column;align-items:center;line-height:1.3}
.gate-lockup .gate-brand{align-items:flex-start;text-align:start}
.gate-brand strong{font-size:1.6rem;font-weight:800;color:#fff}
.gate-brand small{font-size:.72rem;letter-spacing:.14em;color:#fff;opacity:.85;font-weight:700}
.gate-home{color:#fff;font-size:1.05rem;font-weight:700;text-align:center;margin:12px 0 0;max-width:32rem}
.gate-mockup{width:auto;max-width:min(250px,62vw);max-height:50dvh;object-fit:contain;margin-bottom:0;margin-top:auto;display:block;flex:none;min-height:0;filter:drop-shadow(0 16px 32px rgba(0,0,0,.35))}
.gate-mockup-desk{display:none}
.gate-desc{font-size:1rem;font-weight:600;color:var(--deep);text-align:center;max-width:32rem}
/* Channels badges: mobile only, icon LEFT of label (ltr inner row) */
.ch-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;margin:4px 0 10px;padding:0}
.ch-row li{direction:ltr;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #E7E3D6;border-radius:999px;padding:6px 14px;min-height:44px;min-width:44px;font-size:.9rem;font-weight:700;color:var(--deep)}
.ch-row li svg{width:16px;height:16px;flex:none;color:var(--gold)}
.store-row{display:flex;gap:10px;width:min(520px,100%);justify-content:center}
.store-row .store-btn{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#000;color:#fff;min-height:56px;border-radius:14px;padding:12px 14px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid #000;direction:ltr;flex-direction:row}
.store-row .store-btn:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}
.store-row .store-btn svg{width:22px;height:22px;flex:none}
.store-row .store-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Platform-aware order + emphasis (JS adds .os-android/.os-ios to #gate; desktop/other keep default order) */
#gate.os-android .store-btn-google{order:-1;box-shadow:0 0 0 2px var(--sand)}
#gate.os-android .store-btn-apple{order:0}
#gate.os-ios .store-btn-apple{order:-1;box-shadow:0 0 0 2px var(--sand)}
#gate.os-ios .store-btn-google{order:0}
/* QR block: hidden on-phone (useless there), shown on desktop gate */
.qr-block{display:none;flex-direction:column;align-items:center;gap:8px;margin:14px 0 0}
.qr-block img{width:140px;height:140px;border-radius:12px;background:#fff;padding:6px;display:block}
.qr-block figcaption{font-size:.9rem;font-weight:600;color:var(--muted);text-align:center}
/* Gate sales wrappers: display:contents on mobile = stacked layout byte-identical */
.gate-sale{display:contents}
.gate-actions{display:contents}
.gate-h1{display:none}
.gate-trust{display:none}
@media (min-width:1024px){
  /* Two columns inside the leaves: green right / white left (RTL: first flex child sits right).
     Leaves keep their up/down .leaving slide — unchanged. */
  #gate{flex-direction:row}
  #gate .leaf{flex:1 1 50%;height:100dvh;max-height:none;min-height:0;justify-content:center;align-items:center;padding:40px 32px;text-align:center}
  #gate .leaf-top{padding-bottom:40px}
  #gate .leaf-bottom{padding-bottom:40px}
  /* Ultrawide cap: column content never exceeds ~560px each (=1120 ≤ 1200 total), stays centered */
  #gate .leaf-top>*,#gate .leaf-bottom>*{max-width:560px}
  .gate-lockup{align-self:flex-start;justify-content:flex-start}
  .gate-lockup>img{width:72px;height:72px}
  .gate-lockup .gate-brand{align-items:flex-start;text-align:start}
  .gate-lockup .gate-brand strong{font-size:1.35rem}
  .gate-lockup .gate-brand small{font-size:.8rem}
  .gate-mockup{max-width:min(300px,30vw);max-height:58dvh;margin-top:24px}
  .gate-mockup-desk{display:block}
  .gate-mockup-mob{display:none}
  /* White-column channels row: horizontal pills under the tagline (same base pill style) */
  .ch-row{display:flex;flex-direction:row;justify-content:center}
  /* LEFT white column: vertically-centered sales block */
  #gate .leaf-bottom{justify-content:center;gap:0}
  .gate-sale{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;max-width:520px}
  .gate-h1{display:block;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:800;line-height:1.5;color:var(--deep);text-align:center}
  .gate-desc{font-size:1.1rem;max-width:32rem}
  /* QR beside buttons: horizontal row [buttons column | QR block] */
  .gate-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;width:100%}
  .store-row{flex-direction:column;flex:1 1 0;min-width:0;max-width:none;gap:12px}
  .store-row .store-btn{min-height:64px;width:100%;font-size:1.05rem}
  .store-row .store-btn svg{width:24px;height:24px}
  .qr-block{display:flex;margin:0;flex:none;width:210px}
  .qr-block img{width:200px;height:200px}
  .qr-block figcaption{font-size:.82rem;max-width:210px}
  /* Trust ticks row reusing t1..t3 */
  .gate-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;list-style:none}
  .gate-trust li{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:700;color:#3E423C;min-height:44px}
  .gate-trust li svg{width:15px;height:15px;flex:none;color:var(--gold)}
  #gate .leaf-bottom>.gate-sale{max-width:520px}
  .gate-cue{margin-top:2px}
}
.gate-cue{display:inline-flex;flex-direction:column;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:6px 26px 10px;border:0;background:transparent;cursor:pointer;color:var(--primary);font-weight:700;font-size:.95rem}
.gate-cue:hover .cue-oval{border-color:var(--deep)}
.cue-text{line-height:1.4}
.cue-oval{width:26px;height:40px;border:2px solid rgba(9,41,23,.5);border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:transparent}
.cue-oval svg{display:block}
.cue-chev{animation:cue-drop 1.6s ease-in-out infinite}
.cue-chev.d2{animation-delay:.2s}
@keyframes cue-drop{0%,100%{opacity:.35;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}
/* Journey reveal: hidden pre-state ONLY under .reveal-init (JS); no-JS stays visible */
.reveal-init .steps-list li,.reveal-init #download>*,.reveal-init #contact{opacity:0;transform:translateY(18px);transition:opacity .7s ease-out,transform .7s ease-out}
.reveal-init .steps-list li.in,.reveal-init #download>.in,.reveal-init #contact.in{opacity:1;transform:none}
.reveal-init .steps-list li:nth-child(2){transition-delay:.12s}
.reveal-init .steps-list li:nth-child(3){transition-delay:.24s}
.reveal-init #download>:nth-child(2){transition-delay:.12s}
.reveal-init #download>:nth-child(3){transition-delay:.24s}
/* Gold stamp on the contact block: fires once via IO (.stamped); default = visible */
@keyframes stamp-in{from{transform:scale(1.5) rotate(-6deg);opacity:0}to{transform:scale(1) rotate(0deg);opacity:1}}
#contact.stamp-init{opacity:0}
#contact.stamped{animation:stamp-in .45s cubic-bezier(.2,1.6,.4,1) both}

/* Anchor offset for fixed header */
section[id]{scroll-margin-top:88px}

/* Calm load entrance (pure CSS, automatic, no-JS safe) */
@keyframes header-drop{from{transform:translateY(-24px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes hero-copy-in{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes hero-visual-in{from{transform:translateX(-40px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes main-fade{from{opacity:0}to{opacity:1}}
.site-header{animation:header-drop .9s ease-out both;animation-delay:.05s}
.hero-copy{animation:hero-copy-in 1.1s ease-out both;animation-delay:.2s}
.hero-visual{animation:hero-visual-in 1.1s ease-out both;animation-delay:.3s}
#main{animation:main-fade .7s ease-out both}

@media (max-width:1023px){
  .steps-list{grid-template-columns:1fr}
  .hero{padding:128px 0 48px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-copy{text-align:center}

  .hero-sub{margin-inline:auto}
  .hero-ctas{max-width:26rem;margin-inline:auto}
  .hero-ticks,.hero-stores{justify-content:center}
  .hero-visual{max-width:380px}
  .burger{display:grid}
  .mainnav{position:fixed;top:72px;inset-inline:20px;display:none;flex-direction:column;align-items:stretch;background:rgba(9,41,23,.97);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
  .mainnav.open{display:flex}
  .mainnav ul{flex-direction:column;width:100%;padding:0}
  .mainnav a{width:100%;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
  .mainnav ul li:last-child a{border-bottom:none}
  .mainnav-cta{display:inline-flex;margin-top:8px;background:var(--sand);border-color:var(--sand);color:var(--deep);justify-content:center}
  .mainnav a.mainnav-cta{color:var(--deep)}
  .mainnav a.mainnav-cta:hover{background:#fff;border-color:#fff;color:var(--deep)}
  .header-actions{margin-inline-start:auto}
  .header-cta{display:none}
}
@media (min-width:640px){
  .hero-ctas{flex-direction:row}
}
@media (max-width:1023px){
  .hero-ctas{justify-content:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.hero-copy,.hero-visual,#main{animation:none;opacity:1;transform:none}#gate .leaf{transition:none}.cue-chev{animation:none}.hero-glow .blob-a,.hero-glow .blob-b,.hero-visual{translate:0 0}.hero-card-a{animation:none}.reveal-init .steps-list li,.reveal-init #download>*,.reveal-init #contact{transition:none;opacity:1;transform:none}#contact.stamp-init{opacity:1}#contact.stamped{animation:none}}
@media (max-width:380px){
  .store-row .store-btn{font-size:.95rem;padding:12px 10px;gap:8px}
  .gate-desc{font-size:.92rem}
}

/* Download replica — 1:1 port of pulse-cape-figma .download-section (static, no animation).
   Classes prefixed dl- to avoid collisions (.store-row/.store-button already exist for the gate).
   Colors/spacing/radii copied verbatim; only min-height:44px added on pills (touch target). */
#download{background:var(--paper);padding:110px 24px;overflow:hidden}
.dl-card{color:#fff;background:#0e3e23;border-radius:30px;min-height:450px;padding:70px 78px;position:relative;overflow:hidden}
.dl-pattern{border:1px solid #d4cea824;border-radius:50%;width:650px;height:650px;position:absolute;top:-90px;left:-120px;box-shadow:0 0 0 70px #d4cea809,0 0 0 140px #d4cea806;pointer-events:none}
.dl-copy{z-index:3;width:55%;position:relative}
.dl-kicker{color:#d4cea8;font-size:10px;font-weight:600}
.dl-copy h2{letter-spacing:-1.3px;margin:10px 0 0;font-size:clamp(36px,4vw,54px);font-weight:600;line-height:1.38;color:#fff}
.dl-copy p{color:#b8c8bd;margin:16px 0 25px;font-size:11px}
.dl-store-row{gap:10px;display:flex}
.dl-store-btn{color:#092917;direction:ltr;background:#fff;border-radius:10px;align-items:center;gap:9px;min-width:145px;min-height:44px;padding:9px 14px;display:inline-flex;text-decoration:none}
.dl-store-btn:hover{background:#EFEDE2;color:#092917}
.dl-store-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.dl-store-btn>span{text-align:left;flex-direction:column;line-height:1.2;display:flex}
.dl-store-btn small{font-size:7px;font-weight:600}
.dl-store-btn strong{font-size:12px}
.dl-phone{z-index:2;color:#092917;background:#fff;border:7px solid #dcd7bb;border-radius:38px 38px 0 0;width:245px;height:455px;padding:13px;position:absolute;bottom:-60px;left:115px;transform:rotate(-3deg);box-shadow:0 35px 70px #0000004d}
.dl-phone-top{z-index:2;background:#0e3e23;border-radius:999px;width:65px;height:16px;position:absolute;top:8px;left:50%;transform:translate(-50%)}
.dl-screen{padding:28px 4px 0}
.dl-mini-brand{color:#0e3e23;justify-content:center;align-items:center;gap:4px;margin-bottom:12px;display:flex}
.dl-mini-brand img{object-fit:contain;width:20px;height:20px;display:block}
.dl-mini-brand strong{font-size:7px}
.dl-mini-header{justify-content:space-between;align-items:center;font-size:10px;font-weight:600;display:flex}
.dl-mini-avatar{background:#e8eadf;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;flex:none}
.dl-mini-search{color:#9ca29d;background:#f2f2ee;border-radius:8px;margin-top:18px;padding:10px;font-size:7px}
.dl-mini-title{margin:18px 0 10px;font-size:8px;font-weight:600}
.dl-mini-icons{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}
.dl-mini-icons>span{color:#0e3e23;background:#f4f4ef;border-radius:9px;flex-direction:column;align-items:center;gap:5px;padding:9px 2px;display:flex}
.dl-mini-icons svg{width:18px;height:18px}
.dl-mini-icons small{font-size:6px}
.dl-mini-appt{color:#fff;background:#0e3e23;border-radius:11px;align-items:center;gap:8px;padding:9px;display:flex}
.dl-mini-appt img{object-fit:cover;border-radius:8px;width:35px;height:35px;display:block;flex:none}
.dl-mini-appt span{flex-direction:column;gap:4px;display:flex;min-width:0}
.dl-mini-appt strong{font-size:7px}
.dl-mini-appt small{color:#bdc9c0;font-size:6px}
@media (max-width:900px){
  .dl-card{padding:60px 45px}
  .dl-copy{width:58%}
  .dl-phone{left:45px}
}
@media (max-width:600px){
  #download{padding:70px 14px}
  .dl-card{text-align:center;border-radius:24px;min-height:690px;padding:45px 25px}
  .dl-copy{width:100%}
  .dl-copy h2{font-size:36px}
  .dl-store-row{flex-wrap:wrap;justify-content:center}
  .dl-phone{bottom:-140px;left:50%;transform:translate(-50%)rotate(-3deg)}
}

/* Footer — 1:1 port of source dark block (bg #06190E, sand #D4CEA8, off-white #F9FAF7).
   Classes prefixed ftr- to avoid collisions. Static block (reduced-motion n/a). */
.ftr{background:#06190E;color:#F9FAF7;padding-top:64px}
.ftr-in{padding-bottom:0}
.ftr-grid{display:grid;gap:40px;grid-template-columns:1fr}
.ftr-lockup{display:flex;align-items:center;gap:12px}
.ftr-lockup img{width:48px;height:48px;object-fit:cover;border-radius:12px;display:block;outline:1px solid rgba(212,206,168,.3);outline-offset:-1px}
.ftr-lockup-t{display:flex;flex-direction:column;line-height:1.1}
.ftr-name{font-size:1.125rem;font-weight:700;color:#F9FAF7}
.ftr-latin{margin-top:4px;font-size:.625rem;letter-spacing:.32em;color:rgba(212,206,168,.6);font-weight:600}
.ftr-desc{margin-top:20px;max-width:24rem;font-size:.875rem;line-height:1.9;color:rgba(249,250,247,.5)}
.ftr-social{margin-top:24px;display:flex;gap:10px}
.ftr-soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.1);color:rgba(249,250,247,.6);text-decoration:none}
.ftr-soc:hover{border-color:rgba(212,206,168,.5);color:#D4CEA8}
.ftr-soc:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ftr-soc svg{width:16px;height:16px;display:block}
.ftr-col h3{font-size:.8125rem;font-weight:700;color:#D4CEA8}
.ftr-col ul{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:12px;padding:0}
.ftr-col ul a{display:inline-flex;align-items:center;min-height:44px;font-size:.84375rem;color:rgba(249,250,247,.55);text-decoration:none}
.ftr-col ul a:hover{color:#F9FAF7}
.ftr-col ul a:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.ftr-contact-list{gap:12px}
.ftr-contact-link{gap:10px}
.ftr-contact-link svg,.ftr-city svg{width:16px;height:16px;flex:none;color:rgba(212,206,168,.7)}
.ftr-city{display:flex;align-items:flex-start;gap:10px;min-height:44px;font-size:.84375rem;color:rgba(249,250,247,.55)}
.ftr-city svg{margin-top:6px}
.ftr-legal{margin-top:20px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;gap:10px}
.ftr-legal a{font-size:.8125rem;color:rgba(249,250,247,.45)}
.ftr-legal a:hover{color:#D4CEA8}
.ftr-bottom{margin-top:48px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;padding-bottom:24px;display:flex;flex-direction:column;gap:12px;font-size:.75rem;color:rgba(249,250,247,.35)}
@media (min-width:640px){
  .ftr-grid{grid-template-columns:repeat(2,1fr)}
  .ftr-brandcol{grid-column:1/-1}
  .ftr-bottom{flex-direction:row;align-items:center;justify-content:space-between}
}
@media (min-width:1024px){
  .ftr-grid{grid-template-columns:2fr 1fr 1fr;gap:32px}
  .ftr-brandcol{grid-column:auto}
}
html[lang="en"] .ftr-latin{letter-spacing:.32em}

/* FAQ — 1:1 port of source #faq (badge + H2 + single-open accordion, first open).
   Classes prefixed fq- to avoid collisions. */
#faq{background:var(--canvas);padding:80px 0}
.fq-in{max-width:768px}
.fq-head{max-width:42rem;margin-inline:auto;text-align:center}
.fq-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 16px;font-size:.75rem;font-weight:600;background:var(--alt);color:var(--primary)}
.fq-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.fq-head h2{margin-top:20px;font-size:clamp(1.7rem,4vw,2.55rem);font-weight:800;line-height:1.35;color:var(--deep)}
.fq-list{margin-top:48px;display:flex;flex-direction:column;gap:12px}
.fq-item{overflow:hidden;border-radius:24px;border:1px solid #E7E3D6;background:#fff;transition:border-color .3s,box-shadow .3s}
.fq-item.open{border-color:var(--sand);box-shadow:0 20px 50px -35px rgba(9,41,23,.5)}
.fq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:20px 20px;background:transparent;border:0;cursor:pointer;text-align:start;font-size:.9rem;font-weight:700;color:var(--deep);font-family:inherit}
.fq-q:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;border-radius:24px}
.fq-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:#EFEDE2;color:var(--primary);font-size:1.2rem;font-weight:400;line-height:1;transition:background .3s,color .3s}
.fq-icon::before{content:"+";
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:system-ui}
.fq-item.open .fq-icon{background:var(--primary);color:var(--sand)}
.fq-item.open .fq-icon::before{content:"−"}
.fq-a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease,opacity .3s ease}
.fq-item.open .fq-a{grid-template-rows:1fr;opacity:1}
.fq-a-in{overflow:hidden;min-height:0}
.fq-a p{padding:0 20px 20px;font-size:.83rem;line-height:1.9;color:#3E423C}
@media (min-width:640px){
  .fq-q{padding-inline:24px;font-size:1rem}
  .fq-a p{padding-inline:24px;font-size:.875rem}
}

/* Floating banner — 1:1 port of source mobile pill (logo + text + CTA).
   Mobile-only like source (lg:hidden); shows on scrollY>700, hidden at top. */
.float-banner{position:fixed;inset-inline:0;bottom:0;z-index:40;padding:0 12px calc(12px + env(safe-area-inset-bottom));transform:translateY(100%);opacity:0;pointer-events:none;transition:transform .5s ease,opacity .5s ease}
.float-banner.show{transform:translateY(0);opacity:1;pointer-events:auto}
.float-pill{display:flex;align-items:center;gap:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(9,41,23,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:10px;box-shadow:0 -10px 40px -10px rgba(0,0,0,.6)}
.float-pill img{width:36px;height:36px;flex:none;border-radius:12px;object-fit:contain;outline:1px solid rgba(212,206,168,.4);outline-offset:-1px}
.float-pill p{flex:1;min-width:0;font-size:.69rem;line-height:1.6;color:rgba(255,255,255,.7)}
.float-cta{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:10px 16px;border-radius:12px;background:var(--sand);color:var(--deep);font-size:.69rem;font-weight:700;text-decoration:none;white-space:nowrap}
.float-cta:hover{background:#fff}
.float-cta:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (min-width:1024px){
  .float-banner{display:none}
}
@media (prefers-reduced-motion:reduce){
  .fq-item,.fq-icon,.fq-a,.float-banner{transition:none}
  .fq-a{opacity:1}
  .fq-item:not(.open) .fq-a{opacity:0}
}

/* Shared section heading (new sections only) */
.sec-head .sec-kicker{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.2em;color:var(--primary);opacity:.6}
.sec-head h2{margin-top:12px;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;line-height:1.4;color:var(--deep)}
.sec-head .sec-sub{margin-top:12px;max-width:22rem;font-size:.9rem;line-height:1.9;color:var(--muted)}
.sec-narrow{max-width:42rem}
.sec-split{display:flex;flex-direction:column;gap:16px}
@media (min-width:640px){
  .sec-split{flex-direction:row;align-items:end;justify-content:space-between}
}

/* Departments — layout ported from 8823 #departments (split head + card grid, snap-scroll on mobile) */
.depts{background:#fff;padding:80px 0}
.dept-grid{margin-top:40px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
.dept-card{background:var(--alt);border:1px solid #E7E3D6;border-radius:22px;padding:20px;transition:background .3s,border-color .3s,transform .3s}
.dept-card:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-4px)}
.dept-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary);color:var(--sand);transition:background .3s,color .3s}
.dept-card:hover .dept-ic{background:var(--sand);color:var(--deep)}
.dept-card h3{margin-top:16px;font-size:1rem;font-weight:700;color:var(--deep)}
.dept-card:hover h3{color:#fff}
.dept-n{margin-top:4px;font-size:.75rem;color:var(--muted)}
.dept-card:hover .dept-n{color:rgba(255,255,255,.6)}
@media (min-width:1024px){
  .dept-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:639px){
  .dept-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding-inline:20px;padding-bottom:12px}
  .dept-grid .dept-card{flex:none;width:70%;scroll-snap-align:start}
}

/* Doctors — layout ported from 8825 #doctors (head + horizontal snap-scroll cards);
   photos replaced by initials avatars: DB photo_url values are expiring signed URLs
   carrying tokens, and 15/26 rows have no photo at all. */
.docs{background:var(--alt);padding:80px 0;overflow:hidden}
.doc-scroll{margin-top:48px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:24px}
.doc-track{display:flex;gap:16px;width:max-content;padding-inline:20px}
.doc-card{flex:none;width:264px;scroll-snap-align:start;background:#fff;border:1px solid #E7E3D6;border-radius:28px;overflow:hidden}
.doc-photo{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;background:linear-gradient(160deg,#0E3E23 0%,#092917 100%)}
.doc-initials{font-size:3rem;font-weight:800;color:var(--sand);line-height:1}
.doc-body{padding:16px}
.doc-body h3{font-size:.95rem;font-weight:800;color:var(--deep)}
.doc-spec{margin-top:4px;font-size:.78rem;line-height:1.8;color:var(--gold)}
.doc-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.doc-meta span{font-size:.72rem;color:var(--muted)}
.doc-meta a{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px;background:var(--sand);color:var(--deep);font-size:.75rem;font-weight:700;text-decoration:none;white-space:nowrap}
.doc-meta a:hover{background:var(--deep);color:#fff}
@media (min-width:640px){
  .doc-card{width:300px}
  .doc-track{padding-inline:max(20px,calc((100vw - 1120px)/2 + 20px))}
}

/* Articles — layout ported from 8824 #articles (split head + featured + side rows);
   text-only cards: DB cover_url is null for 1/6 rows and external picsum seeds for 5/6,
   and specialty_id (category source) is null for all rows. */
.arts{background:var(--canvas);padding:80px 0}
.quiet-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:.9rem;font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap}
.quiet-link:hover{color:var(--gold)}
.arts-grid{margin-top:40px;display:grid;gap:20px}
.art-featured{display:flex;align-items:flex-end;min-height:320px;border-radius:28px;background:linear-gradient(160deg,#0E3E23 0%,#092917 100%);padding:32px}
.art-featured h3{font-size:1.35rem;font-weight:800;line-height:1.6;color:#fff}
.art-featured p{margin-top:8px;font-size:.88rem;line-height:1.9;color:rgba(255,255,255,.65)}
.art-featured a,.art-row a{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:12px;font-size:.82rem;font-weight:700;text-decoration:none;color:var(--sand)}
.art-row a{color:var(--primary)}
.art-row a:hover{color:var(--gold)}
.arts-side{display:flex;flex-direction:column;gap:16px}
.art-row{background:#fff;border:1px solid #E7E3D6;border-radius:22px;padding:16px 20px;transition:border-color .3s}
.art-row:hover{border-color:var(--sand)}
.art-row h3{font-size:.95rem;font-weight:800;line-height:1.7;color:var(--deep)}
.art-row p{margin-top:6px;font-size:.8rem;line-height:1.9;color:var(--muted)}
@media (min-width:1024px){
  .arts-grid{grid-template-columns:1.15fr 1fr;align-items:stretch}
  .art-featured h3{font-size:1.6rem}
}
@media (prefers-reduced-motion:reduce){
  .dept-card,.doc-card,.art-row{transition:none}
}
