:root {
  color-scheme: dark;
  --bg:#111311; --surface:#191c19; --surface-2:#202420;
  --text:#f2f4f0; --muted:#bac2bb; --soft:#a6afa7;
  --line:rgba(232,240,233,.14); --lime:#9cff00; --ink:#071006;
  --font:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; background:var(--bg); color:var(--text); font:500 16px/1.65 var(--font); -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:600; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
button img { pointer-events:none; }
[hidden] { display:none!important; }
::selection { color:var(--ink); background:var(--lime); }
:focus-visible { outline:2px solid var(--lime); outline-offset:5px; }
.skip-link { position:absolute; z-index:100; left:16px; top:-70px; padding:10px 16px; color:var(--ink); background:var(--lime); border-radius:5px; }
.skip-link:focus { top:12px; }
.shell { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:clamp(90px,10vw,150px); }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--soft); font-size:10px; font-weight:700; letter-spacing:.17em; line-height:1.5; text-transform:uppercase; }
.status-dot { display:inline-block; flex:none; width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(156,255,0,.08); }
h2 { font-size:clamp(42px,4.4vw,66px); letter-spacing:-.06em; line-height:1.13; }
h2 span { color:var(--lime); }
.site-header { position:sticky; top:0; z-index:30; background:rgba(17,19,17,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:82px; }
.brand { display:inline-flex; align-items:center; min-height:44px; flex:none; }
.brand img { width:122px; }
.desktop-nav { display:flex; gap:36px; margin-left:auto; }
.desktop-nav a { display:flex; align-items:center; min-height:44px; color:var(--muted); font-size:12px; font-weight:600; transition:color .2s; }
.desktop-nav a:hover { color:var(--text); }
.header-cta { display:inline-flex; min-height:42px; align-items:center; gap:28px; padding:0 17px; border:1px solid #495144; border-radius:5px; color:var(--text); font-size:12px; font-weight:700; }
.header-cta span { color:var(--lime); }
.header-cta:hover { border-color:var(--lime); }
.menu-toggle { display:none; width:44px; height:44px; position:relative; background:transparent; border:1px solid var(--line); border-radius:5px; color:var(--text); }
.menu-toggle span { position:absolute; width:20px; height:1px; left:11px; background:currentColor; transition:transform .2s,top .2s; }
.menu-toggle span:first-child { top:17px; }.menu-toggle span:last-child { top:25px; }
.menu-toggle[aria-expanded=true] span:first-child { top:21px; transform:rotate(45deg); }.menu-toggle[aria-expanded=true] span:last-child { top:21px; transform:rotate(-45deg); }
.mobile-nav { position:absolute; top:100%; left:0; right:0; background:var(--bg); padding:16px 24px 28px; border-bottom:1px solid var(--line); }
.mobile-nav a { display:flex; align-items:center; justify-content:space-between; min-height:60px; border-bottom:1px solid var(--line); }
.mobile-nav span { color:var(--lime); font-size:12px; }
.hero { display:grid; grid-template-columns:1.06fr 1fr; gap:clamp(50px,7vw,108px); align-items:center; padding-block:86px 95px; }
.hero-copy { padding-block:20px; }
.hero h1 { font-size:clamp(66px,7.2vw,110px); letter-spacing:-.075em; line-height:1.025; margin:28px 0 30px; }
.hero h1 span { color:var(--lime); }
.hero-intro { font-size:clamp(21px,2.1vw,29px); font-weight:500; line-height:1.45; letter-spacing:-.035em; }
.hero-description { max-width:400px; color:var(--muted); font-size:15px; line-height:1.8; margin-top:18px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:54px; padding:0 22px; font-size:12px; font-weight:800; border-radius:5px; transition:background .2s,transform .2s; }
.button-lime { background:var(--lime); color:var(--ink); }
.button-lime:hover { background:#b1ff38; transform:translateY(-2px); }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:12px; font-weight:700; }
.text-link span { color:var(--lime); }.text-link:hover { color:var(--lime); }
.hero-footnote { display:flex; align-items:center; gap:16px; margin-top:48px; font-size:10px; line-height:1.6; color:var(--soft); }
.mini-route { display:block; width:40px; height:24px; border-top:1px solid var(--lime); border-right:1px solid var(--lime); transform:skew(-25deg) rotate(-12deg); border-radius:0 15px 0 0; opacity:.65; }
.hero-media { position:relative; height:620px; }
.road-photo { position:absolute; inset:0 0 24px 35px; border-radius:12px; overflow:hidden; background:var(--surface); }
.road-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 40%,rgba(0,0,0,.55)); pointer-events:none; }
.road-photo img { width:100%; height:100%; object-fit:cover; object-position:52% 50%; }
.road-photo figcaption { position:absolute; z-index:1; bottom:28px; right:25px; max-width:150px; font-size:11px; line-height:1.5; text-align:right; color:#fff; }
.phone { display:block; position:relative; background:#060806; border:5px solid #070a07; padding:0; border-radius:29px; box-shadow:0 0 0 1px #485048,0 28px 55px rgba(0,0,0,.38); overflow:hidden; transition:transform .25s; }
.phone:hover { transform:translateY(-4px); }.phone:focus-visible { outline-offset:8px; }
.phone img { width:100%; height:auto; border-radius:23px; }
.hero-phone { position:absolute; width:222px; left:-28px; bottom:-7px; transform:rotate(-4deg); }
.hero-phone:hover { transform:rotate(-4deg) translateY(-4px); }
.image-expand { position:absolute; right:8px; bottom:8px; display:grid; place-items:center; width:27px; height:27px; background:rgba(5,8,5,.9); border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#fff; font-size:13px; }
.hero-media-label { position:absolute; right:0; bottom:-27px; font-size:8px; font-weight:700; letter-spacing:.06em; color:var(--soft); text-align:right; }
.hero-media-label>span { display:block; }.hero-media-label>span+span { margin-top:4px; letter-spacing:0; font-weight:500; }.hero-media-label a { text-decoration:underline; text-underline-offset:2px; margin-left:5px; }
.opening-line { display:flex; justify-content:space-between; gap:20px; padding:28px 0; border-block:1px solid var(--line); color:var(--soft); font-size:11px; letter-spacing:.01em; }
.opening-line span:nth-child(2) { color:var(--text); }
.section-heading { display:grid; grid-template-columns:1fr .55fr; gap:70px; align-items:end; margin-bottom:58px; }
.section-heading .eyebrow { margin-bottom:22px; color:var(--lime); }
.section-heading>p { max-width:350px; color:var(--muted); font-size:16px; line-height:1.8; padding-bottom:3px; }
.experience-layout { display:grid; grid-template-columns:.85fr 1fr; gap:clamp(50px,8vw,125px); align-items:center; }
.feature-tabs { display:flex; flex-direction:column; }
.feature-tab { display:grid; grid-template-columns:30px 1fr 20px; gap:14px; align-items:center; width:100%; text-align:left; min-height:104px; padding:20px 0; background:transparent; border:0; border-bottom:1px solid var(--line); color:var(--soft); }
.feature-tab:first-child { border-top:1px solid var(--line); }
.feature-number { align-self:start; padding-top:7px; font-size:9px; color:var(--soft); }
.feature-tab strong { display:block; font-weight:600; font-size:clamp(18px,1.7vw,24px); line-height:1.3; letter-spacing:-.035em; }
.feature-tab small { display:block; margin-top:7px; color:var(--soft); font-size:11px; font-weight:500; }
.tab-arrow { font-size:18px; opacity:0; transform:translate(-5px,5px); transition:opacity .2s,transform .2s; }
.feature-tab[aria-selected=true] { color:var(--text); }.feature-tab[aria-selected=true] .feature-number,.feature-tab[aria-selected=true] .tab-arrow { color:var(--lime); }.feature-tab[aria-selected=true] .tab-arrow { opacity:1; transform:translate(0,0); }
.feature-tab:hover { color:var(--text); }
.feature-panel { margin-top:28px; color:var(--muted); font-size:14px; line-height:1.8; }
.feature-panel ul { display:grid; gap:7px; list-style:none; padding:0; margin:22px 0 0; }
.feature-panel li { position:relative; padding-left:18px; font-size:11px; color:var(--text); }
.feature-panel li:before { content:""; position:absolute; left:0; top:9px; width:4px; height:4px; border-radius:50%; background:var(--lime); }
.feature-panel .fine-print { margin-top:16px; font-size:11px; line-height:1.65; color:var(--soft); }
.feature-stage { position:relative; display:grid; place-items:center; min-height:720px; padding:55px 35px 65px; border-radius:12px; background:#1a201b; overflow:hidden; }
.feature-stage:before { content:""; position:absolute; width:420px; height:420px; border:1px solid rgba(156,255,0,.08); border-radius:50%; box-shadow:0 0 0 65px rgba(156,255,0,.02),0 0 0 130px rgba(156,255,0,.015); }
.stage-word { position:absolute; top:24px; left:28px; color:#7c8b7d; font-size:10px; letter-spacing:.2em; }
.feature-phone { width:274px; }
.stage-caption { position:absolute; bottom:22px; left:24px; right:24px; display:flex; flex-wrap:wrap; gap:4px 16px; justify-content:space-between; font-size:8px; color:var(--soft); }
.capture-note { max-width:650px; margin:27px auto 0; text-align:center; font-size:10px; color:var(--soft); line-height:1.65; }
.map-attribution { margin-top:7px; text-align:center; font-size:10px; color:var(--soft); }.map-attribution a { text-decoration:underline; text-underline-offset:3px; margin-inline:3px; }
.circle-attribution { margin-top:38px; }
.circle { background:#171a17; border-block:1px solid var(--line); }
.circle-layout { display:grid; grid-template-columns:1fr .9fr; gap:clamp(70px,10vw,150px); align-items:center; }
.circle-art { position:relative; min-height:650px; }
.interior-photo { position:absolute; top:0; bottom:45px; left:0; width:72%; border-radius:10px; overflow:hidden; background:#203029; }
.interior-photo img { width:100%; height:100%; object-fit:cover; }
.interior-photo figcaption { position:absolute; top:24px; left:23px; right:15px; font-size:11px; color:#fff; text-shadow:0 1px 10px #000; }
.profile-phone { position:absolute; width:245px; bottom:0; right:0; transform:rotate(4deg); }.profile-phone:hover { transform:rotate(4deg) translateY(-4px); }
.circle-copy .eyebrow { color:var(--lime); margin-bottom:23px; }.circle-copy h2 { font-size:clamp(48px,5.1vw,76px); }
.section-lede { margin-top:30px; font-size:20px; letter-spacing:-.03em; line-height:1.6; }
.circle-copy>p:not(.eyebrow):not(.section-lede) { color:var(--muted); font-size:14px; margin-top:22px; line-height:1.8; }
.relationship-note { display:flex; gap:18px; margin-top:32px; padding-top:25px; border-top:1px solid var(--line); }.relationship-note>span { color:var(--lime); font-size:22px; }.relationship-note strong { display:block; font-size:12px; }.relationship-note small { display:block; margin-top:7px; font-size:11px; line-height:1.8; color:var(--soft); }
.road-statement { position:relative; height:610px; overflow:hidden; background:#1c2a1b; }
.road-statement>img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.road-statement:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,12,7,.83),rgba(7,12,7,.25) 78%),linear-gradient(0deg,rgba(7,12,7,.3),transparent 40%); }
.statement-copy { position:absolute; z-index:1; top:50%; left:0; right:0; transform:translateY(-50%); }.statement-copy .eyebrow { color:var(--lime); margin-bottom:25px; }.statement-copy h2 { color:#fff; font-size:clamp(55px,6.5vw,96px); }.statement-copy>p:last-child { color:#e2e8df; margin-top:25px; font-size:16px; line-height:1.8; }.statement-caption { position:absolute; z-index:1; right:32px; bottom:23px; color:#c5cec2; font-size:9px; }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.principle-grid article { padding-top:26px; border-top:1px solid var(--line); }.principle-grid article>span { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--lime); }.principle-grid h3 { margin:25px 0 13px; font-size:21px; line-height:1.35; letter-spacing:-.04em; }.principle-grid p { font-size:13px; line-height:1.85; color:var(--muted); }
.questions { border-top:1px solid var(--line); display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }.questions .eyebrow { color:var(--lime); margin-bottom:20px; }.questions .text-link { margin-top:28px; }.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:83px; padding:21px 0; list-style:none; cursor:pointer; font-size:14px; font-weight:600; line-height:1.6; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary>span { font-size:22px; color:var(--lime); font-weight:400; transition:transform .2s; }.faq-list details[open] summary>span { transform:rotate(45deg); }.faq-list details p { padding:0 30px 24px 0; color:var(--muted); font-size:13px; line-height:1.9; }.faq-list details p a { text-decoration:underline; text-underline-offset:3px; }
.access { position:relative; overflow:hidden; text-align:center; background:#1a2118; border-block:1px solid var(--line); }.access:before { content:""; position:absolute; width:650px; height:650px; border:1px solid rgba(156,255,0,.09); border-radius:50%; left:calc(50% - 325px); top:calc(50% - 325px); box-shadow:0 0 0 75px rgba(156,255,0,.02),0 0 0 150px rgba(156,255,0,.01); pointer-events:none; }.access-inner { position:relative; z-index:1; }.access .eyebrow { justify-content:center; margin-bottom:25px; }.access h2 { font-size:clamp(50px,6vw,86px); }.access p:not(.eyebrow) { color:var(--muted); font-size:15px; margin:25px 0 30px; line-height:1.85; }.access .button { min-width:195px; }.access small { display:block; color:var(--soft); font-size:10px; margin-top:23px; }
.site-footer { padding:58px 0 25px; background:#0d100d; }.footer-top { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:45px; }.footer-top p { color:var(--muted); font-size:14px; }.back-top { font-size:11px; min-height:44px; display:flex; align-items:center; }.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 30px; padding-top:25px; border-top:1px solid var(--line); color:var(--soft); font-size:10px; }.footer-bottom nav { display:flex; gap:24px; }.footer-bottom a { min-height:44px; display:inline-flex; align-items:center; }.footer-bottom a:hover { color:var(--lime); }.photo-credits { margin-top:18px; font-size:9px; color:var(--soft); }.photo-credits summary { cursor:pointer; min-height:30px; }.photo-credits p { max-width:900px; line-height:1.9; margin-top:10px; }.photo-credits a { text-decoration:underline; text-underline-offset:2px; }
.screen-dialog { width:min(92vw,500px); max-height:95dvh; background:#111611; color:var(--text); border:1px solid #4a554a; border-radius:14px; padding:50px 20px 20px; overflow:auto; }.screen-dialog::backdrop { background:rgba(0,0,0,.86); backdrop-filter:blur(12px); }.screen-dialog img { width:auto; max-width:100%; max-height:73dvh; margin:auto; border-radius:15px; }.screen-dialog p { margin:18px auto 0; max-width:350px; color:var(--muted); text-align:center; font-size:11px; line-height:1.7; }.dialog-close { position:absolute; top:8px; right:12px; min-height:36px; display:flex; align-items:center; gap:15px; border:0; background:transparent; color:var(--text); font-size:11px; }.dialog-close span { font-size:25px; font-weight:400; }
@media(min-width:1500px) { .hero { padding-block:110px; } }
@media(max-width:1100px) {
  .shell { width:calc(100% - 64px); }.hero { gap:55px; }.hero h1 { font-size:80px; }.hero-media { height:580px; }.hero-phone { width:205px; left:-20px; }.feature-stage { min-height:660px; }.feature-phone { width:250px; }.experience-layout { gap:55px; }.circle-layout { gap:75px; }.circle-art { min-height:600px; }.profile-phone { width:220px; }.questions { gap:60px; }
}
@media(max-width:800px) {
  .shell { width:calc(100% - 48px); }.header-inner { min-height:72px; gap:20px; }.desktop-nav { gap:22px; }.header-cta { display:none; }.hero { grid-template-columns:1fr 1fr; gap:30px; padding-block:65px 85px; }.hero h1 { font-size:62px; }.hero-media { height:540px; }.hero-phone { width:180px; left:-12px; }.road-photo { left:20px; }.road-photo figcaption { display:none; }.hero-intro { font-size:21px; }.hero-description { font-size:13px; }.hero-footnote { margin-top:30px; }.hero-actions { gap:10px 18px; }.section-heading { gap:40px; grid-template-columns:1fr .7fr; }.section-heading>p { font-size:14px; }.experience-layout { gap:35px; grid-template-columns:1fr 1fr; }.feature-stage { min-height:600px; padding-inline:20px; }.feature-phone { width:225px; }.feature-tab { grid-template-columns:22px 1fr 15px; gap:8px; }.feature-tab strong { font-size:18px; }.feature-tab small { font-size:10px; }.feature-panel { font-size:12px; }.circle-layout { gap:45px; grid-template-columns:1fr 1fr; }.circle-art { min-height:540px; }.profile-phone { width:195px; }.circle-copy h2 { font-size:47px; }.section-lede { font-size:17px; }.circle-copy>p:not(.eyebrow):not(.section-lede) { font-size:12px; }.road-statement { height:530px; }.principle-grid { gap:26px; }.principle-grid h3 { font-size:18px; }.questions { grid-template-columns:.7fr 1.3fr; gap:45px; }
}
@media(max-width:650px) {
  html { scroll-padding-top:90px; }.shell { width:calc(100% - 40px); }.section { padding-block:80px; }.desktop-nav { display:none; }.menu-toggle { display:block; }.header-inner { min-height:68px; }.brand img { width:115px; }.hero { grid-template-columns:1fr; padding-top:52px; padding-bottom:70px; gap:45px; }.hero-copy { padding:0; }.hero .eyebrow { font-size:9px; }.hero h1 { font-size:clamp(60px,15vw,82px); margin:25px 0; }.hero-intro { font-size:23px; }.hero-description { max-width:340px; font-size:14px; margin-top:16px; }.hero-actions { gap:20px; margin-top:27px; }.hero-footnote { display:none; }.hero-media { height:560px; margin-top:8px; }.road-photo { inset:0 0 24px 38px; }.hero-phone { width:205px; left:2px; bottom:-6px; }.hero-media-label { font-size:7px; bottom:-13px; }.opening-line { padding:21px 0; gap:8px; font-size:9px; }.opening-line span:nth-child(2) { display:none; }.section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:35px; }.section-heading .eyebrow { margin-bottom:17px; }.section-heading>p { max-width:400px; font-size:14px; }.experience-layout { grid-template-columns:1fr; gap:32px; }.feature-tabs { border-top:1px solid var(--line); }.feature-tab { min-height:86px; padding:16px 0; grid-template-columns:28px 1fr 20px; gap:10px; }.feature-tab:first-child { border-top:0; }.feature-tab strong { font-size:20px; }.feature-tab small { font-size:11px; }.feature-panel { font-size:14px; margin-top:25px; }.feature-stage { min-height:650px; }.feature-phone { width:255px; }.stage-caption { font-size:8px; }.capture-note { font-size:9px; }.circle-layout { grid-template-columns:1fr; gap:50px; }.circle-art { min-height:590px; order:2; }.interior-photo { width:70%; bottom:35px; }.profile-phone { width:225px; right:5px; bottom:0; }.circle-copy h2 { font-size:54px; }.circle-copy .eyebrow { margin-bottom:17px; }.section-lede { margin-top:24px; font-size:20px; }.circle-copy>p:not(.eyebrow):not(.section-lede) { font-size:14px; }.relationship-note { margin-top:25px; }.road-statement { height:520px; }.statement-copy h2 { font-size:62px; }.statement-copy>p:last-child { font-size:14px; }.statement-caption { font-size:8px; right:20px; }.principle-grid { grid-template-columns:1fr; gap:28px; }.principle-grid article { padding-top:22px; }.principle-grid h3 { margin-top:17px; font-size:22px; }.principle-grid p { max-width:430px; font-size:13px; }.questions { grid-template-columns:1fr; gap:30px; }.questions .text-link { margin-top:17px; }.faq-list summary { font-size:13px; min-height:75px; }.access h2 { font-size:54px; }.access p:not(.eyebrow) { font-size:14px; }.footer-top { flex-wrap:wrap; gap:20px; padding-bottom:30px; }.footer-top p { width:100%; order:3; font-size:13px; }.footer-top .back-top { margin-left:auto; }.footer-bottom { display:block; }.footer-bottom nav { gap:22px; margin-block:10px; }.footer-bottom>span:last-child { display:none; }.site-footer { padding-top:40px; }
}
@media(max-width:360px) {
  .hero h1 { font-size:55px; }.hero-media { height:510px; }.hero-phone { width:184px; }.hero-actions { gap:12px; }.button { padding-inline:18px; gap:25px; }.text-link { gap:12px; font-size:11px; }.hero-intro { font-size:21px; }.feature-stage { min-height:590px; }.feature-phone { width:228px; }.feature-tab strong { font-size:18px; }.stage-caption span:last-child { display:none; }.circle-art { min-height:530px; }.profile-phone { width:200px; }.circle-copy h2 { font-size:49px; }.statement-copy h2 { font-size:54px; }.access h2 { font-size:47px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important; transition:none!important; } }
