:root{color-scheme:dark;--bg:#202226;--deep:#1b1d20;--ivory:#f6f2ec;--muted:#c4c2bd;--line:#45474d;--sand:#d8cbb5;--mono:ui-monospace,Consolas,monospace}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ivory);font:16px/1.6 "Inter","Aptos","Segoe UI",system-ui,sans-serif}
h1,h2,h3,p,figure{margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--sand);outline-offset:5px}
a:hover{text-decoration:underline;text-underline-offset:.24em}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.skip{position:fixed;top:12px;left:12px;transform:translateY(-200%);z-index:10;padding:10px 16px;background:var(--ivory);color:var(--deep)}
.skip:focus{transform:none}
.header{background:var(--deep);border-bottom:1px solid var(--line)}
.nav-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:82px}
.brand{display:inline-flex;width:max-content}
.brand img{display:block;width:154px;height:auto}
.foot .brand img{width:132px}
nav{display:flex;gap:32px;color:var(--muted);font-size:.91rem}
nav a{padding:10px 0}
.nav-cta{justify-self:end}
.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:15px;padding:10px 17px;border:1px solid transparent;border-radius:4px;font-size:.9rem;font-weight:700}
.button:hover{text-decoration:none}
.primary{background:var(--ivory);color:#242629}
.primary:hover{background:#ded6c9}
.secondary{border-color:#62646a}
.secondary:hover{background:#37393e}
.hero{padding:clamp(68px,9vw,139px) 0 clamp(72px,8.6vw,132px);background:radial-gradient(ellipse at 81% 42%,#34373e 0%,transparent 56%),var(--bg)}
.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:clamp(36px,5vw,84px)}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--sand);font: .73rem/1.5 var(--mono);letter-spacing:.15em;margin-bottom:17px}
.eyebrow span{width:15px;height:1px;background:currentColor}
h1,h2{font-weight:650;letter-spacing:-.053em;line-height:1.04;text-wrap:balance}
h1{font-size:clamp(3rem,5.45vw,5.45rem)}
h2{font-size:clamp(2.4rem,4.1vw,4.15rem)}
h3{font-size:1.22rem;line-height:1.25;letter-spacing:-.022em}
.intro{max-width:49ch;color:var(--muted);font-size:clamp(1rem,1.35vw,1.14rem);margin-top:25px}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:29px}
.console{min-width:0;background:#24262b;border:1px solid #5a5b61;border-radius:10px;box-shadow:0 25px 65px #10111480;overflow:hidden}
.console-top{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:13px 14px;border-bottom:1px solid var(--line);font:.61rem/1.35 var(--mono);letter-spacing:.075em}
.lights{display:flex;gap:4px}
.lights i{width:5px;height:5px;border-radius:50%;background:#98989a}
.demo{color:#e1d7c6;border:1px solid #66645f;border-radius:3px;padding:4px 5px;text-align:center}
.console-body{padding:14px;display:grid;gap:10px}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.panel{padding:11px;background:#2c2e34;border:1px solid #494c53;border-radius:5px}
.metric-grid .panel{display:flex;flex-direction:column}
.metric-grid span,.months{font:.62rem/1.35 var(--mono);color:#dbd6ce}
.metric-grid span{min-height:2.7em}
.metric-grid strong{font-size:1.62rem;line-height:1.2;margin:2px 0 4px}
.console small{color:#ccc9c2;font-size:.69rem;line-height:1.25}
.chart-head,.months{display:flex;justify-content:space-between;align-items:center;gap:8px}
.chart-head strong{font-size:.85rem}
.chart svg{display:block;width:100%;height:auto;margin:10px 0 3px}
.flow{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#d9d6cf;font:.63rem/1.4 var(--mono)}
.flow span{padding:5px 7px;border:1px solid var(--line);border-radius:3px}
.flow b{color:#c5b99e}
figcaption{padding:8px 14px;border-top:1px solid var(--line);font-size:.73rem;color:var(--muted)}
.section{padding:clamp(64px,8vw,112px) 0;border-top:1px solid var(--line)}
.services{background:#242629}
.section-head,.contact-grid{display:grid;grid-template-columns:1.1fr .65fr;align-items:end;gap:36px}
.section-head p:last-child,.contact-grid p:not(.eyebrow){color:var(--muted);max-width:45ch}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{padding:clamp(19px,2.65vw,38px);border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.index{font:.75rem var(--mono);color:var(--sand);display:block;margin-bottom:21px}
.service-grid p,.steps p{margin-top:9px;color:var(--muted);font-size:.95rem}
.approach{background:#202226}
.steps{margin:36px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.steps li{padding:24px 24px 0 0}
.steps li+li{padding-left:24px;border-left:1px solid var(--line)}
.contact{background:#2c2f35}
.contact-grid{align-items:center}
footer{background:var(--deep);border-top:1px solid var(--line)}
.foot{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:14px;color:var(--muted);font-size:.84rem}
.foot .brand{color:var(--ivory)}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.hero-grid{gap:33px}.console-body{padding:11px}.panel{padding:9px}}
@media(max-width:830px){.hero-grid{grid-template-columns:1fr}.console{width:min(100%,600px)}.section-head,.contact-grid{grid-template-columns:1fr;gap:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);row-gap:24px}.steps li:nth-child(3){padding-left:0;border-left:0}.steps li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.nav-bar{grid-template-columns:1fr auto;gap:8px 12px;padding-top:12px}.nav-bar nav{grid-row:2;grid-column:1/-1;gap:24px}.nav-cta{grid-row:1;grid-column:2;font-size:.8rem;padding-inline:9px;gap:6px}.hero{padding-top:54px}.brand img{width:128px}.brand img{width:29px;height:29px}h1{font-size:clamp(2.65rem,9.7vw,3.85rem)}.console-top{font-size:.54rem;padding:10px 9px}.metric-grid{gap:5px}.metric-grid span,.flow{font-size:.56rem}.console-body{padding:8px}.panel{padding:7px}.flow span{padding:4px}.steps li{padding-right:12px}.steps li+li{padding-left:12px}}
@media(max-width:420px){.service-grid{grid-template-columns:1fr}.flow{flex-wrap:wrap}}

.scheduler{max-width:1080px;margin-inline:auto;background:#25272c;border:1px solid #55575d;border-radius:12px;overflow:hidden}
.scheduler-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px clamp(12px,3vw,24px);border-bottom:1px solid var(--line);font: .7rem var(--mono);letter-spacing:.08em}
.scheduler-bar .demo{white-space:nowrap}
.scheduler-body{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,2.4fr)}
.scheduler-summary,.booking{padding:clamp(16px,3vw,32px)}
.scheduler-summary{border-right:1px solid var(--line);background:var(--deep)}
.scheduler-summary h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0}
.scheduler-summary p,.scheduler-summary dt,.booking-hint,.booking-help{color:var(--muted)}
.scheduler-summary dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin-top:24px;font-size:.85rem}
.scheduler-summary dd{margin:0}
.booking-picker{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px}
.booking fieldset{min-width:0;margin:0;padding:clamp(10px,2vw,16px);border:1px solid var(--line);border-radius:8px;background:#2b2d32}
.booking legend{padding-inline:5px;font-weight:650}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:10px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.calendar-weekdays{margin-bottom:5px;color:var(--muted);font-size:.76rem}
.booking button:not(.primary){min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--deep);color:var(--ivory);font:inherit;cursor:pointer}
.calendar-nav button{min-width:38px}
.booking .calendar-grid button:disabled{background:transparent;border-color:transparent;color:#a2a2a5;cursor:default}
.booking button:not(.primary):not(:disabled):hover{border-color:var(--ivory)}
.booking button[aria-pressed="true"]:not(.primary){background:var(--ivory);color:var(--deep);border-color:var(--ivory)}
.booking button:disabled{opacity:.65;cursor:default}
.booking-times{display:grid;gap:7px;margin-block:12px}
.booking-hint{margin:0;font-size:.85rem}
.booking-details:not([hidden]){display:grid;gap:7px;margin-top:18px}
.booking-details input{min-height:44px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--deep);color:var(--ivory);font:inherit}
.booking-details .primary{width:max-content;max-width:100%;margin-top:8px;cursor:pointer}
#booking-status:empty{margin:0}
.booking-help{max-width:1080px;margin:14px auto 0;font-size:.9rem}
@media(max-width:800px){.scheduler-body{grid-template-columns:1fr}.scheduler-summary{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:540px){.booking-picker{grid-template-columns:1fr}.booking-times{grid-template-columns:1fr 1fr}.scheduler-bar{font-size:.58rem;letter-spacing:0}}
