:root{--ivory:#FBF7F0;--cream:#F3EAD9;--gold:#C9A96E;--gold-d:#A8864A;--blush:#F2D4D7;--blush-d:#D98A97;--ink:#2B211C;--muted:#6E5F55;--r:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.65 Montserrat,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}h2{font-size:clamp(2rem,4vw,2.8rem)}h3{font-size:1.6rem}h4{font-size:1.35rem}
em{font-style:italic;color:var(--blush-d)}a{color:var(--gold-d)}
.wrap{max-width:1140px;margin:auto;padding:0 20px}.narrow{max-width:820px}
.section{padding:88px 0}.alt{background:linear-gradient(180deg,var(--cream),var(--ivory))}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold-d);font-weight:600;margin:0 0 .6em}
.head{text-align:center;margin-bottom:40px}.small{font-size:.85rem;color:var(--muted)}
.lead{font-size:1.15rem}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;text-decoration:none;font-weight:600;letter-spacing:.04em;border:1.5px solid var(--gold);transition:.25s;cursor:pointer;font-size:.95rem;font-family:inherit}
.btn.sm{padding:10px 20px;font-size:.85rem}
.btn-gold{background:linear-gradient(135deg,#D9BE86,var(--gold) 50%,var(--gold-d));color:#fff;box-shadow:0 6px 18px rgba(169,134,74,.25)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(169,134,74,.35)}
.btn-outline{color:var(--ink);background:transparent}.btn-outline:hover{background:var(--blush);border-color:var(--blush-d)}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:rgba(251,247,240,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,169,110,.25)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600}
.links{display:flex;gap:22px;align-items:center}.links a:not(.btn){color:var(--ink);text-decoration:none;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.links a:not(.btn):hover{color:var(--gold-d)}.menu-btn{display:none;background:none;border:0;font-size:1.6rem;color:var(--ink)}
.hero{padding:60px 0 80px;background:radial-gradient(ellipse at 20% 30%,var(--blush) 0,transparent 55%),radial-gradient(ellipse at 90% 80%,var(--cream) 0,transparent 60%),var(--ivory)}
.hero-inner{max-width:1140px;margin:auto;padding:0 20px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.hero-logo{width:100%;height:auto;max-width:480px;justify-self:center;filter:drop-shadow(0 20px 40px rgba(169,134,74,.18))}
.tagline{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-style:italic;color:var(--muted);margin:0 0 18px}
.pill{display:inline-block;background:#fff;border:1px solid var(--blush-d);color:var(--blush-d);border-radius:999px;padding:6px 16px;font-weight:600;font-size:.85rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}
.quick{display:flex;flex-wrap:wrap;gap:8px}.quick a{font-size:.8rem;text-decoration:none;color:var(--ink);background:rgba(255,255,255,.7);border:1px solid rgba(201,169,110,.4);padding:6px 14px;border-radius:999px}
.card{background:#fff;border-radius:var(--r);padding:28px;border:1px solid rgba(201,169,110,.22);box-shadow:0 10px 30px rgba(43,33,28,.05)}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
ul.plain{list-style:none;padding:0;margin:0}ul.plain li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed rgba(201,169,110,.35)}
ul.dots{padding-left:1.1em;margin:.4em 0}ul.dots li::marker{color:var(--gold)}
.cat{margin-bottom:56px}.cat-title{text-align:center;font-size:1.9rem}.cat-title span{display:block;font-family:Montserrat,sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-top:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.grid.wide{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.svc{display:flex;flex-direction:column;transition:.3s;position:relative;overflow:hidden}.svc::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--blush),var(--gold))}
.svc:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(169,134,74,.16)}
.svc .btn{margin-top:auto;align-self:flex-start}.price{font-family:"Cormorant Garamond",serif;font-size:1.7rem;color:var(--gold-d);margin:0 0 4px;font-weight:600}
.time{font-size:.85rem;color:var(--muted);margin:0 0 16px}.desc{font-size:.92rem;color:var(--muted);margin:.3em 0 .8em}
.feature .price{font-size:2rem}
.note{max-width:760px;margin:22px auto 0;text-align:center;color:var(--muted);font-style:italic}
.policies{list-style:none;padding:12px 28px}.policies li{padding:12px 0;border-bottom:1px solid rgba(201,169,110,.2)}.policies li:last-child{border:0}
.sameday{margin-top:20px;background:linear-gradient(135deg,#fff,var(--blush))}
.deposit p{margin:.4em 0}.ack{display:flex;gap:14px;align-items:flex-start;margin:18px 0;cursor:pointer;background:var(--blush)}
.ack input{width:22px;height:22px;accent-color:var(--gold-d);flex:none;margin-top:3px}
.widget{min-height:120px;border-radius:var(--r);border:1.5px dashed rgba(201,169,110,.5);display:grid;place-items:center;text-align:center;padding:20px;background:#fff}
.widget.open{border:0;padding:0;display:block;min-height:700px}
.textbook{margin-top:18px}.textbook summary{cursor:pointer;font-weight:600}
.contact{list-style:none;padding:0;margin:0}.contact li{padding:12px 0;font-size:1.05rem}
form label{display:block;font-size:.85rem;font-weight:500;margin-bottom:14px}form input,form textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid rgba(201,169,110,.45);border-radius:12px;font:inherit;background:var(--ivory)}
form input:focus,form textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.thanks{text-align:center;max-width:760px;margin:56px auto 0}.thanks p{font-style:italic;font-family:"Cormorant Garamond",serif;font-size:1.3rem}
.foot{text-align:center;padding:40px 20px 110px;border-top:1px solid rgba(201,169,110,.3)}.foot p{margin:.3em}
.gallery{columns:3 260px;gap:16px}.gallery figure{margin:0 0 16px;break-inside:avoid;border-radius:16px;overflow:hidden;cursor:zoom-in}.gallery img{width:100%;display:block;transition:.4s}.gallery img:hover{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;background:rgba(43,33,28,.9);display:grid;place-items:center;z-index:100}.lightbox img{max-width:92vw;max-height:88vh;border-radius:12px}
.sticky-book{display:none}
.fade{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media (max-width:860px){
 .menu-btn{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--ivory);padding:20px;border-bottom:1px solid rgba(201,169,110,.3)}.links.open{display:flex}
 .brand span{font-size:1.1rem}
 .hero{padding:24px 0 56px}.hero-inner{grid-template-columns:1fr;gap:10px;text-align:center}.hero-logo{max-width:280px}.cta-row,.quick{justify-content:center}
 .info-grid{grid-template-columns:1fr}.section{padding:64px 0}
 .sticky-book{display:block;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;text-align:center;padding:16px;border-radius:999px;color:#fff;font-weight:600;text-decoration:none;letter-spacing:.06em;background:linear-gradient(135deg,#D9BE86,var(--gold) 50%,var(--gold-d));box-shadow:0 10px 30px rgba(43,33,28,.25)}
}

.about-row{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:center}
.about-photo{width:100%;height:auto;border-radius:200px 200px 20px 20px;border:4px solid #fff;box-shadow:0 0 0 1px var(--gold),0 18px 40px rgba(169,134,74,.2)}
.gallery figure{box-shadow:0 10px 30px rgba(43,33,28,.08)}
.lightbox{cursor:zoom-out}
@media (max-width:860px){.about-row{grid-template-columns:1fr;justify-items:center;text-align:center}.about-photo{max-width:220px}.gallery{columns:2 150px}}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;columns:auto}
.gallery figure{margin:0;aspect-ratio:3/4}.gallery img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery figure:nth-child(3){grid-column:1/-1;aspect-ratio:4/3}}

.hero-eyebrow span{white-space:nowrap}@media (max-width:420px){.hero-eyebrow{letter-spacing:.16em;line-height:1.9}}

.about-photo{aspect-ratio:3/4;object-fit:cover;object-position:50% 45%}

.about-photo{aspect-ratio:1/1;border-radius:18px;object-position:50% 50%}

.addons{max-width:640px;margin:auto;text-align:center}.addons ul.plain li{text-align:left}

.signature{max-width:820px;margin:auto;text-align:center;padding:40px 32px;background:linear-gradient(135deg,#fff 0%,#FDF3F1 55%,var(--blush) 100%);border:1.5px solid var(--gold);box-shadow:0 0 0 6px rgba(201,169,110,.12),0 22px 50px rgba(169,134,74,.18)}
.signature::before{height:5px}.signature h3{font-size:clamp(1.9rem,4vw,2.4rem)}.signature .btn{align-self:center}
.signature .incl{color:var(--ink);font-weight:500}.signature .who{font-size:1.25rem;color:var(--gold-d);margin:.8em 0 .2em}
