
@font-face{font-family:"Big Shoulders";src:url(fonts/bigshoulders.698f9960.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument.2ee17598.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--fog:#ECEFEA;--paper:#F8F8F4;--ink:#0F1F1B;--ink2:#3C4B46;--spruce:#1F4A3E;--spruce-d:#122E26;--red:#C42B26;--red-d:#A21F1B;--glass:#BFD8DA;--line:#CDD3CC;--r:18px;
--disp:"Big Shoulders","Arial Narrow","Roboto Condensed",Impact,sans-serif;--sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--sans)}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:99;border-radius:8px}
.skip:focus{left:8px}
.wrap{max-width:1240px;margin:0 auto;padding:0 22px}
.eyebrow{font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:10px;margin:0 0 18px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
h1,h2,h3{font-family:var(--disp);text-transform:uppercase;letter-spacing:.005em;margin:0;line-height:.92}
h2{font-size:clamp(44px,7vw,84px);font-weight:800}
h3{font-size:30px;font-weight:800}
p{margin:0}
/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(248,248,244,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;height:66px}
.mark{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.mark small{font:700 11px/1 var(--sans);letter-spacing:.32em;color:var(--ink2)}
.mark b{font:900 23px/1 var(--disp);color:var(--red);letter-spacing:.02em;text-transform:uppercase;margin-top:3px}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;font-size:15px;color:var(--ink2)}
.nav a:hover{color:var(--red)}
.lang{display:flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;margin-left:8px}
.lang button{all:unset;cursor:pointer;font:700 13px/1 var(--sans);letter-spacing:.08em;padding:9px 13px;color:var(--ink)}
.lang button[aria-pressed="true"]{background:var(--ink);color:#fff}
.lang button:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font:600 16px/1 var(--sans);padding:17px 24px;border-radius:999px;transition:transform .2s,background .2s;-webkit-tap-highlight-color:transparent}
.btn svg{width:19px;height:19px;flex:none}
.btn:active{transform:scale(.97)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--spruce-d)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-d)}
.btn-ghost{border:1.5px solid var(--ink);color:var(--ink)}
.top .btn{padding:12px 18px;font-size:15px}
/* hero */
.hero{position:relative;padding:54px 0 70px;background:linear-gradient(180deg,var(--paper) 0,var(--fog) 100%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(66px,7.4vw,108px);font-weight:900}
.shield{margin-right:-28px}
.hero h1 span{display:block}
.hero h1 .fix{color:var(--red)}
.lede{font-size:19px;color:var(--ink2);max-width:30em;margin:26px 0 30px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.chip{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-weight:600;font-size:15px}
.stars{color:#E3A008;letter-spacing:2px;font-size:17px}
.shield{position:relative}
.shield svg{width:100%;height:auto;overflow:visible}
.shield .tag{position:absolute;left:6%;bottom:2%;background:rgba(15,31,27,.92);color:#fff;border-radius:14px;padding:14px 18px;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.shield .tag b{font:800 34px/1 var(--disp);display:block}
.shield .tag span{font-size:13px;opacity:.9}
.glare{-webkit-animation:glare 7s ease-in-out infinite;animation:glare 7s ease-in-out infinite}
@-webkit-keyframes glare{0%,55%{-webkit-transform:translate3d(-700px,0,0);transform:translate3d(-700px,0,0)}85%,100%{-webkit-transform:translate3d(1300px,0,0);transform:translate3d(1300px,0,0)}}
@keyframes glare{0%,55%{-webkit-transform:translate3d(-700px,0,0);transform:translate3d(-700px,0,0)}85%,100%{-webkit-transform:translate3d(1300px,0,0);transform:translate3d(1300px,0,0)}}
/* strip */
.strip{background:var(--spruce);color:#fff}
.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.strip .cell{padding:30px 26px;border-left:1px solid rgba(255,255,255,.16)}
.strip .cell:first-child{border-left:0;padding-left:0}
.strip b{font:800 44px/1 var(--disp);display:block;text-transform:uppercase}
.strip span{display:block;margin-top:6px;color:rgba(255,255,255,.78);font-size:15px}
/* services */
.svc{padding:110px 0 90px}
.svc-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}
.svc-head p{max-width:24em;color:var(--ink2)}
.svc-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:50px;align-items:center}
.car{position:relative;background:var(--fog);border-radius:28px;padding:40px 26px 24px;background-image:linear-gradient(rgba(31,74,62,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,74,62,.07) 1px,transparent 1px);background-size:32px 32px}
.car-svg{position:relative}
.car path,.car circle,.car line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.car .gl{fill:rgba(191,216,218,.55);stroke-width:2.5}
.car .grnd{stroke:var(--line);stroke-dasharray:6 8}
.draw{stroke-dasharray:1;stroke-dashoffset:0}
.js .draw{stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.6,.1,.2,1)}
.js .car.in .draw{stroke-dashoffset:0}
.hot{all:unset;cursor:pointer;position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:var(--red);color:#fff;font:800 19px/38px var(--disp);text-align:center;box-shadow:0 6px 16px -6px rgba(196,43,38,.8);z-index:2;-webkit-tap-highlight-color:transparent}
.hot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--red);-webkit-animation:pulse 2.4s ease-out infinite;animation:pulse 2.4s ease-out infinite}
.hot[aria-pressed="true"]{background:var(--ink)}
.hot[aria-pressed="true"]::after{border-color:var(--ink)}
.hot:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@-webkit-keyframes pulse{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:.9}100%{-webkit-transform:scale(1.7);transform:scale(1.7);opacity:0}}
@keyframes pulse{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:.9}100%{-webkit-transform:scale(1.7);transform:scale(1.7);opacity:0}}
.svc-list{list-style:none;margin:0;padding:0;counter-reset:s}
.svc-list li{display:grid;grid-template-columns:54px 1fr;gap:4px 14px;padding:22px 18px;border-top:1px solid var(--line);border-radius:16px;transition:background .3s,transform .3s}
.svc-list li:last-child{border-bottom:1px solid var(--line)}
.svc-list .n{font:900 44px/.9 var(--disp);color:var(--red);grid-row:span 2}
.svc-list p{color:var(--ink2);font-size:16px}
.svc-list li.on{background:#fff;box-shadow:0 14px 36px -22px rgba(15,31,27,.45);border-color:transparent}
.svc-list li.on + li{border-top-color:transparent}
/* glass */
.glass{position:relative;background:var(--spruce-d);color:#fff;overflow:hidden}
.glass .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:60px;align-items:center;padding-top:100px;padding-bottom:100px;position:relative}
.glass .eyebrow{color:#FF8A7E}
.glass h2{font-size:clamp(46px,6.4vw,78px)}
.glass p.body{color:rgba(255,255,255,.82);margin:22px 0 30px;max-width:30em;font-size:18px}
.pane{position:relative;aspect-ratio:1/0.82;border-radius:32px;background:linear-gradient(140deg,rgba(191,216,218,.35),rgba(191,216,218,.08) 55%,rgba(255,255,255,.18));border:1px solid rgba(255,255,255,.25);overflow:hidden}
.pane svg{position:absolute;inset:0;width:100%;height:100%}
.pane .crack{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;opacity:.9}
.js .pane .crack{stroke-dashoffset:1;transition:stroke-dashoffset 1.6s ease-out .2s}
.js .pane.in .crack{stroke-dashoffset:0}
.pane blockquote{position:absolute;left:8%;right:8%;bottom:8%;margin:0;background:rgba(10,24,20,.9);border-radius:18px;padding:20px 22px;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.pane blockquote cite{display:block;margin-top:10px;font-style:normal;font-size:13px;opacity:.75}
/* reviews */
.rev{padding:110px 0}
.rev-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px;margin-top:46px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.card q{quotes:none;display:block}
.card .who{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:14px;color:var(--ink2)}
.card .who b{color:var(--ink)}
.big{background:var(--red);color:#fff;border:0;display:flex;flex-direction:column;justify-content:space-between;padding:40px}
.big q{font:800 clamp(30px,3.4vw,44px)/1.05 var(--disp);text-transform:uppercase}
.big .who,.big .who b{color:#fff}
.big .stars{color:#FFE08A}
.stack{display:grid;gap:22px}
.hl{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;align-items:center}
.hl small{font-weight:600;color:var(--ink2);margin-right:6px}
.hl span{background:var(--fog);border-radius:999px;padding:10px 16px;font-size:15px}
/* visit */
.visit{background:var(--fog);padding:110px 0}
.visit .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:60px;align-items:center}
.photo{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(15,31,27,.6);-webkit-transform:rotate(-1.6deg);transform:rotate(-1.6deg)}
.photo img{width:100%;height:auto}
.addr{font:800 clamp(34px,4vw,50px)/.98 var(--disp);text-transform:uppercase;margin:16px 0 8px}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:600;margin:6px 0 22px}
.status i{width:10px;height:10px;border-radius:50%;background:#9AA39F}
.status.open i{background:#1E9E5A;box-shadow:0 0 0 4px rgba(30,158,90,.18)}
table{border-collapse:collapse;width:100%;max-width:420px;margin-bottom:12px}
td{padding:9px 0;border-bottom:1px solid var(--line)}
td:last-child{text-align:right;font-variant-numeric:tabular-nums}
tr.today td{font-weight:700;color:var(--red)}
.note{font-size:14px;color:var(--ink2);margin-bottom:26px}
footer{background:var(--ink);color:rgba(255,255,255,.75);padding:34px 0 40px;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer a{color:#fff}
/* reveal */
.js .rv{opacity:0;-webkit-transform:translate3d(0,28px,0);transform:translate3d(0,28px,0);transition:opacity .8s ease,-webkit-transform .8s cubic-bezier(.2,.7,.2,1);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;-webkit-transform:none;transform:none}
.sticky{display:none}
@media (max-width:960px){
 .hero .wrap,.svc-grid,.glass .wrap,.rev-grid,.visit .wrap{grid-template-columns:1fr}
 .nav{display:none}.lang{margin-left:auto}
 .top .btn{display:none}
 .hero{padding:22px 0 50px}
 .shield{order:-1;margin:0 -10px}
 .shield .tag{left:auto;right:7%;bottom:4%}
 .svc-head{flex-direction:column;align-items:flex-start}
 .photo{max-width:560px}
}
@media (max-width:640px){
 body{font-size:16px;padding-bottom:84px}
 .wrap{padding:0 18px}
 .hero h1{font-size:clamp(60px,19vw,92px)}
 .lede{font-size:17px;margin:18px 0 22px}
 .hero .ctas{display:none}
 .strip .wrap{grid-template-columns:1fr}
 .strip .cell{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:20px 0}
 .strip .cell:first-child{border-top:0}
 .strip b{font-size:38px}
 .svc,.rev,.visit{padding:76px 0}
 .car{padding:30px 12px 14px;border-radius:22px}
 .hot{width:32px;height:32px;margin:-16px 0 0 -16px;line-height:32px;font-size:17px}
 .glass .wrap{padding-top:76px;padding-bottom:76px;gap:40px}
 .big{padding:30px}
 .mark b{font-size:20px}
 .eyebrow{font-size:12px;letter-spacing:.11em}
 .pane{aspect-ratio:auto;min-height:420px}
 .car-svg{margin:0 -6px}
 .shield .tag{padding:10px 14px}.shield .tag b{font-size:28px}
 .sticky{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(248,248,244,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
 .sticky .btn{padding:17px 10px;font-size:17px}
}
