:root{--ink:#0d0f10;--char:#17191b;--char2:#202326;--line:#2e3236;--cream:#f3ead6;--mute:#b9b3a6;--teal:#1fa2b8;--teal2:#0e7385;--yel:#ffc21a;--yel2:#ffd65c;--paper:#f7f4ee;--txt:#1d1f21}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Barlow,system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--txt);background:var(--paper)}
img{max-width:100%;height:auto;display:block}a{color:var(--teal2)}
h1,h2,h3{font-family:"Barlow Condensed",Barlow,sans-serif;line-height:1.05;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.4rem,6vw,4.2rem);text-transform:uppercase}h2{font-size:clamp(1.9rem,4vw,2.8rem);text-transform:uppercase}h3{font-size:1.45rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
header.top{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:3px solid var(--teal)}
.bar{display:flex;align-items:center;gap:18px;min-height:68px}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--cream);font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:.92;font-size:1.45rem;letter-spacing:.02em}
.logo small{font-size:.62rem;letter-spacing:.22em;color:var(--teal);font-weight:700;margin-top:4px}
nav.main{margin-left:auto}nav.main ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
nav.main a{color:var(--cream);text-decoration:none;font-weight:600;padding:8px 10px;border-radius:4px;font-size:.98rem}nav.main a:hover,nav.main a[aria-current]{color:var(--yel)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-radius:6px;padding:14px 22px;font-size:1.2rem;min-height:52px;border:0;cursor:pointer}
.btn svg{width:22px;height:22px;fill:currentColor}
.btn-call{background:var(--yel);color:#111}.btn-call:hover{background:var(--yel2)}
.btn-ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 2px var(--cream)}.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-teal{background:var(--teal);color:#fff}
.btn-big{font-size:1.55rem;padding:18px 30px;min-height:64px}
.top .btn-call{padding:10px 16px;min-height:46px;font-size:1.1rem}
.menu-btn{display:none;background:none;border:0;color:var(--cream);padding:10px;margin-left:auto}.menu-btn svg{width:28px;height:28px;fill:currentColor}
.hero{position:relative;background:var(--ink);color:var(--cream);overflow:hidden}
.hero .bg{position:absolute;inset:0}.hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,15,16,.95) 0%,rgba(13,15,16,.75) 45%,rgba(13,15,16,.2) 100%)}
.hero .wrap{position:relative;padding-top:clamp(56px,9vw,120px);padding-bottom:clamp(56px,9vw,120px)}
.hero .eyebrow,.eyebrow{display:inline-block;font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);font-size:.95rem;margin-bottom:12px}
.hero h1{max-width:13ch}.hero p.lead{font-size:1.25rem;max-width:36ch;color:#e9e3d4}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.trustline{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:600;color:var(--mute);font-size:.98rem;padding:0;margin:0;list-style:none}.trustline li:before{content:"\2713";color:var(--yel);margin-right:7px}
.page-hero{background:var(--ink);color:var(--cream);padding:48px 0 44px;border-bottom:1px solid var(--line)}
.page-hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.page-hero p.lead{font-size:1.2rem;color:#e3dccb;max-width:42ch}
.page-hero .ph{border-radius:8px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.crumbs{font-size:.9rem;color:var(--mute);margin-bottom:10px}.crumbs a{color:var(--mute)}
.strip{background:var(--teal2);color:#fff}.strip ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.strip li{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;font-size:1.15rem;letter-spacing:.04em;display:flex;align-items:center;gap:10px}
.strip li b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.25);color:var(--yel);font-size:1rem}
section.s{padding:clamp(56px,7vw,90px) 0}section.dark{background:var(--char);color:var(--cream)}section.dark p{color:#ddd6c6}section.alt{background:#efe9de}
.sec-head{max-width:720px;margin-bottom:34px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{background:#fff;border-radius:8px;overflow:hidden;text-decoration:none;color:var(--txt);border:1px solid #e3dccf;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card div{padding:16px 18px 20px}.card h3{margin-bottom:6px}.card p{margin:0;color:#4a4d50;font-size:.98rem}
.card .more{display:inline-block;margin-top:10px;font-weight:700;color:var(--teal2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{border-radius:8px}
.ticks{list-style:none;padding:0;margin:18px 0}.ticks li{padding:8px 0 8px 34px;position:relative;border-bottom:1px solid rgba(128,128,128,.2)}
.ticks li:before{content:"";position:absolute;left:0;top:12px;width:20px;height:20px;border-radius:50%;background:var(--teal)}
.ticks li:after{content:"";position:absolute;left:7px;top:16px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery figure{margin:0;border-radius:6px;overflow:hidden;position:relative}
.gallery img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:transform .3s}.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:.85rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.gallery .wide{grid-column:span 2;grid-row:span 2}.gallery .wide img{aspect-ratio:auto;height:100%}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;padding:0;margin:0}
.steps li{background:var(--char2);border-radius:8px;padding:22px 20px;border-top:4px solid var(--yel)}
.steps li:before{counter-increment:s;content:counter(s);font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:2.4rem;color:var(--yel);display:block;line-height:1}
.steps h3{margin:10px 0 6px;color:var(--cream)}.steps p{margin:0;font-size:.97rem}
.areas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:20px 0}
.areas a{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:40px;background:#fff;border:1px solid #ddd5c7;color:var(--txt);text-decoration:none;font-weight:600}
.areas a svg{width:16px;height:16px;fill:var(--teal2)}.areas a:hover{border-color:var(--teal)}
.map{border:0;width:100%;height:380px;border-radius:8px;background:#ddd}
details{background:#fff;border:1px solid #e3dccf;border-radius:8px;margin-bottom:10px}
summary{cursor:pointer;padding:16px 50px 16px 20px;font-weight:700;font-size:1.08rem;list-style:none;position:relative}summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:20px;top:10px;font-size:1.6rem;color:var(--teal2)}details[open] summary:after{content:"\2212"}
details p{margin:0;padding:0 20px 18px;color:#3d4043}
.dark details{background:var(--char2);border-color:var(--line)}.dark summary{color:var(--cream)}.dark details p{color:#d6cfbf}
.ctaband{background:var(--yel);color:#111;padding:44px 0}.ctaband .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.ctaband h2{margin:0}.ctaband p{margin:4px 0 0;font-weight:600}
.ctaband .btn-call{background:#111;color:var(--yel)}.ctaband .btn-call:hover{background:#000}
.prose{max-width:760px}.prose p{margin:0 0 1.1em}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.aside{position:sticky;top:96px;background:var(--ink);color:var(--cream);border-radius:10px;padding:26px}
.aside h3{color:var(--cream)}.aside p{color:#d6cfbf;font-size:.97rem}.aside .btn{width:100%;margin-top:10px}
.aside ul{list-style:none;padding:0;margin:16px 0 0;border-top:1px solid var(--line)}.aside li a{display:block;padding:9px 0;color:var(--cream);text-decoration:none;border-bottom:1px solid var(--line);font-size:.97rem}.aside li a:hover{color:var(--yel)}
.quote-line{display:inline-block;background:#fff6d6;border-left:5px solid var(--yel);padding:12px 16px;font-weight:700;margin:6px 0 22px}
table.rates{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}
table.rates th,table.rates td{text-align:left;padding:14px 16px;border-bottom:1px solid #e6dfd2}table.rates th{background:var(--ink);color:var(--cream);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.05em}
.rights{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;list-style:none;padding:0}.rights li{background:#fff;border-radius:8px;padding:18px;border-top:4px solid var(--teal)}
.contact-big{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(2.6rem,9vw,5rem);color:var(--yel);text-decoration:none;display:inline-block;line-height:1}
.loc-box{background:var(--char2);border-radius:10px;padding:24px;margin-top:20px}.loc-box p{margin:0 0 12px}
.small{font-size:.9rem;color:var(--mute)}
footer.foot{background:var(--ink);color:var(--mute);padding:56px 0 110px;font-size:.95rem}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.foot h4{font-family:"Barlow Condensed",sans-serif;color:var(--cream);text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem;margin:0 0 12px}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:6px 0}.foot a{color:var(--mute);text-decoration:none}.foot a:hover{color:var(--yel)}
.foot .ph{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:2rem;color:var(--yel)}
.foot .legal{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.mbar{display:none}
@media (max-width:960px){
 nav.main{position:fixed;inset:71px 0 auto 0;background:var(--ink);border-bottom:3px solid var(--teal);display:none;margin:0}
 nav.main.open{display:block}nav.main ul{flex-direction:column;padding:10px 20px 20px}nav.main a{display:block;padding:14px 4px;font-size:1.15rem;border-bottom:1px solid var(--line)}
 .menu-btn{display:block}.top .btn-call{display:none}
 .page-hero .grid,.split,.layout{grid-template-columns:1fr}.aside{position:static}
 .strip ul{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}
 .foot .cols{grid-template-columns:1fr 1fr}
 .mbar{display:grid;grid-template-columns:1.4fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -4px 20px rgba(0,0,0,.35)}
 .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 8px calc(16px + env(safe-area-inset-bottom));font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;font-size:1.3rem;text-decoration:none}
 .mbar svg{width:22px;height:22px;fill:currentColor}.mbar .c{background:var(--yel);color:#111}.mbar .t{background:var(--teal2);color:#fff}
}
@media (max-width:560px){body{font-size:16.5px}.steps{grid-template-columns:1fr}.foot .cols{grid-template-columns:1fr}.btn-big{width:100%}.cta-row .btn{flex:1 1 100%}.hero p.lead{font-size:1.12rem}.gallery .wide{grid-column:span 2;grid-row:auto}}