.skip-link{position:absolute;top:-40px;left:0;background:var(--tc);color:var(--white);padding:.5rem 1rem;z-index:9999;border-radius:0 0 8px 0;font-size:.85rem;font-weight:700;transition:top .2s}
.skip-link:focus{top:0}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Festive orange */
  --tc:#FF8C42;--tc-l:#FFB366;--tc-p:#FFE8D6;--tc-bg:#FFF5EC;
  /* Sky blue */
  --sky:#4ECDC4;--sky-l:#7EDDD6;--sky-p:#E8FAF8;--sky-d:#3DBDB5;
  --pl:#7B68EE;--pl-l:#9B8AF0;--pl-p:#EDE8FF;
  --ms:#52B788;--ms-l:#74C69D;--ms-p:#E8F8EF;
  --am:#FFB347;--am-l:#FFD088;--am-p:#FFF4E0;
  --sand:#F5F8FA;--sand-d:#E8EDF0;--sand-dd:#D5DDE3;
  --ink:#2D3436;--ink-deep:#1E272E;--ink-s:#636E72;--gray:#7F8C8D;--gray-l:#B2BEC3;
  --white:#FFFCF7;
  --pryanik:#6B3A22;--pryanik-l:#A65C38;
  --r:20px;--rl:32px;--rxl:48px;
  --glass:rgba(255,252,247,.82);
  --glass-strong:rgba(255,255,255,.96);
  --glass-border:rgba(255,255,255,.85);
  --lux-shadow:0 20px 60px rgba(45,52,54,.08),0 8px 24px rgba(45,52,54,.04);
  --lux-glow:0 0 80px rgba(255,140,66,.14);
  --copper:linear-gradient(135deg,#FFD088 0%,#FF8C42 48%,#FF7A2E 100%);
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --ease-lux:cubic-bezier(.22,1,.36,1);
  --sec-py:clamp(5rem,8vw,8.5rem);
  --sec-gap:5rem;
  --card-pad:2rem;
  --grid-gap:1.75rem;
}
::selection{background:var(--sky-p);color:var(--ink)}
:focus-visible{outline:3px solid rgba(78,205,196,.65);outline-offset:3px}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{font-family:'Nunito Sans',sans-serif;background:var(--white);color:var(--ink);overflow-x:hidden;line-height:1.65;-webkit-font-smoothing:antialiased}
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}
body.has-sticky{padding-bottom:4.5rem}
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:linear-gradient(90deg,var(--tc),var(--sky),var(--tc-l));
  z-index:400;transition:width .12s linear;pointer-events:none;
  box-shadow:0 0 14px rgba(255,140,66,.35);
}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--sand)}
::-webkit-scrollbar-thumb{background:var(--tc-p);border-radius:3px}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 3.5rem;
  background:rgba(255,251,247,0);
  backdrop-filter:blur(0px);
  border-bottom:1px solid rgba(196,99,58,0);
  transition:background .4s,backdrop-filter .4s,border-color .4s;
}
nav.scrolled:not(.on-dark) .nav-links a.active::after{background:var(--tc)}
nav.on-dark .nav-logo{color:var(--white)}
nav.on-dark .nav-links a{
  color:rgba(255,251,247,.82);
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}
nav.on-dark .nav-links a:hover{color:var(--white)}
nav.on-dark .nav-links a.active{color:var(--white)}
nav.on-dark .nav-links a::after,
nav.on-dark .nav-links a.active::after{background:var(--am-l)}
nav.on-dark .nav-burger{border-color:rgba(255,251,247,.28);background:rgba(255,251,247,.04)}
nav.on-dark .nav-burger span{background:var(--white)}
nav.on-dark:not(.scrolled){
  background:rgba(22,16,12,.28);
  backdrop-filter:blur(18px) saturate(1.25);
  border-bottom:1px solid rgba(255,251,247,.08);
}
nav.on-dark.scrolled{
  background:rgba(22,16,12,.9);
  backdrop-filter:blur(28px) saturate(1.35);
  border-bottom:1px solid rgba(255,251,247,.1);
  box-shadow:0 10px 36px rgba(0,0,0,.28);
}
nav:not(.on-dark).scrolled{
  background:rgba(255,251,247,.82);
  backdrop-filter:blur(28px) saturate(1.35);
  border-bottom:1px solid rgba(196,99,58,.08);
  box-shadow:0 8px 32px rgba(26,18,12,.04);
}
nav.scrolled .nav-logo{color:var(--ink)}
nav.on-dark.scrolled .nav-logo{color:var(--white)}
.nav-logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.1rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em}
.nl-dot{width:8px;height:8px;border-radius:50%;background:var(--tc);animation:pulse 2.5s infinite;box-shadow:0 0 12px rgba(196,99,58,.45),0 0 0 2px var(--am-p)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.6)}}
.nav-links{display:flex;gap:1.65rem;list-style:none;flex-wrap:wrap;justify-content:center}
.nav-links a{
  font-family:'Nunito',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.02em;
  color:var(--gray);text-decoration:none;transition:color .2s;position:relative;
  white-space:nowrap;
}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--sky);border-radius:2px;transform:scaleX(0);transition:transform .25s}
.nav-links a:hover{color:var(--tc)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a.active{color:var(--tc)}
.nav-links a.active::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:.75rem}
.nav-cta-sm{
  display:none;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  padding:.5rem 1.1rem;background:var(--copper);color:var(--white);
  border-radius:50px;text-decoration:none;white-space:nowrap;
  box-shadow:0 4px 16px rgba(196,99,58,.3),inset 0 1px 0 rgba(255,255,255,.15);
}
.nav-cta{
  font-family:'Nunito',sans-serif;font-size:.8125rem;font-weight:800;
  padding:.65rem 1.55rem;background:var(--tc);color:var(--white);border:none;border-radius:50px;
  cursor:pointer;text-decoration:none;transition:all .35s var(--ease-lux);
  box-shadow:0 6px 24px rgba(255,140,66,.28);
  position:relative;overflow:hidden;
}
.nav-cta::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.25) 50%,transparent 58%);
  transform:translateX(-130%);transition:transform .6s var(--ease-lux);
}
.nav-cta:hover::after{transform:translateX(130%)}
.nav-cta:hover{background:var(--tc-l);transform:translateY(-2px);box-shadow:0 12px 32px rgba(196,99,58,.38),inset 0 1px 0 rgba(255,255,255,.25)}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:transparent;border:2px solid var(--sand-d);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s}
.nav-burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-burger:hover{border-color:var(--tc)}
.nav-backdrop{position:fixed;inset:0;background:rgba(44,32,24,.45);opacity:0;pointer-events:none;transition:opacity .35s;z-index:250}
.nav-backdrop.open{opacity:1;pointer-events:auto}
.nav-overlay{position:fixed;inset:0;z-index:300;pointer-events:none}
.nav-overlay.open{pointer-events:auto}
.nav-overlay-panel{
  position:absolute;top:0;left:0;bottom:0;width:100%;
  background:var(--white);
  transform:translateX(-100%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
  padding:5.5rem 2.5rem 2.5rem;
  display:flex;flex-direction:column;
  overflow-y:auto;
}
.nav-overlay.open .nav-overlay-panel{transform:translateX(0)}
.nav-overlay-close{
  position:absolute;top:1.25rem;right:1.5rem;
  width:44px;height:44px;border:none;border-radius:12px;
  background:var(--sand);color:var(--ink);
  font-size:1.5rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.nav-overlay-close:hover{background:var(--tc-p)}
.nav-overlay-links{list-style:none;display:flex;flex-direction:column;gap:.25rem;margin-bottom:2.5rem;flex:1}
.nav-overlay-links a{
  display:block;padding:1rem 0;
  font-family:'Nunito',sans-serif;font-size:1.15rem;font-weight:800;
  color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--sand-d);
  transition:color .2s,padding-left .2s;
}
.nav-overlay-links a:hover{color:var(--tc);padding-left:.5rem}
.nav-overlay-cta{
  font-family:'Nunito',sans-serif;font-size:.95rem;font-weight:800;
  padding:1rem 2rem;background:var(--tc);color:var(--white);
  border-radius:50px;text-align:center;text-decoration:none;
  box-shadow:0 6px 24px rgba(196,99,58,.35);
  transition:background .25s,transform .25s;
}
.nav-overlay-cta:hover{background:var(--tc-l);transform:translateY(-2px)}
body.menu-open{overflow:hidden}

/* ─── HERO ─── */
.hero{
  --mx:50%;--my:50%;
  min-height:100vh;
  display:grid;grid-template-columns:52% 48%;
  padding-top:5rem;
  background:
    radial-gradient(ellipse 70% 55% at 88% 18%,rgba(255,140,66,.18) 0%,transparent 55%),
    radial-gradient(ellipse 55% 45% at 8% 78%,rgba(78,205,196,.16) 0%,transparent 50%),
    radial-gradient(ellipse 45% 35% at 50% 100%,rgba(255,211,136,.12) 0%,transparent 42%),
    linear-gradient(172deg,#FFFCF7 0%,#FFF5EC 42%,#E8FAF8 100%);
  position:relative;overflow:hidden;
  color:var(--ink);
}
.hero-spotlight{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(circle 520px at var(--mx) var(--my),rgba(255,140,66,.08) 0%,transparent 62%);
  transition:opacity .4s;
}
.hero-aurora{
  position:absolute;inset:-20%;pointer-events:none;z-index:0;opacity:.45;
  background:
    radial-gradient(ellipse 45% 35% at 70% 30%,rgba(255,179,71,.14) 0%,transparent 55%),
    radial-gradient(ellipse 35% 30% at 25% 60%,rgba(78,205,196,.12) 0%,transparent 50%);
  animation:auroraShift 14s ease-in-out infinite alternate;
}
@keyframes auroraShift{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-3%,2%) scale(1.06)}
}
.hero-mesh{
  position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:0;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,140,66,.12) 0%,transparent 42%),
    radial-gradient(circle at 78% 65%,rgba(78,205,196,.1) 0%,transparent 38%);
}
.hero-grid{
  position:absolute;inset:0;pointer-events:none;opacity:.12;z-index:0;
  background-image:
    linear-gradient(rgba(78,205,196,.15) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,140,66,.12) 1px,transparent 1px);
  background-size:72px 72px;
  animation:gridDrift 40s linear infinite;
  mask-image:radial-gradient(ellipse 75% 65% at 55% 45%,#000 15%,transparent 78%);
}
@keyframes gridDrift{
  0%{background-position:0 0,0 0}
  100%{background-position:72px 72px,72px 72px}
}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.08;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23E8B870' stroke-width='.45' opacity='.25'%3E%3Cpath d='M0 40c20-14 40-14 60 0'/%3E%3Ccircle cx='40' cy='40' r='4'/%3E%3C/g%3E%3C/svg%3E");
  background-size:80px 80px;
}
.hero-orbit{
  position:absolute;right:8%;top:50%;transform:translateY(-50%);
  width:min(520px,42vw);aspect-ratio:1;pointer-events:none;z-index:1;opacity:.35;
}
.hero-orbit svg{width:100%;height:100%;animation:orbitSpin 60s linear infinite}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
.hero-blob1{
  position:absolute;top:-120px;right:30%;
  width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,179,71,.2) 0%,transparent 65%);
  pointer-events:none;z-index:0;
  animation:blobFloat 8s ease-in-out infinite;
}
.hero-blob2{
  position:absolute;bottom:-80px;left:0;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,205,196,.15) 0%,transparent 65%);
  pointer-events:none;z-index:0;
  animation:blobFloat 10s ease-in-out infinite reverse;
}
@keyframes blobFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.03)}}

.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:6rem 3rem 6rem 5rem;
  position:relative;z-index:3;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--sky-p);backdrop-filter:blur(12px);
  border:1px solid rgba(78,205,196,.28);
  color:var(--sky-d);font-family:'Nunito',sans-serif;
  font-size:.72rem;font-weight:800;letter-spacing:.04em;
  padding:.55rem 1.2rem;border-radius:50px;
  margin-bottom:2.5rem;width:fit-content;
  box-shadow:0 4px 20px rgba(78,205,196,.12);
}
.hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--tc);animation:pulse 2s infinite;box-shadow:0 0 10px rgba(255,140,66,.5)}

.hero-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,5.5vw,5.8rem);
  font-weight:900;line-height:.92;
  color:var(--ink);letter-spacing:-.025em;
  margin-bottom:2rem;
  text-wrap:balance;
}
.hero-title .line{display:block;overflow:hidden}
.hero-title .line span{display:block}
.hero-title .accent{
  font-style:italic;
  background:linear-gradient(120deg,var(--tc) 0%,var(--sky) 50%,var(--tc-l) 90%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shimmer 5s ease-in-out infinite;
  filter:drop-shadow(0 0 20px rgba(255,140,66,.2));
}
@keyframes shimmer{
  0%,100%{background-position:0% center}
  50%{background-position:100% center}
}

.hero-sub{
  font-size:1.125rem;line-height:1.75;
  color:var(--ink-s);max-width:44ch;
  margin-bottom:2rem;
}
.hero-price{
  display:inline-flex;align-items:baseline;gap:.35rem;
  background:var(--tc-bg);backdrop-filter:blur(8px);
  border:1px solid rgba(255,140,66,.22);
  padding:.65rem 1.4rem;border-radius:50px;
  font-size:.8125rem;font-weight:600;color:var(--ink-s);
  box-shadow:0 6px 24px rgba(255,140,66,.1);
  margin-bottom:2.25rem;
}
.hero-price strong{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:900;color:var(--tc)}
.hero-chips{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2.75rem}
.hero-chip{
  display:flex;align-items:center;gap:.55rem;
  background:var(--white);
  border:1px solid var(--sand-d);
  padding:.55rem 1.1rem;border-radius:50px;
  font-family:'Nunito',sans-serif;font-size:.75rem;font-weight:700;
  color:var(--ink-s);
  box-shadow:0 4px 16px rgba(45,52,54,.05);
  transition:border-color .25s,box-shadow .25s,transform .25s var(--ease-lux),color .25s;
}
.hero-chip:hover{border-color:var(--sky);color:var(--ink);box-shadow:0 8px 24px rgba(78,205,196,.12);transform:translateY(-1px)}
.chip-mark{width:6px;height:6px;border-radius:50%;background:var(--tc);flex-shrink:0}
.hero-mobile-card{
  display:none;background:var(--white);
  border:1px solid var(--sand-d);border-radius:var(--rl);
  padding:1.75rem 1.5rem 1.5rem;
  box-shadow:var(--lux-shadow);
  margin-bottom:2.25rem;
}
.hero-local-note{
  font-size:.875rem;line-height:1.65;color:var(--gray);
  max-width:44ch;margin:-1rem 0 2.25rem;
  padding-left:1rem;border-left:3px solid var(--sky);
}
.hmc-title{color:var(--ink)}
.hmc-route{color:var(--gray)}
.hmc-stats .hcs-num{color:var(--tc)}
.hmc-stats .hcs-lbl{color:var(--gray)}
.btn-s{
  font-family:'Nunito',sans-serif;font-size:.875rem;font-weight:800;
  padding:1.1rem 2.2rem;background:var(--white);
  color:var(--ink);border:2px solid var(--sand-d);border-radius:50px;
  cursor:pointer;text-decoration:none;transition:all .3s var(--ease-lux);
}
.btn-s:hover{border-color:var(--sky);color:var(--sky-d);background:var(--sky-p);box-shadow:0 8px 24px rgba(78,205,196,.12)}
.btn-p{
  font-family:'Nunito',sans-serif;font-size:.875rem;font-weight:800;
  padding:1.1rem 2.35rem;background:var(--tc);color:var(--white);border:none;border-radius:50px;
  cursor:pointer;text-decoration:none;transition:all .35s var(--ease-lux);
  box-shadow:0 8px 28px rgba(255,140,66,.32),inset 0 1px 0 rgba(255,255,255,.25);
  position:relative;overflow:hidden;
}
.btn-p::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);
  transform:translateX(-130%);transition:transform .65s var(--ease-lux);
}
.btn-p:hover::after{transform:translateX(130%)}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(255,140,66,.38),inset 0 1px 0 rgba(255,255,255,.25);background:var(--tc-l)}
.btn-p:focus-visible,.btn-s:focus-visible,.nav-cta:focus-visible,.form-submit:focus-visible{outline:2px solid var(--tc);outline-offset:3px}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.btn-ghost{font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:700;padding:.85rem 1.5rem;background:transparent;color:var(--gray);border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.btn-ghost:hover{color:var(--tc)}

.hero-right{
  position:relative;display:flex;align-items:center;justify-content:center;
  padding:5rem 4rem 5rem 1rem;z-index:3;
}
.hero-right-stack{
  display:flex;flex-direction:column;align-items:stretch;
  gap:1.25rem;width:100%;max-width:390px;position:relative;z-index:2;
}
.hero-card-glow{
  position:absolute;width:min(440px,92%);aspect-ratio:.85;
  background:radial-gradient(ellipse at center,rgba(255,140,66,.2) 0%,rgba(78,205,196,.08) 40%,transparent 68%);
  filter:blur(48px);pointer-events:none;z-index:1;
  animation:glowPulse 7s ease-in-out infinite;
}
@keyframes glowPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.hero-card-shell{position:relative;width:100%;max-width:390px;display:flex;justify-content:center}
.hero-card-ring{
  position:absolute;inset:-16px;border-radius:calc(var(--rxl) + 16px);pointer-events:none;z-index:0;
  background:conic-gradient(from 0deg,transparent,rgba(255,140,66,.45),rgba(78,205,196,.3),transparent,rgba(255,140,66,.25),transparent);
  animation:ringSpin 14s linear infinite;opacity:.5;
}
.hero-card-ring::after{
  content:'';position:absolute;inset:1px;border-radius:inherit;background:var(--white);
}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.hero-card{
  background:var(--white);
  border:1px solid var(--sand-d);
  border-radius:var(--rxl);
  width:100%;max-width:390px;
  padding:2.25rem 2rem 2rem;
  box-shadow:var(--lux-shadow),0 0 0 1px rgba(255,255,255,.8);
  position:relative;z-index:2;
  transition:transform .4s var(--ease-lux),box-shadow .4s;
  will-change:transform;
}
.hero-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(145deg,rgba(78,205,196,.06) 0%,transparent 40%,rgba(255,140,66,.05) 100%);
}
.hero-card::after{
  content:'';position:absolute;inset:14px;border-radius:calc(var(--rxl) - 14px);pointer-events:none;
  border:1px solid var(--sand-d);
}
.hero-card > *{position:relative;z-index:1}
.hc-lbl{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--sky-d);margin-bottom:1rem}
.hc-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}
.hc-sub{font-family:'Nunito',sans-serif;font-size:.75rem;color:var(--gray);margin-bottom:1.75rem}
.mini-stop{display:flex;align-items:flex-start;gap:.9rem;padding:.65rem 0;position:relative}
.mini-stop::after{content:'';position:absolute;left:10px;top:1.8rem;width:1.5px;height:calc(100% - .3rem);background:var(--sand-d)}
.mini-stop:last-child::after{display:none}
.msd{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;flex-shrink:0;margin-top:.05rem;position:relative;z-index:1;font-family:var(--mono);font-weight:500}
.msd-s{background:var(--tc-p);color:var(--tc);border:1px solid rgba(255,140,66,.25)}
.msd-m{background:var(--am-p);color:#C87A00;border:1px solid rgba(255,179,71,.3)}
.msd-b{background:var(--pl-p);color:var(--pl);border:1px solid rgba(123,104,238,.25)}
.msd-e{background:var(--ms-p);color:var(--ms);border:1px solid rgba(82,183,136,.25)}
.ms-main{font-size:.875rem;font-weight:700;color:var(--ink)}
.ms-note{font-size:.75rem;color:var(--gray);margin-top:.1rem}
.hc-divider{height:1px;background:var(--sand-d);margin:1.5rem 0 1.25rem}
.hc-stats{display:flex;justify-content:space-around}
.hc-price{
  display:block;margin-top:1rem;padding:.7rem 1rem;border-radius:50px;
  background:var(--tc-bg);
  border:1px solid rgba(255,140,66,.22);
  text-align:center;font-family:'Nunito',sans-serif;
  font-size:.75rem;font-weight:800;color:var(--tc);
  text-decoration:none;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s var(--ease-lux),box-shadow .25s;
}
.hc-price:hover{
  background:var(--tc-p);
  border-color:var(--tc);
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(255,140,66,.15);
}
.hc-price strong{font-family:'Playfair Display',serif;font-size:1rem;color:var(--tc)}
.hcs-num{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--tc);text-align:center;line-height:1}
.hcs-lbl{font-family:'Nunito',sans-serif;font-size:.65rem;font-weight:700;color:var(--gray);text-align:center;margin-top:.25rem}
.float-chip{
  position:absolute;
  background:var(--white);
  border:1px solid var(--sand-d);border-radius:var(--r);
  padding:.7rem 1rem;box-shadow:var(--lux-shadow);
  font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:.55rem;z-index:4;
  color:var(--ink-s);
}
.fc-tag{
  font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:800;
  padding:.2rem .5rem;border-radius:6px;
  background:var(--tc-p);color:var(--tc);
}
.fc1{top:20%;right:-5px;animation:fy 3.5s ease-in-out infinite}
.fc1 .fc-tag{background:var(--sky-p);color:var(--sky-d)}
.fc2{bottom:28%;left:-12px;animation:fy 3.5s ease-in-out infinite 1.5s}
.fc2 .fc-tag{background:var(--ms-p);color:var(--ms)}
@keyframes fy{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.hmc-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;margin-bottom:.35rem}
.hmc-route{font-family:'Nunito',sans-serif;font-size:.75rem;line-height:1.5;margin-bottom:1rem}
.hmc-stats{display:flex;justify-content:space-around;padding-top:1rem;border-top:1px solid var(--sand-d)}

/* ─── TRUST BAR ─── */
.trust-bar{
  background:var(--sky-p);
  padding:4rem 0;position:relative;
  border-top:1px solid rgba(78,205,196,.2);
}
.trust-bar::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--sky),var(--tc),var(--sky),transparent);
}
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.trust-item{
  text-align:center;font-size:.8125rem;line-height:1.6;color:var(--ink-s);
  opacity:0;transform:translateY(20px);
  transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);
}
.trust-item span{
  display:block;margin-top:.45rem;
  font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:700;color:var(--gray);
}
.trust-item strong{
  display:block;font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;
  color:var(--tc);margin-bottom:.1rem;font-variant-numeric:tabular-nums;
}

/* quest ticker (IDI pattern) */
.quest-ticker{
  overflow:hidden;
  background:linear-gradient(90deg,var(--tc-l),var(--sky-l));
  border-block:2px solid rgba(45,52,54,.06);
  color:var(--ink);
}
.quest-ticker__track{
  display:flex;width:max-content;min-width:100%;
  animation:questTicker 28s linear infinite;
}
.quest-ticker__track span{
  display:inline-flex;align-items:center;gap:.75rem;
  padding:.7rem 1.15rem;
  font-family:var(--mono);font-size:clamp(.62rem,1.2vw,.72rem);
  font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;color:rgba(26,18,12,.82);
}
.quest-ticker__track span::after{
  content:'';width:.55rem;height:.55rem;border-radius:50%;
  background:var(--white);opacity:.85;flex-shrink:0;
}
@keyframes questTicker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ─── SHARED SECTION ─── */
.sec{padding:var(--sec-py) 0}
.sec-sand{
  background:
    radial-gradient(ellipse 42% 32% at 96% 4%,rgba(255,140,66,.08),transparent),
    radial-gradient(ellipse 38% 28% at 4% 96%,rgba(78,205,196,.1),transparent),
    var(--sand);
  position:relative;
}
.sec-sand::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.25;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath d='M30 5l4 8 9 1-6 6 1 9-8-4-8 4 1-9-6-6 9-1z' fill='none' stroke='%234ECDC4' stroke-width='.5' opacity='.12'/%3E%3C/svg%3E");
  background-size:60px 60px;
}
.sec-sand > .si{position:relative;z-index:1}
.sec-white{background:var(--white)}
.sec-dark{background:var(--ink)}
.sec-tech{
  background:
    radial-gradient(ellipse 50% 40% at 90% 10%,rgba(255,140,66,.1),transparent),
    radial-gradient(ellipse 45% 35% at 5% 90%,rgba(78,205,196,.12),transparent),
    var(--white);
  position:relative;overflow:hidden;
}
.sec-tech::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.08;
  background-image:
    linear-gradient(rgba(78,205,196,.2) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,140,66,.15) 1px,transparent 1px);
  background-size:56px 56px;
}
.sec-tech > .si{position:relative;z-index:1}
.sec-tech .sec-h{color:var(--ink)}
.sec-tech .sec-h em{color:var(--tc)}
.sec-tech .sec-lead{color:var(--ink-s)}
.sec-tech .demo-copy{color:var(--ink-s)}
.sec-tech .stag-am{background:var(--tc-p);color:var(--tc);border-color:rgba(255,140,66,.2)}
.si{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem)}

.stag{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.45rem 1.1rem .45rem .9rem;border-radius:50px;
  font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.03em;
  margin-bottom:2rem;border:1px solid transparent;
}
.stag::before{
  content:'';width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0;
  background:var(--am-l);box-shadow:0 0 0 .3rem rgba(232,184,112,.2);
}
.stag-tc::before{background:var(--tc);box-shadow:0 0 0 .3rem rgba(196,99,58,.15)}
.stag-pl::before{background:var(--pl);box-shadow:0 0 0 .3rem rgba(123,79,122,.12)}
.stag-ms::before{background:var(--ms-l);box-shadow:0 0 0 .3rem rgba(90,122,74,.12)}
.stag-am::before{background:var(--am);box-shadow:0 0 0 .3rem rgba(212,148,58,.15)}
.stag-dk::before{background:var(--tc-l)}
.stag-wh::before{background:var(--am-l)}
.stag-tc{background:rgba(245,218,206,.65);color:var(--tc);border-color:rgba(196,99,58,.12)}
.stag-pl{background:rgba(237,224,237,.75);color:var(--pl);border-color:rgba(123,79,122,.12)}
.stag-ms{background:rgba(226,237,220,.75);color:var(--ms);border-color:rgba(90,122,74,.12)}
.stag-am{background:rgba(253,241,220,.75);color:#9A6820;border-color:rgba(212,148,58,.15)}
.stag-dk{background:rgba(196,99,58,.2);color:var(--tc-l)}
.stag-wh{background:rgba(255,255,255,.12);color:rgba(255,251,247,.8)}

.sec-h{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:700;line-height:1.12;letter-spacing:-.02em;
  color:var(--ink);margin-bottom:1.5rem;
  text-wrap:balance;
}
.sec-h em{font-style:italic;color:var(--tc)}
.sec-h-wh{color:var(--white)}
.sec-h-wh em{color:var(--tc-l)}
.sec-lead{font-size:1.125rem;line-height:1.75;color:var(--ink-s);max-width:58ch;margin-bottom:var(--sec-gap)}
.sec-lead-wh{color:rgba(255,255,255,.88)}

/* ─── HOW ─── */
.how-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:var(--grid-gap);
  margin-top:0;position:relative;padding-top:.5rem;
}
.how-steps::after{
  content:'';position:absolute;top:2.1rem;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,var(--sand-dd) 8%,var(--sand-d) 50%,var(--sand-dd) 92%,transparent);
  z-index:0;pointer-events:none;
}
.how-step{
  background:var(--white);
  border:1px solid var(--sand-d);border-radius:var(--rl);
  padding:2.25rem 1.75rem 2rem;position:relative;z-index:1;
  transition:transform .35s var(--ease-lux),box-shadow .35s,border-color .25s;
  cursor:default;box-shadow:0 8px 28px rgba(45,52,54,.04);
}
.how-step::before{
  content:'';position:absolute;top:0;left:1.25rem;right:1.25rem;height:2px;
  border-radius:0 0 4px 4px;opacity:.85;
}
.how-step--tc::before{background:linear-gradient(90deg,var(--tc),var(--tc-l))}
.how-step--pl::before{background:linear-gradient(90deg,var(--pl),var(--pl-l))}
.how-step--am::before{background:linear-gradient(90deg,var(--am),var(--am-l))}
.how-step--ms::before{background:linear-gradient(90deg,var(--ms),var(--ms-l))}
.how-step:hover{
  transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 rgba(255,140,66,.15),0 16px 40px rgba(45,52,54,.06);
  border-color:rgba(78,205,196,.25);
}
.hs-num{
  width:2.65rem;height:2.65rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;
  background:var(--white);margin:-1.55rem auto 1.35rem;flex-shrink:0;
  border:2px solid var(--sand-dd);
  box-shadow:0 0 0 5px var(--white);
  position:relative;z-index:1;
}
.hs-num.n-tc{color:var(--tc);border-color:var(--tc-p);background:var(--tc-bg)}
.hs-num.n-pl{color:var(--pl);border-color:var(--pl-p);background:var(--pl-p)}
.hs-num.n-am{color:var(--am);border-color:var(--am-p);background:var(--am-p)}
.hs-num.n-ms{color:var(--ms);border-color:var(--ms-p);background:var(--ms-p)}
.hs-t{
  font-family:'Playfair Display',serif;font-size:1.02rem;font-weight:700;
  color:var(--ink);margin-bottom:.55rem;line-height:1.25;
}
.hs-d{font-size:.9375rem;line-height:1.65;color:var(--gray)}

/* ─── ROUTE ─── */
.route-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:5rem;align-items:start;margin-top:0}
.route-sticky{position:sticky;top:7rem}
.route-desc{font-size:1rem;line-height:1.75;color:var(--ink-s);margin-top:1.5rem;margin-bottom:2.5rem}
.route-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.route-start-hint{margin-bottom:2rem}
.route-start-hint a{
  font-family:var(--mono);font-size:.68rem;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--tc);text-decoration:none;
}
.route-start-hint a:hover{text-decoration:underline}
.route-chip{
  display:flex;align-items:center;gap:.4rem;
  background:var(--white);padding:.45rem .95rem;border-radius:50px;
  font-size:.78rem;font-weight:600;color:var(--ink-s);
  box-shadow:0 2px 10px rgba(44,32,24,.07);
}
.coming-box{
  background:var(--white);border-radius:var(--rl);
  padding:1.75rem;border:2px dashed var(--sand-dd);
}
.coming-lbl{font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-l);margin-bottom:1rem}
.coming-item{display:flex;align-items:center;gap:.9rem;padding:.7rem 0;border-bottom:1px solid var(--sand-d)}
.coming-item:last-child{border:none}
.ci-dot{width:8px;height:8px;border-radius:50%;background:var(--sand-dd);flex-shrink:0}
.ci-name{font-size:.85rem;font-weight:700;color:var(--gray)}
.ci-badge{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .65rem;border-radius:50px;background:var(--sand-d);color:var(--gray-l);margin-left:auto}

/* timeline */
.timeline{display:flex;flex-direction:column;gap:0}
.t-stop{display:grid;grid-template-columns:3rem 1fr;gap:1.75rem;position:relative}
.t-stop::before{content:'';position:absolute;left:1.38rem;top:2.4rem;bottom:-1.5rem;width:2px;background:linear-gradient(to bottom,var(--sand-dd),var(--sand-d));border-radius:2px}
.t-stop:last-child::before{display:none}
.t-m{display:flex;flex-direction:column;align-items:center;padding-top:.15rem}
.t-dot{
  width:28px;height:28px;border-radius:50%;
  border:2.5px solid var(--sand-dd);background:var(--white);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;position:relative;z-index:1;
  font-size:.7rem;transition:transform .3s;
}
.t-dot:hover{transform:scale(1.2)}
.td-tc{border-color:var(--tc);background:var(--tc-p)}
.td-am{border-color:var(--am);background:var(--am-p)}
.td-pl{border-color:var(--pl);background:var(--pl-p)}
.td-ms{border-color:var(--ms);background:var(--ms-p)}
.td-end{border-color:var(--tc);background:var(--tc);color:var(--white)}
.t-c{padding-bottom:4rem}
.ttag{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;padding:.28rem .85rem;border-radius:50px;margin-bottom:.85rem}
.tt-s{background:var(--tc-p);color:var(--tc)}
.tt-r{background:var(--pl-p);color:var(--pl)}
.tt-f{background:var(--am-p);color:#C87A00}
.tt-e{background:var(--sky-p);color:var(--sky-d)}
.t-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}
.t-note{font-size:.9375rem;line-height:1.7;color:var(--gray)}
.t-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.kv{
  padding:.72rem .85rem;background:rgba(255,251,247,.86);
  border:1px solid var(--sand-d);border-radius:14px;
}
.kv-label{
  display:block;font-family:var(--mono);font-size:.58rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:.2rem;
}
.kv-value{display:block;font-size:.88rem;font-weight:800;color:var(--ink);line-height:1.25}
.t-roles{display:flex;gap:.4rem;margin-top:.9rem;flex-wrap:wrap}
.trp{font-size:.66rem;font-weight:800;padding:.22rem .65rem;border-radius:50px}
.trp-obs{background:var(--tc-p);color:var(--tc)}
.trp-bio{background:var(--ms-p);color:var(--ms)}
.trp-lin{background:var(--pl-p);color:var(--pl)}
.trp-phy{background:var(--am-p);color:#9A6820}
.fork-box{background:var(--white);border-radius:var(--r);padding:1rem 1.25rem;margin-top:.85rem;border-left:3px solid var(--am)}
.fork-row{display:flex;align-items:center;gap:.7rem;font-size:.82rem;color:var(--ink-s);padding:.35rem 0}
.fork-row+.fork-row{border-top:1px solid var(--sand-d)}

/* ─── GUIDES ─── */
.guides-intro{font-size:1.0625rem;line-height:1.75;color:var(--ink-s);max-width:58ch;margin:1.5rem 0 var(--sec-gap)}
.guides-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap);margin-bottom:0}
.guide-card{
  border-radius:var(--rxl);overflow:hidden;
  transition:transform .4s var(--ease-lux),box-shadow .4s;
  cursor:default;
  border:1px solid var(--sand-d);
  background:var(--white);
  box-shadow:0 8px 28px rgba(45,52,54,.05);
}
.guide-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 rgba(255,140,66,.12),0 20px 48px rgba(45,52,54,.08)}
.gc-top{padding:0;overflow:hidden}
.gc-portrait-wrap{height:220px;overflow:hidden;position:relative;background:var(--sand-d)}
.gc-portrait-wrap::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(44,32,24,.18) 0%,transparent 45%);
}
.gc-portrait{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.95) contrast(1.03)}
.gc-bio .gc-portrait{object-position:center 12%}
.gc-lin .gc-portrait{object-position:center 18%}
.gc-phy .gc-portrait{object-position:center 8%}
.gc-portrait-fallback{width:100%;height:100%;display:block}
.gc-head{padding:1.25rem 1.75rem 1rem}
.gc-obs .gc-top{background:var(--tc-p)}
.gc-bio .gc-top{background:var(--ms-p)}
.gc-lin .gc-top{background:var(--pl-p)}
.gc-phy .gc-top{background:var(--am-p)}
.gc-emoji{font-size:2.6rem;margin-bottom:1.25rem;display:block;line-height:1}
.gc-dir{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem}
.gc-obs .gc-dir{color:var(--tc)}.gc-bio .gc-dir{color:var(--ms)}.gc-lin .gc-dir{color:var(--pl)}.gc-phy .gc-dir{color:var(--am)}
.gc-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--ink);margin-bottom:.2rem}
.gc-full{font-size:.7rem;color:var(--gray);font-style:italic}
.gc-body{background:var(--white);padding:1.5rem 1.75rem 2rem}
.gc-role-t{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-l);margin-bottom:.5rem}
.gc-role-d{font-size:.82rem;line-height:1.65;color:var(--ink-s)}

/* orient teaser */
.orient-box{background:var(--sand);border-radius:var(--rxl);padding:4rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.ob-left h3{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--ink);margin-bottom:1.25rem;line-height:1.15}
.ob-left h3 em{font-style:italic;color:var(--tc)}
.ob-left p{font-size:.92rem;line-height:1.8;color:var(--ink-s)}
.ob-right{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ob-card{border-radius:var(--rl);padding:1.5rem 1.25rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);cursor:default}
.ob-card:hover{transform:translateY(-5px) scale(1.03)}
.ob-tc{background:var(--tc-p)}.ob-ms{background:var(--ms-p)}.ob-pl{background:var(--pl-p)}.ob-am{background:var(--am-p)}
.ob-e{font-size:1.8rem;margin-bottom:.75rem}
.ob-n{font-size:.85rem;font-weight:800;margin-bottom:.3rem}
.ob-tc .ob-n{color:var(--tc)}.ob-ms .ob-n{color:var(--ms)}.ob-pl .ob-n{color:var(--pl)}.ob-am .ob-n{color:#9A6820}
.ob-d{font-size:.75rem;color:var(--gray);line-height:1.45}

/* how — team mechanic (lean) */
.how-team{
  margin-top:var(--sec-gap);padding-top:var(--sec-gap);
  border-top:1px solid var(--sand-d);
}
.how-team-lead{
  font-size:1.0625rem;line-height:1.75;color:var(--ink-s);
  max-width:58ch;margin-bottom:2.5rem;
}
.how-team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap)}
.how-team-item{
  background:var(--white);border-radius:var(--r);
  padding:var(--card-pad) 1.5rem;border:1px solid var(--sand-d);
  transition:transform .28s var(--ease-lux),box-shadow .28s,border-color .2s;
}
.how-team-item:hover{
  transform:translate(-2px,-2px);
  box-shadow:3px 3px 0 rgba(255,140,66,.14);
  border-color:rgba(78,205,196,.2);
}
.how-team-item strong{
  display:block;font-family:'Nunito',sans-serif;
  font-size:.88rem;font-weight:800;color:var(--ink);margin-bottom:.35rem;
}
.how-team-item span{font-size:.8rem;line-height:1.6;color:var(--gray)}

/* before start (host + devices lean) */
.before-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:0}
.before-item{
  background:var(--white);border-radius:var(--rl);
  padding:var(--card-pad) 1.75rem;border:1px solid var(--sand-d);
  box-shadow:0 8px 28px rgba(44,32,24,.04);
  transition:transform .28s var(--ease-lux),box-shadow .28s,border-color .2s;
}
.before-item:hover{
  transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 rgba(196,99,58,.18),0 12px 32px rgba(44,32,24,.06);
  border-color:rgba(196,99,58,.15);
}
.before-ic{
  width:44px;height:44px;border-radius:14px;
  background:var(--sand);display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;margin-bottom:1rem;
}
.before-t{font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:800;color:var(--ink);margin-bottom:.45rem}
.before-d{font-size:.82rem;line-height:1.65;color:var(--gray)}

/* start point map (CTA) */
.start-map{margin-top:2rem}
.start-map-cap{
  font-family:var(--mono);font-size:.58rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,251,247,.5);margin-bottom:.65rem;
}
.start-map-card{
  background:rgba(255,251,247,.08);backdrop-filter:blur(12px);
  border:1px solid rgba(255,251,247,.16);border-radius:var(--rl);
  overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.15);
}
.start-map-embed{
  position:relative;width:100%;
  aspect-ratio:480 / 220;min-height:200px;
  background:#1E1610;
}
.start-map-frame{
  position:absolute;inset:0;width:100%;height:100%;
  border:0;display:block;
}
.start-map-body{padding:1rem 1.15rem 1.15rem}
.start-map-addr{font-size:.88rem;font-weight:700;color:var(--white);margin-bottom:.25rem}
.start-map-note{font-size:.78rem;line-height:1.55;color:rgba(255,251,247,.55);margin-bottom:.85rem}
.start-map-link{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--mono);font-size:.68rem;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--am-p);text-decoration:none;
  padding:.55rem 1rem;border-radius:50px;
  background:rgba(255,251,247,.1);border:1px solid rgba(255,251,247,.18);
  transition:background .25s,border-color .25s,color .25s;
}
.start-map-link:hover{background:rgba(255,251,247,.16);border-color:rgba(255,251,247,.3);color:var(--white)}

/* ─── ROLES mechanic (legacy, used in how-team) ─── */
.roles-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;margin-top:5rem}
.rp-rows{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}
.rp-row{display:flex;gap:1.1rem;align-items:flex-start}
.rp-ic{width:44px;height:44px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.ri-tc{background:var(--tc-p)}.ri-pl{background:var(--pl-p)}.ri-ms{background:var(--ms-p)}.ri-am{background:var(--am-p)}
.rp-t{font-size:.9rem;font-weight:800;color:var(--ink);font-family:'Nunito',sans-serif;margin-bottom:.25rem}
.rp-d{font-size:.82rem;line-height:1.65;color:var(--gray)}

.roles-demo{display:flex;flex-direction:column;gap:.85rem}
.rd{border-radius:var(--r);padding:1.4rem 1.6rem;transition:transform .25s}
.rd:hover{transform:translateX(6px)}
.rd-tc{background:var(--tc-p)}.rd-ms{background:var(--ms-p)}.rd-pl{background:var(--pl-p)}.rd-am{background:var(--am-p)}
.rd-tag{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem}
.rd-tc .rd-tag{color:var(--tc)}.rd-ms .rd-tag{color:var(--ms)}.rd-pl .rd-tag{color:var(--pl)}.rd-am .rd-tag{color:#9A6820}
.rd-clue{font-size:.83rem;line-height:1.55;color:var(--ink-s);font-style:italic}
.rd-hl{font-style:normal;font-weight:800}
.rd-tc .rd-hl{color:var(--tc)}.rd-ms .rd-hl{color:var(--ms)}.rd-pl .rd-hl{color:var(--pl)}.rd-am .rd-hl{color:#9A6820}
.rd-result{background:var(--ink);border-radius:var(--r);padding:1.1rem 1.6rem;display:flex;align-items:center;gap:.85rem;font-size:.85rem;font-weight:700;color:var(--white);margin-top:.5rem}

/* ─── CONVERGENCE ─── */
.conv-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-top:5rem}
.conv-box{background:rgba(255,255,255,.05);border-radius:var(--rxl);padding:2.5rem;border:1px solid rgba(255,255,255,.08)}
.cp{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:var(--r);margin-bottom:.6rem;border:1px solid rgba(255,255,255,.05)}
.cp-pill{font-size:.65rem;font-weight:800;letter-spacing:.06em;padding:.2rem .65rem;border-radius:50px;white-space:nowrap;flex-shrink:0}
.pp-o{background:rgba(196,99,58,.25);color:#E0845A}
.pp-b{background:rgba(90,122,74,.25);color:#85AA72}
.pp-l{background:rgba(123,79,122,.25);color:#A87BA6}
.pp-p{background:rgba(212,148,58,.25);color:#E8B870}
.cp-txt{font-size:.81rem;line-height:1.5;color:rgba(255,251,247,.5);font-style:italic}
.cp-txt strong{color:rgba(255,251,247,.9);font-style:normal}
.conv-arr{text-align:center;margin:.8rem 0;font-size:1.2rem;color:rgba(255,255,255,.15)}
.conv-res{background:rgba(196,99,58,.15);border:1px solid rgba(196,99,58,.35);border-radius:var(--r);padding:1rem 1.4rem;font-size:.86rem;font-weight:700;color:var(--tc-l);display:flex;align-items:center;gap:.8rem;margin-top:.6rem}
.conv-right h3{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--white);line-height:1.15;margin-bottom:2rem}
.conv-right h3 em{font-style:italic;color:var(--tc-l)}
.cf-r{display:flex;gap:1.1rem;align-items:flex-start;margin-bottom:1.5rem}
.cf-ic{width:40px;height:40px;border-radius:14px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.cf-t{font-size:.88rem;font-weight:800;color:var(--white);margin-bottom:.2rem}
.cf-d{font-size:.8rem;line-height:1.65;color:rgba(255,251,247,.4)}

/* ─── GUIDE (HOST) BLOCK ─── */
.host-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin-top:5rem}
.host-visual{position:relative}
.host-card-big{
  background:var(--white);border-radius:var(--rxl);
  padding:3rem 2.5rem;
  box-shadow:0 24px 64px rgba(44,32,24,.1);
}
.hcb-avatar{
  width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg,var(--tc-p),var(--am-p));
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;margin-bottom:1.75rem;
}
.hcb-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}
.hcb-sub{font-size:.85rem;line-height:1.7;color:var(--gray);margin-bottom:2rem}
.hcb-features{display:flex;flex-direction:column;gap:.85rem}
.hcbf{display:flex;align-items:flex-start;gap:.9rem}
.hcbf-dot{width:8px;height:8px;border-radius:50%;background:var(--tc);flex-shrink:0;margin-top:.35rem}
.hcbf-t{font-size:.85rem;font-weight:700;color:var(--ink);margin-bottom:.15rem}
.hcbf-d{font-size:.78rem;line-height:1.6;color:var(--gray)}
.host-float{
  position:absolute;bottom:-1.5rem;right:-2rem;
  background:var(--ink);border-radius:var(--rl);padding:1.5rem 1.75rem;
  box-shadow:0 16px 40px rgba(44,32,24,.2);
}
.hf-title{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,251,247,.4);margin-bottom:.85rem}
.hf-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hf-row:last-child{border:none}
.hf-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.hf-d-g{background:var(--ms-l)}.hf-d-y{background:var(--am-l)}.hf-d-r{background:#e07070}
.hf-txt{font-size:.8rem;font-weight:600;color:rgba(255,251,247,.7)}

.host-right{}
.host-right .sec-h{margin-bottom:1.5rem}
.host-right .sec-lead{margin-bottom:3rem}
.host-points{display:flex;flex-direction:column;gap:1.25rem}
.host-pt{display:flex;gap:1.1rem;align-items:flex-start}
.hp-ic{width:44px;height:44px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;background:var(--sand)}
.hp-t{font-size:.9rem;font-weight:800;color:var(--ink);font-family:'Nunito',sans-serif;margin-bottom:.25rem}
.hp-d{font-size:.82rem;line-height:1.65;color:var(--gray)}

/* ─── DEVICES BLOCK ─── */
.devices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:5rem}
.dev-card{
  border-radius:var(--rxl);padding:2.75rem 2.25rem;
  position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
  cursor:default;
}
.dev-card:hover{transform:translateY(-6px)}
.dev-card-1{background:var(--tc-p)}
.dev-card-2{background:var(--ms-p)}
.dev-card-3{background:var(--am-p)}
.dev-emoji{font-size:2.8rem;margin-bottom:1.5rem;display:block;line-height:1}
.dev-t{font-family:'Nunito',sans-serif;font-size:1.05rem;font-weight:900;color:var(--ink);margin-bottom:.75rem}
.dev-d{font-size:.85rem;line-height:1.7;color:var(--ink-s)}
.dev-corner{
  position:absolute;bottom:-20px;right:-20px;
  width:100px;height:100px;border-radius:50%;
  opacity:.15;
}
.dc-1{background:var(--tc)}.dc-2{background:var(--ms)}.dc-3{background:var(--am)}

/* ─── PRICING ─── */
.pricing-wrap{margin-top:0}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);margin-bottom:2rem}
.pricing-note-bottom{
  text-align:center;font-size:.82rem;line-height:1.65;color:var(--gray);
  padding:1.25rem 2rem;background:var(--sand);border-radius:var(--rl);
}
.pricing-note-bottom a{color:var(--tc);font-weight:700;text-decoration:none}
.pricing-note-bottom a:hover{text-decoration:underline}
.price-card{
  border-radius:var(--rxl);overflow:hidden;
  position:relative;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;
  cursor:default;
}
.price-card:hover{
  transform:translate(-3px,-3px);
  box-shadow:4px 4px 0 rgba(196,99,58,.22),0 16px 48px rgba(44,32,24,.1);
}
.price-card-weekday:hover{box-shadow:4px 4px 0 rgba(196,99,58,.2),0 20px 48px rgba(44,32,24,.1)}
.price-card-weekday{
  background:var(--glass-strong);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 12px 40px rgba(44,32,24,.08);
}
.price-card-weekend{
  background:linear-gradient(155deg,#FFB366 0%,var(--tc) 40%,#FF7A2E 100%);
  box-shadow:0 16px 48px rgba(255,140,66,.28),inset 0 1px 0 rgba(255,255,255,.2);
}
.price-card-weekend::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.12) 0%,transparent 50%);
}
.price-card-weekend:hover{box-shadow:4px 4px 0 rgba(26,18,12,.25),0 24px 60px rgba(196,99,58,.45)}
.pc-popular{
  position:absolute;top:1.5rem;right:1.5rem;
  background:rgba(255,255,255,.2);
  color:rgba(255,255,255,.9);
  font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:.28rem .85rem;border-radius:50px;
  border:1px solid rgba(255,255,255,.3);
}
.pc-body{padding:3rem 3rem 2.5rem}
.pc-when{
  font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:1.25rem;
}
.price-card-weekday .pc-when{color:var(--gray)}
.price-card-weekend .pc-when{color:rgba(255,255,255,.6)}
.pc-days{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.pc-day{
  font-size:.78rem;font-weight:700;
  padding:.3rem .75rem;border-radius:50px;
}
.price-card-weekday .pc-day{background:var(--white);color:var(--ink-s)}
.price-card-weekend .pc-day{background:rgba(255,255,255,.15);color:rgba(255,255,255,.85)}
.pc-price-row{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}
.pc-amount{
  font-family:'Playfair Display',serif;
  font-size:4.5rem;font-weight:900;line-height:1;
}
.price-card-weekday .pc-amount{color:var(--tc)}
.price-card-weekend .pc-amount{color:var(--white)}
.pc-currency{
  font-family:'Playfair Display',serif;
  font-size:1.8rem;font-weight:700;
}
.price-card-weekday .pc-currency{color:var(--tc-l)}
.price-card-weekend .pc-currency{color:rgba(255,255,255,.7)}
.pc-per{font-size:.82rem;font-weight:600;padding-bottom:.4rem}
.price-card-weekday .pc-per{color:var(--gray)}
.price-card-weekend .pc-per{color:rgba(255,255,255,.55)}
.pc-sub{font-size:.82rem;line-height:1.6;margin-bottom:1.25rem}
.pc-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:2rem}
.price-card-weekend .kv{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14)}
.price-card-weekend .kv-label{color:rgba(255,255,255,.5)}
.price-card-weekend .kv-value{color:rgba(255,255,255,.95)}
.price-card-weekday .pc-sub{color:var(--gray)}
.price-card-weekend .pc-sub{color:rgba(255,255,255,.6)}
.pc-includes{display:flex;flex-direction:column;gap:.65rem;margin-bottom:2.5rem}
.pc-inc{display:flex;align-items:center;gap:.75rem;font-size:.83rem;font-weight:600}
.price-card-weekday .pc-inc{color:var(--ink-s)}
.price-card-weekend .pc-inc{color:rgba(255,255,255,.8)}
.pc-check{
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;flex-shrink:0;
}
.price-card-weekday .pc-check{background:var(--ms-p);color:var(--ms)}
.price-card-weekend .pc-check{background:rgba(255,255,255,.2);color:rgba(255,255,255,.9)}
.pc-btn{
  display:block;width:100%;
  font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:800;
  padding:.9rem;border-radius:50px;
  text-align:center;cursor:pointer;text-decoration:none;
  transition:all .25s;border:none;
}
.price-card-weekday .pc-btn{background:var(--tc);color:var(--white);box-shadow:0 4px 16px rgba(196,99,58,.3)}
.price-card-weekday .pc-btn:hover{background:var(--tc-l);transform:translateY(-2px);box-shadow:0 8px 24px rgba(196,99,58,.35)}
.price-card-weekend .pc-btn{background:var(--white);color:var(--tc);box-shadow:0 4px 16px rgba(0,0,0,.1)}
.price-card-weekend .pc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.15)}

/* ─── FAQ ─── */
.faq-intro{font-size:1rem;line-height:1.8;color:var(--ink-s);max-width:48ch;margin:1.25rem 0 4rem}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap)}
.faq-item{
  background:var(--white);border-radius:var(--rl);
  overflow:hidden;
  border:1.5px solid var(--sand-d);
  transition:border-color .2s;
}
.faq-item:hover{border-color:var(--tc-p)}
.faq-q{margin:0}
.faq-btn{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;padding:1.5rem 1.75rem;
  cursor:pointer;border:none;background:transparent;
  font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:800;color:var(--ink);
  text-align:left;
}
.faq-btn:hover{color:var(--tc)}
.faq-btn:focus-visible{outline:2px solid var(--tc);outline-offset:-2px;border-radius:var(--rl)}
.faq-icon{
  width:28px;height:28px;border-radius:50%;background:var(--sand);
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;color:var(--tc);flex-shrink:0;
  transition:transform .3s,background .2s;
}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--tc-p)}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(.4,0,.2,1),padding .3s;
  font-size:.85rem;line-height:1.75;color:var(--gray);
  padding:0 1.75rem;
}
.faq-item.open .faq-a{max-height:600px;padding-bottom:1.75rem}
.faq-a a{color:var(--tc);font-weight:600;text-decoration:none}
.faq-a a:hover{text-decoration:underline}

/* ─── WHO ─── */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:0}
.who-card{
  background:var(--white);border-radius:var(--rxl);padding:2.75rem 2.25rem;
  transition:transform .28s var(--ease-lux),box-shadow .28s,background .2s;cursor:default;
  border:1px solid transparent;
}
.who-card:hover{
  transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 rgba(196,99,58,.16);
  border-color:rgba(196,99,58,.1);
  background:var(--tc-bg);
}
.wc-e{font-size:2.2rem;margin-bottom:1.5rem;display:block;line-height:1}
.wc-t{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:.75rem}
.wc-d{font-size:.85rem;line-height:1.7;color:var(--ink-s);margin-bottom:1.25rem}
.wc-tag{display:inline-flex;background:var(--tc-p);color:var(--tc);font-size:.68rem;font-weight:800;padding:.28rem .8rem;border-radius:50px}

/* ─── CTA ─── */
.cta-sec{
  padding:var(--sec-py) 0;
  background:
    radial-gradient(ellipse 55% 45% at 15% 85%,rgba(255,255,255,.12) 0%,transparent 55%),
    radial-gradient(ellipse 45% 35% at 92% 15%,rgba(78,205,196,.25) 0%,transparent 50%),
    linear-gradient(152deg,#FF8C42 0%,#FF7A2E 42%,#FF6B35 100%);
  position:relative;overflow:hidden;
}
.cta-sec::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.15;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:48px 48px;
}
.cta-layout{
  display:grid;grid-template-columns:1fr 1.05fr;gap:4rem;
  align-items:start;text-align:left;position:relative;z-index:2;
}
.cta-left .cta-eyebrow{margin-bottom:1.5rem}
.cta-left .cta-h{text-align:left;margin-bottom:1.25rem}
.cta-left .cta-sub{margin:0 0 2rem;text-align:left;max-width:none}
.cta-left .cta-perks{justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:.85rem;margin-bottom:0}
.cta-blob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:900px;height:900px;border-radius:50%;
  background:rgba(255,255,255,.06);pointer-events:none;
}
.cta-eyebrow{
  display:inline-flex;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.9);font-family:var(--mono);
  font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding:.45rem 1.1rem;border-radius:50px;margin-bottom:2.5rem;
}
.cta-perk{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.04em;
  color:rgba(255,255,255,.82);
}
.cta-perk-dot{width:6px;height:6px;border-radius:50%;background:var(--sky-p);box-shadow:0 0 8px rgba(255,255,255,.8)}
.cta-h{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:900;line-height:1;color:var(--white);margin-bottom:1.5rem;letter-spacing:-.02em;text-wrap:balance}
.cta-h em{font-style:italic;color:var(--sky-p)}
.cta-sub{font-size:1.125rem;line-height:1.75;color:rgba(255,255,255,.92);max-width:44ch;margin:0 auto 3rem}
.cta-perks{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;margin-bottom:3.5rem}
.cta-btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.btn-w{font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:800;padding:1.1rem 2.75rem;background:var(--white);color:var(--tc);border:none;border-radius:50px;cursor:pointer;text-decoration:none;transition:all .25s;box-shadow:0 8px 28px rgba(0,0,0,.15)}
.btn-w:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.2)}
.btn-gh{font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:700;padding:1.1rem 2.75rem;background:transparent;color:rgba(255,255,255,.85);border:2px solid rgba(255,255,255,.3);border-radius:50px;cursor:pointer;text-decoration:none;transition:all .25s}
.btn-gh:hover{border-color:rgba(255,255,255,.7);color:var(--white)}

/* ─── BOOKING FORM ─── */
.book-form{
  background:var(--white);
  border:1px solid rgba(255,255,255,.9);border-radius:var(--rxl);
  padding:2.5rem 2.25rem;
  box-shadow:0 32px 80px rgba(45,52,54,.15),0 0 0 1px rgba(255,255,255,.5);
}
.book-form-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}
.form-row label{font-family:'Nunito',sans-serif;font-size:.75rem;font-weight:700;color:var(--ink-s)}
.book-form-sub{font-size:.9375rem;color:var(--gray);margin-bottom:2rem;line-height:1.6}
.form-submit{
  width:100%;margin-top:.25rem;
  font-family:'Nunito',sans-serif;font-size:.875rem;font-weight:800;
  padding:1.05rem 1.5rem;border:none;border-radius:50px;
  background:var(--tc);color:var(--white);cursor:pointer;
  transition:all .35s var(--ease-lux);box-shadow:0 8px 28px rgba(255,140,66,.35);
}
.form-submit:hover{background:var(--tc-l);transform:translateY(-2px);box-shadow:0 14px 36px rgba(255,140,66,.4)}
.form-row input,.form-row select,.form-row textarea{
  font-family:inherit;font-size:.92rem;padding:.85rem 1rem;
  border:1.5px solid var(--sand-d);border-radius:14px;background:var(--white);color:var(--ink);
  transition:border-color .2s,box-shadow .2s;width:100%;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(78,205,196,.18);
}
.form-row textarea{resize:vertical;min-height:72px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-row{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.15rem}
.form-consent{
  display:flex;align-items:flex-start;gap:.75rem;
  margin:1.1rem 0 1.25rem;text-align:left;
}
.form-consent input[type="checkbox"]{
  width:18px;height:18px;margin-top:.2rem;flex-shrink:0;
  accent-color:var(--tc);cursor:pointer;
}
.form-consent label{
  font-size:.78rem;line-height:1.55;color:var(--ink-s);
  font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer;
}
.form-consent a{color:var(--tc);font-weight:700;text-decoration:none}
.form-consent a:hover{text-decoration:underline}
.form-consent.is-error label{color:#9A4A30}
.form-consent.is-error input{outline:2px solid var(--tc);outline-offset:2px}
.form-note{font-size:.72rem;color:var(--gray);margin-top:1rem;line-height:1.55;text-align:center}
.form-note a{color:var(--tc);font-weight:600;text-decoration:none}
.form-success,.form-error{
  display:none;border-radius:var(--r);padding:1rem 1.1rem;margin-bottom:1rem;
  font-size:.85rem;line-height:1.55;
}
.form-success{background:var(--ms-p);color:var(--ms);border:1px solid rgba(90,122,74,.25)}
.form-error{background:#FCEEE8;color:#9A4A30;border:1px solid rgba(196,99,58,.25)}
.book-form.is-success .book-form-fields{display:none}
.book-form.is-success .form-success{display:block}
.book-form.is-error .form-error{display:block}
.form-submit:disabled{opacity:.65;cursor:wait;transform:none}

/* ─── DEMO / PREVIEW ─── */
.demo-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;align-items:center;margin-top:0}
.demo-copy{font-size:1rem;line-height:1.75;color:var(--ink-s);max-width:46ch}
.demo-phones{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}
.demo-phone{
  width:148px;
  background:linear-gradient(165deg,#fff 0%,#F5F8FA 50%,#E8EDF0 100%);
  border:2px solid var(--sand-d);border-radius:28px;padding:10px 8px 12px;
  box-shadow:var(--lux-shadow),0 0 0 1px rgba(255,255,255,.8);
  transition:transform .4s var(--ease-lux),box-shadow .4s;
}
.demo-phone:hover{box-shadow:0 24px 48px rgba(45,52,54,.12),0 0 0 2px rgba(78,205,196,.25)}
.demo-phone-notch{width:42px;height:5px;background:var(--sand-dd);border-radius:99px;margin:0 auto 8px}
.demo-phone-screen{border-radius:18px;overflow:hidden;background:var(--sand);aspect-ratio:9/16;box-shadow:inset 0 0 0 1px var(--sand-d)}
.demo-phone-screen img{width:100%;height:100%;object-fit:cover;display:block}
.demo-caption{font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:700;color:var(--gray);text-align:center;margin-top:.55rem}

/* ─── REVIEWS ─── */
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap);margin-top:0}
.review-card{
  transition:transform .35s var(--ease-lux),box-shadow .35s;
}
.review-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(44,32,24,.1)}
.review-stars{color:var(--am);font-size:.85rem;letter-spacing:.08em;margin-bottom:.85rem}
.review-text{font-size:.88rem;line-height:1.75;color:var(--ink-s);font-style:italic;margin-bottom:1.1rem}
.review-meta{font-size:.74rem;color:var(--gray)}
.review-meta strong{display:block;color:var(--ink);font-weight:700;margin-bottom:.15rem}
.reviews-note{font-size:.72rem;color:var(--gray);margin-top:1.5rem;text-align:center}

/* ─── FAQ GROUPS ─── */
.faq-group{margin-bottom:2.5rem}
.faq-group-title{
  font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gray);
  margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--sand-d);
}

/* ─── STICKY CTA ─── */
.sticky-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:190;
  display:none;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom,0px));
  background:rgba(255,251,247,.82);
  backdrop-filter:blur(24px) saturate(1.3);
  border-top:1px solid rgba(196,99,58,.1);
  box-shadow:0 -12px 40px rgba(26,18,12,.08);
  transform:translateY(110%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta-info span{display:block;font-family:'Nunito',sans-serif;font-weight:900;font-size:.95rem;color:var(--ink);line-height:1.2}
.sticky-cta-info small{font-size:.72rem;color:var(--gray)}
.sticky-cta-btn{
  font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  padding:.75rem 1.4rem;background:var(--copper);color:var(--white);
  border-radius:50px;text-decoration:none;white-space:nowrap;
  box-shadow:0 6px 20px rgba(196,99,58,.32),inset 0 1px 0 rgba(255,255,255,.15);
}

/* ─── FOOTER ─── */
footer{background:var(--ink);padding:2.5rem 4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.fl{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:.5rem}
.fl-dot{width:6px;height:6px;border-radius:50%;background:var(--tc)}
.flinks{display:flex;gap:2rem}
.flinks a{font-size:.78rem;color:rgba(255,251,247,.3);text-decoration:none;transition:color .2s}
.flinks a:hover{color:var(--tc-l)}
.fcopy{font-size:.72rem;color:rgba(255,251,247,.2)}
.fcopy a{color:rgba(255,251,247,.45);font-weight:600;text-decoration:none}
.fcopy a:hover{color:var(--tc-l);text-decoration:underline}

/* ─── DIVIDER ─── */
.wave-divider{height:4rem;background:var(--sand);clip-path:ellipse(55% 100% at 50% 0%)}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

.fu{opacity:0;animation:fadeUp .75s cubic-bezier(.16,1,.3,1) forwards}
.d1{animation-delay:.12s}.d2{animation-delay:.26s}.d3{animation-delay:.4s}.d4{animation-delay:.54s}.d5{animation-delay:.68s}

.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-36px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(36px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal-right.visible{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal-scale.visible{opacity:1;transform:scale(1)}

/* stagger children */
.stagger>*{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.stagger.visible>*{opacity:1;transform:none}
.stagger.visible>*:nth-child(1){transition-delay:.05s}
.stagger.visible>*:nth-child(2){transition-delay:.13s}
.stagger.visible>*:nth-child(3){transition-delay:.21s}
.stagger.visible>*:nth-child(4){transition-delay:.29s}
.stagger.visible>*:nth-child(5){transition-delay:.37s}
.stagger.visible>*:nth-child(6){transition-delay:.45s}
.stagger.visible>*:nth-child(7){transition-delay:.53s}
.stagger.visible>*:nth-child(8){transition-delay:.61s}
.stagger.visible>*:nth-child(9){transition-delay:.69s}

.reveal-blur{
  opacity:0;filter:blur(12px);
  transform:translateY(28px) scale(.98);
  transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1);
}
.reveal-blur.visible{opacity:1;filter:blur(0);transform:none}

/* parallax layers */
.parallax-layer{will-change:transform;backface-visibility:hidden}
[data-parallax]{will-change:transform;backface-visibility:hidden}

/* floating orbs in dark sections */
.sec-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.sec-orbs .parallax-layer{position:absolute;inset:0;pointer-events:none}
.sec-orb{
  position:absolute;border-radius:50%;filter:blur(60px);
  animation:orbFloat 18s ease-in-out infinite;
}
.sec-orb-1{width:420px;height:420px;top:-8%;right:-6%;background:rgba(255,140,66,.18);animation-duration:22s}
.sec-orb-2{width:320px;height:320px;bottom:10%;left:-4%;background:rgba(78,205,196,.16);animation-delay:-6s}
.sec-orb-3{width:260px;height:260px;top:40%;right:18%;background:rgba(255,179,71,.12);animation-duration:26s;animation-delay:-12s}
@keyframes orbFloat{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(3%,-4%) scale(1.05)}
  66%{transform:translate(-2%,3%) scale(.96)}
}

/* demo phone parallax wrappers */
.demo-phone-wrap{transition:transform .1s linear}
.demo-phones .demo-phone-wrap:nth-child(1) .demo-phone{transform:rotate(-4deg)}
.demo-phones .demo-phone-wrap:nth-child(2) .demo-phone{transform:translateY(12px) rotate(2deg)}
.demo-phones .demo-phone-wrap:nth-child(3) .demo-phone{transform:rotate(-2deg) translateY(6px)}
.demo-phones .demo-phone-wrap:nth-child(1):hover .demo-phone,
.demo-phones .demo-phone-wrap:nth-child(2):hover .demo-phone,
.demo-phones .demo-phone-wrap:nth-child(3):hover .demo-phone{
  transform:translateY(-6px) rotate(0deg) scale(1.03);
}

/* route map — clean schematic */
.route-map{
  margin-bottom:2.5rem;border-radius:var(--rl);overflow:hidden;
  background:var(--white);border:1px solid var(--sand-d);
  box-shadow:0 8px 32px rgba(45,52,54,.06);
}
.route-map svg .route-map-bg{pointer-events:none}
.route-map svg .route-map-flow{position:relative}
.route-map svg .route-map-flow > g > rect,
.route-map svg .route-map-flow > rect{filter:drop-shadow(0 2px 8px rgba(45,52,54,.06))}
.route-map svg path[stroke]{
  transition:stroke-dashoffset 1.8s cubic-bezier(.22,1,.36,1);
}
.route-map.is-drawn .route-map-flow path[stroke]{stroke-dashoffset:0!important}

/* photo slots — inline-блоки ИЛИ фоновые заливки секций/колонок */
.photo-slot{
  --photo-fill:#E8F8EF;
  --photo-ink:#3D9970;
  position:relative;overflow:hidden;
}
.photo-slot__media{
  position:absolute;inset:0;z-index:0;
  display:flex;align-items:center;justify-content:center;
  padding:1.25rem 1.5rem;text-align:center;
  background:var(--photo-fill);
  outline:1.5px dashed rgba(82,183,136,.45);
  outline-offset:-1.5px;
}
.photo-slot__label{
  font-family:'Nunito',sans-serif;
  font-size:clamp(.72rem,.9vw,.82rem);
  font-weight:700;line-height:1.5;
  color:var(--photo-ink);max-width:36ch;margin:0;
}
.photo-slot__wash{position:absolute;inset:0;z-index:1;pointer-events:none}
.photo-slot__content{position:relative;z-index:2}

/* фон под контентом */
.photo-slot--bg .photo-slot__wash{
  background:linear-gradient(160deg,rgba(255,252,247,.93) 0%,rgba(255,252,247,.86) 52%,rgba(232,248,239,.42) 100%);
}

/* inline-блок в потоке (без wash) */
.photo-slot--inline{display:block;border-radius:var(--r);aspect-ratio:16/9}
.photo-slot--inline .photo-slot__media{position:relative;inset:auto;height:100%}
.photo-slot--inline .photo-slot__wash{display:none}

/* панель, колонка, полоса секции */
.photo-slot--panel{border-radius:var(--rl);padding:1.15rem}
.photo-slot--panel.photo-slot--bg .photo-slot__wash{
  background:linear-gradient(145deg,rgba(255,252,247,.78) 0%,rgba(255,252,247,.92) 100%);
}
.photo-slot--col{
  border-radius:var(--rl);
  padding:clamp(1.25rem,3vw,2rem);
  border:1px solid var(--sand-d);
  box-shadow:0 8px 32px rgba(45,52,54,.05);
}
.photo-slot--col .photo-slot__wash{
  background:linear-gradient(180deg,rgba(232,248,239,.22) 0%,rgba(255,252,247,.93) 32%,rgba(255,252,247,.97) 100%);
}
.photo-slot--band{
  border-radius:var(--rl);
  min-height:clamp(160px,22vw,260px);
  margin-bottom:var(--sec-gap);
}
.photo-slot--band .photo-slot__wash{display:none}
.photo-slot--sticky-panel{
  border-radius:var(--rl);
  padding:clamp(1.5rem,3vw,2rem);
}
.photo-slot--sticky-panel .photo-slot__wash{
  background:linear-gradient(135deg,rgba(255,252,247,.88) 0%,rgba(255,252,247,.8) 100%);
}

/* карточка с фоновым фото */
.photo-slot--card{
  border-radius:var(--rl);
  border:1px solid var(--sand-d);
  box-shadow:0 8px 28px rgba(45,52,54,.05);
}
.photo-slot--card .photo-slot__wash{
  background:linear-gradient(165deg,rgba(232,248,239,.5) 0%,rgba(255,252,247,.97) 44%);
}
.photo-slot--card .photo-slot__content{padding:2rem 1.75rem}

/* demo-колонка, hero mobile */
.demo-copy.photo-slot{border-radius:var(--rl);padding:2rem;align-self:stretch}
.demo-copy.photo-slot .photo-slot__wash{
  background:linear-gradient(135deg,rgba(255,252,247,.86) 0%,rgba(232,248,239,.32) 100%);
}
.hero-photo-band{display:none;margin-top:2rem}
.how-team-photo{
  border-radius:var(--rl);
  padding:clamp(1.5rem,3vw,2.5rem);
}
.how-team-photo .photo-slot__wash{
  background:linear-gradient(160deg,rgba(255,252,247,.9) 0%,rgba(255,252,247,.84) 100%);
}
@media(max-width:1000px){.hero-photo-band{display:block}}

.before-photo-wrap{
  border-radius:var(--rl);
  padding:clamp(1.5rem,3vw,2.25rem);
}
.before-photo-wrap .photo-slot__wash{
  background:linear-gradient(135deg,rgba(255,252,247,.88) 0%,rgba(255,252,247,.82) 100%);
}

.trust-inner.visible .trust-item{opacity:1;transform:none}
.trust-inner.visible .trust-item:nth-child(1){transition-delay:.05s}
.trust-inner.visible .trust-item:nth-child(2){transition-delay:.14s}
.trust-inner.visible .trust-item:nth-child(3){transition-delay:.23s}
.trust-inner.visible .trust-item:nth-child(4){transition-delay:.32s}

/* cta perks stagger */
.cta-perks.stagger-perks .cta-perk{
  opacity:0;transform:translateX(-16px);
  transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);
}
.cta-perks.stagger-perks.visible .cta-perk{opacity:1;transform:none}
.cta-perks.stagger-perks.visible .cta-perk:nth-child(1){transition-delay:.1s}
.cta-perks.stagger-perks.visible .cta-perk:nth-child(2){transition-delay:.2s}
.cta-perks.stagger-perks.visible .cta-perk:nth-child(3){transition-delay:.3s}
.cta-perks.stagger-perks.visible .cta-perk:nth-child(4){transition-delay:.4s}

/* sec title word shimmer on reveal */
.sec-h em{
  display:inline-block;
  transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s;
}
.reveal.visible .sec-h em,
.reveal-left.visible .sec-h em,
.reveal-right.visible .sec-h em,
.reveal-blur.visible .sec-h em{
  animation:emPop .7s cubic-bezier(.16,1,.3,1) .15s both;
}
@keyframes emPop{
  from{opacity:0;transform:translateY(12px) skewX(-4deg)}
  to{opacity:1;transform:none}
}

/* ─── REDUCED MOTION ─── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-blur{opacity:1;transform:none;filter:none}
  .stagger>*{opacity:1;transform:none}
  .trust-item,.cta-perks.stagger-perks .cta-perk{opacity:1;transform:none}
  .fu{opacity:1;animation:none}
  .hero-grid,.hero-aurora,.hero-orbit svg,.hero-card-ring,.sec-orb{animation:none!important}
  .hero-title .accent{animation:none;background-position:0 center}
  .parallax-layer,[data-parallax]{transform:none!important}
  .hero-left,.hero-right{opacity:1!important;transform:none!important}
  .quest-ticker__track{animation:none;transform:none}
}
/* ─── RESPONSIVE ─── */
@media(max-width:1200px){
  .nav-links{gap:1.15rem}
  .nav-links a{font-size:.6rem}
  nav{padding:1.1rem 2rem}
}
@media(max-width:1000px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-bottom:3rem}
  .hero-right{display:none}
  .hero-left{padding:4rem 2rem 2rem}
  .hero-mobile-card{display:block}
  .si{padding:0 2rem}
  .sec{padding:5rem 0}
  .trust-inner{grid-template-columns:1fr 1fr;gap:1rem}
  .how-steps{grid-template-columns:1fr 1fr;padding-top:0}
  .how-steps::after{display:none}
  .hs-num{margin:0 0 1.15rem}
  .guides-grid{grid-template-columns:1fr 1fr}
  .route-layout{grid-template-columns:1fr;gap:3rem}.route-sticky{position:static}
  .roles-layout{grid-template-columns:1fr;gap:3rem}
  .how-team-grid{grid-template-columns:1fr}
  .before-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr 1fr}
  .cta-layout{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .cta-left .cta-h,.cta-left .cta-sub{text-align:center}
  .cta-left .cta-perks{align-items:center}
  .demo-layout{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .demo-copy{margin:0 auto}
  .reviews-grid{grid-template-columns:1fr}
  nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-cta{display:none}
  .nav-cta-sm{display:inline-flex}
  .sticky-cta{display:flex}
  footer{padding:2rem 1.5rem;flex-direction:column;align-items:flex-start;gap:1.25rem}
  .flinks{flex-wrap:wrap;gap:.6rem 1.35rem;width:100%;max-width:100%}
  .fcopy{width:100%;max-width:100%;line-height:1.65}
}
@media(max-width:900px){
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .guides-grid{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr}
  .flinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}
  .flinks a{font-size:.74rem}
  footer{padding:1.75rem 1.25rem calc(1.75rem + env(safe-area-inset-bottom,0px))}
}