/* Autonomous semantic adaptation of Neuros 2.2.1. Brand assets are unchanged. */
@font-face { font-family: Manrope; src: url('./fonts/Manrope-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Manrope; src: url('./fonts/Manrope-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
:root {
  --ink:#111; --text:#333; --muted:#626262; --paper:#fff; --surface:#f0f2f4;
  --border:#d7d7d7; --focus:#087b34; --accent:#2CF96F; --accent-muted:#087a36;
  --hero:#101010; --halo:#2cf96f30; --header-shadow:#00000018;
  --header-height:78px; --gutter:24px; --radius:25px;
  font-family:Manrope,Arial,sans-serif; color:var(--text); background:var(--paper);
  font-size:16px; line-height:1.7; font-synthesis:none; color-scheme:light;
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) { --ink:#f5f5f5; --text:#ddd; --muted:#b8b8b8; --paper:#000; --surface:#101010; --border:#444; --focus:#2CF96F; --hero:#000; --halo:#2cf96f24; --header-shadow:#00000070; color-scheme:dark; }
}
:root[data-theme="dark"] { --ink:#f5f5f5; --text:#ddd; --muted:#b8b8b8; --paper:#000; --surface:#101010; --border:#444; --focus:#2CF96F; --hero:#000; --halo:#2cf96f24; --header-shadow:#00000070; color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; scroll-padding-top:calc(var(--header-height) + 32px + env(safe-area-inset-top,0px)); }
body { margin:0; }
.js body { padding-top:calc(var(--header-height) + 32px + env(safe-area-inset-top,0px)); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:not-allowed; opacity:1; }
[hidden] { display:none !important; }
::selection { background:#2CF96F; color:#111; }
:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
main:focus { outline:none; }
.hero :focus-visible,.site-footer :focus-visible,.scenario :focus-visible,.support-hero :focus-visible { outline-color:#2CF96F; }
.skip-link { position:fixed; z-index:50; top:12px; left:16px; padding:10px 18px; border-radius:8px; background:var(--paper); color:var(--ink); transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.shell { width:calc(100% - var(--gutter)*2); max-width:1600px; margin-inline:auto; }
.content-width { width:calc(100% - 120px); max-width:1220px; margin-inline:auto; }
.section { margin-block:110px; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
h1,h2 { letter-spacing:-.045em; line-height:1.15; }
h2 { font-size:clamp(2.2rem,4vw,3.5rem); }
h3 { font-size:1.35rem; letter-spacing:-.025em; line-height:1.35; }
p+p { margin-top:20px; }
p,li,dt,dd,a,button,figcaption { overflow-wrap:anywhere; }
.eyebrow { display:block; font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; line-height:1.7; }
.muted { color:var(--muted); }
.hero,.support-hero { position:relative; border:1px solid var(--border); border-radius:var(--radius); background:var(--hero); color:#ddd; padding:64px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr); gap:40px; }
.hero::before,.support-hero::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:radial-gradient(ellipse at 96% 45%,#2cf96f28,transparent 45%); }
.hero-copy,.hero-emblem,.support-hero>div { position:relative; min-width:0; }
.hero .eyebrow,.support-hero .eyebrow { color:#b8b8b8; }
.hero h1,.support-hero h1 { color:#f5f5f5; font-size:clamp(3.25rem,4.8vw,5rem); margin-block:26px; }
.hero h1 .muted { color:#a4f3be; }
.hero-description { font-size:1rem; max-width:620px; }
.product-status { font-size:.8rem; color:#bfbfbf; padding-left:16px; border-left:2px solid var(--accent); max-width:600px; margin-top:24px; }
.hero-emblem { display:flex; flex-direction:column; justify-content:center; align-items:center; align-self:center; min-height:350px; text-align:center; isolation:isolate; }
.hero-emblem>span:first-child { font-size:clamp(3.2rem,6vw,6rem); font-weight:600; color:var(--accent); letter-spacing:-.07em; }
.hero-emblem>span:nth-child(2) { color:#ddd; font-size:.85rem; }
.hero-emblem i { position:absolute; width:80%; aspect-ratio:1; max-width:330px; border:1px solid #2cf96f80; border-radius:50%; transform:rotate(-25deg) scaleY(.65); z-index:-1; box-shadow:0 0 30px #2cf96f18; }
.hero-emblem i+i { transform:rotate(42deg) scaleY(.8); }
.actions { display:flex; flex-wrap:wrap; gap:18px; margin-top:30px; }
.action { display:flex; flex-direction:column; align-items:stretch; min-width:0; max-width:100%; flex:0 1 220px; }
.button { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 20px; border-radius:999px; font-size:.875rem; line-height:1.6; font-weight:600; border:1px solid transparent; min-height:54px; min-width:0; width:100%; text-align:left; }
.button>span { min-width:0; }
.button svg,.text-link svg,.site-footer nav svg { width:20px; height:20px; flex:0 0 20px; }
.button-download { color:#333; background:#e4e4e4; border-color:#bcbcbc; }
.button-config { color:var(--ink); background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,var(--accent),var(--accent-muted)) border-box; }
.hero .button-config { color:#eee; background:linear-gradient(#101010,#101010) padding-box,linear-gradient(120deg,var(--accent),var(--accent-muted)) border-box; }
.action-status { display:block; color:var(--muted); font-size:.75rem; line-height:1.6; margin-top:8px; }
.hero .action-status { color:#bfbfbf; }
.explore-link { display:inline-flex; gap:20px; align-items:center; font-size:.85rem; margin-top:26px; padding-block:8px; }
.explore-link:hover { text-decoration:underline; text-underline-offset:5px; }
.intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; }
.intro-copy { min-width:0; }
.lead { font-size:1.15rem; font-weight:600; color:var(--ink); line-height:1.6; }
.section-context { max-width:850px; margin-block:26px 40px; color:var(--muted); }
.core-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.gko-model { padding:36px; border:1px solid #2cf96f80; border-radius:var(--radius); background:radial-gradient(ellipse at 100% 0,var(--halo),transparent 65%),var(--surface); }
.gko-model figcaption { font-size:.8rem; color:var(--muted); }
.gko-heading { font-size:3rem; font-weight:600; color:var(--ink); line-height:1.2; margin-block:30px; }
.gko-heading span { display:block; font-size:.8rem; font-weight:400; margin-top:8px; }
.gko-model ul { margin:0; padding:0; list-style:none; }
.gko-model li { display:flex; gap:16px; padding-block:14px; border-top:1px solid var(--border); font-size:.9rem; color:var(--ink); }
.gko-model li span { color:var(--muted); font-size:.7rem; }
.core-cards { display:grid; gap:16px; min-width:0; }
.pillar { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:30px; min-width:0; }
.card-index { display:block; font-size:.7rem; color:var(--muted); margin-bottom:16px; }
.pillar h3 { margin-bottom:18px; }
.pillar p { font-size:.9rem; color:var(--muted); }
.flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:30px 0 0; padding:0; list-style:none; gap:22px; }
.flow li { min-width:0; border-top:2px solid var(--accent); padding-top:20px; }
.flow li>span { font-size:.75rem; color:var(--muted); }
.flow h3 { margin-block:16px; }
.flow p { font-size:.85rem; color:var(--muted); }
.diagram-note { margin-top:30px; font-size:.8rem; color:var(--muted); }
.scenario { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px 70px; border-radius:var(--radius); background:var(--hero); color:#c7c7c7; padding:65px; border:1px solid #2cf96f50; }
.scenario>h2 { grid-column:1/-1; color:#f5f5f5; max-width:850px; }
.scenario-label { display:block; border-left:2px solid var(--accent); padding-left:16px; font-size:.8rem; margin-top:24px; }
.thresholds { display:flex; align-items:center; flex-wrap:wrap; gap:18px; font-size:3rem; line-height:1.2; color:var(--accent); margin-block:40px; }
.thresholds span:nth-child(2) { font-size:2rem; color:#aaa; }
.scenario-steps { list-style:none; margin:0; padding:0; }
.scenario-steps li { display:flex; align-items:flex-start; gap:20px; padding:24px 0; border-top:1px solid #444; }
.scenario-steps li>div { min-width:0; }
.step-number { flex:0 0 24px; font-size:.75rem; color:#bbb; }
.scenario h3 { color:#f5f5f5; margin-bottom:14px; }
.scenario-steps p { font-size:.9rem; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.maturity dl { margin:36px 0 0; }
.maturity dl>div { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:35px; padding-block:26px; border-top:1px solid var(--border); }
.maturity dt { font-weight:600; color:var(--ink); }
.maturity dd { margin:0; color:var(--muted); }
.closing { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:25px 60px; padding:60px; border-radius:var(--radius); background:radial-gradient(ellipse at 100% 100%,var(--halo),transparent 55%),var(--surface); margin-bottom:24px; }
.closing>h2 { grid-column:1/-1; }
.closing-actions { align-self:center; min-width:0; }
.closing .actions { margin:0; }
.text-link { display:inline-flex; align-items:center; gap:20px; font-size:.85rem; padding-block:8px; margin-top:20px; border-bottom:1px solid var(--muted); }
.text-link:hover { border-color:var(--focus); }
/* This right-hand lane stays free of footer targets at EVERY scroll position. */
.site-footer { border-radius:var(--radius); background:#101010; color:#c3c3c3; padding:45px max(76px,calc(env(safe-area-inset-right,0px) + 60px)) 25px 45px; margin-bottom:24px; }
.site-footer .wordmark { color:#f5f5f5; white-space:normal; flex-wrap:wrap; }
.footer-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:35px; padding-bottom:40px; }
.footer-top>p { font-size:1rem; }
.site-footer nav { display:flex; flex-direction:column; gap:10px; width:100%; min-width:0; }
.site-footer nav a { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:.85rem; padding-block:12px; min-height:44px; }
.site-footer nav a:hover { color:white; }
.footer-bottom { border-top:1px solid #444; padding-block:24px; display:flex; flex-wrap:wrap; gap:15px 30px; justify-content:space-between; font-size:.7rem; }
.footer-bottom a { text-decoration:underline; text-underline-offset:3px; }
.support-hero p { max-width:620px; font-size:1rem; }
.support-symbol { max-width:230px; width:100%; margin:auto; color:#eee; }
.support-symbol svg { width:100%; display:block; }
.release-section { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; }
.release-card,.config-card { padding:40px; border:1px solid var(--border); border-radius:var(--radius); min-width:0; }
.config-card { background:var(--surface); }
.release-card h2,.config-card h2 { font-size:2.1rem; margin-bottom:25px; }
.release-card>p,.config-card>p { font-size:.95rem; color:var(--muted); }
.config-button { margin-top:30px; }
.release-metadata { font-size:.8rem; margin-top:25px; }
.release-metadata>div { padding-block:8px; border-top:1px solid var(--border); display:flex; flex-wrap:wrap; gap:20px; }
.release-metadata dt { font-weight:600; }
.release-metadata dd { margin:0; }
.faq { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:65px; }
.faq-list { border-top:1px solid var(--border); min-width:0; }
.faq-list details { border-bottom:1px solid var(--border); }
.faq-list summary { display:flex; gap:18px; align-items:center; list-style:none; cursor:pointer; padding:23px 5px 23px 0; font-weight:600; font-size:.95rem; color:var(--ink); line-height:1.5; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-question { min-width:0; flex:1; }
.faq-index { font-size:.7rem; font-weight:400; color:var(--muted); flex:0 0 20px; }
.faq-plus { flex:0 0 20px; text-align:center; font-size:1.4rem; line-height:1; font-weight:400; transition:transform 220ms; }
.faq-list details[open] .faq-plus { transform:rotate(45deg); }
.faq-answer { padding:0 32px 25px 38px; font-size:.9rem; color:var(--muted); }
.support-bottom { border-top:1px solid var(--border); padding:50px 0 65px; }
.support-bottom>p { margin-top:26px; }
.error-page { padding-block:90px 130px; }
.error-page h1 { font-size:clamp(2.5rem,6vw,5rem); margin-block:25px; }
.error-page p { color:var(--muted); }
/* One set of controls, reparented into the mobile panel or desktop bar. */
.site-header { --float-gap:16px; display:block; padding:0; z-index:30; }
.js .site-header { position:fixed; top:env(safe-area-inset-top,0px); left:0; right:0; transition:transform 220ms ease; }
.header-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 16px; padding:12px 16px; border:1px solid transparent; border-radius:0 0 22px 22px; background:var(--paper); transition:background-color 220ms ease,border-radius 220ms ease,border-color 220ms ease,box-shadow 220ms ease; }
.site-header[data-layout="mobile"] { --float-gap:10px; }
.js .site-header.is-scrolled { transform:translateY(var(--float-gap)); }
.site-header.is-scrolled .header-bar { border-radius:999px; background:var(--surface); border-color:var(--border); box-shadow:0 8px 24px var(--header-shadow); }
.js .site-header:not([data-motion-ready]),.js .site-header:not([data-motion-ready]) .header-bar { transition:none; }
.header-brand-group { display:flex; align-items:center; min-width:0; gap:16px; }
.wordmark { display:inline-flex; align-items:center; gap:9px; color:var(--ink); font-size:1.05rem; font-weight:600; letter-spacing:-.055em; line-height:1.4; white-space:nowrap; min-width:0; }
.brand-symbol { display:block; width:42px; height:42px; flex:0 0 42px; }
.brand-symbol img { display:block; width:100%; height:100%; object-fit:contain; }
.brand-divider { height:24px; width:1px; background:#888; }
.brand-product { font-size:1rem; }
.logo-dark { display:none !important; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .logo-light { display:none; } :root:not([data-theme="light"]) .logo-dark { display:block !important; } }
:root[data-theme="dark"] .logo-light,.site-footer .logo-light { display:none; }
:root[data-theme="dark"] .logo-dark,.site-footer .logo-dark { display:block !important; }
.site-header[data-layout="mobile"] .brand-divider,.site-header[data-layout="mobile"] .brand-product { display:none; }
.site-header[data-layout="mobile"] .wordmark { white-space:normal; font-size:.95rem; }
.menu-toggle,.theme-toggle { align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:8px; border:1px solid var(--border); border-radius:999px; background:var(--paper); color:var(--ink); cursor:pointer; font-size:.8rem; line-height:1.4; }
.menu-toggle { display:none; justify-self:end; }
.js .site-header[data-layout="mobile"] .menu-toggle { display:inline-flex; }
.menu-toggle svg,.theme-toggle svg { width:18px; height:18px; flex:0 0 18px; }
.header-panel { grid-column:1/-1; min-width:0; padding:14px; border:1px solid var(--border); border-radius:20px; background:var(--paper); }
.js .site-header[data-layout="mobile"] .header-panel { position:absolute; top:calc(100% + 8px); right:0; width:min(100%,28rem); max-height:calc(100dvh - var(--header-height) - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; scroll-padding-block:12px; box-shadow:0 12px 30px var(--header-shadow); animation:site-navigation-enter 220ms ease; }
.page-navigation { display:flex; flex-direction:column; align-items:stretch; gap:8px; font-size:.875rem; }
.page-navigation a { display:block; padding:14px; min-height:44px; border-radius:12px; }
.page-navigation a[aria-current],.page-navigation a:hover { background:var(--surface); }
.header-actions { min-width:0; }
.header-panel .header-actions { margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
.site-header .actions { display:grid; grid-template-columns:1fr; margin:0; gap:18px; }
.site-header .action { width:100%; }
.site-header .button { min-height:44px; padding:10px 12px; gap:10px; font-size:.8rem; }
.site-header .action-status { font-size:.7rem; margin-top:6px; }
.header-preferences { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.header-panel .header-preferences { margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
.language-selector { display:flex; gap:0; align-items:center; padding:2px; border:1px solid var(--border); border-radius:999px; }
.language-selector a { display:grid; place-items:center; min-width:44px; min-height:44px; font-size:.75rem; padding:8px; border-radius:999px; }
.language-selector a[aria-current] { background:var(--surface); color:var(--ink); }
.theme-toggle { display:inline-flex; }
.theme-icon-sun { display:none; }
.theme-toggle[data-theme="dark"] .theme-icon-moon { display:none; }
.theme-toggle[data-theme="dark"] .theme-icon-sun { display:block; }
.site-header[data-layout="desktop"] .header-bar { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px; }
.site-header[data-layout="desktop"] .header-brand-group { grid-column:1; grid-row:1; width:max-content; }
.site-header[data-layout="desktop"] .header-panel { grid-column:2; grid-row:1; padding:0; border:0; background:transparent; width:max-content; }
.site-header[data-layout="desktop"] .page-navigation { flex-direction:row; width:max-content; font-size:.8rem; gap:8px; }
.site-header[data-layout="desktop"] .page-navigation a { padding:12px 6px; }
.site-header[data-layout="desktop"] .header-actions { grid-column:3; grid-row:1; justify-self:end; width:max-content; }
.site-header[data-layout="desktop"] .actions { grid-template-columns:repeat(2,155px); gap:10px; }
.site-header[data-layout="desktop"] .button { font-size:.75rem; }
.site-header[data-layout="desktop"] .action-status { font-size:.625rem; }
.back-to-top { position:fixed; right:max(12px,env(safe-area-inset-right,0px)); bottom:max(12px,env(safe-area-inset-bottom,0px)); z-index:20; display:grid; place-items:center; width:44px; height:44px; padding:11px; border-radius:50%; border:1px solid #087a36; background:#2CF96F; color:#111; cursor:pointer; box-shadow:0 4px 18px #00000024; animation:site-back-to-top-enter 220ms ease; }
.back-to-top svg { width:20px; height:20px; }
@keyframes site-navigation-enter { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
@keyframes site-back-to-top-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1100px) {
  .hero,.support-hero { padding:45px; gap:30px; }
  .flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pillar-grid { grid-template-columns:1fr; }
  .scenario { padding:45px; gap:32px; }
  .footer-top { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .site-footer nav { grid-column:1/-1; }
  .faq { gap:35px; }
}
@media (max-width:760px) {
  :root { --gutter:16px; }
  .content-width { width:calc(100% - 48px); }
  .section { margin-block:65px; }
  h2 { font-size:2.1rem; }
  .hero,.support-hero { grid-template-columns:minmax(0,1fr); padding:32px 24px; }
  .hero h1,.support-hero h1 { font-size:2.65rem; }
  .hero-emblem { min-height:250px; }
  .intro,.core-layout,.scenario,.closing,.release-section,.faq,.maturity dl>div { grid-template-columns:minmax(0,1fr); gap:26px; }
  .gko-model,.pillar,.release-card,.config-card { padding:26px 22px; }
  .gko-heading { font-size:2.5rem; }
  .scenario,.closing { padding:35px 24px; }
  .scenario h2 { font-size:2.1rem; }
  .scenario>h2,.closing>h2 { grid-column:1; }
  .flow { grid-template-columns:minmax(0,1fr); }
  .footer-top { grid-template-columns:minmax(0,1fr); gap:24px; }
  .site-footer { padding-left:24px; }
  .site-footer .brand-divider,.site-footer .brand-product { display:none; }
  .footer-bottom { flex-direction:column; }
  .brand-symbol { width:34px; height:34px; flex-basis:34px; }
  .header-bar { padding:12px 10px; gap:10px; }
  .faq-list summary { gap:10px; }
  .faq-answer { padding:0 8px 24px 30px; }
  .release-card h2,.config-card h2 { font-size:1.9rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }

/* A fixed return control has a reserved lane across the whole document, not
   just the footer. Its left edge is always at least 12px from page targets. */
:root { --return-inset:max(12px,env(safe-area-inset-right,0px)); --return-lane:calc(44px + var(--return-inset) + 12px); }
.page-frame { width:100%; padding-inline:clamp(16px,4vw,60px) max(clamp(16px,4vw,60px),var(--return-lane)); }
.page-frame .shell,.page-frame .content-width { width:100%; }
.page-frame .site-footer { padding-right:30px; }
.back-to-top { right:var(--return-inset); }
.menu-disclosure { display:contents; }
.site-header { position:relative; }
.menu-toggle { display:inline-flex; list-style:none; }
.menu-toggle::-webkit-details-marker { display:none; }
.menu-disclosure:not([open])>.header-panel { display:none; }
.site-header[data-layout="desktop"] .menu-toggle { display:none; }
.site-header[data-layout="mobile"] .header-panel { position:absolute; top:calc(100% + 8px); right:0; width:min(24rem,calc(100vw - 32px),100%); max-height:calc(100dvh - var(--header-height) - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); overflow:auto; overscroll-behavior:contain; }
.js .site-header[data-layout="mobile"] .header-panel { width:min(24rem,calc(100vw - 32px),100%); }
:root:not(.js) .header-panel,.js .site-header:not([data-ready]) .header-panel { max-height:calc(100dvh - max(78px,6rem) - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }
.site-header[data-layout="desktop"] .header-panel { position:static; max-height:none; overflow:visible; }
.site-header .button-download { background:var(--surface); color:var(--ink); border-color:var(--border); }
.footer-email { display:inline-block; font-weight:600; padding-block:8px; }
.phone-placeholder { font-size:.75rem; }
.contact-section>p,.privacy-page>p { margin-top:20px; }
.contact-reservation { color:var(--muted); font-size:.85rem; }
.contact-form { margin-top:28px; max-width:780px; }
.contact-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.full-width { grid-column:1/-1; min-width:0; }
.form-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.form-field label { font-weight:600; color:var(--ink); }
.form-field input,.form-field select,.form-field textarea { display:block; width:100%; min-width:0; font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:12px; }
.form-field textarea { resize:vertical; }
.field-error { color:var(--ink); font-size:.85rem; }
.form-field [aria-invalid="true"] { border-width:2px; }
.contact-submit { margin-top:22px; width:auto; max-width:100%; }
.contact-form fieldset:disabled { opacity:.7; }
.contact-form fieldset>p,.form-status { margin-top:18px; }
.contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.privacy-page { max-width:900px; }
.privacy-page h1 { font-size:clamp(2.4rem,5vw,4rem); }
[data-contact-privacy] { white-space:pre-line; margin-block:24px; }
.landing-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding-block:24px; }
.landing-header .brand-divider,.landing-header .brand-product { display:none; }
:root[data-profile="landing"] body { padding-top:0; }
:root[data-profile="landing"] .page-frame { padding-inline:clamp(16px,4vw,60px); }
.landing-content { max-width:900px; text-align:center; padding-block:50px 80px; }
.landing-symbol { width:clamp(110px,20vw,180px); height:auto; margin:0 auto 36px; }
.landing-content h1 { font-size:clamp(2.4rem,5vw,4.5rem); margin-block:22px; }
.landing-copy { max-width:660px; margin-inline:auto; font-size:1.05rem; }
.landing-content .product-status { margin-inline:auto; text-align:left; color:var(--muted); }
.landing-content .button { max-width:240px; margin:30px auto 0; }
@media(max-width:760px) { .form-grid { grid-template-columns:1fr; } .hero,.support-hero { padding:28px 18px; } .page-frame .site-footer { padding:30px 20px; } }
