body{overflow-x:hidden}.review-banner{position:relative;margin-top:var(--header);background:#222b36;color:#d4ddf8;padding:10px var(--gutter);font-size:11px;line-height:1.55}.review-banner+main{padding-top:0}.topbar nav a{white-space:nowrap}.web-feature{padding:140px var(--gutter);display:grid;grid-template-columns:1.05fr 1fr;gap:8vw;border-block:1px solid var(--line);background:linear-gradient(120deg,#12191f,#202936)}.web-feature h2{font-size:clamp(40px,4.8vw,78px)}.web-feature p:not(.eyebrow){max-width:570px;color:var(--muted);margin:30px 0}.web-feature .eyebrow{margin-bottom:25px}.web-model{align-self:center;perspective:900px}.model-search{padding:16px 20px;border:1px solid #586374;color:#c4cedf;display:flex;justify-content:space-between;font-size:11px;margin:0 0 22px 24px}.model-window{border:1px solid #586374;background:#171e27;box-shadow:10px 30px 90px #0004;padding:25px 28px;transform:rotateY(-9deg) rotateX(4deg)}.model-browser{display:flex;align-items:center;gap:5px;border-bottom:1px solid #404a58;padding-bottom:18px}.model-browser i{width:4px;height:4px;background:#8b9aad;border-radius:50%}.model-browser span{margin-left:auto;font-size:11px;color:#b0bece}.model-window p{font-size:12px;margin:25px 0 14px!important}.model-window strong{font:300 clamp(28px,3.2vw,50px)/1.08 Outfit;letter-spacing:-.035em}.model-action{display:inline-block;background:var(--accent);color:var(--on-accent);padding:11px 14px;margin-top:30px;font-size:11px}.model-flow{display:flex;align-items:center;justify-content:space-between;margin:30px 0;color:var(--muted);font-size:11px}.model-flow b{color:var(--accent);font-size:20px}.closing-location a{text-decoration:underline}.business-page{min-height:75vh}.page-opening{padding:85px var(--gutter) 70px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 95% 0,#24314660,transparent 60%)}.breadcrumb{color:var(--muted);font-size:11px}.page-opening .eyebrow{margin:42px 0 24px}.page-opening h1{font-size:clamp(48px,6vw,94px);max-width:1130px}.page-lead{font-size:17px;color:var(--muted);line-height:1.85;max-width:730px;margin-top:30px}.page-copy{max-width:1150px;padding:20px var(--gutter) 60px;margin:auto}.copy-section{padding:65px 0;border-bottom:1px solid var(--line)}.copy-section h2{font-size:clamp(28px,3.2vw,44px);max-width:820px;margin-bottom:25px;line-height:1.15}.copy-section p,.copy-section li{font-size:16px;line-height:1.9;color:#c0c7ce}.copy-section p+p{margin-top:18px}.copy-section li{padding-left:7px;margin:12px 0}.copy-section ul{padding-left:22px}.copy-section a{color:var(--accent);text-decoration:underline}.copy-section .primary{text-decoration:none;color:var(--on-accent);margin-top:24px}.copy-section details{border-top:1px solid var(--line);padding:20px 0}.copy-section summary{font-size:17px;cursor:pointer}.copy-section details p{margin-top:15px}.page-cta{padding:90px var(--gutter);border-top:1px solid var(--line);background:var(--surface)}.page-cta h2{margin:20px 0 35px}.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;padding:65px var(--gutter) 110px}.contact-layout aside{padding:30px 0;max-width:370px}.contact-layout aside h2{font-size:38px;margin:22px 0}.contact-layout aside p{color:var(--muted);margin:22px 0}.contact-layout aside a{color:var(--accent)}.inquiry-form label,.calendar-controls label{display:flex;flex-direction:column;gap:9px;font-size:13px}.inquiry-form label>span:not(.check-line span){color:var(--muted)}.inquiry-form input,.inquiry-form textarea,.inquiry-form select,.calendar-controls input,.calendar-controls select,.chat-compose textarea{border:1px solid #52606e;background:#151d25;color:var(--ink);font:14px/1.6 Inter,Arial,sans-serif;padding:13px 14px;width:100%;border-radius:0;min-height:50px;outline-offset:4px;color-scheme:dark}.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible,.inquiry-form select:focus-visible,.calendar-controls input:focus-visible,.calendar-controls select:focus-visible,.chat-compose textarea:focus-visible{outline:2px solid var(--accent)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inquiry-form{display:flex;flex-direction:column;gap:23px;max-width:780px}.inquiry-form textarea{resize:vertical;min-height:130px}.inquiry-form .primary{align-self:flex-start}.inquiry-form .check-line,.check-line{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:12px;color:var(--muted);line-height:1.65}.check-line input{flex:0 0 auto;width:18px;height:18px;min-height:0;margin-top:3px;accent-color:var(--accent)}.check-line a{text-decoration:underline;color:var(--accent)}.form-note{font-size:12px;line-height:1.7;color:var(--muted)}.form-note a{text-decoration:underline;color:var(--accent)}.form-status{font-size:14px;color:var(--accent);white-space:pre-wrap}.form-status[data-error="true"]{color:#ffbbad}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.prepared-output{min-height:240px!important;font-size:12px!important}[hidden]{display:none!important}.calendar-section{padding:55px var(--gutter) 100px;min-height:550px}.calendar-wrap{max-width:1000px}.calendar-controls{display:grid;grid-template-columns:1fr .7fr auto;align-items:end;gap:20px}.calendar-controls button{height:52px}.calendar-wrap>p{margin-top:25px}.slots{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.slots button{border:1px solid #58667a;padding:14px 22px;font-size:15px;min-width:90px}.slots button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}#booking-details{border-top:1px solid var(--line);padding:38px 0}.small-heading{font-size:32px}#selected-slot{font-size:16px;color:var(--accent);margin:15px 0 30px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:11px}footer{align-items:start;gap:30px;padding-bottom:100px}footer>div{font-size:12px}footer a:hover{text-decoration:underline}.chat-launch{position:fixed;right:28px;bottom:25px;z-index:1400;display:flex;align-items:center;gap:25px;padding:16px 21px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);box-shadow:0 8px 30px #0005;font-size:12px}.chat-launch span{font-size:20px}.chat-dialog{position:fixed;inset:auto 24px 24px auto;width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 50px);padding:27px;background:#151c24;color:var(--ink);border:1px solid #52606e;overflow:auto;margin:0;box-shadow:0 30px 100px #0008}.chat-dialog::backdrop{background:#050a1375;backdrop-filter:blur(3px)}.chat-header{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:20px}.chat-header h2{font-size:33px;margin-top:10px}.chat-header button{font-size:27px;width:34px;height:34px}.chat-dialog p{margin:0}.chat-dialog #chat-intro>p{margin:15px 0}.chat-log{display:flex;flex-direction:column;gap:13px;margin:24px 0}.chat-message{padding:15px;background:#222e3c;white-space:pre-wrap;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.chat-message.user{background:#2b374c;margin-left:28px}.chat-message.assistant{margin-right:12px;border-left:2px solid var(--accent)}.chat-message .speaker{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:7px}.chat-ideas{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.chat-ideas button{border:1px solid #536173;font-size:11px;padding:8px 11px}.chat-compose{display:flex;gap:10px;margin:7px 0 15px}.chat-compose .primary{padding:12px;min-width:45px;justify-content:center}.chat-dialog form label{font-size:12px}.chat-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:12px 0 17px}.chat-actions button{font-size:11px}.chat-dialog .text-link{gap:12px}#chat-status{color:var(--accent)}
@media(min-width:701px) and (max-width:1050px){.topbar nav{gap:17px}.topbar{padding-inline:4vw}.topbar nav a{font-size:11px}.calendar-controls{grid-template-columns:1fr 1fr}.calendar-controls button{grid-column:1/-1;width:max-content}.contact-layout{grid-template-columns:1.5fr 1fr;gap:4vw}.web-feature{gap:5vw}}
@media(max-width:700px){:root{--header:112px;--gutter:6vw}.topbar{height:112px;display:grid;grid-template-columns:1fr auto;grid-template-rows:62px 50px;padding:0 var(--gutter)}.topbar .brand img{width:108px}.topbar .contact-top{grid-column:2;grid-row:1}.topbar nav{grid-column:1/-1;grid-row:2;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;gap:21px;scrollbar-width:thin;scrollbar-color:#52606e transparent;align-self:stretch;align-items:center;max-width:100%;border-top:1px solid var(--line)}.topbar nav a{font-size:12px;flex-shrink:0;padding:10px 0;min-height:44px;display:inline-flex;align-items:center}.review-banner{font-size:10px;padding-block:9px}.page-opening{padding:42px var(--gutter) 45px}.page-opening .eyebrow{margin:30px 0 20px}.page-opening h1{font-size:46px}.page-lead{font-size:14px;line-height:1.85;margin-top:24px}.page-copy{padding-bottom:25px}.copy-section{padding:36px 0}.copy-section p,.copy-section li{font-size:14px}.copy-section h2{font-size:30px}.copy-section summary{font-size:15px}.web-feature{grid-template-columns:1fr;padding:70px var(--gutter);gap:45px}.web-feature h2{font-size:44px}.web-feature p:not(.eyebrow){font-size:14px}.model-window{transform:rotateY(-5deg);padding:20px}.model-window strong{font-size:36px}.model-search{margin-left:0;font-size:10px;padding:13px}.model-flow{font-size:9px}.contact-layout{display:flex;flex-direction:column;padding-top:40px;gap:30px}.field-pair{grid-template-columns:1fr;gap:22px}.inquiry-form input,.inquiry-form textarea,.inquiry-form select,.calendar-controls input,.calendar-controls select,.chat-compose textarea{font-size:16px}.calendar-controls{grid-template-columns:1fr}.calendar-controls button{width:100%;justify-content:space-between}.calendar-section{padding-top:35px}.slots button{padding:13px 19px;min-width:80px}.page-cta{padding:60px var(--gutter)}.page-cta h2{font-size:42px}footer{padding-bottom:95px;display:grid;grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.chat-launch{right:15px;bottom:15px;padding:12px 16px;font-size:11px}.chat-dialog{inset:auto 8px 8px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:20px}.chat-header h2{font-size:31px}.chat-message{font-size:13px}.chat-compose textarea{min-height:80px}.contact-layout aside h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.model-window{transform:none}html{scroll-behavior:auto}}.quiet .model-window{transform:none}
