/* CRS Glass: the signature look. Same navy and blue, now with frosted glass tiles floating over a glowing light field.
   Loaded after each page's own styles, so it only restyles; content and behaviour are untouched. */
:root {
  --display: "Geist", "Segoe UI", Arial, sans-serif;
  --body: "Geist", "Segoe UI", Arial, sans-serif;
  --mono: "Geist Mono", ui-monospace, Consolas, monospace;
  --serif: "Instrument Serif", Georgia, "Times New Roman", serif;
  --navy: #070F22;
  --glass: rgba(148, 170, 230, .07);
  --glass-2: rgba(148, 170, 230, .11);
  --glass-in: rgba(5, 11, 26, .42);
  --glass-line: rgba(190, 208, 255, .14);
  --glass-hi: rgba(255, 255, 255, .16);
  --blur: blur(22px) saturate(150%);
  --r: 22px;
}
body { background: var(--navy); font-size: 16.5px; letter-spacing: -0.006em; }
h1, h2, h3 { font-weight: 600; letter-spacing: -0.035em; }
h3 { letter-spacing: -0.02em; }
h1 span, h2 em, h1 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -0.01em; }
h2 em { font-size: 1.1em; line-height: .9; color: #DCE6FF; }
.hero h1 span, .pitch h1 span { font-size: 1.08em; line-height: .95; background: linear-gradient(100deg, #FFFFFF 10%, #B9CBFF 55%, var(--blue-hi)); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .06em; }
.lead { color: #AEBBD8; }

/* ambient light behind the whole page, and the hero light field (built by glow.js) */
.ambient { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.ambient i { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .55; animation: drift 26s ease-in-out infinite alternate; }
.ambient i:nth-child(1) { width: 60vmax; height: 60vmax; left: -22vmax; top: 30vh; background: radial-gradient(circle, rgba(61,109,255,.5), transparent 65%); }
.ambient i:nth-child(2) { width: 50vmax; height: 50vmax; right: -18vmax; top: -10vh; background: radial-gradient(circle, rgba(122,155,255,.38), transparent 65%); animation-delay: -9s; }
.ambient i:nth-child(3) { width: 40vmax; height: 40vmax; right: 10vmax; bottom: -20vmax; background: radial-gradient(circle, rgba(56,189,248,.22), transparent 65%); animation-delay: -17s; }
@keyframes drift { to { transform: translate3d(6vmax, -5vmax, 0) scale(1.12); } }
.aurora { position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: 0; pointer-events: none; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent); mask-image: linear-gradient(to bottom, #000 72%, transparent); }
.aurora.page-top { height: min(1100px, 130vh); }
.aurora svg { position: absolute; inset: -4% -4%; width: 108%; height: 108%; animation: sway 18s ease-in-out infinite alternate; transform-origin: 38% 64%; }
@keyframes sway { from { transform: rotate(-1.4deg) scale(1); } to { transform: rotate(1.2deg) scale(1.04); } }
.aurora .flow path { animation: run 7s linear infinite; }
@keyframes run { to { stroke-dashoffset: -420; } }
.dots { position: absolute; inset: 0 auto auto 0; width: 46%; height: 62%; z-index: 0; pointer-events: none; background-image: radial-gradient(rgba(190,208,255,.22) 1px, transparent 1.4px); background-size: 26px 26px; -webkit-mask-image: radial-gradient(ellipse at 20% 30%, #000, transparent 70%); mask-image: radial-gradient(ellipse at 20% 30%, #000, transparent 70%); }
.hero > .wrap, .grid, .top, .dash-sec, main, footer, section > .wrap { position: relative; z-index: 1; }
.hero { position: relative; }
.floor { display: none; }

/* the cut corners become soft rounded glass */
.cut, .frame, .frame > .in { clip-path: none !important; }
.cut { border-radius: 12px; }
.frame { background: var(--glass); padding: 0; border: 1px solid var(--glass-line); border-radius: var(--r); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  box-shadow: inset 0 1px 0 var(--glass-hi), inset 0 0 0 1px rgba(255,255,255,.02), 0 30px 70px -20px rgba(0,0,0,.6); }
.frame > .in { background: linear-gradient(180deg, rgba(255,255,255,.035), transparent 40%); border-radius: inherit; }
.frame.hi, .flow.hi, .plan.hi { background: linear-gradient(155deg, rgba(61,109,255,.62), rgba(61,109,255,.16) 70%); border-color: rgba(150,180,255,.45); }
.price.hi > .in { background: linear-gradient(170deg, rgba(61,109,255,.30), transparent 65%); }
.frame:hover { border-color: rgba(190,208,255,.24); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .frame { background: rgba(16,28,58,.92); } }
/* panels in 3D used a drop-shadow filter, which would stop the glass from seeing what is behind it */
.pnl, .screen { filter: none !important; }
/* 3D panels overlap each other and browsers do not blur inside 3D scenes, so they get a deeper smoked glass */
.pnl .frame { background: linear-gradient(160deg, rgba(30,48,96,.8), rgba(10,20,46,.84)); }
.screen.frame { background: linear-gradient(160deg, rgba(24,40,84,.62), rgba(8,16,38,.7)); }

/* buttons, pills and labels */
.btn { border-radius: 999px; font-weight: 600; letter-spacing: -0.01em; }
.btn-primary, .book .btn, #go { background: linear-gradient(180deg, #5A84FF, var(--blue)); color: #fff; filter: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 1px rgba(122,155,255,.5), 0 14px 34px -8px rgba(61,109,255,.75); }
.btn-primary:hover { filter: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 0 0 1px rgba(160,185,255,.7), 0 18px 40px -8px rgba(61,109,255,.9); }
.btn-ghost, #consent-no { background: var(--glass-2); color: var(--text); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.btn-ghost:hover { background: rgba(148,170,230,.18); }
.kicker { align-self: flex-start; font-family: var(--mono); font-size: 12.5px; font-weight: 500; letter-spacing: 0; text-transform: lowercase; color: #C4D1F0; padding: 6px 13px 6px 11px; border-radius: 999px; background: var(--glass); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); gap: 9px; }
.kicker::before { width: 6px; height: 6px; border-radius: 50%; background: var(--blue-hi); transform: none; box-shadow: 0 0 10px 1px var(--blue-hi); }
.cta .kicker { align-self: center; }
.pill, .calls span, .auto-chips span, .chips span, .stepper span, .rows em, .amh-row em, .sv .slot b { border-radius: 999px !important; }
.pill { font-family: var(--mono); font-weight: 500; font-size: 11px; letter-spacing: 0; }
.uses-h, .dash-head span, .board th, .ph small, .use-top span:last-child, .case-body .who, .offer .n, .step .k { font-family: var(--mono); font-weight: 500; letter-spacing: 0; }
.uses-h { text-transform: lowercase; font-size: 12.5px; }

/* nav */
.nav { background: rgba(7,15,34,.42); border-bottom: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); }
.nav-links a:not(.btn) { font-family: var(--body); font-weight: 500; font-size: 15px; }
.switch { border-radius: 999px; background: var(--glass); box-shadow: inset 0 0 0 1px var(--glass-line); }
.switch a { border-radius: 999px; font-family: var(--body); font-weight: 500; }
.switch a[aria-current="page"] { background: linear-gradient(180deg, #5A84FF, var(--blue)); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.top { border-bottom: 1px solid var(--glass-line); background: rgba(7,15,34,.35); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); position: relative; z-index: 2; }

/* inner tiles: darker glass wells inside the glass cards */
.rooms .room, .stat3 > div, .job, .board, .steps-list li, .sv .slot, .day, .time, .opts button, .mods div, .kpis div, .term .in, .faq details,
.fields input, .fields select, .fields textarea, input, textarea, select { background: var(--glass-in); border-radius: 12px; }
.steps-list li { clip-path: none !important; border: 1px solid rgba(190,208,255,.08); }
.steps-list.auto li:first-child { background: rgba(61,109,255,.28); }
.fields input, .fields select, .fields textarea { clip-path: none !important; border: 1px solid var(--glass-line); }
input, textarea, select { border: 1px solid var(--glass-line); }
input:focus, textarea:focus, select:focus, .fields input:focus, .fields select:focus, .fields textarea:focus { background: rgba(5,11,26,.6); border-color: var(--blue-hi); outline: none; box-shadow: 0 0 0 4px rgba(61,109,255,.22); }
.mods div { background: rgba(148,170,230,.10); }
.board { border: 1px solid var(--glass-line); }
.bar .t { border-radius: 99px; background: rgba(5,11,26,.5); overflow: hidden; } .bar .t i { border-radius: 99px; }
.tab { border-radius: 16px; background: var(--glass); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); font-family: var(--body); font-weight: 600; letter-spacing: -0.015em; }
.tab[aria-selected="true"] { background: linear-gradient(155deg, rgba(61,109,255,.85), rgba(61,109,255,.35)); border-color: rgba(150,180,255,.5); }
.tab-you { background: rgba(148,170,230,.12); }
.node { border-radius: 14px; background: linear-gradient(180deg, #5A84FF, var(--blue)); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 0 24px rgba(61,109,255,.55); }
.lever .n, .kpi .big, .stat3 b, .kpis b, .count, .sv .big, .price .amt, .rooms .room b { font-family: var(--body); font-weight: 600; letter-spacing: -0.04em; }
.lever .n { background: linear-gradient(180deg, #fff, var(--blue-hi)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ticker { background: rgba(148,170,230,.05); border-block: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); position: relative; z-index: 1; }
.track span { font-family: var(--body); font-weight: 500; }
.track span::after { border-radius: 50%; width: 6px; height: 6px; transform: none; background: var(--blue-hi); box-shadow: 0 0 10px var(--blue-hi); }
.faq details { border: 1px solid var(--glass-line); background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-radius: 18px; }
.faq summary { font-family: var(--body); font-weight: 600; letter-spacing: -0.015em; }
.term .in { background: linear-gradient(180deg, rgba(255,255,255,.035), transparent 40%); }

/* sections no longer paint their own solid backgrounds, so the light shows through */
#watch, .book, .cta, #displays, #pricing { background: transparent !important; }
.book, .cta, footer { border-top-color: var(--glass-line); }
.cta { background: radial-gradient(ellipse at 50% 0%, rgba(61,109,255,.28), transparent 60%) !important; }
.phone { background: linear-gradient(160deg, rgba(190,208,255,.35), rgba(190,208,255,.08)); box-shadow: 0 40px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(190,208,255,.18), 0 0 80px rgba(61,109,255,.25); }
.play span { background: linear-gradient(180deg, #5A84FF, var(--blue)); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 10px rgba(61,109,255,.18), 0 14px 34px rgba(61,109,255,.6); }

/* AMH and case-study bits */
.case-photo figcaption { border-radius: 14px; background: rgba(7,15,34,.55); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.case-photo .in > img { border-radius: inherit; }
.amh-board { background: rgba(10,14,28,.55); border: 1px solid var(--glass-line); border-radius: 18px; -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.amh-row { border-radius: 10px; }

/* marketing page */
.badge { border-radius: 999px; background: rgba(13,26,51,.55); border: 1px solid var(--glass-line); box-shadow: 0 20px 40px rgba(0,0,0,.45); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); font-family: var(--mono); font-weight: 500; font-size: 12.5px; }
.feat .ic { border-radius: 12px; border: 1px solid rgba(122,155,255,.3); }
.walk-vis { border-radius: var(--r); box-shadow: 0 40px 80px rgba(0,0,0,.5), 0 0 0 1px var(--glass-line); }
.walk-vis .room b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 30px; letter-spacing: 0; }
.thumbs img { border-radius: 12px; }
.sub { border-radius: 14px; }
.sv .bars i { border-radius: 8px 8px 3px 3px; }
.walk-list div::before, .price li::before, .book-copy li::before { border-radius: 50%; transform: none; width: 7px; height: 7px; background: var(--blue-hi); box-shadow: 0 0 8px var(--blue-hi); }

/* booking landing page */
.cost { border-radius: 16px; background: rgba(251,191,36,.07); box-shadow: none; border: 1px solid rgba(251,191,36,.28); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.card .in { background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 30%); }
.day, .time { border: 1px solid var(--glass-line); box-shadow: none; }
.day[aria-pressed="true"] { background: linear-gradient(180deg, #5A84FF, var(--blue)); border-color: rgba(150,180,255,.6); }
.time[aria-pressed="true"] { background: var(--good); border-color: transparent; }
.done .tick { border-radius: 50%; box-shadow: 0 0 0 10px rgba(52,211,153,.15), 0 0 40px rgba(52,211,153,.5); }
.dash { background: var(--glass); color: var(--text); border: 1px solid var(--glass-line); border-radius: var(--r); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: inset 0 1px 0 var(--glass-hi), 0 30px 70px -20px rgba(0,0,0,.6); }
.dash-bar { background: rgba(255,255,255,.03); border-bottom: 1px solid var(--glass-line); font-family: var(--body); }
.dash-bar i { box-shadow: 0 0 10px var(--blue-hi); background: var(--blue-hi); }
.dash-bar small { font-family: var(--mono); color: #8E9BBB; }
.dash .kpis div, .rows div, .ring, .dash .bars { background: var(--glass-in); box-shadow: none; border: 1px solid rgba(190,208,255,.09); }
.dash .kpis span, .ring p { color: #93A1C2; }
.ring b { color: var(--text); }
.ring circle:first-child { stroke: rgba(190,208,255,.14); }
.dash .bars i { background: rgba(122,155,255,.35); } .dash .bars i:last-child { background: linear-gradient(180deg, var(--blue-hi), var(--blue)); box-shadow: 0 0 16px rgba(61,109,255,.6); }
.ok { background: rgba(52,211,153,.15); color: #6EE7B7; } .blue { background: rgba(61,109,255,.22); color: #A9BEFF; } .amber { background: rgba(251,191,36,.14); color: #FCD34D; }
.dash .auto { background: rgba(61,109,255,.16); color: #B6C8FF; border: 1px solid rgba(122,155,255,.22); }
.dash-cap { color: #9AA8C7; } .dash-cap b { color: var(--text); }

/* cookie bar */
.consent .in { border-radius: 18px; }
.consent.frame { border-radius: 18px; }
#consent-yes { background: linear-gradient(180deg, #5A84FF, var(--blue)); border-radius: 999px; }
#consent-no { border-radius: 999px; }
.consent:not(.frame) { background: rgba(7,15,34,.7); border-top: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }

/* phones: lighter blur keeps scrolling smooth */
@media (max-width: 760px) { :root { --blur: blur(14px) saturate(140%); } .aurora .flow { display: none; } .dots { width: 90%; } }
@media (prefers-reduced-motion: reduce) { .aurora svg, .ambient i, .aurora .flow path { animation: none !important; } }

/* each section gets its own pool of light, so the glass always has something to frost */
main > section:not(.hero), body > section, .dash-sec { overflow-x: clip; }
main > section:not(.hero)::before, .dash-sec::before { content: ""; position: absolute; z-index: 0; pointer-events: none; width: min(70vw, 900px); aspect-ratio: 1; top: 50%; left: -12%; transform: translateY(-50%); border-radius: 50%;
  background: radial-gradient(circle, rgba(61,109,255,.26), rgba(61,109,255,.08) 38%, transparent 64%); }
main > section:not(.hero):nth-of-type(even)::before { left: auto; right: -14%; background: radial-gradient(circle, rgba(122,155,255,.22), rgba(56,189,248,.06) 40%, transparent 64%); }
main > section:not(.hero):nth-of-type(3n)::before { left: 30%; top: 60%; }

/* marketing booking form */
h3 em { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 1.12em; color: #DCE6FF; }
.mbook .kicker { align-self: flex-start; }
.mbook input, .mbook textarea { background: var(--glass-in); border: 1px solid var(--glass-line); border-radius: 12px; }
.svc button { background: var(--glass-in); border: 1px solid var(--glass-line); border-radius: 999px; }
.svc button[aria-pressed="true"] { background: linear-gradient(180deg, #5A84FF, var(--blue)); border-color: rgba(150,180,255,.6); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.mbook .scarce i { box-shadow: 0 0 10px var(--warn); }
.mbook .done .tick { border-radius: 50%; }
.cta { text-align: left; }
.mbook .day, .mbook .time { background: var(--glass-in); border: 1px solid var(--glass-line); border-radius: 12px; }
.mbook .day[aria-pressed="true"] { background: linear-gradient(180deg, #5A84FF, var(--blue)); border-color: rgba(150,180,255,.6); }
.mbook .time[aria-pressed="true"] { background: var(--good); border-color: transparent; }
.mbook-copy li::before { border-radius: 50%; transform: none; width: 7px; height: 7px; background: var(--blue-hi); box-shadow: 0 0 8px var(--blue-hi); }
.callflow span { background: var(--glass-in); border: 1px solid var(--glass-line); }
.callflow span.on { background: linear-gradient(180deg, #5A84FF, var(--blue)); border-color: rgba(150,180,255,.6); box-shadow: 0 0 24px rgba(61,109,255,.5); }
.price .amt small { letter-spacing: -0.01em; margin-left: 4px; }
