@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Great+Vibes&display=swap');
:root{--bg:#190307;--bg2:#360812;--gold:#efc76c;--cream:#fff4df;--muted:#cfb5af;--edge:#c69b4d66}
body{background:#190307}h1,h2,h3,.logo em,h3 i,.price{font-family:'Cormorant Garamond',Georgia,serif}.container{width:min(1320px,calc(100% - 80px))}.section{padding:76px 0}.eyebrow{font-size:.68rem;letter-spacing:.25em}.logo em{font-family:'Great Vibes',cursive;font-size:43px}.logo small{letter-spacing:.2em;font-size:9px}.logo-mark{color:#f0c769;font-size:40px}.site-header{background:#170306f5;padding:10px max(40px,calc((100vw - 1320px)/2));border-color:#b58b3d30}.nav{gap:27px}.nav a{font-size:.86rem}.nav a:hover{color:#ffe393}.btn-gold{background:linear-gradient(135deg,#ffe992,#f4ca60 55%,#d99b36);box-shadow:0 7px 25px #0003;color:#241005}.btn{min-height:48px}.nav-cta{min-height:43px}.hero{min-height:560px;background:#24060d;isolation:isolate;overflow:hidden}.hero-grid{position:static;display:block;min-height:560px}.hero-copy{position:relative;width:45%;padding:74px 0 66px;z-index:3}.hero h1{font-size:clamp(3.6rem,4.8vw,5.4rem);line-height:.99;letter-spacing:-.035em;margin-bottom:22px}.hero h1 i{color:#fff0cd}.hero .gold-line{width:82px;margin:20px 0;height:2px}.hero .lead{font-size:1rem;line-height:1.6;max-width:405px}.hero-actions{margin:26px 0 17px;gap:15px}.hero-actions .btn-outline{border:0;padding:8px 0;background:transparent;min-height:35px;box-shadow:none;color:#e7c482}.hero-note{font-size:.65rem;letter-spacing:.04em;max-width:330px;color:#d3b4aa}.hero-photo-wrap{position:absolute;inset:0;height:100%;width:100%;margin:0;filter:none;z-index:0}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;border:0;border-radius:0;mask-image:none}.hero-photo-sheen{inset:0;height:100%;background:linear-gradient(90deg,#170308f5 0%,#21060de8 24%,#21060d70 44%,transparent 63%),linear-gradient(0deg,#21050c 0%,transparent 20%)}.hero-glow{display:none}.hero-foot{display:none}.hero:after{content:'';position:absolute;bottom:0;left:-5%;width:110%;height:28px;border-top:2px solid #dfb75f;border-radius:50% 50% 0 0;z-index:4;background:#21050c}.services{padding:24px 0 38px;background:radial-gradient(ellipse at 45% 5%,#450916,#21050c 65%)}.section-heading{margin-bottom:32px}.section-heading h2{font-size:3rem;line-height:1.1}.services .section-heading{margin-bottom:20px}.services .section-heading>.eyebrow,.services .section-heading>p:last-child{display:none}.services .section-heading h2{display:flex;align-items:center;justify-content:center;gap:12px;font-size:2.8rem}.services .section-heading h2:before,.services .section-heading h2:after{content:'';width:80px;height:1px;background:linear-gradient(90deg,transparent,#d8ac50)}.services .section-heading h2:after{transform:rotate(180deg)}.services-layout{display:grid;grid-template-columns:225px 1fr;gap:28px;align-items:stretch}.services-portrait{margin:-65px 0 0;position:relative;overflow:hidden;min-height:370px;mask-image:linear-gradient(to bottom,#000 85%,transparent)}.services-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;border-radius:140px 140px 0 0}.services-portrait figcaption{position:absolute;bottom:24px;font-size:.6rem;letter-spacing:.14em;width:100%;text-align:center;color:#e9cb8b}.services-grid{gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.service-card,.service-card.featured{border-radius:23px;background:linear-gradient(145deg,#43091870,#19030670);border-color:#c99b4e99;min-height:320px;padding:20px 19px 17px;text-align:center}.service-index{display:none}.service-icon{height:43px;margin-bottom:7px}.service-icon svg{height:39px;width:52px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:1.7rem;line-height:.97;margin-bottom:15px}.service-card h3 i{color:var(--cream);font-style:normal}.service-card p{font-size:.76rem;line-height:1.55;text-align:left}.service-card a{font-size:.72rem;border-color:#c99b4e33}.small-note{font-size:.65rem;margin-top:16px}.pricing{padding:32px 0 40px;background:#21050c}.pricing .section-heading{margin-bottom:22px}.pricing .section-heading .eyebrow,.pricing .section-heading>p:last-child{display:none}.price-grid{max-width:880px;gap:16px}.price-card,.price-featured{min-height:180px;transform:none;border-radius:17px;background:#31070f;padding:21px 16px;box-shadow:none}.price-card>span{display:none}.price-card strong{font-size:1rem}.price{font-family:'DM Sans',sans-serif;font-size:2.5rem;line-height:1.5;font-weight:500}.price sup{font-size:1.6rem;vertical-align:baseline}.price-card .btn{font-size:.67rem;min-height:34px;margin-top:10px;padding:8px 14px}.ribbon{background:#1a0308}.ribbon-inner{padding:19px 0}.intro{background:linear-gradient(120deg,#21050c,#3a0c17)}.intro h2,.about h2,.contact h2,.faq h2,.photo-break h2,.closing h2{font-size:clamp(3rem,4.5vw,4.5rem)}.intro-image{border-radius:180px 180px 8px 8px;min-height:450px}.intro-image img{height:490px;object-position:50% 15%}.gallery{background:linear-gradient(140deg,#1b0308,#350812)}.gallery-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item{height:450px;border-radius:180px 180px 8px 8px;border-color:#ac803b77}.gallery-item img{object-position:50% 15%}.gallery-three{grid-column:auto;max-width:none}.gallery-note{font-size:.67rem}.photo-break{height:380px}.photo-break-image{inset:0 0 0 50%}.photo-break-image img{object-position:center 25%}.about{background:#2a0710}.about-photo{border-radius:170px 170px 8px 8px;height:540px}.steps{background:#1b0308}.contact{background:radial-gradient(ellipse at top left,#4b1120,#22050c)}.address-card{background:#21050b;border-color:#c2985266}.faq{background:#21050c}.closing{background:radial-gradient(ellipse at top,#581329,#23050c 70%)}.footer{background:#110204}.floating-wa{background:linear-gradient(135deg,#ffe892,#dca642);color:#301102}.gallery-item:focus-within{outline:2px solid var(--gold)}
@media(min-width:721px) and (max-width:1150px){.services-layout{grid-template-columns:180px 1fr;gap:20px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-portrait{margin-top:0;max-height:680px}.service-card{min-height:270px}.nav{gap:17px}.hero-copy{width:49%}.hero h1{font-size:4rem}.hero-photo{object-position:60% center}.hero-photo-sheen{background:linear-gradient(90deg,#1d040bf5,#21060dc0 35%,transparent 76%)}.gallery-item{height:360px}}
@media(max-width:720px){.container{width:calc(100% - 36px)}.site-header{padding:10px 18px}.logo em{font-size:32px}.logo small{font-size:8px}.logo-mark{font-size:29px}.nav{top:70px;background:#20050b}.section{padding:55px 0}.hero,.hero-grid{min-height:780px}.hero-copy{width:100%;padding:32px 0 0}.hero h1{font-size:3.45rem;max-width:380px;line-height:.96;margin-bottom:15px}.hero .eyebrow{font-size:.59rem;margin-bottom:15px}.hero .gold-line{margin:17px 0}.hero .lead{font-size:.87rem;line-height:1.5;max-width:330px;margin-bottom:14px}.hero-actions{margin:17px 0 9px;align-items:center;gap:14px}.hero-actions .btn{font-size:.73rem;padding:11px 18px;min-height:44px}.hero-actions .btn-outline{padding:0;font-size:.68rem}.hero-note{font-size:.58rem;max-width:280px}.hero-photo-wrap{top:auto;bottom:0;height:440px;width:100%}.hero-photo{object-position:73% center}.hero-photo-sheen{background:linear-gradient(180deg,#24060d 0%,#24060d55 20%,transparent 45%),linear-gradient(0deg,#21050c,transparent 20%)}.hero:after{height:15px}.services{padding:20px 0 30px}.services .section-heading h2{font-size:2.5rem;gap:8px}.services .section-heading h2:before,.services .section-heading h2:after{width:28px}.services-layout{display:block}.services-portrait{display:none}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card,.service-card.featured{padding:18px 13px 15px;min-height:326px;border-radius:17px}.service-card h3{font-size:1.65rem}.service-card p{font-size:.72rem;line-height:1.5}.service-card a{font-size:.65rem}.services .small-note{line-height:1.5}.pricing{padding:24px 0 32px}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.price-card,.price-featured{min-height:150px;padding:15px 7px;border-radius:13px}.price-card strong{font-size:.85rem}.price-card strong small{font-size:.66rem}.price{font-size:1.7rem;white-space:nowrap}.price sup{font-size:1rem}.price-card .btn{padding:7px 8px;font-size:.57rem;line-height:1.3}.ribbon-inner{font-size:.65rem;gap:12px}.intro-grid{gap:30px}.intro-copy{grid-row:auto}.intro-image{min-height:420px;height:460px}.intro-image img{height:100%}.intro h2,.about h2,.contact h2,.faq h2,.photo-break h2,.closing h2{font-size:3.2rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.gallery-item{height:300px;border-radius:95px 95px 7px 7px}.gallery-item figcaption{font-size:.56rem;padding:24px 5px 13px}.gallery-three{grid-column:auto;max-width:none}.section-heading h2{font-size:2.8rem}.section-heading>p:last-child{font-size:.84rem}.photo-break{height:360px}.photo-break-image{inset:0 0 0 25%}.about-photo{height:500px}.footer .logo em{font-size:35px}.floating-wa{height:47px;width:47px;font-size:1.6rem}.closing{padding:65px 0}}
@media(max-width:359px){.hero h1{font-size:2.9rem}.hero,.hero-grid{min-height:800px}.hero-actions{gap:8px}.hero-actions .btn{font-size:.65rem;padding:11px 13px}.services-grid{grid-template-columns:1fr}.service-card,.service-card.featured{min-height:260px}.gallery-item{height:245px}.price{font-size:1.4rem}.price-card strong{font-size:.73rem}}
.hero-photo{object-position:center top}
.booking-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center}.booking-prices .section-heading{text-align:left}.booking-prices .section-heading h2{font-size:2.4rem}.booking-prices .small-note{text-align:left}.quick-contact{display:grid;grid-template-columns:1fr 1.15fr;gap:25px}.quick-contact>div{border-left:1px solid var(--edge);padding-left:25px}.quick-contact .eyebrow{font-size:.49rem;letter-spacing:.15em}.quick-contact h3{font-size:1.8rem;font-style:italic;line-height:1.05;margin:8px 0 16px}.quick-contact p{font-size:.8rem;line-height:1.4}.quick-contact small{font-size:.65rem;color:var(--muted)}.quick-contact .text-link{margin-top:0;font-size:.72rem}.quick-phone{font-size:.94rem;white-space:nowrap;display:block;margin:0 0 20px}.quick-contact .btn{font-size:.72rem;min-height:42px;padding:10px 14px;white-space:nowrap}
@media(max-width:1100px){.booking-strip{grid-template-columns:1fr;gap:32px}.booking-prices .section-heading{text-align:center}.quick-contact{max-width:700px;width:100%;margin:auto}.quick-contact>div{padding-left:25px}.quick-contact .eyebrow{font-size:.6rem}}
@media(max-width:720px){.booking-prices .section-heading h2{font-size:2.6rem}.quick-contact{grid-template-columns:1fr;gap:22px}.quick-contact>div{padding:0 0 0 18px}.quick-contact h3{font-size:1.8rem;margin-bottom:10px}.quick-contact .eyebrow{font-size:.55rem}.quick-contact .btn{display:inline-flex}.quick-phone{margin-bottom:13px}.booking-strip{gap:24px}.booking-prices .small-note{text-align:center}}
@media(max-width:720px){.hero,.hero-grid{min-height:900px}.hero-photo{object-position:90% top}.hero-photo-sheen{background:linear-gradient(180deg,#24060d,transparent 10%),linear-gradient(0deg,#21050c,transparent 15%)}.hero-actions{gap:10px}.hero-actions .btn-outline{font-size:.64rem}.gallery-one img{object-position:75% top}}
@media(max-width:720px){.price-card .btn{min-height:44px;font-size:.64rem}.price-card{min-height:165px}}
@media(max-width:359px){.price-grid{grid-template-columns:1fr}.price-card{min-height:175px}.price-card strong{font-size:1rem}.price{font-size:2.3rem}.price-card .btn{font-size:.75rem;padding-inline:20px}}
.gallery-one img{object-position:right top}.gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in}.gallery-item figcaption{pointer-events:none}.photo-dialog{padding:18px;border:1px solid var(--gold);border-radius:16px;background:#1e050b;color:var(--cream);width:min(950px,92vw);max-height:94dvh;box-shadow:0 30px 100px #000b}.photo-dialog::backdrop{background:#080103e8;backdrop-filter:blur(8px)}.photo-dialog>img{width:100%;height:auto;max-height:80dvh;object-fit:contain}.photo-dialog>p{text-align:center;margin:12px 0 0;letter-spacing:.18em;font-size:.7rem;color:var(--gold)}.photo-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);color:var(--cream);background:#20050ce8;font-size:28px;cursor:pointer;z-index:1}
