:root{--ink:#2a1b3d;--ink-d:#1a1028;--coral:#e4443a;--coral-d:#c7342b;--paper:#fff;--tint:#f6f2f8;--mute:#5d5468;--line:#e3dbe9}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{overflow-x:clip;font-family:'Figtree',system-ui,sans-serif;font-size:1.06rem;line-height:1.65;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.015em;color:var(--ink)}
h1{font-size:clamp(2.5rem,6vw,4.6rem);margin-bottom:1.2rem}
h1 em{font-style:normal;color:var(--coral)}
h2{font-size:clamp(2rem,4.2vw,3rem);margin-bottom:1rem}
h3{font-size:1.3rem}
a{color:var(--coral-d)}
.mono{font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-d);margin-bottom:.8rem}
.mono-light{color:#ffb3ab}
.stripe{height:8px;background:linear-gradient(90deg,#2b3be0 0 14.28%,#5fa832 0 28.56%,#f58a1f 0 42.84%,#f7d81d 0 57.12%,#7a3fa6 0 71.4%,#d92d73 0 85.68%,#ee2a24 0)}
.util{background:var(--ink-d);color:#e9e2f0;font-size:.85rem;padding:.35rem 0}
.util a{color:#fff;text-decoration:none;font-weight:700}
.main-nav{background:#fff;border-bottom:1px solid var(--line);padding:.4rem 0}
.navbar-brand img{height:44px;width:auto}
.navbar .nav-link{color:var(--ink);font-weight:600;font-size:.95rem}
.navbar .nav-link:hover{color:var(--coral-d)}
.btn-call{background:var(--coral);border:2px solid var(--coral);color:#fff;font-weight:700;border-radius:999px;padding:.55rem 1.4rem}
.btn-call:hover{background:var(--coral-d);border-color:var(--coral-d);color:#fff}
.btn-outline-ink{border:2px solid var(--ink);color:var(--ink);font-weight:700;border-radius:999px}
.btn-outline-ink:hover{background:var(--ink);color:#fff}
.hero{background:var(--tint);padding:4rem 0 0}
.hero .container{padding-bottom:4rem}
.hero .lead{font-size:1.15rem;max-width:36rem}
.hero-points{list-style:none;padding:0;margin:1.6rem 0 0;font-weight:600}
.hero-points li::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--coral);margin-right:.6rem}
.arch{background:#fff;border-radius:999px 999px 18px 18px;overflow:hidden;box-shadow:12px 12px 0 var(--ink);border:3px solid var(--ink)}
.arch img{width:100%;height:auto;display:block}
.arch-sm{box-shadow:8px 8px 0 var(--coral)}
.arch-sm img{aspect-ratio:3/4;object-fit:cover;object-position:50% 25%}
.arch-dark{box-shadow:10px 10px 0 var(--coral);border-color:#fff}
.ticker{background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap;padding:.8rem 0}
.ticker-track{display:inline-block;animation:tick 40s linear infinite}
.ticker span{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin-right:2.5rem}
.ticker span::after{content:"✚";color:var(--coral);margin-left:2.5rem}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.section{padding:5rem 0}
.section-tint{background:var(--tint)}
.section-dark{background:var(--ink);color:#e9e2f0}
.section-dark h2{color:#fff}
.sticky-side{position:sticky;top:110px}
.q-list .q{border-left:6px solid var(--coral);padding:.2rem 0 .2rem 1.4rem;margin-bottom:2rem}
.q h3{margin-bottom:.4rem}
.q p{margin:0}
.path{display:flex;align-items:center;gap:.5rem;margin-top:1.4rem;flex-wrap:wrap}
.path span{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;background:var(--ink);color:#fff;border-radius:999px;padding:.35rem 1rem;font-size:.95rem}
.path i{flex:1;min-width:14px;height:6px;border-radius:3px;background:linear-gradient(90deg,#2b3be0,#5fa832,#f58a1f,#f7d81d,#7a3fa6,#d92d73,#ee2a24)}
.side-photo{width:100%;height:auto;border-radius:14px;margin-top:1.5rem}
.index{list-style:none;padding:0;margin:0}
.index li{display:grid;grid-template-columns:minmax(150px,.8fr) 2fr;gap:1.4rem;padding:1.15rem 0;border-top:2px solid var(--ink)}
.index li:last-child{border-bottom:2px solid var(--ink)}
.index b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.45rem;line-height:1.1}
.index span{color:var(--mute)}
.night{background-size:cover;background-position:center;color:#fff;padding:5.5rem 0}
.night h2{color:#fff;max-width:40rem;margin:0 auto 1.4rem}
.night-sub{margin:1rem 0 0;font-weight:600}
.phone-big{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2.4rem,7vw,4rem);color:#fff;text-decoration:none;line-height:1}
.phone-big:hover{color:#ffb3ab}
.review{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:1.5rem;height:100%;margin:0;box-shadow:6px 6px 0 var(--line)}
.review p{margin-bottom:1rem}
.review cite{font-style:normal;font-weight:700;font-family:'DM Mono',monospace;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--coral-d)}
.loc{background:#fff;border-radius:16px;border-top:6px solid var(--coral);padding:1.4rem;height:100%;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 2px 0 var(--line)}
.loc h3{font-size:1.15rem;margin:0}
.loc address{margin:0;color:var(--mute)}
.loc a{font-weight:700;text-decoration:none}
.loc .dir{margin-top:auto;color:var(--ink)}
.map{border-radius:16px;overflow:hidden;border:3px solid var(--ink)}
.map iframe{width:100%;height:360px;border:0;display:block}
.contact-card{background:var(--ink);color:#e9e2f0;border-radius:20px;padding:2.2rem;box-shadow:10px 10px 0 var(--coral)}
.contact-card h3{color:#fff;margin-bottom:1rem}
.contact-card .phone-big{margin-bottom:1rem}
.site-foot{background:var(--ink-d);color:#cfc6da}
.site-foot a{color:#fff}
.foot-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:#fff;font-size:1.4rem}
.foot-phone{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.6rem;text-decoration:none}
@media (max-width:991px){.sticky-side{position:static}.section{padding:3.5rem 0}.navbar-collapse{padding:.8rem 0}}
@media (max-width:575px){.index li{grid-template-columns:1fr;gap:.3rem}.hero{padding-top:2.5rem}.arch{box-shadow:7px 7px 0 var(--ink)}}
