:root{--ink:#1a1118;--paper:#f7f3ee;--cream:#eee7dd;--coral:#ed5a55;--wine:#5b1530;--muted:#746a70;--line:#ddd4cc;--white:#fff;--shadow:0 25px 70px rgba(30,15,22,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}button,a,input,select{font:inherit}button{cursor:pointer}.announcement{height:30px;background:var(--wine);color:#fff;text-align:center;font-size:11px;letter-spacing:.12em;padding:8px}.announcement span{display:inline-block;width:3px;height:3px;background:#f8b1aa;border-radius:50%;margin:0 10px}.nav-wrap{height:78px;background:rgba(247,243,238,.93);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(25,15,20,.08)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.16em}.brand small{display:block;font-size:8px;letter-spacing:.36em;color:var(--muted);margin-top:3px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--ink);border-radius:50%;font-family:"Playfair Display";font-style:italic;letter-spacing:-.08em}.nav-wrap nav{display:flex;gap:28px}.nav-wrap nav a,.link-btn{border:0;background:none;color:var(--ink);text-decoration:none;font-size:13px}.nav-actions{display:flex;align-items:center;gap:18px}.btn{border:0;border-radius:2px;padding:14px 22px;font-weight:600;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff}.btn-coral{background:var(--coral);color:#fff}.btn-light{background:#fff;color:var(--wine)}.menu-btn{display:none;border:0;background:none;font-size:24px}.hero{min-height:calc(100vh - 108px);position:relative;overflow:hidden;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,6,18,.72),rgba(25,6,18,.2) 55%,rgba(25,6,18,.08)),linear-gradient(0deg,rgba(20,8,15,.42),transparent 45%)}.hero-copy{position:relative;z-index:2;padding:13vh 7vw;max-width:720px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;margin:0 0 18px;color:var(--coral)}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:.96;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(58px,7vw,104px)}h1 em,h2 em{font-weight:500}.hero-copy>p:not(.eyebrow){font-family:Manrope,sans-serif;font-size:17px;line-height:1.6;max-width:520px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.watch{color:#fff;text-decoration:none;font-size:13px}.watch span{border:1px solid rgba(255,255,255,.5);width:35px;height:35px;border-radius:50%;display:inline-grid;place-items:center;margin-right:8px;font-size:10px}.hero-card{position:absolute;z-index:2;right:5vw;bottom:8vh;background:rgba(255,255,255,.94);color:var(--ink);width:260px;padding:22px;box-shadow:var(--shadow)}.hero-card p,.hero-card span{display:block;font-size:11px;color:var(--muted);margin:0 0 7px}.hero-card strong{font-family:"Playfair Display";font-size:20px;display:block;margin-bottom:6px}.hero-card button{border:0;background:none;padding:16px 0 0;color:var(--coral);font-weight:700}.scroll-note{position:absolute;left:2vw;bottom:2vw;z-index:2;writing-mode:vertical-rl;font-size:9px;letter-spacing:.15em}.scroll-note span{margin-top:10px}.trust-row{background:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:28px 6vw;border-bottom:1px solid var(--line)}.trust-row div{padding:0 28px;border-right:1px solid var(--line)}.trust-row div:last-child{border:0}.trust-row strong,.trust-row span{display:block}.trust-row strong{font-family:"Playfair Display";font-size:18px}.trust-row span{font-size:11px;color:var(--muted);margin-top:5px}.section{max-width:1260px;margin:0 auto;padding:110px 5vw}.wide{max-width:1440px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:end;padding-bottom:45px}.intro h2,.section-head h2,.signature h2,.packages h2,.faq h2{font-size:clamp(44px,5vw,72px)}.intro>p,.section-head>p{font-family:Manrope;line-height:1.8;color:var(--muted);max-width:430px}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:0}.experience-card{min-height:560px;position:relative;overflow:hidden;color:#fff}.experience-card img{width:100%;height:100%;object-fit:cover;position:absolute;transition:.6s}.experience-card:hover img{transform:scale(1.04)}.experience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,8,15,.78),transparent 60%)}.experience-info{position:absolute;z-index:2;left:25px;right:25px;bottom:25px}.experience-info span{font-size:10px;letter-spacing:.2em}.experience-info h3{font-family:"Playfair Display";font-size:32px;margin:8px 0}.experience-info p{font-size:12px;line-height:1.6;opacity:.84}.experience-info button{border:0;background:none;color:#fff;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.5)}.signature{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.signature-image{height:760px;position:relative}.signature-image img{width:100%;height:100%;object-fit:cover}.play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.16);color:#fff}.vertical-label{position:absolute;left:-28px;bottom:0;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}.signature-copy ol{list-style:none;padding:25px 0 0;margin:0}.signature-copy li{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:20px 0;border-top:1px solid var(--line)}.signature-copy li>span{font-size:11px;color:var(--coral)}.signature-copy strong{font-family:"Playfair Display";font-size:20px}.signature-copy li p{color:var(--muted);font-size:13px;line-height:1.6;margin:5px 0 0}.text-link{border:0;background:none;padding:10px 0;color:var(--ink);font-weight:700;border-bottom:1px solid var(--ink)}.dress-section{max-width:1440px;background:#eee7df}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.slider-actions{display:flex;gap:8px}.slider-actions button{width:44px;height:44px;border:1px solid var(--line);background:#fff}.dress-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dress-track::-webkit-scrollbar{display:none}.dress-card{flex:0 0 min(300px,72vw);scroll-snap-align:start;position:relative}.dress-card img{width:100%;height:440px;object-fit:cover;display:block}.dress-card div{display:flex;justify-content:space-between;padding:14px 3px}.dress-card strong{font-family:"Playfair Display";font-size:19px}.dress-card span{font-size:11px;color:var(--muted)}.dress-note{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-size:12px;color:var(--muted)}.match-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.match-copy h2{font-size:clamp(48px,5vw,78px)}.match-copy>p{font-family:Manrope;line-height:1.8;color:var(--muted)}.match-copy ul{list-style:none;padding:0;font-size:12px;line-height:2;color:var(--muted)}.upload-btn{display:inline-block;background:var(--ink);color:#fff;padding:15px 22px;margin-top:10px;cursor:pointer}.match-copy small{display:block;color:var(--muted);font-size:10px;margin-top:12px}.tryon-card{background:#fff;padding:14px;box-shadow:var(--shadow)}.tryon-preview{height:650px;position:relative;overflow:hidden;background:#ddd}.tryon-preview>img{width:100%;height:100%;object-fit:cover}.tryon-preview.user-loaded>img{filter:brightness(.75)}.tryon-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;background:rgba(35,10,25,.15)}.tryon-empty span{font-size:32px}.tryon-empty p{font-size:12px}.tryon-preview.user-loaded .tryon-empty p{display:none}.tryon-bottom{display:flex;justify-content:space-between;align-items:center;padding:15px 5px 3px}.tryon-bottom span,.tryon-bottom strong{display:block}.tryon-bottom span{font-size:10px;color:var(--muted)}.tryon-bottom strong{font-family:"Playfair Display";font-size:20px}.tryon-bottom button{border:1px solid var(--line);background:#fff;padding:10px 14px}.packages{max-width:1120px}.guest-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.guest-tabs button{border:1px solid var(--line);background:transparent;padding:11px 20px}.guest-tabs button.active{background:var(--wine);color:#fff;border-color:var(--wine)}.package-card{background:#fff;padding:45px;display:grid;grid-template-columns:1fr 320px;gap:50px;box-shadow:var(--shadow)}.pill{display:inline-block;padding:6px 10px;background:#f7e1df;color:#a93642;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.package-card h3{font-family:"Playfair Display";font-size:38px;margin:18px 0 8px}.package-card p,.package-card li{color:var(--muted);font-size:13px;line-height:1.7}.package-price{border-left:1px solid var(--line);padding-left:50px;display:flex;flex-direction:column;justify-content:center}.package-price span,.package-price small{color:var(--muted);font-size:11px}.package-price strong{font-family:"Playfair Display";font-size:38px;margin:6px 0}.package-price .btn{margin-top:22px}.promise{background:linear-gradient(rgba(62,9,35,.82),rgba(62,9,35,.82)),url('assets/beach.jpg') center/cover;color:#fff;text-align:center;padding:130px 20px}.promise>div{max-width:760px;margin:auto}.promise .eyebrow{color:#f7a39b}.promise h2{font-size:clamp(50px,6vw,86px)}.promise p{font-family:Manrope;line-height:1.8;max-width:590px;margin:28px auto}.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.faq-item{border-top:1px solid var(--line)}.faq-item button{width:100%;background:none;border:0;padding:22px 0;display:flex;justify-content:space-between;text-align:left;font-family:"Playfair Display";font-size:20px}.faq-item p{display:none;color:var(--muted);line-height:1.7;margin:0 30px 22px 0;font-size:13px}.faq-item.open p{display:block}.faq-item.open button span{transform:rotate(45deg)}footer{background:#160d16;color:#fff;padding:80px 6vw 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.15)}footer .brand{color:#fff}.footer-top h2{font-size:clamp(38px,4vw,60px)}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:50px;padding:55px 0}.footer-grid strong{display:block;font-size:11px;letter-spacing:.15em;margin-bottom:18px}.footer-grid a,.footer-grid button,.footer-grid p{display:block;color:#bfb4ba;text-decoration:none;background:none;border:0;padding:5px 0;text-align:left;font-size:12px;line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;color:#8e8288;font-size:10px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.mobile-book{display:none}.modal{position:fixed;inset:0;background:rgba(20,8,15,.68);z-index:100;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-panel{background:var(--paper);width:min(920px,100%);max-height:92vh;overflow:auto;position:relative;box-shadow:var(--shadow)}.modal-close{position:absolute;right:22px;top:17px;z-index:2;border:0;background:none;font-size:28px}.booking-panel{padding:34px}.booking-progress{padding-right:55px;font-size:11px;color:var(--muted)}.booking-progress>div{height:3px;background:var(--line);margin-top:9px}.booking-progress i{display:block;width:16.66%;height:100%;background:var(--coral);transition:.3s}.booking-step{padding:35px 0 0}.booking-step h2{font-size:44px}.booking-step>p{color:var(--muted);font-size:13px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:25px}.choice{border:1px solid var(--line);background:#fff;padding:20px;text-align:left;position:relative}.choice.active{border:2px solid var(--coral);padding:19px}.choice strong,.choice span{display:block}.choice span{font-size:11px;color:var(--muted);margin-top:5px}.choice img{width:100%;height:150px;object-fit:cover;margin-bottom:12px}.booking-nav{display:flex;justify-content:space-between;margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.field input,.field select{width:100%;padding:14px;border:1px solid var(--line);background:#fff}.consents{display:grid;gap:10px;margin-top:22px}.consents label{display:flex;gap:10px;font-size:12px;line-height:1.5}.summary-box{background:#fff;padding:24px;margin-top:25px}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.summary-row.total{font-size:20px;font-family:"Playfair Display"}.confirmation{text-align:center;padding:50px 20px}.confirmation .check{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#def0e6;color:#237246;font-size:30px;margin:0 auto 20px}.legal-panel{padding:55px}.legal-panel h2{font-size:45px}.legal-panel h3{font-family:"Playfair Display";margin-top:28px}.legal-panel p,.legal-panel li{color:var(--muted);font-size:13px;line-height:1.7}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#fff;padding:14px 20px;z-index:200;transform:translateY(100px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.hidden{display:none!important}.admin{min-height:100vh;background:#f4f2ef;display:grid;grid-template-columns:240px 1fr}.admin aside{background:#171016;color:#fff;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{color:#fff;margin:0 8px 45px}.admin aside nav{display:grid;gap:6px}.admin aside nav button{border:0;background:transparent;color:#bdb3ba;text-align:left;padding:13px;border-radius:6px}.admin aside nav button.active{background:#33242f;color:#fff}.admin-user{margin-top:auto;display:flex;gap:11px;align-items:center;border-top:1px solid #3a2d37;padding-top:20px}.admin-user>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--coral)}.admin-user strong,.admin-user small{display:block}.admin-user small{font-size:10px;color:#a99ea5;margin-top:3px}.admin-main{padding:0 35px 50px}.admin-main>header{display:flex;justify-content:space-between;align-items:center;padding:24px 0}.admin-main>header>div{display:flex;align-items:center;gap:10px}.admin-main header h1{font-size:30px;margin-left:12px}.admin-main header button:not(.btn){border:0;background:none}.icon-btn{width:38px;height:38px!important;border:1px solid var(--line)!important;background:#fff!important}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;padding:22px;border:1px solid #e8e2dc}.stat span{font-size:11px;color:var(--muted)}.stat strong{display:block;font-family:"Playfair Display";font-size:32px;margin:10px 0}.stat small{color:#40835d}.admin-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:16px}.panel{background:#fff;border:1px solid #e8e2dc;padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel h3{font-family:"Playfair Display";font-size:22px;margin:0}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{text-align:left;color:var(--muted);font-weight:500;padding:10px;border-bottom:1px solid var(--line)}.table td{padding:13px 10px;border-bottom:1px solid #eee}.status{display:inline-block;padding:5px 8px;background:#e5f2ea;color:#2f7551;border-radius:20px;font-size:9px}.status.pending{background:#fff0dd;color:#a46720}.mini-bars{height:180px;display:flex;align-items:end;gap:9px;padding-top:20px}.mini-bars i{flex:1;background:#ef766f;border-radius:3px 3px 0 0}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.inventory-card{background:#fff;padding:10px;border:1px solid var(--line)}.inventory-card img{width:100%;height:180px;object-fit:cover}.inventory-card div{padding:10px 2px}.inventory-card strong,.inventory-card span{display:block}.inventory-card span{font-size:10px;color:var(--muted);margin-top:4px}.empty-panel{text-align:center;padding:80px 20px;background:#fff;border:1px solid var(--line)}@media(max-width:900px){.nav-wrap nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column}.nav-wrap nav.open{display:flex}.menu-btn{display:block}.nav-actions .link-btn{display:none}.hero-copy{padding-top:14vh}.hero-card{display:none}.trust-row{grid-template-columns:1fr 1fr;gap:22px}.trust-row div{border:0;padding:0}.experience-grid{grid-template-columns:1fr 1fr}.signature,.match-section,.faq{grid-template-columns:1fr}.signature-image{height:600px}.package-card{grid-template-columns:1fr}.package-price{border:0;border-top:1px solid var(--line);padding:30px 0 0}.admin{grid-template-columns:1fr}.admin aside{display:none}.admin-main{padding:0 16px}.stat-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.inventory-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.announcement{font-size:9px}.nav-wrap{height:66px;padding:0 18px}.nav-wrap .btn{display:none}.hero{min-height:780px}.hero-copy{padding:95px 24px}.hero h1{font-size:58px}.hero-actions{align-items:flex-start;flex-direction:column}.scroll-note{display:none}.trust-row{padding:24px}.section{padding:78px 22px}.intro{grid-template-columns:1fr;gap:20px}.experience-grid{grid-template-columns:1fr;padding:0 14px}.experience-card{min-height:520px}.signature{padding-left:0;padding-right:0}.signature-copy{padding:0 22px}.signature-image{height:560px}.section-head{align-items:flex-start;flex-direction:column}.dress-section{padding-left:20px;padding-right:0}.dress-note{padding-right:20px;align-items:flex-start;gap:12px;flex-direction:column}.match-section{padding-left:18px;padding-right:18px}.tryon-preview{height:520px}.package-card{padding:25px}.promise{padding:90px 20px}.footer-top{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{gap:12px;flex-direction:column}.mobile-book{display:flex;position:fixed;z-index:50;bottom:12px;left:14px;right:14px;background:var(--coral);color:#fff;border:0;padding:16px 20px;justify-content:space-between;box-shadow:var(--shadow)}.choice-grid,.form-grid{grid-template-columns:1fr}.booking-panel{padding:25px 18px}.booking-step h2{font-size:36px}.legal-panel{padding:48px 22px}.stat-grid{grid-template-columns:1fr 1fr}.admin-main>header .icon-btn{display:none}.inventory-grid{grid-template-columns:1fr 1fr}.inventory-card img{height:150px}}

.primary-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-top:32px}.primary-package{padding:30px;background:#fff;border:1px solid #e5ddd5;border-radius:18px;display:flex;flex-direction:column;gap:14px}.primary-package:first-child{background:#182c32;color:#fff}.primary-package h3{font-size:28px}.primary-package ul{list-style:none;padding:0;font-size:14px;line-height:1.9;flex:1}.primary-package>strong{font-size:26px}.primary-package button{width:100%}
.primary-package h3,.primary-package p,.primary-package ul{margin:0}.primary-package h3{line-height:1.15;min-height:2.3em}.primary-package .eyebrow{font-size:10px}.primary-package>a{color:inherit;font-size:13px}.primary-package{gap:18px}.primary-package ul{line-height:1.8}.primary-package:first-child>a{color:#fff}#main-packages{scroll-margin-top:85px}

/* Keep the complete price ladder together on desktop; compact screens swipe one row. */
.primary-packages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.primary-package,.primary-package:first-child{background:#fff;color:var(--ink);border:1px solid var(--line);padding:22px 16px;border-radius:14px;min-width:0;gap:16px}
.primary-package h3{font-size:clamp(20px,1.8vw,27px);min-height:2.3em;overflow-wrap:normal}
.primary-package p{font-size:12px;line-height:1.6}.primary-package ul{font-size:12px;line-height:1.8}
.primary-package>strong{font-size:24px;white-space:nowrap}.primary-package .btn{padding:13px 8px;font-size:12px;text-align:center}.primary-package>a,.primary-package:first-child>a{color:var(--ink);font-size:12px}
.primary-package .package-badge{min-height:36px;font-size:9px;letter-spacing:.12em;font-weight:700;color:var(--muted)}
.primary-package.is-featured{border:2px solid var(--coral);box-shadow:0 10px 30px rgba(91,21,48,.08)}
.primary-package.is-featured .package-badge{color:var(--wine)}.primary-package.is-signature{border-color:#384e57;background:#edf2f2}.primary-package.is-signature .package-badge{color:#253e48}
.package-choice-badge{display:inline-block;color:var(--wine);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
@media(min-width:1500px){.primary-package{padding:26px 22px}.primary-package ul{font-size:14px}.primary-package p{font-size:14px}}
@media(max-width:1050px){.primary-packages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;padding:6px 4px 20px;gap:16px;-webkit-overflow-scrolling:touch}.primary-package{flex:0 0 270px;scroll-snap-align:start}.primary-package h3{font-size:26px}.primary-package ul{font-size:13px}}

#main-packages>h2{font-size:clamp(32px,3.5vw,48px);line-height:1.04}.package-intro{max-width:750px;color:var(--muted);line-height:1.7;font-size:14px}#main-packages{padding-top:70px;padding-bottom:70px}

.primary-package .package-photo{width:calc(100% + 32px);max-width:none;margin:-22px -16px 0;height:185px;object-fit:cover;object-position:center 35%;border-radius:12px 12px 0 0}.primary-package.is-featured .package-photo{border-radius:11px 11px 0 0}
.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.extra-option{border:1px solid var(--line);border-radius:12px;padding:18px;background:white}.extra-option.selected{border:2px solid var(--coral);padding:17px;background:#fff8f4}.extra-option>label{display:flex;gap:12px;cursor:pointer;align-items:flex-start}.extra-option input{margin-top:5px;accent-color:var(--coral)}.extra-option label>span{display:flex;flex-direction:column;gap:8px}.extra-option label>span>span{font-size:13px;line-height:1.6;color:var(--muted)}.extra-option b{font-size:14px}.extra-saving{color:var(--wine);font-weight:700}.extra-quantity{margin-top:14px;align-items:center!important;font-size:12px;justify-content:space-between}.extra-quantity select{padding:8px;border:1px solid var(--line);border-radius:6px;background:white}.extras-included{padding:15px;background:var(--cream);border-radius:10px;font-size:13px}.extras-included summary{cursor:pointer;font-weight:600}.extras-included li{line-height:1.8}.extras-total{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);align-items:center}.extras-total strong{font-size:22px;white-space:nowrap}.extras-note{font-size:12px!important;color:var(--muted)}
@media(min-width:1500px){.primary-package .package-photo{width:calc(100% + 44px);margin:-26px -22px 0;height:230px}}@media(max-width:600px){.extras-grid{grid-template-columns:1fr}.extras-total{align-items:flex-start;flex-direction:column}}

.dress-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.dress-option{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.dress-option.selected{border:2px solid var(--coral);box-shadow:0 0 0 2px rgba(237,90,85,.12)}.dress-photo-button{display:block;width:100%;padding:0;border:0;background:#eee7df;position:relative}.dress-photo-button img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;margin:0}.dress-photo-button>span{position:absolute;bottom:8px;right:8px;font-size:10px;background:rgba(255,255,255,.94);color:var(--ink);padding:5px 7px;border-radius:5px}.dress-select{display:flex;flex-direction:column;gap:5px;text-align:left;padding:12px;width:100%;border:0;background:#fff;min-height:100px}.dress-select strong{font-size:14px}.dress-select small{font-size:11px;color:var(--muted)}.dress-select>span{font-size:12px;color:var(--wine);font-weight:700}.dress-select:disabled{opacity:.45;cursor:not-allowed}.dress-option[hidden]{display:none}.dress-search{margin-top:20px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 16px}.dress-search input{padding:12px;border:1px solid var(--line);border-radius:8px;min-width:0;width:100%}.dress-search small{grid-column:2;color:var(--muted);font-size:12px}.dress-selection-toolbar{position:sticky;top:0;z-index:5;background:var(--paper);padding:8px 0;border-bottom:1px solid var(--line)}.dress-selection-toolbar .booking-nav{margin:0;padding:8px 0}.dress-selection-toolbar .field{margin:0 0 12px}.second-dress-preview{width:80px;height:120px;object-fit:contain;border-radius:6px;margin-top:8px}.dress-preview{padding:18px;border:0;border-radius:14px;width:min(620px,94vw);max-height:94dvh;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.dress-preview::backdrop{background:rgba(20,10,18,.76)}.dress-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dress-preview h2{font-size:28px;line-height:1.1}.dress-preview p{font-size:12px;color:var(--muted);margin:7px 0}.dress-preview>img{width:100%;height:65dvh;object-fit:contain;display:block;background:#eee7df;margin:12px 0}.dress-preview>.btn{width:100%}.preview-close{background:none;border:0;font-size:28px;padding:0 7px;line-height:1}.dress-card{flex:0 0 190px}.dress-card img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}.dress-card div{gap:10px;align-items:flex-start}.dress-card strong{font-size:16px}.dress-card span{font-size:11px}
@media(max-width:700px){.dress-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dress-select{padding:9px;min-height:94px}.dress-select strong{font-size:12px}.dress-photo-button>span{font-size:9px;right:4px;bottom:4px;padding:4px}.dress-search{grid-template-columns:1fr;gap:8px}.dress-search small{grid-column:1}.dress-card{flex-basis:160px}}@media(max-width:440px){.dress-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dress-select strong{font-size:14px}}

/* Contact stays reachable without covering the booking controls. */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;align-items:center;gap:10px;background:#166b43;color:#fff;text-decoration:none;border-radius:40px;padding:14px 18px;min-height:52px;box-shadow:0 6px 24px #152d2430;font-size:13px;font-weight:600}.whatsapp-float svg{width:26px;height:26px;flex:none}.whatsapp-float:hover{background:#115336}.whatsapp-float[hidden],body:has(.modal.open) .whatsapp-float,body:has(.modal.open) .mobile-book{display:none}a:focus-visible,button:focus-visible{outline:3px solid #c76240;outline-offset:4px}img{max-width:100%}.booking-step,.booking-content,.choice,.field{min-width:0}.summary-row{overflow-wrap:anywhere}
@media(max-width:700px){.whatsapp-float{right:16px;bottom:calc(82px + env(safe-area-inset-bottom));padding:13px;border-radius:50%;width:54px;height:54px;justify-content:center}.whatsapp-float span{display:none}.mobile-book{bottom:0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.announcement{height:auto;min-height:30px;line-height:1.5;font-size:10px}.nav-wrap{padding-inline:16px}.nav-actions{gap:8px}.nav-actions .btn{padding:12px;font-size:12px}.nav-actions .link-btn{display:none}.brand{gap:8px;font-size:11px}.hero{min-height:670px}.hero-copy{padding:76px 6vw 225px}.hero h1{font-size:clamp(48px,13vw,68px)}.hero-actions{gap:18px;flex-wrap:wrap}.hero-card{left:6vw;right:6vw;bottom:28px;width:auto;padding:18px}.hero-card strong{font-size:18px}.section{padding:64px 6vw}.section-head,.dress-note{flex-wrap:wrap;align-items:flex-start;gap:18px}.primary-package{flex-basis:min(285px,80vw)}.primary-packages{scrollbar-width:thin}.modal-panel.booking-panel{width:100%;max-width:100%;max-height:100dvh;border-radius:0;padding:28px 18px calc(24px + env(safe-area-inset-bottom))}.booking-panel h2{font-size:34px;line-height:1.1}.booking-panel input,.booking-panel select,.booking-panel textarea{font-size:16px;max-width:100%}.booking-nav{gap:10px}.booking-nav .btn{padding:14px 16px;min-height:48px}.booking-progress{margin-right:32px}.choice-grid{grid-template-columns:1fr}.dress-selection-toolbar{top:0;padding-top:12px}.extras-total strong{font-size:23px}footer{padding-bottom:40px}.footer-top{gap:24px}.footer-top h2{font-size:32px}.story-options{flex-wrap:wrap}.trust-row div{padding:16px;min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.choice span{font-size:13px;line-height:1.6}.choice strong{font-size:16px}.choice b{display:inline-block;font-size:16px;color:var(--wine);margin-top:8px}@media(max-width:700px){.modal{padding:0}.modal-panel.booking-panel{height:100dvh;max-height:100dvh}.modal-close{min-width:44px;min-height:44px;right:8px;top:8px}.mobile-book{min-height:56px}}

/* Keep prices inside all five desktop columns, including narrow laptops. */
.primary-package{min-width:0}.primary-package>.primary-package-price{display:flex;flex-direction:column;gap:5px;max-width:100%;min-width:0;white-space:normal;line-height:1.15}.primary-package-price small{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.04em;white-space:normal}.primary-package-price span{display:block;font-size:clamp(24px,2.1vw,30px);font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%}.primary-package .btn{min-width:0;white-space:normal;overflow-wrap:break-word}

/* Compact section rhythm; keep the mobile portrait and copy separately readable. */
.section{padding-block:76px}.intro{padding-bottom:28px}.experience-grid{padding-top:0;padding-bottom:64px}.signature{gap:5vw}.signature-image{height:560px}.promise{padding-block:88px}.guide-links{padding-block:32px;display:flex;flex-wrap:wrap;gap:12px 24px}.guide-links p{margin:0}.guide-links a{font-size:13px;line-height:1.6;color:var(--muted)}.footer-grid{padding-block:36px}footer{padding-top:56px}.footer-top{padding-bottom:36px}
@media(max-width:900px){.hero>img{object-position:85% center}.signature-image{height:480px}}
@media(max-width:700px){.hero{min-height:0;background:#291820;display:flex;flex-direction:column}.hero>img{position:relative;inset:auto;width:100%;height:360px;object-position:90% center;flex:none}.hero-shade{top:0;bottom:auto;height:360px;background:linear-gradient(0deg,#291820,transparent 26%)}.hero-copy{padding:16px 6vw 32px;max-width:100%;margin-top:-8px}.hero h1{font-size:clamp(43px,12vw,60px);line-height:1.04}.hero-copy>p:not(.eyebrow){max-width:34em;line-height:1.65}.hero-actions{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.hero-actions .btn{min-height:48px}.hero-card,.scroll-note{display:none}.section{padding-block:44px}.intro{padding-bottom:22px;gap:14px}.experience-grid{padding-top:0;padding-bottom:44px;gap:14px}.experience-card{min-height:420px}.trust-row{gap:0;padding:12px}.trust-row div{padding:14px}.signature{gap:28px}.signature-image{height:420px}.signature-copy{padding-inline:6vw}.section-head{gap:16px}.dress-note{margin-top:22px}.promise{padding-block:60px}.faq{gap:24px}.guide-links{padding-block:28px;gap:10px 18px}footer{padding-top:40px}.footer-top{padding-bottom:28px}.footer-grid{gap:24px;padding-block:28px}.story-intro{padding:0}.story-builder{padding:20px}.story-engine{gap:24px}.match-section{gap:26px}.booking-step{padding-top:26px}}

.booking-policy{margin:20px 0;padding:18px;background:#f8f4f1;border:1px solid #e5dcd8;border-radius:10px}.booking-policy details{border-bottom:1px solid #e5dcd8;padding:10px 0}.booking-policy summary{cursor:pointer;font-size:13px;line-height:1.5;padding:5px 0}.booking-policy p{font-size:13px;line-height:1.7;margin:10px 0}.booking-policy h3{font-size:21px}

/* Portrait and garment remain independent, on every screen size. */
.colour-comparison{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eee5df}.colour-comparison>div{min-width:0;position:relative;height:440px}.colour-comparison img{width:100%;height:100%;object-fit:contain;background:#f4efeb}.colour-comparison .tryon-empty{inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px;text-align:center;background:#eee5df;color:var(--ink)}.colour-comparison .user-loaded .tryon-empty{display:none}.dress-reference>span{position:absolute;bottom:12px;left:8px;right:8px;text-align:center;background:#fff;padding:8px;font-size:11px}.tryon-bottom{flex-wrap:wrap;gap:12px}.tryon-bottom>div{flex:1;min-width:170px}.tryon-bottom label{display:block;font-size:12px;margin-bottom:6px}.tryon-bottom select{width:100%;max-width:260px;padding:12px;background:#fff;border:1px solid var(--line);font:inherit;min-height:44px}.tryon-bottom button{min-height:44px;white-space:normal}.tryon-bottom strong{font-size:12px;margin-top:6px}.tryon-bottom [hidden],.colour-comparison [hidden]{display:none!important}@media(max-width:600px){.colour-comparison>div{height:300px}.tryon-bottom{padding:16px}.tryon-bottom>div{flex-basis:100%}.tryon-bottom select{max-width:none}.tryon-bottom button{flex:1}.colour-comparison .tryon-empty p{font-size:11px}}

section[id]{scroll-margin-top:96px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #a43b47;outline-offset:3px}

.promise{position:relative;isolation:isolate;background:#3e0923}.promise>.promise-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;z-index:-1}
