
/* 10/10 — dark espresso editorial identity */
:root{--cream:#221c19;--paper:#1c1816;--night:#1c1816;--gold:#d7c2a3;--ink:#f2ece4;--line:#55483f;--sand:#cbb79b}
html{overflow-x:clip}body{background:var(--cream);color:var(--ink);overflow-wrap:break-word}
h1,h2,h3{font-weight:400;letter-spacing:-.025em}
.site-header{background:#151515;color:#f4efe8;border-bottom:1px solid #45372e;min-height:80px}
.brand small{color:var(--gold)}.nav a{color:#ded6ca}.nav.open{background:#151515}
.header-cta,.button.light,.button.dark{background:var(--gold);color:#1c1816}
.button.outline{background:rgba(28,24,22,.25);border-color:#f2ece4}
.button{border-radius:2px;min-height:48px}
.eyebrow{color:var(--gold)}.dark-label{color:#dac3a3}
.hero{height:min(770px,calc(100svh - 84px));max-height:none;background:#34291f;color:#fff;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:54% 44%;filter:brightness(1.08) saturate(.93)}
.hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(19,15,14,.67) 0%,rgba(19,15,14,.4) 44%,rgba(19,15,14,.08) 100%)}
.hero-inner{z-index:2;position:relative;padding:70px 6.2% 120px;width:min(100%,1420px)}
.hero h1{max-width:760px;line-height:1.16;letter-spacing:-.026em;font-weight:400;margin:22px 0;text-wrap:balance;text-shadow:0 2px 15px rgba(0,0,0,.28)}
.hero p{color:#fbf5eb;font-size:clamp(15px,1.25vw,18px);max-width:530px;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.hero .eyebrow{color:#f3d8b6;text-shadow:0 1px 9px rgba(0,0,0,.3)}
.hero-controls{display:flex;position:absolute;bottom:36px;left:6.2%;z-index:3;align-items:center;gap:5px}
.hero-dot{width:35px;height:38px;border:0;background:transparent;display:grid;place-items:center;padding:0}
.hero-dot:after{content:"";display:block;width:25px;height:2px;background:#e6dcd0;opacity:.55;transition:opacity .25s,background .25s}
.hero-dot.is-active:after{height:3px;background:#f7e0bb;opacity:1}
.hero-dot:focus-visible{outline:2px solid #f2ece4;outline-offset:1px}
.hero-index{right:6%;left:auto;bottom:43px;z-index:3;color:#fff}
.hero-aside{z-index:3;color:#f2ece4}
.promise-bar{background:#3c3029;color:#f2e8d8;border-bottom:1px solid #6a5649;font-weight:500}
.intro,.cities{background:var(--cream);color:var(--ink);border-color:var(--line)}
.intro h2,.section-top h2,.city-detail h2{color:var(--ink)}
.intro p,.section-top p,.profile-card p,.empty-copy p,.editorial p,.rate-intro,.rate-conditions p,.profile-copy p,.faq-list p,.form-section>div p,.occasion-details p,.city-detail p{color:#c9bdb1}
.intro .section-mark,.profile-meta,.rate-list strong small{color:#d6b48d}
.occasions{background:#191715;color:var(--ink)}
.selection{background:var(--paper);color:var(--ink)}
.occasion-grid{background:transparent;border:0;gap:15px}
.occasion-photo{background:#28201b;border-radius:2px;min-height:455px}
.occasion-photo:after{background:linear-gradient(0deg,rgba(14,12,11,.9),rgba(14,12,11,.02) 82%)}
.profile-photo{background:#3a302a}.profile-card{min-width:0}
.profile-overlay{background:var(--gold);color:#1c1816}
.empty-state{background:#302720;color:var(--ink);border:1px solid #564639}
.empty-copy h3,.profile-card h3{color:var(--ink)}.empty-photo{background:#393029}
.philosophy{background:#241e1b;color:var(--ink)}.philosophy p{color:#cfc1b3}
.closing{background:#3a2d26;color:var(--ink);padding-block:clamp(75px,8vw,108px)}
.closing .eyebrow{color:#d7c2a3}.closing .button.light{background:var(--gold);color:#1b1714}
.footer{background:#151515;color:var(--ink)}.footer p,.footer-bottom{color:#bcae9f}
.page-hero{background:#342820;color:var(--ink)}
.page-hero:after{background:linear-gradient(90deg,rgba(22,18,16,.86),rgba(22,18,16,.5) 52%,rgba(22,18,16,.14))}
.page-hero p{color:#e5d9ca}
.full-list .occasion,.city-links a,.direct-contact a,.public-form{background:#302720;color:var(--ink);border:1px solid #594b40}
.occasion-details>span,.direct-contact span{color:#d7c2a3}
.city-links a:hover,.city-links a:focus-visible{background:#46362b}
.rate-list,.rate-list>div,.rate-conditions,.faq-list details,.profile-copy dl div{border-color:var(--line)}
.faq-list details:hover{background:#342a25}.faq-list summary,.rate-list strong,.profile-copy dt,.profile-copy dd{color:var(--ink)}
.filters select,.field input,.field select,.field textarea{background:#221c19;border:1px solid #685748;color:#f2ece4}
.field input::placeholder,.field textarea::placeholder{color:#af9e8c}
.field span,.consent,.consent a{color:#eee1d2}.field input[type=file]{color:#f2ece4}
.direct-contact strong,.direct-contact a{color:var(--ink)}.form-result{color:#e6c7a6}
.preview-alert{background:#3a302a;color:#f2ece4;border-color:var(--gold)}
.profile-copy dl div{gap:12px}.text-link{border-color:var(--gold)}
.page-hero h1{font-weight:400;letter-spacing:-.026em;line-height:1.13}
@media(max-width:1150px){.site-header{padding-inline:4%}.nav{background:#151515}.hero-inner{padding-inline:6%}.hero-controls{left:6%}}
@media(max-width:850px){
 .site-header{height:76px}.nav{top:76px;max-height:calc(100svh - 76px);overflow-y:auto}
 .hero{height:auto;min-height:690px}.hero-media{inset:0}.hero-inner{padding:110px 6% 125px}
 .hero-shade{background:linear-gradient(90deg,rgba(17,14,13,.72),rgba(17,14,13,.35) 70%,rgba(17,14,13,.1))}
 .occasion-grid{grid-template-columns:1fr}.occasion-photo{min-height:350px}
 .full-list .occasion{background:#302720}.section{padding-block:72px}
}
@media(max-width:600px){
 .hero{min-height:690px;align-items:flex-end}.hero-media{inset:0}.hero-slide img{object-position:58% center}
 .hero-shade{background:linear-gradient(0deg,rgba(19,15,14,.86),rgba(19,15,14,.60) 44%,rgba(19,15,14,.10))}
 .hero-inner{padding:220px 6% 115px}.hero h1{line-height:1.14;max-width:100%;margin:18px 0;text-wrap:pretty}
 .hero p{font-size:15px;max-width:95%}.hero-controls{bottom:25px;left:6%;gap:0}
 .hero-dot{width:32px;min-height:44px}.hero-dot:after{width:21px}
 .hero-index{bottom:39px;right:6%}.promise-bar{gap:7px;padding:13px 6%}.promise-bar span{width:100%}
 .page-hero h1{font-size:clamp(2.05rem,8.1vw,2.9rem)}
 .page-hero:after{background:linear-gradient(90deg,rgba(21,17,15,.88),rgba(21,17,15,.36))}
 .section{padding:65px 6%}.intro{gap:14px}.intro p{margin:0}.occasion-photo{min-height:390px}
 .footer-bottom div{gap:14px}.public-form{padding:20px}.city-links a{padding:17px}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot:after{transition:none}.occasion-photo>img,.profile-photo img{transition:none}}
