@font-face{font-family:system;src:local("Inter"),local("Arial");font-display:swap}
:root{color-scheme:dark;--bg:#11161e;--panel:#19212c;--panel2:#202a35;--ink:#f7f8f3;--dim:#b0bbc6;--line:#33404c;--lime:#d8f477;--danger:#ffa5a5;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--lime)}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{width:min(1140px,calc(100% - 48px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:750;letter-spacing:-.8px;display:flex;align-items:center;gap:10px}.brand-dot{color:var(--lime);margin-left:-9px}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav a{color:var(--dim)}.nav-account{color:var(--ink);border:1px solid var(--line);padding:8px 16px;border-radius:100px}.hero{padding:84px 0 70px;display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--lime);font-weight:700}.eyebrow:before{content:"";display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5.6vw,68px);line-height:1.08;letter-spacing:-2.8px;margin:20px 0 24px}h1 em{color:var(--lime);font-style:normal}h2{font-size:clamp(26px,3.4vw,38px);line-height:1.18;letter-spacing:-1.2px}h3{font-size:20px;letter-spacing:-.3px}.lead{font-size:18px;color:var(--dim);max-width:590px}.muted,small{color:var(--dim)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 21px;border-radius:10px;border:1px solid transparent;background:var(--lime);color:var(--bg);font-weight:700;line-height:1.3}.button:hover{background:#e4ff96;color:var(--bg)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--lime)}.button.danger{background:#4a272e;color:#ffc8c8;border-color:#7f434e}.button.small{font-size:13px;min-height:36px;padding:8px 12px}.hero-note{font-size:13px;margin-top:18px;color:var(--dim)}.demo{background:linear-gradient(145deg,#253341,#16202b);border:1px solid #455360;border-radius:24px;padding:24px;box-shadow:0 26px 70px #0005;position:relative}.demo-head{display:flex;align-items:center;gap:7px;padding-bottom:20px;color:var(--dim);font-size:12px}.dot{width:8px;height:8px;border-radius:50%;background:#6b7c8b}.demo-head span:last-child{margin-left:auto}.message{background:#303c48;padding:16px 18px;border-radius:14px;font-size:15px;margin-bottom:18px}.machine{border:1px solid #5a6b78;border-radius:16px;background:#131b24;padding:22px}.machine-title{display:flex;justify-content:space-between;font-size:13px;color:var(--dim);margin-bottom:18px}.status{font-size:12px;display:inline-flex;gap:7px;align-items:center;border-radius:99px;background:#d8f47718;color:var(--lime);padding:4px 11px}.status.offline{color:var(--dim);background:#b0bbc612}.status.warning{color:#ffd09a;background:#ffd09a18}.status.danger{color:var(--danger);background:#ffa5a518}.file{padding:9px 12px;background:#283440;border-radius:8px;margin-bottom:8px;font-size:13px;display:flex;gap:12px;align-items:center}.file i{font-style:normal;color:var(--lime);font-size:18px}.demo-foot{color:var(--lime);font-size:12px;margin:15px 0 0}.example{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--dim);text-align:right;margin-top:14px}.platforms{padding:0 0 50px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;font-size:13px;color:var(--dim)}.platforms strong{color:var(--ink);font-size:15px}.section{padding:65px 0}.section-title{max-width:700px;margin-bottom:30px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.card.highlight{border-color:var(--lime);position:relative}.card .step{display:grid;place-items:center;background:var(--lime);color:var(--bg);border-radius:12px;width:36px;height:36px;font-weight:750;margin-bottom:24px}.card p{color:var(--dim);font-size:15px}.card p:last-child{margin-bottom:0}.price{font-size:42px;font-weight:750;letter-spacing:-1.5px;line-height:1.15}.price small{font-weight:400;font-size:14px;letter-spacing:0}.price-note{font-size:13px;color:var(--dim);margin:8px 0 25px}.features{padding:0;list-style:none;margin-bottom:26px}.features li{font-size:14px;margin-bottom:12px;padding-left:20px;position:relative;color:var(--dim)}.features li:before{content:"✓";position:absolute;left:0;color:var(--lime)}.badge{display:inline-block;border-radius:99px;padding:4px 10px;background:var(--lime);color:var(--bg);font-size:11px;letter-spacing:.5px;margin-bottom:22px;font-weight:750}.callout{border:1px solid var(--line);background:var(--panel);padding:22px 26px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:25px}.callout p{margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:26px}.text-link{text-decoration:underline;text-underline-offset:3px;color:var(--lime)}.footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;margin-top:40px;font-size:12px;color:var(--dim)}.footer .brand{font-size:19px;color:var(--ink)}.footer div{display:flex;gap:18px}.auth-wrap{max-width:470px;margin:66px auto}.auth-wrap .card{padding:34px}.auth-wrap h1{font-size:35px;letter-spacing:-1px}.auth-wrap .button{width:100%}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:14px}.form-field input,.form-field select{background:#101820;color:var(--ink);border:1px solid #4a5a67;padding:11px 13px;border-radius:9px;min-width:0;width:100%}.form-field input:focus,.form-field select:focus{border-color:var(--lime)}.form-field small{font-size:12px}.check{display:flex;gap:10px;font-size:13px;color:var(--dim);margin:20px 0}.check input{flex:none;accent-color:var(--lime);width:17px;height:17px}.auth-links{font-size:13px;margin-top:22px;display:flex;justify-content:space-between;gap:16px}.notice{padding:15px 18px;border-radius:10px;border:1px solid #5a6970;background:#29373d;color:#d7e7e9;font-size:14px;margin-bottom:22px}.notice.error{border-color:#814f58;background:#36232b;color:#ffc8c8}.notice.success{border-color:#637443;background:#253322;color:#e1f9af}.notice a{text-decoration:underline}.dashboard{padding:45px 0}.dash-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:30px}.dash-head h1{font-size:36px;margin:8px 0}.dash-head p{margin-bottom:0}.dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.full{grid-column:1/-1}.usage-line{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.usage-number{font-size:36px;font-weight:750;letter-spacing:-1px}.usage-number small{font-size:15px;font-weight:400;letter-spacing:0}.usage-meter{width:100%;height:8px;border:0;border-radius:99px;margin:18px 0;display:block}progress::-webkit-progress-bar{background:#34414b;border-radius:99px}progress::-webkit-progress-value{background:var(--lime);border-radius:99px}progress::-moz-progress-bar{background:var(--lime);border-radius:99px}.device-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.device-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;background:#111a23;border:1px solid var(--line);border-radius:12px}.device-row strong{display:block}.device-row small{font-size:12px}.empty{padding:28px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--dim)}.form-row{display:flex;gap:12px;align-items:flex-end}.form-row .form-field{flex:1;margin-bottom:0}.setup{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{background:#27333d;color:var(--ink);border:1px solid var(--line);padding:7px 13px;border-radius:8px;font-size:13px}.tabs button[aria-selected=true]{border-color:var(--lime);color:var(--lime)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0c1117;border:1px solid var(--line);border-radius:10px;padding:15px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.code{font:26px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:2px;color:var(--lime);overflow-wrap:anywhere}.setup ol{padding-left:20px;color:var(--dim);font-size:14px}.setup li{margin-bottom:12px}.permissions{padding:0;list-style:none;display:grid;gap:9px;color:var(--dim);font-size:14px}.permissions strong{color:var(--ink)}.prose{max-width:800px;margin:65px auto}.prose h1{font-size:42px;letter-spacing:-1.5px}.prose h2{font-size:25px;margin-top:36px}.prose p,.prose li{color:var(--dim)}.prose ul{padding-left:22px}.danger-zone{border-color:#76444c}.toast{pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(600px,calc(100% - 32px));padding:14px 20px;border:1px solid #65794b;border-radius:12px;background:#263520;color:#ecfccf;box-shadow:0 10px 40px #0008;z-index:30}.skip{position:absolute;left:-9999px;top:10px;z-index:40;background:var(--lime);color:var(--bg);padding:10px}.skip:focus{left:10px}dialog{max-width:480px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px}dialog::backdrop{background:#0009}dialog h2{font-size:25px}dialog p{color:var(--dim)}[hidden]{display:none!important}.checkline{display:flex;justify-content:space-between;gap:20px;align-items:center}.refresh{color:var(--dim);background:none;border:0;font-size:13px;text-decoration:underline}.loading{padding:80px 0;color:var(--dim)}.form-error{color:var(--danger);font-size:14px;min-height:0}.pill{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:4px 10px;color:var(--dim)}
@media(max-width:850px){.hero{gap:30px;padding-top:55px}.grid{grid-template-columns:1fr}.grid .card{padding:25px}.split,.dash-grid{grid-template-columns:1fr}.header nav{gap:14px}.header nav a:not(.nav-account){display:none}.platforms{gap:15px;flex-wrap:wrap}.footer{flex-wrap:wrap}.footer>span{display:none}.hero h1{font-size:48px;letter-spacing:-2px}.demo{padding:18px}.card .step{margin-bottom:18px}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.header{min-height:76px}.hero{grid-template-columns:1fr;padding:40px 0;gap:30px}.hero h1{font-size:44px}.hero .lead{font-size:16px}.demo{margin-top:5px}.section{padding:42px 0}.callout{flex-direction:column;align-items:flex-start}.footer div{gap:14px;flex-wrap:wrap}.dash-head{flex-direction:column}.device-row{align-items:flex-start;flex-wrap:wrap}.form-row{flex-direction:column;align-items:stretch}.auth-wrap{margin:40px auto}.auth-wrap .card{padding:24px}.card{padding:22px}.usage-number{font-size:30px}.auth-links{flex-wrap:wrap}.tabs{flex-wrap:wrap}.prose{margin:40px auto}.prose h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.space-tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--line);margin:0 0 2rem;overflow-x:auto}.space-tabs a{padding:.75rem .1rem;text-decoration:none;color:inherit;white-space:nowrap;border-bottom:3px solid transparent}.space-tabs a[aria-current=page]{border-color:currentColor;font-weight:700}.assistants h2{font-size:1.35rem;line-height:1.3;margin:0 0 .65rem}.connector-intro{margin-bottom:1.5rem}.connection-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-left:1.4rem;margin:1.5rem 0}.connection-steps li span{display:block;margin-top:.5rem;line-height:1.6}.mcp-address{display:flex;gap:1rem;align-items:center}.mcp-address .form-field{flex:1;min-width:0}.mcp-address input{width:100%;font-family:monospace}.assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.5rem}.assistant-heading{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.assistant-heading h2{margin:0 0 .4rem}.assistant-mark{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line);border-radius:1rem;font-size:1.5rem;flex-shrink:0}.assistant-guide summary,.advanced-assistants>summary{cursor:pointer;font-weight:650;padding:.6rem 0}.assistant-guide li{margin:.8rem 0;line-height:1.65}.assistant-card>.button{width:100%;margin-bottom:.5rem}.assistant-card .button[aria-disabled=true]{opacity:.55;pointer-events:none}.assistant-steps{padding-left:1.3rem;margin:1rem 0}.assistant-steps li{margin:.55rem 0;line-height:1.6}.advanced-assistants{margin-bottom:1.5rem}.advanced-assistants .assistant-grid{margin:1.2rem 0 0}.assistants .device-row{gap:1rem}.assistants .device-row small{display:block;margin-top:.35rem}.assistants>article:last-child{margin-bottom:2rem}@media(max-width:700px){.assistant-grid,.connection-steps{grid-template-columns:1fr}.connection-steps{gap:1rem}.mcp-address{align-items:stretch;flex-direction:column;margin-bottom:1rem}.assistants .usage-line{align-items:flex-start;gap:1rem}.assistants .device-row{align-items:flex-start;flex-wrap:wrap}}

/* Language selector: same-origin stylesheet, compatible with strict CSP */
.locale-switcher{display:inline-flex;align-items:center;gap:6px;margin-inline:8px;white-space:nowrap}.locale-switcher .locale-text{font-size:.83rem;color:var(--muted,#b8cbdc)}.locale-switcher select{max-width:155px;min-height:38px;border:1px solid #536782;border-radius:9px;background:#182b3c;color:#f5fbff;font:inherit;padding:5px 8px;cursor:pointer}.locale-switcher select:focus-visible{outline:3px solid #90e4d6;outline-offset:3px}[dir=rtl] .locale-switcher select{direction:rtl}@media(max-width:700px){.locale-switcher{margin-inline:0}.locale-switcher select{max-width:122px}}
.locale-legal-warning{background:#182e43;border:1px solid #557390;padding:12px 18px;margin:16px auto;max-width:1000px;border-radius:9px}

/* Usage is an account-scoped server counter, not a client-side estimate. */
.usage-card{min-width:0}.usage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.usage-stats>div{padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}.usage-stats span{display:block;color:var(--dim);font-size:.85rem}.usage-stats strong{display:block;margin-top:4px;font-size:clamp(1.2rem,2.5vw,1.7rem);font-variant-numeric:tabular-nums}.usage-card .usage-meter{display:block;width:100%;height:12px;max-width:100%}@media(max-width:520px){.usage-stats{grid-template-columns:1fr;gap:8px}.usage-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}}

/* Unified native/web workspace: Mac WKWebView and Windows app-window load the same route. */
.dashboard-anchor{min-width:0}.dashboard-anchor>.card{height:100%}
.control-center{background:linear-gradient(130deg,#1d3035,#17212d 60%,#27352a);border:1px solid #4c655d;border-radius:20px;padding:26px}
.control-center-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.control-center-head h2{font-size:clamp(23px,3vw,31px);margin:9px 0}.control-center-head p{color:var(--dim);margin:0}
.control-center-head>.status{white-space:nowrap}.control-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:23px 0}
.control-metrics>div{padding:17px;border-radius:14px;background:#0e1c27b9;border:1px solid #42565b;min-width:0}
.control-metrics span,.control-metrics small{display:block;color:var(--dim);font-size:12px}.control-metrics strong{display:block;font-size:clamp(22px,3vw,30px);font-variant-numeric:tabular-nums;margin:3px 0;overflow-wrap:anywhere}
.control-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.control-shortcuts>.button{min-height:42px}.control-disclaimer{font-size:12px;color:var(--dim);margin:18px 0 0}
#devices-section,#subscription-section{scroll-margin-top:25px}
@media(max-width:680px){.control-center-head{flex-direction:column}.control-metrics{grid-template-columns:1fr}.control-metrics>div{padding:12px}.control-shortcuts>.button{width:100%}}

/* Brand parity with the live public Cloudflare design, 2026-10-20. */
:root{--bg:#090a0b;--panel:#171a1d;--panel2:#202124;--ink:#f3f0e8;--dim:#c9c3b6;--line:#30343a;--lime:#d08a45}
body{background-image:none}
.brand{font-weight:650}.brand-dot{color:var(--lime)}.nav-account{border-color:#6b4b32}
.card{background:var(--panel)}.button:hover{background:#e3a866}.button.secondary:hover{border-color:var(--lime)}
.control-center{background:linear-gradient(130deg,#211a15,#171a1d 62%,#2c2019);border-color:#694b32}
.control-metrics>div{background:#101214;border-color:#4c4038}
.status{background:#d08a4518}.status.warning{color:#ffd09a;background:#ffd09a18}

/* Product workspace uses the same brand shell without marketing navigation. */
.workspace-mode nav .nav-marketing{display:none}


/* Mobile companion shell. The desktop dashboard stays the single source of truth. */
.mobile-dock{display:none}
@media(max-width:760px){
 body.workspace-mode{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .workspace-mode .mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:#101113f5;border-top:1px solid #5d4735;box-shadow:0 -8px 34px #0009;padding:8px max(8px,env(safe-area-inset-left,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-right,0px));backdrop-filter:blur(15px)}
 .mobile-dock button{min-width:0;min-height:46px;padding:8px 2px;border:1px solid transparent;border-radius:10px;background:transparent;color:#cbc2b5;font:600 12px/1.3 system-ui,sans-serif}
 .mobile-dock button[aria-current="page"]{color:#e3a866;background:#d08a451a;border-color:#6b4b32}
 .mobile-dock button:focus-visible{outline:2px solid #d08a45;outline-offset:0}
 .workspace-mode .toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 .workspace-mode .footer{margin-bottom:12px}
 .control-center{padding:18px}
 .dash-grid{gap:14px}
 .dash-head{gap:8px}
 .usage-stats strong{font-size:1.25rem}
 .form-row,.device-row{gap:10px}
 .auth-wrap{max-width:100%}
 #devices-section,#subscription-section{scroll-margin-top:24px}
}
@media(max-width:380px){.mobile-dock button{font-size:11px}.control-center{padding:14px}}


/* Compact native-like header on smaller iPhone/Android displays. */
@media(max-width:760px){
 .header{min-height:64px;padding-block:9px;gap:8px;flex-wrap:nowrap}
 .header .brand{flex:0 1 auto;min-width:0;font-size:clamp(17px,5vw,22px);gap:6px;white-space:nowrap;letter-spacing:-.8px}
 .header .brand img{width:25px;height:25px;flex:none}
 .header nav{margin-left:auto;flex:0 0 auto;gap:6px;font-size:12px}
 .header .nav-account{font-size:12px;padding:7px 9px;white-space:nowrap}
 .header .locale-switcher{margin:0}
 .header .locale-text{display:none}
 .header .locale-switcher select{max-width:108px;min-height:34px;font-size:12px;padding:4px 6px}
 .header .locale-switcher select option{font-size:12px}
}
@media(max-width:360px){
 .header .brand{font-size:17px;letter-spacing:-1px}
 .header .locale-switcher select{max-width:90px}
 .header .nav-account{padding:6px}
}


@media(max-width:760px){
 .mobile-dock button[data-mobile-stop]{color:#ffb0a6;font-weight:800;border-color:#71413c}
 .mobile-dock button[data-mobile-stop][aria-pressed="true"]{color:#cfc4b6;border-color:transparent;background:#151719}
}

/* Terminal orphan alert in device rows (owner dashboard). */
.notice.warning{color:#ffd09a;background:#ffd09a12;border-color:#ffd09a55;margin:10px 0 4px}

.totp-qr{margin:12px 0;display:inline-block;padding:8px;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.12)}
.totp-qr svg{display:block;width:208px;height:208px;max-width:100%}

.passkey-login{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:14px;text-align:center}
.phone-link{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px}.phone-link .totp-qr{margin:0}.phone-link h4{margin:0 0 6px;font-size:1rem}.phone-link p{margin:0 0 8px;max-width:46ch}#passkey-add-form{flex-wrap:wrap}#passkey-add-form .form-field{flex:1 1 180px;min-width:0}#passkey-add-form .button{align-self:end}
.google-start{display:flex;margin:0}.google-start .button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px}.google-start svg{width:18px;height:18px;flex:none}
/* Mon espace en onglets (8 nov. 2026) : un seul STOP, activité repliable. */
.space-tabs{scrollbar-width:none}.space-tabs::-webkit-scrollbar{display:none}
.tab-panel+.tab-panel{margin-top:0}
.stop-button{min-height:52px;font-size:16px;padding:12px 26px}
.activity-card>summary{list-style:none;cursor:pointer}.activity-card>summary::-webkit-details-marker{display:none}
.activity-card>summary h3:after{content:" ▸";color:var(--dim);font-weight:400}.activity-card[open]>summary h3:after{content:" ▾"}
.activity-card:not([open])>summary p{margin-bottom:0}
details.advanced{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}details.advanced>summary{cursor:pointer;font-weight:650;color:var(--ink)}
@media(max-width:600px){.space-tabs{gap:.9rem;font-size:14px}.space-tabs a{padding:.7rem 0}.activity-card>summary .status{white-space:nowrap}}
.activity-card>summary .status{white-space:nowrap;align-self:flex-start}

/* ── 12 Nov 2026: calmer type scale and one page-load sequence. Colours and
   background are unchanged. Headings sit closer to body size so the product,
   not the slogan, fills the first screen (three lines at 375 px, not four). */
h1{font-size:clamp(28px,3.2vw,42px);line-height:1.14;letter-spacing:-.02em;font-weight:650;margin:14px 0 16px;text-wrap:balance}
.hero{padding:72px 0 64px;gap:64px}
/* Owner request 12 Nov: the headline is bold and only slightly larger than the paragraph below it. */
.hero h1{font-size:22px;line-height:1.3;letter-spacing:-.01em;font-weight:700;max-width:30ch;margin:16px 0 12px}
.hero h1 em{display:block}
.hero .eyebrow{font-size:13px;letter-spacing:.01em;text-transform:none;font-weight:600;color:var(--dim)}
.hero .lead{font-size:17px;line-height:1.6;max-width:52ch;text-wrap:pretty}
.hero .actions{margin-top:28px}
.hero-note{max-width:56ch;line-height:1.55}
.auth-wrap .card h1{font-size:clamp(26px,2.6vw,32px);letter-spacing:-.015em}
.button{transition:transform .12s ease,background-color .16s ease,border-color .16s ease,color .16s ease}
.button:active:not(:disabled){transform:translateY(1px) scale(.985)}
@media(max-width:900px){.hero{padding:48px 0 48px;gap:36px}.hero h1{font-size:21px}}
@media(max-width:600px){h1{font-size:26px;letter-spacing:-.015em}.hero{padding:26px 0 36px;gap:28px}.hero h1{font-size:20px;line-height:1.3;max-width:none;margin:12px 0 10px}.hero .lead{font-size:16px}.hero .actions{margin-top:22px}.auth-wrap .card h1{font-size:25px}}
/* One orchestrated entrance for the home page: the text settles first, then
   the example panel, then its three files answer the request in turn. */
@media(prefers-reduced-motion:no-preference){
  @keyframes sl-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes sl-fade{from{opacity:0}to{opacity:1}}
  .hero>div:first-child>*{animation:sl-rise .5s cubic-bezier(.2,.7,.2,1) both}
  .hero>div:first-child>:nth-child(2){animation-delay:.06s}
  .hero>div:first-child>:nth-child(3){animation-delay:.12s}
  .hero>div:first-child>:nth-child(4){animation-delay:.18s}
  .hero>div:first-child>:nth-child(5){animation-delay:.24s}
  .hero .demo{animation:sl-rise .6s cubic-bezier(.2,.7,.2,1) .2s both}
  .hero .demo .message{animation:sl-fade .4s ease .55s both}
  .hero .demo .file{animation:sl-rise .35s ease both}
  .hero .demo .file:nth-of-type(2){animation-delay:.85s}
  .hero .demo .file:nth-of-type(3){animation-delay:1s}
  .hero .demo .file:nth-of-type(4){animation-delay:1.15s}
  .hero .demo .demo-foot{animation:sl-fade .4s ease 1.4s both}
  .auth-wrap .card{animation:sl-rise .35s cubic-bezier(.2,.7,.2,1) both}
}
/* Landing hierarchy (12/11): section headings sit one step under the compact
   hero headline instead of towering over it; pricing keeps two full rows. */
.section .section-title h2{font-size:20px;line-height:1.25;letter-spacing:-.01em;font-weight:700;margin:0 0 12px;text-wrap:balance}
.split h2{font-size:20px;line-height:1.25;letter-spacing:-.01em}
@media(min-width:851px){#pricing .grid{grid-template-columns:repeat(6,minmax(0,1fr))}#pricing .grid>.card{grid-column:span 2}#pricing .grid>.card:nth-child(n+4){grid-column:span 3}}
@media(max-width:600px){.section .section-title h2,.split h2{font-size:18px}}
