:root{--ink:#10303a;--ink2:#0b242c;--cream:#f6f1e7;--brass:#b8935a;--brass-d:#8a6a36;--mist:rgba(184,147,90,.22)}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.7;font-weight:400}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.12;color:inherit}
h2{font-size:clamp(2.2rem,4.6vw,3.4rem)}
h3{font-size:1.7rem}
.caps,.eyebrow,.nav-link,.btn-b,.btn-g,.label{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.26em;font-size:.7rem;font-weight:500}
.eyebrow{color:var(--brass-d);display:block;margin-bottom:1rem}
.dark .eyebrow,.hero .eyebrow{color:var(--brass)}
.lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.25rem,2.2vw,1.55rem);opacity:.85;line-height:1.45}
a{color:var(--brass-d)}
/* nav (c): centered name over links */
.site-nav{background:rgba(11,36,44,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.9rem 0;border-bottom:1px solid var(--mist)}
.site-nav .navbar-brand{display:block;text-align:center;margin:0 auto;font-family:'Cormorant Garamond',serif;color:var(--cream);font-size:1.7rem;letter-spacing:.32em;text-transform:uppercase;font-weight:400;line-height:1.1}
.site-nav .navbar-brand small{display:block;font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.34em;color:var(--brass);margin-top:.3rem}
.site-nav .nav-link{color:rgba(246,241,231,.82);padding:.5rem 1.05rem;transition:color .3s}
.site-nav .nav-link:hover{color:var(--brass)}
.navbar.site-nav .navbar-collapse{justify-content:center}
.navbar.site-nav .navbar-nav{flex-wrap:wrap;justify-content:center}
.navbar-toggler{border:1px solid rgba(246,241,231,.35);padding:.35rem .6rem}
.navbar-toggler-icon{filter:invert(1)}
@media(max-width:991px){.site-nav .container{position:relative}.site-nav .navbar-toggler{position:absolute;right:12px;top:10px}.site-nav .navbar-brand{font-size:1.15rem;letter-spacing:.2em;padding-right:3rem;text-align:left;margin:0}.site-nav .navbar-brand small{font-size:.52rem}}
/* buttons */
.btn-b,.btn-g{display:inline-block;padding:15px 36px;border-radius:0;text-decoration:none;transition:.3s;border:1px solid var(--brass)}
.btn-b{background:var(--brass);color:var(--ink2)}
.btn-b:hover{background:var(--cream);border-color:var(--cream);color:var(--ink2)}
.btn-g{background:transparent;color:var(--cream);border-color:rgba(246,241,231,.4)}
.btn-g:hover{border-color:var(--brass);color:var(--brass)}
.btn-g.on-light{color:var(--ink);border-color:rgba(16,48,58,.35)}
.btn-g.on-light:hover{color:var(--brass-d);border-color:var(--brass-d)}
/* hero */
.hero{position:relative;min-height:calc(100vh - 96px);min-height:calc(100svh - 96px);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--cream);background:var(--ink2) url('img/hero.webp') center 62%/cover no-repeat;padding:70px 0}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 48%,rgba(5,20,26,.45) 0%,rgba(5,20,26,.06) 100%),linear-gradient(to bottom,rgba(5,20,26,.38) 0%,rgba(5,20,26,.10) 45%,rgba(5,20,26,.55) 100%)}
.contours{position:absolute;inset:0;opacity:.5;pointer-events:none;mix-blend-mode:screen}
.hero-content{position:relative;max-width:860px;margin:0 auto;padding:2.2rem 1.5rem;background:rgba(5,20,26,.22);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.hero .eyebrow{text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero h1{font-size:clamp(2.7rem,6.2vw,4.8rem);text-shadow:0 0 4px #000,0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8);margin-bottom:1rem}
.hero .lede{opacity:1;color:#fff;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}
.hero .badge-line{margin-top:1.6rem;color:var(--cream);text-shadow:0 0 3px #000,0 1px 12px #000}
/* sections */
section{padding:96px 0;position:relative}
@media(max-width:767px){section{padding:64px 0}}
.dark{background:var(--ink);color:var(--cream)}
.narrow{max-width:820px;margin:0 auto}
.rule{border:0;border-top:1px solid var(--mist);margin:0;opacity:1}
.stats{background:var(--ink2);color:var(--cream);padding:46px 0;border-top:1px solid var(--mist);border-bottom:1px solid var(--mist)}
.stat{text-align:center;padding:.6rem}
.stat b{display:block;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2.2rem,4vw,3.2rem);color:var(--brass);line-height:1}
.stat span{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;opacity:.8}
/* photos */
.frame{position:relative}
.frame img{width:100%;display:block}
.frame::after{content:"";position:absolute;inset:12px -12px -12px 12px;border:1px solid var(--brass);z-index:-1}
.ph{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
/* packages */
.pkg{border-top:1px solid var(--mist);padding:2.4rem 0}
.pkg:last-child{border-bottom:1px solid var(--mist)}
.pkg h3{margin-bottom:.4rem}
.price{font-family:'Cormorant Garamond',serif;font-size:2.6rem;line-height:1;color:var(--brass-d)}
.price small{font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);opacity:.7;display:block;margin-top:.4rem}
.dark .price{color:var(--brass)}.dark .price small{color:var(--cream)}
.inc{list-style:none;padding:0;margin:1rem 0 0;columns:2;column-gap:2rem}
.inc li{padding:.25rem 0 .25rem 1.3rem;position:relative;break-inside:avoid;font-size:.97rem}
.inc li::before{content:"";position:absolute;left:0;top:1.02rem;width:.6rem;border-top:1px solid var(--brass)}
@media(max-width:767px){.inc{columns:1}}
.note{font-size:.88rem;opacity:.75}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;grid-auto-flow:dense}
.gal img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1;transition:opacity .3s}
.gal img:hover{opacity:.85}
.gal .w2{grid-column:span 2;aspect-ratio:2/1}
.gal .t2{grid-row:span 2;aspect-ratio:auto}
@media(max-width:767px){.gal{grid-template-columns:repeat(2,1fr)}.gal .w2{grid-column:span 2}}
/* faq */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--mist);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--ink);--bs-accordion-btn-color:var(--ink);--bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0}
.accordion-button{font-family:'Cormorant Garamond',serif;font-size:1.35rem;background:transparent;box-shadow:none}
.accordion-button:not(.collapsed){box-shadow:none;color:var(--brass-d)}
.accordion-item{background:transparent;border-left:0;border-right:0}
/* quote band */
.band{background:var(--ink2);color:var(--cream);text-align:center;padding:84px 0;overflow:hidden}
.band blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.7rem,3.8vw,2.7rem);line-height:1.25;max-width:880px;margin:0 auto 1.4rem;position:relative}
.band .contours{opacity:.35}
.award{width:96px;height:96px;object-fit:cover;margin-bottom:1.4rem}
/* contact */
.map iframe{width:100%;height:100%;min-height:380px;border:0;filter:saturate(.8)}
.contact-line{border-top:1px solid var(--mist);padding:1.1rem 0}
.contact-line .label{display:block;color:var(--brass);margin-bottom:.2rem}
.contact-line a{color:var(--cream);text-decoration:none;font-size:1.25rem;font-family:'Cormorant Garamond',serif}
.contact-line a:hover{color:var(--brass)}
footer.site-foot{background:var(--ink2);color:rgba(246,241,231,.7);padding:46px 0 30px;text-align:center;font-size:.9rem;border-top:1px solid var(--mist)}
footer.site-foot .fname{font-family:'Cormorant Garamond',serif;letter-spacing:.3em;text-transform:uppercase;font-size:1.3rem;color:var(--cream)}
footer.site-foot a{color:var(--brass);text-decoration:none}
footer.site-foot .links a{margin:0 .8rem;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase}
.powered{margin-top:1.2rem;font-size:.78rem}
