/* Homepage-only tokens; product and legacy page styling remains isolated. */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/home/hanken-grotesk-400.ttf") format("truetype")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/home/hanken-grotesk-500.ttf") format("truetype")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/home/hanken-grotesk-600.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url("/assets/home/inter-300.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/home/inter-400.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/home/inter-500.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/home/inter-600.ttf") format("truetype")}
:root{color-scheme:light;--background:#f9f9f9;--surface:#f3f3f3;--foreground:#111111;--secondary:#555555;--muted:#6e6e6e;--border:#e5e5e5;--divider:#eeeeee;--header:rgb(255 255 255 / .9);--button:#111111;--button-text:#ffffff;--button-hover:#2b2b2b;--email:#ffffff;--footer:#f3f3f3;--frame:#171717;--frame-border:#d4d4d4;--gutter:32px;--header-height:64px;--display-size:72px;--display-weight:400;--hero-top:112px;--hero-bottom:96px;--section-space:112px;--radius:4px;--heading-font:"Hanken Grotesk",sans-serif;--body-font:Inter,sans-serif}
:root[data-theme=dark]{color-scheme:dark;--background:#0a0a0a;--surface:#121212;--foreground:#ffffff;--secondary:#a3a3a3;--muted:#8a8a8a;--border:#222222;--divider:#222222;--header:rgb(10 10 10 / .9);--button:#ffffff;--button-text:#0a0a0a;--button-hover:#d4d4d4;--email:#0a0a0a;--footer:#0a0a0a;--frame:#121212;--frame-border:#222222;--gutter:64px;--header-height:80px;--display-size:64px;--hero-top:96px;--hero-bottom:112px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:var(--background);color:var(--foreground);font:400 15px/1.6 var(--body-font);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}button,summary{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1,h2,h3,p,figure,ol{margin:0}h1,h2,h3,.wordmark{font-family:var(--heading-font)}
h1,h2,h3{font-weight:500}ol{list-style:none;padding:0}
a:hover{color:var(--foreground)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--foreground);outline-offset:5px;border-radius:2px}
::selection{background:var(--foreground);color:var(--background)}
.container{max-width:1280px;width:100%;margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 20px;background:var(--foreground);color:var(--background);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.home-header{position:sticky;top:0;z-index:30;background:var(--header);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
.header-inner{height:var(--header-height);display:flex;justify-content:space-between;align-items:center;gap:12px}
.wordmark{font-size:20px;font-weight:500;letter-spacing:-.025em;white-space:nowrap}
.header-controls,.desktop-nav{display:flex;align-items:center;gap:32px}
.desktop-nav{font-size:13px;line-height:18px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--secondary)}
.icon-button{width:44px;height:44px;padding:12px;border:0;border-radius:var(--radius);background:transparent;color:var(--secondary);display:inline-flex;align-items:center;justify-content:center}
.icon-button:hover{color:var(--foreground);background:var(--surface)}
.theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .sun{display:block}:root[data-theme=dark] .theme-toggle .moon{display:none}
.home-menu{display:none}
.eyebrow{font-size:11px;line-height:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.studio-label{display:flex;gap:8px;align-items:center;margin-bottom:24px}
.studio-label span{font-size:15px}
.home-hero{padding-block:var(--hero-top) var(--hero-bottom);border-bottom:1px solid var(--border)}
.hero-inner{max-width:768px}
h1{font-size:var(--display-size);font-weight:var(--display-weight);line-height:1.08;letter-spacing:-.035em;margin-bottom:32px}
.hero-lede{max-width:672px;font-size:18px;line-height:29.25px;color:var(--secondary);margin-bottom:40px}
:root[data-theme=dark] .hero-lede{font-size:20px;line-height:32.5px;font-weight:300}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.home-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 32px;border:1px solid var(--button);border-radius:var(--radius);background:var(--button);color:var(--button-text);font-size:13px;line-height:18px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-align:center}
.home-button:hover{background:var(--button-hover);color:var(--button-text)}
.secondary-button{background:transparent;color:var(--foreground);border-color:var(--border)}
.secondary-button:hover{background:transparent;color:var(--foreground);border-color:var(--foreground)}
.home-products{position:relative;padding-block:var(--section-space);border-bottom:1px solid var(--border)}
.anchor-alias{position:absolute;top:0}
.product-heading{padding-bottom:24px;margin-bottom:64px;border-bottom:1px solid var(--divider)}
.product-heading .eyebrow{margin-bottom:8px}
.product-heading h2,.home-about h2{font-size:56px;line-height:62px;letter-spacing:-.03em;font-weight:400}
.product-layout{display:grid;grid-template-columns:5fr 7fr;column-gap:64px;grid-template-rows:auto auto;align-items:center}
.product-figure{grid-column:1;grid-row:1/3;display:flex;justify-content:center}
.product-frame{width:100%;max-width:320px;background:var(--frame);border:1px solid var(--frame-border);border-radius:36px;padding:8px}
.product-screen{border-radius:28px;overflow:hidden;background:#ffffff}
.product-screen img{display:block;width:100%;height:auto;filter:grayscale(1)}
.product-intro{grid-column:2;align-self:end}
.product-intro h3{font-size:36px;line-height:42px;letter-spacing:-.02em;margin-bottom:16px}
.product-intro p{color:var(--secondary);font-size:18px;line-height:29.25px;max-width:576px}
.product-features{grid-column:2;align-self:start;margin-top:32px}
.feature-list{border-top:1px solid var(--divider);margin-bottom:32px}
.feature-list li{display:grid;grid-template-columns:18px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--divider)}
.feature-list .feature-number{font:13px/24px ui-monospace,monospace;color:var(--muted)}
.feature-list h4{font:400 16px/24px var(--heading-font);margin:0 0 4px}
.feature-list p{font-size:15px;line-height:24px;color:var(--secondary)}
.text-link{display:inline-flex;gap:8px;align-items:center;padding-block:4px;border-bottom:1px solid currentColor;font-size:13px;line-height:18px;letter-spacing:.04em;font-weight:500;text-transform:uppercase}
a.text-link:hover{color:var(--secondary)}
:root[data-theme=dark] .product-heading h2{font-size:48px;line-height:48px}
:root[data-theme=dark] .product-frame{max-width:310px;border-radius:42px;padding:12px}
:root[data-theme=dark] .product-screen{border-radius:32px}
:root[data-theme=dark] .product-intro h3{font-size:30px;line-height:36px}
:root[data-theme=dark] .feature-list li{padding-block:14px;gap:20px}
:root[data-theme=dark] .feature-list p{font-size:14px;line-height:22.75px}
.home-about{padding-block:var(--section-space);border-bottom:1px solid var(--border)}
.about-inner{max-width:896px}
.home-about .eyebrow{margin-bottom:16px}
.home-about h2{margin-bottom:32px}
.home-about p:not(.eyebrow){color:var(--secondary);font-size:18px;line-height:29.25px;margin-bottom:40px}
:root[data-theme=dark] .home-about h2{font-size:48px;line-height:48px}
:root[data-theme=dark] .home-about p:not(.eyebrow){font-weight:300}
.unavailable-approach{cursor:default}
.home-contact{padding-block:96px 176px}
.contact-panel{padding:48px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:center}
.contact-panel .eyebrow{margin-bottom:8px}
.contact-panel h2{font-size:36px;line-height:42px;letter-spacing:-.02em;margin-bottom:12px}
.contact-copy{font-size:15px;line-height:24px;color:var(--secondary)}
.email-action{position:relative;min-width:0;justify-self:end}
.email-box{display:flex;align-items:center;background:var(--email);border:1px solid var(--border);border-radius:var(--radius);padding-left:16px}
.email-box>a{font:13px/20px ui-monospace,monospace;overflow-wrap:anywhere}
.email-box>a:hover{text-decoration:underline}
.copy-status{position:absolute;top:calc(100% + 8px);font-size:12px;color:var(--secondary);left:0}
:root[data-theme=dark] .contact-panel h2{font-size:30px;line-height:36px}
.home-footer{background:var(--footer);border-top:1px solid var(--border);padding-block:64px}
.footer-grid{display:grid;grid-template-columns:5fr 2.333fr 2.333fr 2.333fr;gap:32px;margin-bottom:64px}
.footer-brand .wordmark{font-size:18px}
.footer-brand p{font-size:14px;line-height:22.75px;color:var(--secondary);max-width:384px;margin-block:16px 24px}
.footer-brand .eyebrow{display:block;margin-bottom:4px}
.footer-email{font-size:14px}
.footer-column{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:20px;color:var(--secondary)}
.footer-column h2{margin-bottom:4px}
.footer-column a{width:fit-content;min-height:24px}
.footer-column a:hover{text-decoration:underline}
.governance>div{display:flex;flex-direction:column;gap:12px}
.footer-bottom{padding-top:32px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font:11px/16px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.footer-bottom>span:last-child{text-transform:lowercase}
[aria-disabled=true]{cursor:default}
/* Theme-specific spacing follows the separate approved desktop references. */
:root[data-theme=light] .home-about p:not(.eyebrow){margin-bottom:32px}
:root[data-theme=light] .home-footer{padding-block:56px}
:root[data-theme=light] .footer-grid{margin-bottom:48px}
:root[data-theme=light] .footer-brand p{margin-bottom:16px}
:root[data-theme=light] .footer-brand .wordmark{font-size:20px}
:root[data-theme=dark] h1{line-height:1}
:root[data-theme=dark] .studio-label{font-size:12px;line-height:16px}
:root[data-theme=dark] .home-button{min-height:44px;padding:12px 28px}
:root[data-theme=dark] .home-contact{padding-bottom:96px}
@media(min-width:768px) and (max-width:1023px){
:root{--gutter:40px;--display-size:60px;--hero-top:80px;--section-space:80px}
.product-layout{grid-template-columns:1fr 1fr;gap:32px}
.product-intro h3{font-size:28px;line-height:34px}
.product-frame{max-width:270px}
.product-intro p{font-size:16px;line-height:26px}
.product-features{margin-top:0}.feature-list{margin-bottom:20px}
.contact-panel{grid-template-columns:1fr;padding:32px}.email-action{justify-self:start}
.footer-grid{grid-template-columns:3fr 2fr 2fr;gap:24px}.governance{grid-column:2/4}
}
@media(max-width:767px){
:root{--background:#ffffff;--surface:#f7f7f7;--secondary:#545454;--footer:#f7f7f7;--gutter:20px;--header-height:72px;--display-size:44px;--display-weight:600;--hero-top:40px;--hero-bottom:48px;--section-space:48px}
:root[data-theme=dark]{--gutter:20px;--background:#0e0e0e;--surface:#161616;--foreground:#ffffff;--secondary:#a3a3a3;--border:#1f1f1f;--divider:#1f1f1f;--header:rgb(14 14 14 / .95);--email:#0e0e0e;--footer:#161616;--header-height:64px;--display-size:40px;--display-weight:500;--hero-top:32px;--hero-bottom:40px;--section-space:40px;--frame-border:#2a2a2a}
.container{max-width:640px}
body{font-size:14px;line-height:1.6}
.wordmark{font-size:16px}
.desktop-nav{display:none}.header-controls{gap:4px}
.home-menu{display:block}
.home-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;color:var(--secondary)}
.home-menu summary::-webkit-details-marker{display:none}
.menu-close{display:none}.home-menu[open] .menu-open{display:none}.home-menu[open] .menu-close{display:block}
.home-menu nav{position:absolute;left:0;right:0;top:100%;padding:24px max(20px,calc((100vw - 600px)/2));background:var(--background);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;max-height:calc(100dvh - var(--header-height));overflow:auto;box-shadow:0 12px 20px rgb(0 0 0 / .08)}
.home-menu nav>a,.home-menu nav>span{padding:12px 0;min-height:44px}
.home-menu nav .menu-email{margin-top:16px;border-top:1px solid var(--border);font-size:13px}
.studio-label{margin-bottom:16px;gap:6px}
h1{line-height:1.1;letter-spacing:-.025em;margin-bottom:16px}
.hero-lede{font-size:18px;line-height:28px;margin-bottom:32px}
:root[data-theme=dark] .hero-lede{font-size:17px;line-height:27.625px;font-weight:400}
.hero-actions{flex-direction:column;gap:12px}
.home-button{font-size:14px;line-height:20px;letter-spacing:0;text-transform:none;min-height:44px;padding:11px 20px}
:root[data-theme=dark] .home-button{min-height:48px}
.product-heading{padding:0;border:0;margin-bottom:12px}
.product-heading h2,:root[data-theme=dark] .product-heading h2{font-size:32px;line-height:38px;font-weight:500;letter-spacing:-.025em}
.product-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}
.product-intro h3{font-size:22px;line-height:28px;margin-bottom:8px}
.product-intro p{font-size:14px;line-height:22.75px}
.product-figure{margin-block:24px;width:100%}
.product-frame{max-width:280px;padding:0;border-radius:16px;border-color:var(--border);background:var(--surface)}
.product-screen{border-radius:15px}
.product-features{margin-top:8px}
.feature-list{margin-bottom:20px}
.feature-list li{padding-block:14px;gap:16px;grid-template-columns:14px 1fr}
.feature-list .feature-number{font-size:12px;line-height:20px}
.feature-list h4{font:500 14px/20px var(--body-font);margin-bottom:2px}
.feature-list p{font-size:12px;line-height:18px}
.text-link{font-size:12px;line-height:18px;font-weight:600}
:root[data-theme=dark] .product-intro h3{font-size:20px;line-height:28px}
:root[data-theme=dark] .product-intro p{font-size:16px;line-height:26px}
:root[data-theme=dark] .product-frame{max-width:none;border-radius:16px;padding:8px;background:var(--surface)}
:root[data-theme=dark] .product-screen{border-radius:12px}
:root[data-theme=dark] .feature-list{border-top:0;margin-bottom:8px}
:root[data-theme=dark] .feature-list li{display:flex;flex-direction:column;gap:0;padding-block:16px;border-bottom:0;border-top:1px solid var(--border)}
:root[data-theme=dark] .feature-list h4{font-size:16px;line-height:24px}
:root[data-theme=dark] .feature-list p{font-size:14px;line-height:21px}
:root[data-theme=dark] .feature-list .feature-number{margin-bottom:4px}
.home-about{border-bottom:0}
.home-about .eyebrow{margin-bottom:8px}
.home-about h2{font-size:28px;line-height:34px;margin-bottom:12px;font-weight:500;letter-spacing:-.025em}
.home-about p:not(.eyebrow){font-size:14px;line-height:22.75px;margin-bottom:20px}
:root[data-theme=dark] .home-about h2{font-size:24px;line-height:32px}
:root[data-theme=dark] .home-about p:not(.eyebrow){font-size:16px;line-height:26px;font-weight:400}
.home-contact{padding-block:24px 56px}
.contact-panel{padding:24px;background:var(--surface);grid-template-columns:1fr;gap:20px}
.contact-panel h2,:root[data-theme=dark] .contact-panel h2{font-size:20px;line-height:26px;margin-bottom:8px}
.contact-panel .eyebrow{margin-bottom:4px}
.contact-copy{font-size:12px;line-height:19.5px}
.email-action{justify-self:stretch}
.email-box{justify-content:space-between;padding-left:14px}
.email-box>a{font:500 12px/18px var(--body-font)}
:root[data-theme=dark] .contact-panel{border-radius:12px}
.home-footer{padding-block:40px 48px}
.footer-grid{grid-template-columns:1fr 1fr;gap:0 32px;margin-bottom:40px}
.footer-brand{grid-column:1/-1;padding-bottom:40px}
.footer-brand .wordmark{font-size:14px}
.footer-brand p{font-size:12px;line-height:19.5px;margin-block:8px 12px;color:var(--muted)}
.footer-email{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.direct-channel{display:none!important}
.footer-column{border-top:1px solid var(--border);padding-top:32px;gap:8px;font-size:12px;line-height:18px}
.footer-column h2{margin-bottom:4px}
.governance{grid-column:1/-1;margin-top:32px;padding-top:24px}
.governance>div{flex-direction:row;gap:24px}
.footer-bottom{padding-top:24px;flex-direction:column;gap:8px;line-height:18px}
}
@media(max-width:767px){
:root[data-theme=light] .studio-label{min-height:24px}
:root[data-theme=light] .product-heading .eyebrow,:root[data-theme=light] .home-about .eyebrow{line-height:24px}
:root[data-theme=light] .home-about p:not(.eyebrow){margin-bottom:20px}
:root[data-theme=light] .home-footer{padding-block:40px 56px}
:root[data-theme=light] .footer-grid{margin-bottom:40px}
:root[data-theme=light] .footer-brand p{margin-bottom:12px}
:root[data-theme=light] .footer-brand .wordmark{font-size:14px}
:root[data-theme=dark] h1{line-height:1.1}
:root[data-theme=dark] .home-button{min-height:48px;padding:11px 20px}
:root[data-theme=dark] .home-contact{padding-bottom:56px}
.email-box{min-height:54px}
:root[data-theme=dark] .home-footer{padding-block:32px}
:root[data-theme=dark] .footer-brand{padding-bottom:32px}
:root[data-theme=dark] .footer-brand p{margin-bottom:8px}
:root[data-theme=dark] .footer-column{border-top:0;padding-top:8px;font-size:14px;line-height:20px}
:root[data-theme=dark] .footer-column a{min-height:20px}
:root[data-theme=dark] .governance{border-top:1px solid var(--border);margin-top:24px;padding-top:8px}
:root[data-theme=dark] .footer-grid{margin-bottom:32px}
:root[data-theme=dark] .footer-bottom{padding-top:16px;gap:4px}
}
@media(max-width:359px){:root{--gutter:16px;--display-size:38px}:root[data-theme=dark]{--gutter:16px;--display-size:36px}.contact-panel{padding:20px}.email-box{padding-left:8px}.email-box .icon-button{width:40px;flex-shrink:0}.hero-lede{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Shared navigation states and honest unavailable-action styling. */
.desktop-nav a[aria-current=page]{color:var(--foreground);text-decoration:underline;text-underline-offset:8px}
.home-menu a[aria-current=page],.footer-column a[aria-current=page]{color:var(--foreground);text-decoration:underline;text-underline-offset:4px}
.desktop-nav a.section-current{color:var(--foreground);text-decoration:underline;text-underline-offset:8px}
.home-menu a.section-current{color:var(--foreground);text-decoration:underline;text-underline-offset:4px}
.unavailable{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;cursor:default}
.availability-legend{font-size:11px;line-height:18px;color:var(--muted);margin:0 0 20px}
.unavailable-approach{display:inline-block;padding-block:4px;font-size:13px;line-height:18px;letter-spacing:.01em;color:var(--muted);text-decoration:none;cursor:default}
@media(max-width:767px){.unavailable-approach{font-size:12px}}

/* Dedicated About destination, retaining the Home section rhythm. */
.approach-link{display:inline-block;padding-block:4px;font-size:13px;line-height:18px;letter-spacing:.01em;color:var(--foreground);text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.approach-link{font-size:12px}}
