:root{--navy:#17314f;--blue:#244b6d;--blush:#e6a38f;--cream:#fbf8f4;--ink:#1b2936;--muted:#66717c;--line:#ddd8d1;--gold:#cf9d50}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.65 "DM Sans",sans-serif}.skip-link{position:fixed;top:-5rem;background:#fff;padding:.8rem;z-index:99}.skip-link:focus{top:1rem}img{display:block;max-width:100%}.site-header{height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:0 clamp(1.25rem,4vw,4.5rem);background:rgba(251,248,244,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid #17314f18}.brand img{width:185px;height:68px;object-fit:contain;object-position:left}.site-header nav{display:flex;gap:2rem}.site-header a,.text-link,footer a,.phone-link,.facebook-link{color:var(--navy);text-decoration:none;font-weight:700}.site-header>.button{justify-self:end}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.85rem 1.35rem;border-radius:999px;background:var(--blush);color:var(--navy);text-decoration:none;font-weight:800;box-shadow:0 10px 25px #17314f1f;transition:.2s}.button:hover{transform:translateY(-2px);background:#efb3a1}.button-small{min-height:44px;padding:.55rem 1rem}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:.95fr 1.05fr;background:var(--navy);color:#fff}.hero-photo{min-height:680px;position:relative;overflow:hidden}.hero-photo img,.about-photo img,.gallery img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--navy))}.hero-copy{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem) clamp(4rem,8vw,8rem) clamp(2rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;margin:0 0 1.1rem;color:var(--gold)}h1,h2{font-family:"Fraunces",serif;line-height:1;letter-spacing:-.035em;margin:0}h1{font-size:clamp(4rem,8vw,7.7rem)}h1 em{color:var(--blush)}.hero-text{max-width:620px;font-size:clamp(1.08rem,1.8vw,1.3rem);color:#dce4ea;margin:2rem 0}.hero-actions{display:flex;gap:1.4rem;align-items:center}.hero .text-link{color:#fff}.trust-row{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;margin-top:3rem;color:#ccd8e3;font-size:.9rem}.trust-row span:before{content:"•";color:var(--blush);margin-right:.55rem}section{padding:clamp(4.5rem,9vw,8.5rem) clamp(1.25rem,7vw,8rem)}.intro{display:grid;grid-template-columns:.3fr 1fr 1fr;gap:clamp(2rem,5vw,5rem)}.section-number{font-size:.73rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0}.intro h2,.pricing h2,.about h2,.reviews h2,.booking h2{font-size:clamp(2.7rem,5vw,5rem)}.section-lead{font-size:1.14rem;color:var(--muted);margin:2rem 0 0}.service-grid{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.service-grid article{background:var(--cream);padding:clamp(2rem,4vw,4rem);min-height:300px}.service-grid article:nth-child(2){background:#fff}.service-grid article:nth-child(3){background:var(--navy);color:#fff}.service-grid article>span{font-family:"Fraunces",serif;color:var(--blush);font-size:1.25rem}.service-grid h3{font:2.2rem/1.1 "Fraunces",serif}.service-grid p,.pricing-heading>p:last-child,.policy p{color:var(--muted)}.service-grid article:nth-child(3) p{color:#cad5df}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:260px;gap:1rem;background:#fff;padding-top:2rem}.gallery figure{margin:0;overflow:hidden;border-radius:4px}.gallery-wide{grid-row:span 2}.pricing{background:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem)}.price-list article{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line)}.price-list article p{font-weight:800;font-size:1.17rem;margin:0}.price-list article span{font-size:.9rem;color:var(--muted)}.price-list article strong{font:2.5rem "Fraunces",serif;color:var(--blue)}.price-extras{background:var(--cream);padding:1.25rem 1.5rem;margin-top:2rem}.price-extras p{display:flex;justify-content:space-between;gap:1rem;margin:.6rem 0}.about{display:grid;grid-template-columns:.9fr 1.1fr;padding:0}.about-photo{min-height:780px}.about-copy{padding:clamp(4rem,7vw,7.5rem);background:#e9f0f3}.signature{font:1.7rem "Fraunces",serif;color:var(--navy)}.reviews{background:var(--navy);color:#fff}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#ffffff26;margin:4rem 0 2.5rem}.review-grid blockquote{margin:0;padding:clamp(2rem,4vw,3.6rem);background:var(--navy)}.review-grid p{font:clamp(1.25rem,2vw,1.7rem)/1.35 "Fraunces",serif;margin-top:0}.review-grid cite{color:var(--blush);font-style:normal;font-weight:700}.facebook-link{color:#fff;border-bottom:1px solid var(--blush)}.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem)}.booking-card{background:#fff;padding:clamp(2rem,5vw,4.5rem);box-shadow:0 20px 55px #17314f17}.booking-card .button{margin:1rem 1rem 0 0}.policy{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem);background:#e9f0f3;padding-top:4rem;padding-bottom:4rem}.policy h2,.policy h3{font-family:"Fraunces",serif;margin-top:0}.policy h2{font-size:2.4rem}footer{display:grid;grid-template-columns:1.3fr 2fr 1fr 1fr;align-items:center;gap:2rem;padding:2rem clamp(1.25rem,5vw,5rem);background:#fff;font-size:.85rem;color:var(--muted)}footer img{width:170px;height:80px;object-fit:contain}footer p:last-child{text-align:right}.mobile-book{display:none}@media(max-width:950px){.site-header{grid-template-columns:1fr auto;height:76px}.brand img{width:145px}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-photo{min-height:52vh}.hero-photo:after{background:linear-gradient(180deg,transparent 60%,var(--navy))}.intro,.pricing,.about,.booking,.policy{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0}.gallery{grid-template-columns:1fr 1fr}.gallery-wide{grid-column:span 2;grid-row:auto}.about-photo{min-height:560px}.review-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){body{padding-bottom:64px}.site-header>.button{display:none}.hero-photo{min-height:48vh}.hero-copy{padding:2.5rem 1.25rem 4.5rem}h1{font-size:3.6rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{text-align:center}.trust-row{display:grid;gap:.45rem}.gallery{grid-template-columns:1fr;grid-auto-rows:250px;padding-left:1rem;padding-right:1rem}.gallery-wide{grid-column:auto}.price-list article strong{font-size:2rem}.about-photo{min-height:440px}.about-copy{padding:4rem 1.25rem}.booking-card{padding:2rem 1.3rem}.booking-card .button{width:100%}.phone-link{display:block;text-align:center;margin-top:1rem}footer{grid-template-columns:1fr}.mobile-book{display:flex;position:fixed;z-index:30;left:.7rem;right:.7rem;bottom:.7rem;height:52px;align-items:center;justify-content:center;border-radius:999px;background:var(--blush);color:var(--navy);font-weight:800;text-decoration:none;box-shadow:0 10px 35px #00000047}}
