:root {
  color-scheme: light;
  --ice: #e3eaf3; --ice-texture: url("./ice-texture.png");
  --page-texture: var(--ice-texture);
  --bg: var(--ice); --surface: #f2f6fb; --text: #122c48; --muted: #496078;
  --line: #d4e0e7; --accent: #06647d; --accent-light: #dff3f8;
  --navy: #102c4f; --on-navy: #f1f8fc; --on-navy-muted: #c2d5e3;
  --font-body: 'Satoshi', sans-serif; --font-display: 'Cabinet Grotesk', sans-serif;
  --text-sm: clamp(.875rem, .85rem + .15vw, 1rem);
  --text-base: clamp(1rem, .96rem + .18vw, 1.125rem);
  --text-lg: clamp(1.35rem, 1.1rem + .65vw, 1.75rem);
  --text-xl: clamp(1.8rem, 1.3rem + 1.6vw, 3rem);
  --text-hero: clamp(2.5rem, 1.7rem + 3.1vw, 4.75rem);
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;
  --gutter: clamp(var(--space-5), 4vw, var(--space-16));
}
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) {
  color-scheme:dark; --page-texture:none; --bg:#0d1926; --surface:#152738; --text:#edf5fa;
  --muted:#b6c9d7; --line:#334b60; --accent:#68d3ed; --accent-light:#163c4a;
} }
:root[data-theme="dark"] {
  color-scheme:dark; --page-texture:none; --bg:#0d1926; --surface:#152738; --text:#edf5fa;
  --muted:#b6c9d7; --line:#334b60; --accent:#68d3ed; --accent-light:#163c4a;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--space-8); }
body { margin:0; background-color:var(--bg); background-image:var(--page-texture); color:var(--text); font:400 var(--text-base)/1.6 var(--font-body); overflow-wrap:anywhere; }
body, button { -webkit-font-smoothing:antialiased; }
button { font:inherit; }
a { color:inherit; text-underline-offset:.25em; }
a:hover { color:var(--accent); }
button, summary { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin:0; }
h1,h2 { font-family:var(--font-display); line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
h1 { font-size:var(--text-hero); font-weight:800; }
h2 { font-size:var(--text-xl); font-weight:700; }
h3 { font-size:var(--text-lg); line-height:1.3; }
p { color:var(--muted); }
p + p { margin-top:var(--space-4); }
:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
[hidden] { display:none!important; }
.skip-link { position:fixed; z-index:20; left:var(--space-4); top:-100px; padding:var(--space-3); background:var(--surface); }
.skip-link:focus { top:var(--space-4); }
.site-header {
  /* A consistent light brand surface, independent of the page's theme. */
  color-scheme:light; --surface:#f2f6fb; --text:#122c48; --muted:#496078;
  --line:#d4e0e7; --accent:#06647d; --accent-light:#dff3f8;
  background-color:var(--ice); background-image:var(--ice-texture); color:var(--text);
  display:flex; align-items:center; gap:var(--space-8);
  padding:var(--space-5) max(var(--gutter),calc((100% - 1440px)/2 + var(--gutter)));
  border-bottom:1px solid var(--line);
}
.brand { display:block; width:230px; max-width:100%; flex-shrink:0; text-decoration:none; }
.brand-lockup { position:relative; display:block; width:100%; aspect-ratio:500/230; overflow:hidden; }
.brand-lockup img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.brand-ice { background-color:var(--ice); background-image:var(--ice-texture); }
.footer-brand .brand-ice { border-radius:8px; }
.desktop-nav { display:flex; align-items:center; gap:var(--space-6); margin-left:auto; order:1; }
.desktop-nav a, .header-actions a { text-decoration:none; font-size:var(--text-sm); font-weight:700; min-height:44px; display:inline-flex; align-items:center; }
[aria-current="page"] { color:var(--accent); text-decoration:underline!important; text-underline-offset:8px; }
.header-actions { display:flex; align-items:center; gap:var(--space-4); order:2; }
.language-link { min-width:44px; justify-content:center; }
.login-link { order:3; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:var(--space-2) var(--space-4); border-radius:6px; background:var(--navy); color:var(--on-navy); font-size:var(--text-sm); font-weight:700; text-decoration:none; white-space:nowrap; }
.login-link:hover { background:#174366; color:white; }
.theme-toggle { width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--text); background:var(--surface); font-size:var(--text-lg); line-height:1; }
.mobile-menu { display:none; }
main { max-width:1440px; margin:auto; padding-inline:var(--gutter); }
main section, main article, main section>div { min-width:0; }
.hero { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(var(--space-8),5vw,var(--space-20)); align-items:center; padding-block:clamp(var(--space-12),6vw,var(--space-24)); }
.eyebrow { color:var(--accent); font-weight:900; font-size:var(--text-sm); letter-spacing:.1em; margin-bottom:var(--space-5); }
.hero h1 { margin-bottom:var(--space-6); }
.lead { max-width:65ch; margin-top:var(--space-6); }
.actions { display:flex; align-items:center; gap:var(--space-6); flex-wrap:wrap; margin-block:var(--space-8) var(--space-5); }
.button { display:inline-flex; max-width:100%; min-height:48px; align-items:center; justify-content:center; text-align:center; padding:var(--space-3) var(--space-5); border-radius:6px; font-weight:700; font-size:var(--text-sm); text-decoration:none; border:1px solid transparent; }
.primary { background:var(--navy); color:var(--on-navy); border-color:var(--navy); }
.primary:hover { background:#174366; color:white; }
.secondary { background:var(--surface); border-color:var(--line); color:var(--text); }
.secondary:hover { border-color:var(--accent); }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-weight:700; font-size:var(--text-sm); }
.fine { font-size:var(--text-sm); line-height:1.6; }
.playbook { border:1px solid var(--line); background:var(--surface); border-radius:12px; overflow:hidden; }
.playbook img { width:100%; }
.playbook-body { padding:var(--space-6) var(--space-8) var(--space-8); }
.playbook h2 { font-size:var(--text-lg); margin-bottom:var(--space-2); }
.playbook ol { list-style:none; padding:0; margin:var(--space-6) 0 0; }
.playbook li { display:flex; gap:var(--space-4); padding-block:var(--space-4); border-top:1px solid var(--line); }
.playbook li:last-child { padding-bottom:0; }
.playbook h3 { font-size:var(--text-base); margin-bottom:var(--space-1); }
.playbook p { font-size:var(--text-sm); }
.step-number { color:var(--accent); font-weight:700; font-size:var(--text-sm); padding-top:var(--space-1); }
.hero-rink { display:block; position:relative; margin-top:var(--space-6); background:#050f1f; color:#e9f2f6; border-radius:14px; overflow:hidden; padding:0; }
.hero-rink .hero-copy { position:relative; z-index:2; max-width:none; padding:clamp(32px,5vw,72px) clamp(20px,5vw,72px) 0; }
.hero-rink h1 { color:#e9f2f6; font-size:clamp(2.5rem,1.6rem + 3.4vw,4.5rem); }
@media(min-width:900px) { .hero-rink h1 br:first-of-type { display:none; } .hero-rink h1 { font-size:clamp(2.5rem,1rem + 4vw,4.75rem); } .hero-rink .hero-copy { padding-top:clamp(40px,4vw,64px); } }
.hero-rink .eyebrow { color:#1bb4da; }
.hero-rink .lead { color:var(--on-navy-muted); max-width:58ch; }
.hero-rink .fine { color:#9fb6c8; }
.hero-rink .primary { background:#1bb4da; border-color:#1bb4da; color:#050f1f; }
.hero-rink .primary:hover { background:#4cc9e8; color:#050f1f; }
.hero-rink .text-link { color:#e9f2f6; }
.hero-art { margin:calc(-1 * clamp(16px,5vw,80px)) 0 0; position:relative; z-index:1; }
.hero-art img { display:block; width:100%; height:auto; -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%); mask-image:linear-gradient(to bottom,transparent 0,#000 30%); }
.home-playbook { max-width:760px; margin:var(--space-12) auto var(--space-12); }
.trust-strip { list-style:none; display:flex; justify-content:space-between; gap:var(--space-4); margin:0; padding:var(--space-6) 0; border-block:1px solid var(--line); font-size:var(--text-sm); font-weight:700; }
.overview { display:grid; grid-template-columns:1fr 1.1fr; gap:var(--space-20); padding-block:var(--space-24); }
.overview h2 { margin-bottom:var(--space-6); }
.editorial-links article { position:relative; padding:var(--space-6) var(--space-8) var(--space-6) 0; border-bottom:1px solid var(--line); }
.editorial-links article:first-child { padding-top:0; }
.editorial-links h3 { margin-bottom:var(--space-2); }
.editorial-links h3 a { text-decoration:none; }
.editorial-links article>span { position:absolute; right:0; top:var(--space-6); color:var(--accent); }
.editorial-links article:first-child>span { top:0; }
.edge-feature { position:relative; background:var(--navy); color:var(--on-navy); padding:var(--space-12); border-radius:10px; display:grid; grid-template-columns:1.4fr 1fr; column-gap:var(--space-12); }
.edge-feature>.eyebrow { grid-column:1/-1; color:#80d8eb; }
.edge-feature h2 { margin-bottom:var(--space-6); }
.edge-feature p { color:var(--on-navy-muted); }
.edge-feature .button { margin-block:var(--space-6); background:white; color:#102c4f; }
.edge-word { display:flex; flex-direction:column; justify-content:center; align-items:center; font:800 var(--text-hero)/.95 var(--font-display); letter-spacing:-.05em; }
.edge-word span { font:700 var(--text-sm)/1.5 var(--font-body); letter-spacing:.3em; margin-top:var(--space-4); }

@property --radar-angle { syntax:"<angle>"; inherits:false; initial-value:0deg; }
.radar-mark { --neon:137,207,240; display:block; width:10rem; height:4.25rem; margin-bottom:var(--space-6); border-radius:9999px;
  background:conic-gradient(from var(--radar-angle) at 50% 50%, transparent 0deg, transparent 240deg, rgba(var(--neon),.55) 330deg, rgba(40,170,230,.95) 360deg), #f1f8fc;
  box-shadow:0 0 0 3px rgb(var(--neon)), 0 0 18px 2px rgb(var(--neon)), inset 0 0 12px rgba(var(--neon),.6); animation:radar-turn 2.4s linear infinite, radar-neon 1.6s ease-in-out infinite; }
@keyframes radar-turn { to { --radar-angle:360deg; } }
@keyframes radar-neon { 0%,100% { box-shadow:0 0 0 3px rgba(var(--neon),.7), 0 0 8px 0 rgba(var(--neon),.5), inset 0 0 6px rgba(var(--neon),.3); } 50% { box-shadow:0 0 0 3px rgb(var(--neon)), 0 0 26px 6px rgb(var(--neon)), inset 0 0 14px rgba(var(--neon),.8); } }
@media (prefers-reduced-motion: reduce) { .radar-mark { animation:none; } }
.closing { display:flex; align-items:center; justify-content:space-between; gap:var(--space-8); padding-block:var(--space-20); }
.closing h2 { margin-bottom:var(--space-4); }
.closing .button { flex-shrink:0; }
.page-intro { max-width:950px; padding-block:var(--space-16) var(--space-12); }
.page-intro h1 { font-size:clamp(2.3rem,1.5rem + 2.6vw,4rem); }
.section-nav { display:flex; flex-wrap:wrap; gap:var(--space-6); padding-bottom:var(--space-8); }
.section-nav a { min-height:44px; display:inline-flex; align-items:center; font-weight:700; }
.feature-row { display:grid; grid-template-columns:.16fr 1fr .9fr; gap:var(--space-8); padding-block:var(--space-12); border-top:1px solid var(--line); scroll-margin-top:var(--space-8); }
.feature-index { font-size:var(--text-xl); font-family:var(--font-display); color:var(--accent); }
.feature-row h2 { font-size:var(--text-xl); margin-bottom:var(--space-5); }
.feature-row ul { margin:var(--space-10) 0 0; padding-left:var(--space-5); }
.feature-row li { padding-bottom:var(--space-4); color:var(--muted); }
.feature-row li::marker { color:var(--accent); }
.plans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-4); }
.plan { display:flex; flex-direction:column; padding:var(--space-6); background:var(--surface); border:1px solid var(--line); border-radius:8px; min-width:0; }
.plan.featured { border:2px solid var(--accent); }
.plan-label { min-height:3em; font-size:var(--text-sm); font-weight:900; color:var(--accent); letter-spacing:.03em; }
.plan h2 { font-size:var(--text-lg); margin-bottom:var(--space-5); }
.plan-price { font-size:var(--text-xl); font-weight:900; font-family:var(--font-display); color:var(--text); line-height:1.15; }
.plan-price.trial-price { font-size:var(--text-lg); min-height:2.7em; }
.usd-price { margin-top:var(--space-1); font-weight:700; }
.plan-unit { min-height:3.3em; margin-top:var(--space-3); font-size:var(--text-sm); }
.plan-limits { font-size:var(--text-sm); color:var(--text); font-weight:700; border-top:1px solid var(--line); padding-top:var(--space-4); }
.plan ul { padding-left:var(--space-4); margin-block:var(--space-5) var(--space-8); font-size:var(--text-sm); }
.plan li { margin-bottom:var(--space-3); }
.plan .button { margin-top:auto; }
.currency-note { margin-top:var(--space-6); }
.trial-terms { display:grid; grid-template-columns:1fr 2.5fr; gap:var(--space-8); margin-block:var(--space-10); padding:var(--space-8); background:var(--accent-light); border-radius:8px; }
.trial-terms h2 { font-size:var(--text-lg); }
.addons { padding-top:var(--space-8); }
.addon-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); margin-block:var(--space-8) var(--space-5); }
.addon-grid article { padding:var(--space-8); border:1px solid var(--line); border-radius:8px; }
.addon-price { color:var(--text); font-size:var(--text-lg); font-weight:700; margin-top:var(--space-4); }
.addon-price span { color:var(--muted); font-size:var(--text-base); }
.addon-grid .text-link { margin-top:var(--space-4); }
.faq-list { max-width:1050px; }
.faq-list details { border-top:1px solid var(--line); padding:var(--space-6) 0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); list-style:none; min-height:44px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list h2 { font:700 var(--text-lg)/1.35 var(--font-body); letter-spacing:0; }
.faq-list summary>span { font-size:var(--text-lg); color:var(--accent); }
.faq-list details[open] summary>span { transform:rotate(45deg); }
.faq-list details>p { margin-top:var(--space-5); max-width:85ch; }
.site-footer { padding:var(--space-12) var(--gutter) var(--space-6); background:var(--surface); border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); }
.footer-brand { margin-bottom:var(--space-5); }
.support-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.site-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; align-content:flex-start; gap:var(--space-4) var(--space-6); }
.site-footer nav a { min-height:44px; font-size:var(--text-sm); display:inline-flex; align-items:center; }
.credit { grid-column:1/-1; font-size:var(--text-sm); padding-top:var(--space-5); border-top:1px solid var(--line); }
@media(min-width:1500px) { .site-footer { padding-inline:max(var(--gutter),calc((100vw - 1312px)/2)); } }
@media(max-width:1100px) { .plans { grid-template-columns:repeat(2,minmax(0,1fr)); } .site-header { gap:var(--space-4); } .desktop-nav { gap:var(--space-4); } .hero { gap:var(--space-8); } .overview { gap:var(--space-10); } }
@media(max-width:900px) {
  .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-2) var(--space-3); padding-block:var(--space-3); }
  .site-header .brand { grid-column:1; grid-row:1; width:180px; }
  .site-header .login-link { grid-column:2; grid-row:1; justify-self:end; }
  .desktop-nav { display:none; }
  .header-actions { grid-column:2; grid-row:2; align-self:start; justify-self:end; gap:var(--space-1); position:relative; z-index:1; }
  .mobile-menu { display:block; grid-column:1/-1; grid-row:2; min-width:0; }
  .mobile-menu summary { min-height:44px; width:max-content; padding:var(--space-2) var(--space-3); font-size:var(--text-sm); font-weight:700; display:flex; align-items:center; gap:var(--space-2); list-style:none; border:1px solid var(--line); border-radius:6px; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary::before { content:"☰"; }
  .mobile-menu[open] summary::before { content:"×"; }
  .mobile-menu nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); padding-top:var(--space-3); }
  .mobile-menu nav a { min-height:44px; display:inline-flex; align-items:center; padding-right:var(--space-3); }
  .hero { grid-template-columns:1fr; } .hero-copy { max-width:720px; } .playbook { max-width:700px; }
  .overview { grid-template-columns:1fr; padding-block:var(--space-16); }
  .feature-row { grid-template-columns:.12fr 1fr; } .feature-row ul { grid-column:2; margin-top:0; }
  .closing { flex-direction:column; align-items:flex-start; }
  .edge-feature { padding:var(--space-8); } .edge-word { display:none; } .edge-feature>div { grid-column:1/-1; }
}
@media(max-width:520px) {
  .site-header .brand { width:160px; }
  .site-header .login-link { padding-inline:var(--space-3); }
  .theme-toggle { width:44px; } .site-header { column-gap:var(--space-2); }
  .hero { padding-top:var(--space-8); } .hero h1 { font-size:clamp(2.5rem,10vw,3.5rem); }
  .playbook-body { padding:var(--space-6); } .trust-strip { flex-direction:column; gap:var(--space-2); }
  .plans { grid-template-columns:1fr; } .plan-label,.plan-unit { min-height:0; } .plan-label { margin-bottom:var(--space-3); }
  .plan-price.trial-price { min-height:0; } .plan h2 { margin-top:var(--space-3); }
  .trial-terms,.addon-grid { grid-template-columns:1fr; } .trial-terms,.addon-grid article { padding:var(--space-6); }
  .feature-row { grid-template-columns:1fr; } .feature-row ul { grid-column:1; }
  .feature-index { display:none; } .page-intro { padding-top:var(--space-10); }
  .site-footer { grid-template-columns:1fr; } .site-footer nav { justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; animation:none!important; } }

/* Dark theme only: the featured plan button and the trial callout use the Radar baby blue and brand navy. */
:root[data-theme="dark"] .plan.featured .button.primary { background:#89cff0; border-color:#89cff0; color:#0a2f63; }
:root[data-theme="dark"] .plan.featured .button.primary:hover { background:#b4e2f7; border-color:#b4e2f7; color:#0a2f63; }
:root[data-theme="dark"] .trial-terms { background:var(--navy); border-left:4px solid #89cff0; }
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) .plan.featured .button.primary { background:#89cff0; border-color:#89cff0; color:#0a2f63; }
  :root:not([data-theme="light"]) .plan.featured .button.primary:hover { background:#b4e2f7; border-color:#b4e2f7; color:#0a2f63; }
  :root:not([data-theme="light"]) .trial-terms { background:var(--navy); border-left:4px solid #89cff0; }
}
