
:root{--red:#b01e28;--red-d:#8e141d;--black:#0c0c0d;--ink:#17171a;--grey:#5f6168;--line:#ebe3da;--soft:#faf5ef;--white:#fff;--shadow:0 10px 30px -14px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Oswald,Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:1.08;margin:0 0 .5em;color:var(--black)}
h1{font-size:clamp(2.3rem,7vw,4.2rem);font-weight:700}h2{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:600}h3{font-size:1.15rem;font-weight:600}
a{color:var(--red)}
img{max-width:100%;height:auto}
.sr{position:absolute;left:-9999px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.site-header{background:var(--black);position:sticky;top:0;z-index:30;border-bottom:3px solid var(--red)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand img{width:46px;height:auto}
.brand b{display:flex;flex-direction:column;font:700 1.35rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.brand b span{font:600 .6rem Inter,sans-serif;letter-spacing:.22em;color:#e8a0a5;margin-top:4px}
nav{display:flex;align-items:center;gap:18px}
nav a{text-decoration:none;color:#fff;font-size:.9rem;font-weight:500;opacity:.9}
nav a:hover,nav a[aria-current]{opacity:1;color:#ff6b74}
.menu-btn{display:none;background:none;border:1px solid #444;border-radius:10px;width:48px;height:44px;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn i{display:block;width:22px;height:2px;background:#fff;transition:.2s}
.btn{display:inline-block;background:var(--red);color:#fff!important;padding:14px 26px;border-radius:6px;text-decoration:none;font:600 .95rem Oswald,sans-serif;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--red);cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--red-d);border-color:var(--red-d);transform:translateY(-1px)}
.btn.small{padding:9px 16px;font-size:.8rem}
.btn{margin:4px 8px 4px 0}.center .btn{margin:4px 4px}.cta-row{display:flex;flex-wrap:wrap;gap:6px}nav a.btn{margin:0}
[id]{scroll-margin-top:84px}
.btn.ghost{background:transparent;color:var(--black)!important;border-color:var(--black)}.btn.ghost:hover{background:var(--black);color:#fff!important}
.btn.light{background:#fff;color:var(--red)!important;border-color:#fff}.btn.light:hover{background:#000;color:#fff!important;border-color:#000}
.hero{background:radial-gradient(900px 400px at 85% -10%,rgba(176,30,40,.55),transparent),var(--black);color:#fff;padding:72px 0 64px}
.hero h1{color:#fff;max-width:14ch}.hero h1 em{font-style:normal;color:#ff4d57}
.lead{font-size:1.15rem;max-width:58ch;color:var(--grey)}
.hero .lead{color:#d6d6d8}
.eyebrow{font:600 .8rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--red);margin:0 0 14px}
.hero .eyebrow{color:#ff6b74}
.hero-sub{color:#a9a9ae;font-size:.92rem;margin-top:22px}.hero-sub a{color:#fff}
.hero .cta-row{margin-top:26px}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0 16px}
.choices.two{max-width:640px}
.choice{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:12px;padding:22px;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.choice:hover{transform:translateY(-2px);border-color:var(--red)}
.choice b{font:700 1.45rem Oswald,sans-serif;text-transform:uppercase;line-height:1.1;color:var(--black)}
.choice span{color:var(--grey);font-size:.9rem;margin:8px 0 14px}
.choice i{font-style:normal;font-weight:600;font-size:.9rem;color:var(--red);margin-top:auto}.choice i::after{content:" \203A"}
.crumbs{font-size:.85rem;color:var(--grey);margin:0 0 14px}
.checks{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:8px;max-width:65ch}
.checks li{background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:8px;padding:12px 16px;font-weight:500}
.checks li strong{display:block;color:var(--black)}.checks li span{font-weight:400;color:var(--grey);font-size:.93rem}
.steps.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.choice.pic{padding:0;overflow:hidden}
.choice.pic img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 22%;display:block;transition:transform .4s}
.choice.pic:hover img{transform:scale(1.04)}
.choice.pic>div{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.split>*{min-width:0}
.measure+h2{margin-top:1.8em}
.photo{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:var(--line);box-shadow:var(--shadow)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.photo.wide{aspect-ratio:3/2}
.photo.framed{position:relative;overflow:visible;box-shadow:none;background:none;margin:0 16px 16px 0}
.photo.framed::before{content:"";position:absolute;inset:16px -16px -16px 16px;border-radius:18px;background:var(--red)}
.photo.framed img{position:relative;border-radius:18px;box-shadow:var(--shadow)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.gallery .photo{border-radius:14px}.gallery .photo img{transition:transform .4s}.gallery .photo:hover img{transform:scale(1.05)}
.closing{text-align:center}.closing h2::after{margin-inline:auto}.closing p{max-width:52ch;margin-inline:auto}.closing .btn{margin:4px}
.tagline{font:600 1rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.about-hero{background:radial-gradient(720px 520px at 80% 62%,rgba(176,30,40,.34),transparent 66%),var(--black);color:#fff;padding:76px 0 0;overflow:hidden}
.about-hero .split{align-items:end}.about-hero .split>div{padding-bottom:68px}
.about-hero h1{color:#fff;font-size:clamp(2.2rem,5.2vw,3.5rem);margin-bottom:.25em}
.about-hero .eyebrow,.philo .eyebrow{color:#ff6b74}
.about-hero .hero-cut::before{display:none}
.role{font:600 .78rem Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#ff6b74;margin:0 0 24px}
.big{font:italic 400 1.32rem/1.5 Fraunces,Georgia,serif;color:#f1ece6;max-width:34ch;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:26px 0}
.chips li{border:1px solid var(--line);border-radius:4px;padding:7px 12px;font:600 .72rem Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);background:var(--soft)}
.philo{background:radial-gradient(700px 420px at 20% 50%,rgba(176,30,40,.22),transparent 65%),var(--black);color:#fff;padding:84px 0;text-align:center}
.philo blockquote{all:unset;display:block;font:italic 400 clamp(1.7rem,4.2vw,2.8rem)/1.2 Fraunces,Georgia,serif;max-width:20ch;margin:0 auto 22px}
.philo p:last-child{max-width:58ch;margin:0 auto;color:#c9c9cc}
.page-head{background:var(--soft);border-bottom:1px solid var(--line);padding:48px 0 32px}
.page-head .split{padding-bottom:16px}.page-head .split h1{font-size:clamp(2rem,5vw,3.4rem)}
.section{padding:64px 0}.alt{background:var(--soft);border-block:1px solid var(--line)}
.section>.wrap>h2::after,.alt>.wrap>h2::after,.band h2::after{content:"";display:block;width:52px;height:5px;background:var(--red);margin-top:12px}
.measure{max-width:65ch}.center{text-align:center;margin-top:28px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 30px}
.vs-col{border-radius:12px;padding:22px}.vs-col ul{margin:0;padding-left:1.1em}.vs-col li{margin:.35em 0}
.vs-col.dim{background:var(--soft);border:1px solid var(--line);color:var(--grey)}.vs-col.dim h3{color:var(--grey)}
.vs-col.hot{background:var(--black);color:#fff}.vs-col.hot h3{color:#ff6b74}
.creds{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.creds li{background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:10px;padding:16px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}
.creds img{width:auto;height:44px;object-fit:contain}
.creds .ic{flex:0 0 46px;height:46px;border-radius:50%;background:var(--black);color:#fff;display:grid;place-items:center;font:700 1rem Oswald,sans-serif}
.creds strong{display:block;font:600 1.05rem Oswald,sans-serif;text-transform:uppercase;color:var(--black);line-height:1.15}.creds span{font-size:.85rem;color:var(--grey);line-height:1.35;display:block}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.cards.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:12px;padding:22px;box-shadow:var(--shadow)}
.ticks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 12px;margin:22px 0}
.ticks li{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 12px;font-size:.88rem;font-weight:500}
.ticks li::before{content:"";display:inline-block;width:.5em;height:.5em;background:var(--red);border-radius:50%;margin-right:.5em}
.table-wrap{overflow-x:auto;box-shadow:var(--shadow);border-radius:12px}
table.prices{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.prices th,.prices td{padding:16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.prices thead th{background:var(--black);color:#fff;font:600 .85rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.prices tbody th{font-weight:600;color:var(--black)}
.prices small{display:block;font-weight:400;color:var(--grey);font-size:.8rem}
.prices td b{font:700 1.3rem Oswald,sans-serif}.prices td small{color:var(--red);font-weight:600}
.prices tr:last-child td,.prices tr:last-child th{border-bottom:0}
.note{background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:8px;padding:14px 18px;margin-top:16px}
.fine{font-size:.85rem;color:var(--grey)}
.band{background:var(--red);color:#fff;padding:60px 0}
.band h2,.band .eyebrow{color:#fff}.band h2::after{background:#fff}.band p{max-width:60ch}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.steps span{font:600 .9rem Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.steps p{margin:.3em 0 0}
.carousel-wrap{position:relative}
.car-btn{position:absolute;top:calc(50% - 32px);z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:var(--black);color:#fff;font:400 1.7rem/1 Inter,sans-serif;cursor:pointer;box-shadow:var(--shadow);display:grid;place-items:center;padding:0 0 4px}
.car-btn:hover{background:var(--red)}.car-btn.prev{left:-22px}.car-btn.next{right:-22px}
.hero.cut{overflow:hidden;padding-bottom:0}
.hero.cut .split{align-items:end}.hero.cut .split>div{padding-bottom:64px}
.hero-cut{position:relative;margin:0;display:flex;justify-content:center}
.hero-cut::before{content:"";position:absolute;left:50%;top:4%;width:130%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(176,30,40,.42) 0%,rgba(176,30,40,.14) 42%,transparent 66%)}
.hero-cut img{position:relative;display:block;width:100%;max-width:500px;height:auto;filter:saturate(.86) contrast(.96) drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:6px 20px 20px;margin:0 -20px;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
blockquote{margin:0;background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:12px;padding:22px;box-shadow:var(--shadow)}
.carousel blockquote{flex:0 0 min(86%,350px);scroll-snap-align:center}
.stars{color:var(--red);letter-spacing:.15em;margin-bottom:8px}
blockquote p{margin:0 0 12px;font-size:1rem;line-height:1.55}
blockquote footer{font:600 .85rem Inter;color:var(--grey)}
.callout{background:var(--black);color:#fff;border-radius:12px;padding:22px 26px;margin:28px 0;border-left:6px solid var(--red)}.callout p{margin:0}.callout a{color:#fff;font-weight:600}
.split2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin-top:20px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;color:var(--black)}details p{margin:.8em 0 0}
.form{display:grid;gap:16px}.form label{display:grid;gap:6px;font-weight:500}
input,select,textarea{font:inherit;padding:13px;border:1px solid #c9c5c1;border-radius:8px;background:#fff;width:100%}
fieldset{border:1px solid var(--line);border-radius:10px;padding:14px 18px}legend{font-weight:600;padding:0 6px}
.radio{display:flex!important;align-items:center;gap:10px;font-weight:400!important;padding:5px 0}.radio input{width:auto}
.opts{display:flex;flex-wrap:wrap;gap:4px 26px}
.hint{font-weight:400;color:var(--grey);font-size:.88rem}
.form+h2,.form~h2{margin-top:1.8em}
.plain{padding-left:1.2em}
.legal-text h2{font-size:1.3rem;margin-top:1.6em}
.site-footer{background:var(--black);color:#c9c9cc;padding:56px 0 24px;font-size:.9rem;border-top:3px solid var(--red)}
.site-footer a{color:#fff;text-decoration:none;line-height:2}.site-footer a:hover{color:#ff6b74}
.grid4{display:grid;grid-template-columns:1.2fr .8fr 1.2fr 1fr;gap:30px}
.fbrand img{margin-bottom:10px}
.foot-h{font:600 .85rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#ff6b74;margin:0 0 6px}
.site-footer p{margin:0 0 1em}
.legal{border-top:1px solid #2a2a2e;margin-top:28px;padding-top:18px;font-size:.8rem}
.stickybar{display:none}
@media(max-width:900px){
 .menu-btn{display:flex}
 nav{display:none;position:fixed;inset:68px 0 0 0;background:var(--black);flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 100px;overflow:auto}
 nav.open{display:flex}
 nav a{font:600 1.5rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:16px 4px;border-bottom:1px solid #26262a;opacity:1}
 nav a.btn{margin-top:20px;text-align:center;border-bottom:2px solid var(--red);font-size:1.1rem}
 .menu-btn[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}
 .menu-btn[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .split{grid-template-columns:1fr;gap:30px}
 .hero .photo,.page-head .photo{max-width:440px}
 .gallery{grid-template-columns:1fr 1fr;gap:10px}
 .hero{padding:44px 0 48px}
 .hero .split{grid-template-columns:1.15fr .85fr;gap:26px}
 .about-hero{padding-top:44px}.about-hero .split>div{padding-bottom:0}.about-hero .hero-cut img{max-width:340px}
 .hero h1{font-size:clamp(1.9rem,5.6vw,2.7rem)}.hero .lead{font-size:1rem}
 .section{padding:46px 0}.page-head{padding:34px 0 24px}
 .vs{grid-template-columns:1fr}
 .cards{grid-template-columns:1fr 1fr;gap:12px}.cards.two{grid-template-columns:1fr}
 .card{padding:16px}.card p{font-size:.9rem}
 .grid4{grid-template-columns:1fr 1fr}.grid4>.fbrand{grid-column:1/-1}
 .prices thead{display:none}.prices,.prices tbody,.prices tr,.prices td,.prices th{display:block}
 .prices tr{border-bottom:6px solid var(--soft);padding:6px 0}
 .prices th{border:0}
 .prices td{display:grid;grid-template-columns:1fr auto 5.6rem;align-items:baseline;gap:8px;border:0;padding:9px 16px}
 .prices td::before{content:attr(data-label);color:var(--grey);font-weight:500;font-size:.9rem}
 .prices td small{margin:0;text-align:right}
 .prices td:first-of-type small{display:none}
 body{padding-bottom:70px}
 .stickybar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(12,12,13,.97);border-top:2px solid var(--red)}
 .stickybar a{flex:1;text-align:center;padding:13px;border-radius:6px;font:600 1rem Oswald,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:2px solid #fff;color:#fff}
 .stickybar a.primary{background:var(--red);border-color:var(--red)}
}
@media(max-width:600px){
 .hero .split{grid-template-columns:1fr;gap:30px}
 .hero.cut .split>div{padding-bottom:0}.hero-cut img{max-width:300px}
 .car-btn{display:none}
 .hero h1{font-size:2.7rem}.hero .lead{font-size:1.1rem}
}
