@font-face{font-family:Oswald;src:url(fonts/oswald.woff2) format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--k:#111;--r:#e10613;--rd:#b8050f;--g:#f5f5f5;--ln:#e2e2e2;--m:#5b5f66;--d:Oswald,"Arial Narrow",Impact,sans-serif;--b:Inter,system-ui,Arial,sans-serif}
*{box-sizing:border-box;margin:0}[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:#fff;color:var(--k);font:400 16px/1.65 var(--b);-webkit-font-smoothing:antialiased}body.lock{overflow:hidden}
img,svg{display:block;max-width:100%}a{color:inherit}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3,legend{font-family:var(--d);font-weight:600;text-transform:uppercase;line-height:1.05}
h1{font-size:clamp(2.8rem,7.5vw,5.2rem)}h2{font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:1.4rem}h2::before{content:"";display:block;width:40px;height:4px;background:var(--r);margin-bottom:1rem}h3{font-size:1.25rem;letter-spacing:.02em;margin-bottom:.3rem}
:focus-visible{outline:3px solid var(--r);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.8rem;font:600 .85rem var(--b);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border:2px solid var(--r);background:var(--r);color:#fff;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--rd);border-color:var(--rd)}.btn.ghost{background:#fff;color:var(--k);border-color:var(--k)}.btn.ghost:hover{background:var(--k);color:#fff}.btn.sm{min-height:44px;padding:0 1.3rem}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}
.top{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--ln)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:84px}
.brand img{height:64px;width:auto;mix-blend-mode:multiply}
nav{display:flex;align-items:center;gap:2rem}nav ul{list-style:none;display:flex;gap:1.8rem;padding:0}nav li a{text-decoration:none;font-weight:500;font-size:.92rem;color:#333}nav li a:hover{color:var(--r)}
.burger{display:none;width:48px;height:48px;background:none;border:0;cursor:pointer;position:relative;z-index:40}.burger span,.burger span::before{display:block;width:26px;height:2px;background:var(--k);margin:auto;position:relative;transition:.3s}.burger span::before{content:"";top:-8px;box-shadow:0 16px 0 var(--k)}
body.lock .burger span{background:transparent}body.lock .burger span::before{top:0;box-shadow:none;transform:rotate(45deg)}body.lock .burger span::after{content:"";position:absolute;left:0;top:0;width:26px;height:2px;background:var(--k);transform:rotate(-45deg)}
.hero-in{display:grid;gap:2rem;align-items:center;padding:3.5rem 0 4.5rem}.lead{max-width:30rem;margin:1.2rem 0 1.8rem;color:var(--m);font-size:1.12rem}.hero-logo{width:min(100%,520px);height:auto;margin-inline:auto;mix-blend-mode:multiply}
.sec{padding:5.5rem 0}.alt{background:var(--g)}
.svcs{display:grid;gap:0 3.5rem}.svc{display:flex;gap:1.1rem;padding:1.4rem 0;border-top:1px solid var(--ln)}.svc p{color:var(--m);font-size:.95rem}
.ic{width:30px;height:30px;fill:none;stroke:var(--r);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:.15rem}
.ab{display:grid;gap:2.5rem}.big{font-size:1.12rem;color:#333;max-width:32rem}.vals{list-style:none;padding:0}.vals li{border-top:1px solid #d4d4d4;padding:1rem 0 1.1rem}.vals b{display:block;font:600 1.1rem var(--d);letter-spacing:.03em;text-transform:uppercase}.vals span{color:var(--m);font-size:.95rem}
.note{border-left:4px solid var(--r);background:#fff;padding:1rem 1.2rem;margin-bottom:1.5rem;font-size:.95rem;max-width:680px;color:#333}.note a{font-weight:600}
form{display:grid;gap:1rem}fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:1.1rem}legend{font-size:1.6rem;margin-bottom:1.1rem}.step:not([hidden]){animation:stepIn .35s ease}@keyframes stepIn{from{opacity:0;transform:translateX(12px)}}
label{display:grid;gap:.4rem;font-weight:500;font-size:.92rem}
input,select,textarea{width:100%;font:inherit;font-weight:400;color:var(--k);background:#fff;border:1px solid #c9c9c9;padding:.85rem 1rem;border-radius:0;min-height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--r);outline:0;box-shadow:0 0 0 1px var(--r)}[aria-invalid=true]{border-color:#c4000e}.err{color:#c4000e;font-weight:500;font-size:.85rem}
.chks{display:grid;gap:.5rem}.chk{display:flex;align-items:center;gap:.8rem;border:1px solid #c9c9c9;background:#fff;padding:.8rem 1rem;cursor:pointer;font-weight:500;min-height:48px}.chk:hover{border-color:#888}.chk:has(:checked){border-color:var(--r);background:#fff4f4}.chk input{width:auto;min-height:0;accent-color:var(--r)}
.hint{color:var(--m);font-size:.9rem}.stepLbl{font-weight:600}
.prog{list-style:none;display:flex;gap:.5rem;counter-reset:s;margin:0 0 1.2rem;padding:0}.prog li{counter-increment:s;display:flex;align-items:center;gap:.9rem;color:var(--m);font-weight:500;font-size:.92rem}
.prog li::before{content:counter(s);display:grid;place-items:center;min-width:2.3rem;height:2.3rem;border:1px solid #c9c9c9;background:#fff;font:600 .95rem var(--d)}
.prog li.on::before{border-color:var(--r)}.prog li.cur{color:var(--k);font-weight:600}.prog li.cur::before{background:var(--r);border-color:var(--r);color:#fff}.prog span{display:none}
.acts{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}.status{min-height:1.4rem;color:#333;font-size:.9rem}.status a{font-weight:600;text-decoration:underline}
.sum{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.4rem;background:var(--g);border-left:4px solid var(--r);padding:1.2rem}.sum dt{color:var(--m);font-size:.9rem}.sum dd{font-weight:600;overflow-wrap:anywhere}
.book form{background:#fff;border:1px solid var(--ln);border-top:4px solid var(--r);padding:1.8rem}
.forms{display:grid;gap:1.5rem}.card{background:var(--g);border-top:4px solid var(--r);padding:1.8rem}.card h3{font-size:1.6rem;margin-bottom:1rem}
.ct{display:grid;gap:2.5rem;align-items:end}address{font:500 clamp(1.4rem,3.5vw,2rem)/1.35 var(--d);text-transform:uppercase;font-style:normal}.tel{font:600 clamp(2.4rem,7vw,3.6rem)/1 var(--d);text-decoration:none;color:var(--r);display:block;margin-bottom:1rem}.reach p{color:var(--m);max-width:28rem;margin-bottom:1.3rem}.reach .cta{margin-top:0}
footer{border-top:1px solid var(--ln);padding:2.5rem 0 1.5rem}.ft{display:grid;gap:1.2rem;align-items:center;padding-bottom:1.5rem}.ft nav{flex-wrap:wrap;gap:.5rem 1.4rem}.ft nav a,.ft p a{text-decoration:none;font-size:.92rem;color:#333}.ft a:hover{color:var(--r)}.ft p{color:var(--m);font-size:.92rem}.fb{border-top:1px solid var(--ln);padding-top:1rem;color:var(--m);font-size:.82rem}
.hbook,.wa{display:none}
@media(min-width:860px){.hero-in{grid-template-columns:1.05fr 1fr}.svcs{grid-template-columns:1fr 1fr}.ab{grid-template-columns:1fr 1fr;gap:5rem}.forms{grid-template-columns:1fr 1fr}.chks{grid-template-columns:1fr 1fr}.ct{grid-template-columns:1.2fr 1fr}.ft{grid-template-columns:auto 1fr auto}.ft nav{justify-content:center}
.book{display:grid;grid-template-columns:1fr 1.5fr;column-gap:4rem;align-items:start}.book form{grid-column:2;grid-row:1/span 4}.book>*:not(form){grid-column:1}.prog{flex-direction:column;gap:.8rem}.prog span{display:inline}.stepLbl{display:none}}
@media(max-width:859px){.burger{display:block}.sec{padding:4rem 0}.bar{min-height:72px}.brand img{height:52px}
nav{position:fixed;inset:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:space-between;gap:2rem;padding:6rem 1.5rem 2rem;transform:translateX(100%);visibility:hidden;transition:transform .35s,visibility .35s}nav.open{transform:none;visibility:visible}
nav ul{flex-direction:column;gap:0}nav li a{font:600 2.2rem/1.2 var(--d);text-transform:uppercase;display:block;padding:.6rem 0;border-bottom:1px solid var(--ln)}nav .btn.sm{min-height:56px}
.hero-in{padding-top:1.5rem}.hero-logo{order:-1;width:min(86%,380px)}.prog .cur span{display:inline}.book form{padding:1.3rem}
.hbook{display:inline-flex;margin-left:auto;margin-right:.4rem}.wa{display:inline-flex;min-height:56px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* black theme */
:root{--k:#fff;--g:#121212;--ln:#2b2b2b;--m:#a0a0a0;color-scheme:dark}
body{background:#090909;color:#fff}.top{background:#090909}
.brand img,.hero-logo{mix-blend-mode:normal}
nav li a,.big,.note,.status,.ft nav a,.ft p a{color:#d8d8d8}nav li a:hover,.ft a:hover{color:var(--r)}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.ghost:hover{background:#fff;color:#090909}
.burger span,.burger span::before{background:#fff}.burger span::before{box-shadow:0 16px 0 #fff}
body.lock .burger span{background:transparent}body.lock .burger span::before{box-shadow:none}body.lock .burger span::after{background:#fff}
.note{background:#1c1c1c}.vals li{border-top-color:#333}
input,select,textarea,.chk{background:#090909;color:#fff;border-color:#3a3a3a}.chk:hover{border-color:#777}.chk:has(:checked){background:rgba(225,6,19,.16)}
.prog li::before{background:#090909;border-color:#3a3a3a}.prog li.cur::before{background:var(--r);border-color:var(--r)}
.book form,.card{background:#1c1c1c;border-color:var(--ln)}.sum{background:#090909}
.err{color:#ff7a82}[aria-invalid=true]{border-color:#ff5560}
@media(max-width:859px){nav{background:#090909}}
/* texture */
:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
body,.top{background:var(--grain),#090909}
.alt{background:var(--grain),linear-gradient(135deg,#0c0c0c 25%,transparent 25%) -5px 0/10px 10px,linear-gradient(225deg,#0c0c0c 25%,transparent 25%) -5px 0/10px 10px,linear-gradient(315deg,#0c0c0c 25%,transparent 25%) 0 0/10px 10px,linear-gradient(45deg,#0c0c0c 25%,transparent 25%) 0 0/10px 10px,#151515}
@media(max-width:859px){nav{background:var(--grain),#090909}}
