:root{--ink:#241a36;--ink2:#1a1229;--cream:#f6f1e8;--cream2:#ece5d6;--accent:#6cc0bd;--accent-d:#2f7f7c;--line:rgba(108,192,189,.28);--hair:rgba(36,26,54,.16)}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Jost',system-ui,sans-serif;font-weight:300;font-size:1.05rem;line-height:1.75;color:var(--ink);background:var(--cream);overflow-x:hidden}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.12}
h2{font-size:clamp(2.2rem,4.6vw,3.3rem);margin-bottom:1.2rem}
h3{font-size:1.6rem}
em{font-style:italic}
.eyebrow,.btn,.nav-link,.caps{font-size:.68rem;text-transform:uppercase;letter-spacing:.28em;font-weight:500}
.eyebrow{display:block;color:var(--accent-d);margin-bottom:1rem}
.on-dark .eyebrow,.hero .eyebrow{color:var(--accent)}
section{padding:96px 0}
@media(max-width:767px){section{padding:64px 0}}
.lead-in{max-width:820px}
.navbar{background:rgba(26,18,41,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.8rem 0;border-bottom:1px solid var(--line)}
.navbar-brand{display:flex;align-items:center;gap:.7rem;color:var(--cream)!important;font-family:'Cormorant Garamond',serif;font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase;white-space:normal}
.navbar-brand svg{width:30px;height:28px;flex:none}
.navbar .nav-link{color:rgba(246,241,232,.82);padding:.6rem 1rem;transition:.3s}
.navbar .nav-link:hover{color:#fff}
.navbar-toggler{border:1px solid var(--line)}
.navbar-toggler-icon{filter:invert(1)}
@media(max-width:991px){.navbar-brand{font-size:1rem;letter-spacing:.1em}.navbar-collapse{border-top:1px solid var(--line);margin-top:.6rem;padding-bottom:.6rem}}
.btn{border-radius:0;padding:15px 36px;transition:.3s}
.btn-accent{background:var(--accent);color:var(--ink2);border:1px solid var(--accent)}
.btn-accent:hover{background:transparent;color:var(--accent)}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(246,241,232,.35)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-ink{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}
.btn-ink:hover{background:transparent;color:var(--ink)}
.hero{background:linear-gradient(160deg,#2b2040 0%,var(--ink2) 100%);color:var(--cream);padding:90px 0 84px;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);margin-bottom:1.2rem}
.hero .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;opacity:.85;max-width:560px}
.hero .bullets{list-style:none;padding:0;margin:1.6rem 0 2rem;max-width:560px}
.hero .bullets li{padding:.55rem 0;border-top:1px solid var(--line);font-size:.98rem}
.hero .bullets li:last-child{border-bottom:1px solid var(--line)}
.hero-mark{width:100%;max-width:400px;margin:0 auto;display:block;opacity:.95}
.piece{transition:transform .3s}
.mark-bg{position:absolute;right:-90px;bottom:-90px;width:360px;opacity:.06;pointer-events:none}
.hairframe{border:1px solid var(--line);padding:10px}
.svc img,.photo{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.svc{border-top:1px solid var(--hair);padding-top:1.6rem;height:100%}
.svc ul{list-style:none;padding:0;margin:1rem 0 1.4rem}
.svc li{padding:.45rem 0 .45rem 1.3rem;position:relative;font-size:.98rem}
.svc li:before{content:"";position:absolute;left:0;top:1.05rem;width:7px;height:7px;background:var(--accent-d)}
.svc img{margin-bottom:1.4rem}
.band{background:var(--ink2);color:var(--cream);padding:72px 0;text-align:center}
.band p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,3.4vw,2.5rem);max-width:900px;margin:0 auto;line-height:1.3}
.band .mini{width:34px;margin:0 auto 1.4rem;display:block}
.alt{background:var(--cream2)}
.fee{border:1px solid var(--hair);padding:1.6rem 1.8rem;font-size:.98rem}
.list-index{list-style:none;padding:0;margin:0}
.list-index li{border-top:1px solid var(--hair);padding:1rem 0;font-family:'Cormorant Garamond',serif;font-size:1.5rem}
.list-index li:last-child{border-bottom:1px solid var(--hair)}
.contact-card{border:1px solid var(--line);padding:2.2rem;height:100%}
.contact-card a{color:var(--accent);text-decoration:none}
.contact-card a:hover{text-decoration:underline}
.map{width:100%;height:100%;min-height:360px;border:1px solid var(--line);display:block}
footer{background:#120c1d;color:rgba(246,241,232,.7);padding:56px 0 32px;font-size:.82rem;line-height:1.7}
footer a{color:var(--accent)}
footer .brand{font-family:'Cormorant Garamond',serif;color:var(--cream);font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase}
.powered{margin-top:1.4rem;font-size:.75rem;opacity:.7}
