:root{--main:#b3261e;--main-dark:#8a1c16;--accent:#2b2f36;--gray:#b3261e;--stars:#e8a317;--dark:#16191e;--bg:#fbfbfa;--bg-alt:#f1f1ef;--ink:#1d2228;--muted:#5a6068}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 "DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);overflow-x:clip}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;line-height:1.05;margin:0 0 .5em;letter-spacing:-.02em}
a{color:var(--main)}img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--main);display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.btn{display:inline-block;padding:14px 24px;border-radius:5px;font-weight:700;text-decoration:none;background:var(--main);color:#fff;border:2px solid var(--main)}
.btn:hover{background:var(--main-dark)}.btn.ghost{background:transparent;color:#fff;border-color:#fff}
header.top{position:sticky;top:0;z-index:20;background:rgba(251,250,248,.96);backdrop-filter:blur(6px);border-bottom:1px solid #e4e1dc}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{width:40px;height:40px}.brand b{font-family:"Bricolage Grotesque";font-size:21px;color:var(--accent)}.brand b span{color:var(--main)}
nav a{margin-left:22px;text-decoration:none;color:var(--ink);font-weight:500}nav a.btn{color:#fff;padding:10px 18px}
.hero{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;color:#fff;background:#111 url(assets/hero.jpg) center 60%/cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,40,.15) 0%,rgba(0,20,40,.55) 50%,rgba(0,22,44,.92) 100%)}
.hero .wrap{position:relative;padding-bottom:72px;width:100%}
.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(42px,7vw,92px);max-width:900px}
.hero p{font-size:20px;max-width:620px;opacity:.95}.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero .meta{margin-top:26px;font-size:15px;opacity:.9;border-top:2px solid var(--gray);padding-top:14px;display:inline-block}
section{padding:96px 0}
.svc{display:grid;grid-template-columns:1fr;gap:56px}
@media(min-width:900px){.svc{grid-template-columns:1.1fr .9fr}}
.svc h2,.story h2,.rev h2,.contact h2{font-size:clamp(34px,4.5vw,56px)}
.list{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid #d9d5cf}
.list li{display:grid;grid-template-columns:72px 1fr;gap:8px 16px;padding:26px 0;border-bottom:1px solid #d9d5cf;outline:none}
.list .n{font-family:"Bricolage Grotesque";font-size:34px;color:var(--main);font-weight:700;line-height:1}
.list h3{font-size:24px;margin:0 0 4px}.list p{margin:0;color:var(--muted)}
.list li.more{display:none}.list.open li.more,.no-js .list li.more{display:grid}
.toggle{margin-top:24px;background:none;border:2px solid var(--main);color:var(--main);padding:12px 20px;border-radius:5px;font:700 16px "DM Sans";cursor:pointer}
.pin{display:none}
@media(min-width:900px){.pin{display:block;position:sticky;top:96px;align-self:start;height:min(70vh,720px)}
.pin figure{margin:0;position:absolute;inset:0;opacity:0;transition:opacity .5s}.pin figure.on{opacity:1}
.pin img{width:100%;height:calc(100% - 34px);object-fit:cover;border-radius:14px}.pin figcaption{font-size:14px;color:var(--muted);margin-top:10px}}
@media(prefers-reduced-motion:reduce){.pin figure{transition:none}}
.band{background:var(--main);color:#fff;padding:72px 0}
.band .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.band b{display:block;font-family:"Bricolage Grotesque";font-size:clamp(48px,6vw,76px);line-height:1}
.band span{opacity:.9;border-top:2px solid var(--gray);padding-top:10px;display:inline-block;margin-top:10px}
.story .wrap{display:grid;gap:48px;align-items:center}
@media(min-width:900px){.story .wrap{grid-template-columns:1.2fr 1fr}}
.grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:560px}
.grid img{width:100%;height:100%;object-fit:cover;border-radius:14px}.grid img:first-child{grid-row:1/3;object-position:center 20%}
@media(max-width:899px){.grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}.grid img:first-child{grid-column:1/3;grid-row:auto;height:420px}.grid img{height:180px}}
.facts{list-style:none;padding:0;margin:24px 0}.facts li{padding:10px 0;border-bottom:1px solid #d9d5cf}
.rev{background:var(--bg-alt)}
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.badge{background:#fff;border-radius:16px;padding:22px 28px;box-shadow:0 10px 30px rgba(0,30,60,.08);text-align:center}
.badge b{font-family:"Bricolage Grotesque";font-size:52px;line-height:1;display:block}
.stars{color:var(--stars);letter-spacing:2px}
.cards{columns:3 300px;column-gap:20px}
.card{break-inside:avoid;background:#fff;border:1px solid #e3dfd9;border-radius:16px;padding:24px;margin:0 0 20px}
.card p{margin:10px 0 18px;white-space:pre-line}
.who{display:flex;gap:12px;align-items:center}.av{width:40px;height:40px;border-radius:50%;background:var(--main);color:#fff;display:grid;place-items:center;font-weight:700}
.who small{display:block;color:var(--muted)}
.contact .wrap{display:grid;gap:48px}@media(min-width:900px){.contact .wrap{grid-template-columns:1fr 1fr}}
.hours{width:100%;border-collapse:collapse}.hours td{padding:9px 0;border-bottom:1px solid #d9d5cf}.hours td+td{text-align:right}
.map{width:100%;height:100%;min-height:380px;border:0;border-radius:14px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.cta-row .btn.alt{background:transparent;color:var(--main)}
footer{background:var(--dark);color:#cfd3d8;padding:56px 0 110px;font-size:15px}footer a{color:#fff}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
.callbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:none;text-align:center;padding:16px;font-size:18px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
@media(max-width:760px){nav a:not(.btn){display:none}.callbar{display:block}section{padding:72px 0}.hero{min-height:min(86vh,760px)}.list li{grid-template-columns:52px 1fr}.list .n{font-size:26px}}
@media(min-width:761px){footer{padding-bottom:56px}}
.brand img.lg{width:auto;height:44px}
.grid.one{display:block;height:auto}.grid.one img{height:520px}.grid.one img+img{display:none}
.small{margin-top:24px;color:var(--muted);font-size:15px}footer .small{color:#9aa1a9;font-size:13px;margin-top:8px}footer .small a{color:#cfd3d8}
@media(min-width:900px){.story.alt .rev-order{grid-template-columns:1fr 1.2fr}}
.story.alt{background:var(--bg-alt)}
.grid.four{grid-template-rows:repeat(3,1fr)}.grid.four img:first-child{grid-row:1/4}
@media(max-width:899px){.grid.four{grid-template-rows:auto}.grid.four img:first-child{grid-row:auto}.grid.four img:last-child{grid-column:1/3;height:220px}}
@media(min-width:900px){.grid{grid-template-rows:repeat(2,minmax(0,1fr));height:600px}.grid.four{grid-template-rows:repeat(3,minmax(0,1fr))}.grid img{min-height:0}}
