:root{--ivory:#FFF9EF;--cream:#F5EBDD;--maroon:#821C2B;--wine:#651522;--terra:#C7663B;--gold:#C7963E;--sage:#68765A;--char:#302823;--beige:#E9D9C2;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font:16px/1.65 var(--sans);background:var(--ivory);color:var(--char);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);color:var(--maroon);font-weight:600;line-height:1.12}
h2{font-size:clamp(34px,4.5vw,50px);margin-bottom:18px}
h3{font-size:26px}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.bar{background:var(--wine);color:var(--beige);text-align:center;font-size:13px;padding:6px 12px}
.nav{position:sticky;top:0;z-index:20;background:rgba(255,249,239,.97);border-bottom:1px solid var(--beige)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:80px}
.nav__logo{height:66px;width:auto;mix-blend-mode:multiply}
.nav__links{display:flex;align-items:center;gap:26px;font-size:14.5px;font-weight:500}
.nav__links a:not(.btn){padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav__links a:not(.btn):hover{border-color:var(--gold)}
.nav__toggle{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer}
.nav__toggle span{position:absolute;left:10px;right:10px;height:2px;background:var(--maroon)}
.nav__toggle span:first-child{top:16px}.nav__toggle span:last-child{top:26px}
.btn{display:inline-block;font:600 15px var(--sans);background:var(--maroon);color:#fff;border:1.5px solid var(--maroon);padding:13px 26px;border-radius:999px;cursor:pointer;transition:background .2s,transform .15s}
.btn:hover{background:var(--wine);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--maroon)}.btn--ghost:hover{background:var(--cream)}
.btn--sm{padding:9px 18px;font-size:13.5px}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--char)}.btn--gold:hover{background:#d8a74d}
.btns{display:flex;gap:12px;flex-wrap:wrap}.btns--c{justify-content:center}
.hero{padding:56px 0 72px;background:radial-gradient(circle at 85% 20%,var(--cream),transparent 55%)}
.hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero__logo{width:min(300px,62vw);height:auto;margin:0 0 14px -8px;mix-blend-mode:multiply;animation:rise .9s both}
.eyebrow{font-size:12.5px;letter-spacing:.18em;color:var(--terra);font-weight:600;margin-bottom:16px}
h1{font-size:clamp(42px,6vw,72px);margin-bottom:22px;animation:rise .9s both}
.lead{font-size:18px;max-width:520px;margin-bottom:30px;animation:rise .9s .15s both}
.hero .btns{animation:rise .9s .3s both}
.arch{border-radius:999px 999px 18px 18px;padding:10px;border:1.5px solid var(--gold);max-width:440px;justify-self:center}
.arch img{border-radius:999px 999px 10px 10px;width:100%;aspect-ratio:4/5;object-fit:cover}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.sec{padding:88px 0}.sec--cream{background:var(--cream)}
.title,.center{text-align:center}
.title::after{content:"";display:block;width:90px;height:2px;background:var(--gold);margin:16px auto 0}
.sub{max-width:640px;margin:0 auto 44px;text-align:center}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:28px}
.card{flex:0 1 calc((100% - 56px)/3);background:var(--ivory);border-radius:140px 140px 14px 14px;padding:10px 10px 26px;box-shadow:0 10px 28px rgba(101,21,34,.08);display:flex;flex-direction:column;text-align:center}
.card__img{aspect-ratio:4/5;border-radius:130px 130px 8px 8px;overflow:hidden;margin-bottom:18px}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card__img img{transform:scale(1.05)}
.card p{padding:8px 14px 18px;font-size:14.5px;flex:1}
.card .btn{align-self:center}
.ph{display:grid;place-items:center;width:100%;height:100%;font-size:13px;color:var(--maroon);text-align:center;padding:20px;background:repeating-conic-gradient(var(--beige) 0 15deg,var(--cream) 0 30deg)}
.note,.small{font-size:13.5px;opacity:.8;margin-top:20px}.note{text-align:center}
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.story p{margin-bottom:16px;max-width:560px}
.story__img{border:1.5px solid var(--gold);padding:10px;border-radius:14px}.story__img img{border-radius:6px;aspect-ratio:4/5;object-fit:cover}
.gal{columns:3 260px;column-gap:20px}
.gal button{display:block;width:100%;margin:0 0 20px;padding:0;border:0;border-radius:14px;overflow:hidden;position:relative;cursor:zoom-in;background:var(--beige)}
.gal img{width:100%;transition:transform .6s}.gal button:hover img{transform:scale(1.04)}
.gal span{position:absolute;inset:auto 0 0;padding:28px 16px 12px;color:#fff;text-align:left;font-size:14px;background:linear-gradient(transparent,rgba(48,40,35,.78))}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}
.steps li{text-align:center}.steps h3{font-size:23px;margin:12px 0 6px}.steps p{font-size:14.5px}
.steps svg{width:52px;height:52px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:0 auto}
.sec--wine{background:var(--wine);color:var(--beige)}.sec--wine h2{color:var(--ivory)}
.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
form{background:var(--ivory);color:var(--char);padding:32px;border-radius:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{margin-bottom:16px;display:flex;flex-direction:column}
label{font-size:13.5px;font-weight:600;margin-bottom:5px}
input,select,textarea{font:inherit;padding:11px 13px;border:1.5px solid var(--beige);border-radius:8px;background:#fff;width:100%}
.f.bad input,.f.bad select{border-color:#B3261E}
.err{color:#B3261E;font-size:13px;margin-top:4px}
.chk{flex-direction:row;gap:10px;align-items:flex-start}.chk input{width:22px;height:22px;margin-top:2px}.chk label{margin:0;font-weight:400}
#status{margin-top:14px;font-size:14.5px;font-weight:500}#status.ok{color:var(--sage)}#status.no{color:#B3261E}
.insta{margin-top:48px;padding-top:32px;border-top:1px solid var(--beige)}
.foot{background:var(--cream);padding-top:56px}
.foot__in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.foot img{width:170px;mix-blend-mode:multiply;margin-bottom:8px}
.foot h3{font-size:20px;margin-bottom:8px}.foot__in>*:not(:first-child){display:flex;flex-direction:column;gap:4px}
.foot a:hover{color:var(--maroon)}
.foot__c{text-align:center;padding:32px 24px;font-size:14px}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:30;width:56px;height:56px;border-radius:50%;background:#1f8f4e;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.wa-float svg{width:30px;fill:#fff}
dialog{border:0;background:none;max-width:94vw;max-height:94vh;margin:auto;overflow:visible}
dialog::backdrop{background:rgba(48,40,35,.88)}
dialog img{max-height:82vh;max-width:94vw;width:auto;border-radius:8px}
#lb-c{color:#fff;text-align:center;margin-top:10px}
#lb-x{position:absolute;right:-6px;top:-46px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ivory);font-size:26px;cursor:pointer}
@media(max-width:960px){
.foot__in{grid-template-columns:1fr 1fr}
.card{flex-basis:calc((100% - 28px)/2)}.steps{grid-template-columns:repeat(2,1fr)}
.hero__in,.story,.form-wrap{grid-template-columns:1fr;gap:36px}
.nav__toggle{display:block}
.nav__links{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 24px 24px;background:var(--ivory);border-bottom:1px solid var(--beige)}
.nav__links.open{display:flex}.nav__links a{padding:10px 0}}
@media(max-width:600px){
.sec{padding:60px 0}.hero{padding:32px 0 52px}.row,.steps,.foot__in{grid-template-columns:1fr}.card{flex-basis:100%}.hero__logo{width:min(300px,50vw)}.foot__c{padding-bottom:92px}
form{padding:22px 18px}.arch{max-width:340px}.btn{padding:14px 22px}}
.person{max-width:380px;margin:0 auto 28px;padding:28px 24px;border:1.5px solid var(--gold);border-radius:140px 140px 14px 14px;background:var(--cream)}
.person h3{margin:4px 0}.person .num{display:block;font:600 22px var(--sans);color:var(--maroon);margin:10px 0 4px}
.card .link{font-size:13.5px;margin-top:10px;text-decoration:underline;text-underline-offset:3px;color:var(--maroon)}
#lb-wa{display:block;width:max-content;margin:12px auto 0}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
