/* bridesmaid-on-demand: captured final locale cascade; see src/data/service-sources.json */

.source-document{--ink:#181518;--gold:#b89e14;--plum:#181518;--aubergine:#655a56;--soft:#f4f1ef;--pink:#eee8e5;--line:#ded8d7;--pad:max(clamp(40px,6cqw,88px),calc((100% - 1320px)/2))}:where(.source-document) *{box-sizing:border-box}.source-document,.source-document{overflow-x:hidden}.source-document{margin:0;min-height:100vh;background:#fff;color:var(--ink);font:400 16px/1.65 Poppins,Arial,sans-serif}:where(.source-document) .source-main{width:100%;min-height:100vh;padding:0 30px;display:flex;flex-direction:column}:where(.source-document) .source-main>:last-child{margin-bottom:0;flex-grow:1}:where(.source-document) .panel{margin:0 0 26px;border-radius:22px;overflow:hidden}:where(.source-document) h1,:where(.source-document) h2,:where(.source-document) h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:400;letter-spacing:-.025em}:where(.source-document) h1{font-size:clamp(46px,5.2cqw,70px);line-height:1.03}:where(.source-document) h2{font-size:clamp(32px,3.4cqw,43px);line-height:1.15}:where(.source-document) h3{font-size:23px;line-height:1.25}:where(.source-document) p{margin:0 0 25px}:where(.source-document) .eyebrow{margin-bottom:24px;color:var(--gold);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}:where(.source-document) .hero{min-height:650px;display:grid;grid-template-columns:minmax(390px,.9fr) minmax(560px,1.1fr);background:var(--plum);color:#fff}:where(.source-document) .hero-copy{padding:clamp(52px,6cqw,88px) 34px clamp(52px,6cqw,88px) var(--pad);display:flex;flex-direction:column;justify-content:center}:where(.source-document) .hero .lead{margin:25px 0 20px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(25px,2.4cqw,31px);line-height:1.35}:where(.source-document) .hero p:not(.eyebrow){max-width:58ch;color:rgba(255,255,255,.87)}:where(.source-document) .hero-visual{margin:24px;min-height:600px;overflow:hidden;border-radius:18px;background:#292627}:where(.source-document) .hero-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}:where(.source-document) .button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:20px 25px;border-radius:11px;background:var(--ink);color:#fff;font-weight:500;text-decoration:none}:where(.source-document) .button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}:where(.source-document) .intro{padding:78px var(--pad);display:grid;grid-template-columns:.82fr 1.18fr;gap:66px}:where(.source-document) .intro-copy{max-width:59ch}:where(.source-document) .intro-copy .lead{font-family:"Playfair Display",Georgia,serif;font-size:24px;line-height:1.45}:where(.source-document) .options{padding:74px var(--pad);background:var(--soft)}:where(.source-document) .options-head{max-width:780px;margin-bottom:42px}:where(.source-document) .cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}:where(.source-document) .card{padding:31px;border:1px solid var(--line);border-radius:16px;background:#fff}:where(.source-document) .num{margin-bottom:21px;color:var(--aubergine);font-family:"Playfair Display",Georgia,serif;font-size:31px}:where(.source-document) .card h3{margin-bottom:19px}:where(.source-document) .card ul{margin:17px 0 0;padding-left:20px}:where(.source-document) .card li{margin:7px 0}:where(.source-document) .moments{padding:76px var(--pad);display:grid;grid-template-columns:.72fr 1.28fr;gap:66px;background:#f7f4f2}:where(.source-document) .moments-copy{max-width:70ch}:where(.source-document) .ritual-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:24px 0}:where(.source-document) .ritual{height:190px;margin:0;overflow:hidden;border-radius:14px;background:#ddd}:where(.source-document) .ritual img{width:100%;height:100%;display:block;object-fit:cover}:where(.source-document) .ritual.dress img{object-position:center 34%}:where(.source-document) .ritual.prep img{object-position:center}:where(.source-document) .moment-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}:where(.source-document) .moment{padding:17px;border-radius:13px;background:#fff;font-size:14px}:where(.source-document) .boundary{padding:74px var(--pad);display:grid;grid-template-columns:.82fr 1.18fr;gap:66px}:where(.source-document) .boundary-copy{max-width:59ch}:where(.source-document) .boundary-note{padding:24px;border-left:3px solid var(--aubergine);background:var(--soft)}:where(.source-document) .cta{padding:78px var(--pad);background:var(--aubergine);color:#fff;text-align:center}:where(.source-document) .cta h2{max-width:780px;margin:0 auto 20px}:where(.source-document) .cta p{max-width:650px;margin:0 auto 28px;color:rgba(255,255,255,.87)}:where(.source-document) .cta .button{background:#fff;color:var(--ink)}
@container service-viewport (min-width:761px) and (max-width:1180px){:where(.source-document) .source-main{padding:0 24px}:where(.source-document) .hero{min-height:580px;grid-template-columns:.92fr 1.08fr}:where(.source-document) .hero-copy{padding:60px 26px 52px 46px}:where(.source-document) .hero-visual{min-height:530px;margin:18px}:where(.source-document) .intro,:where(.source-document) .options,:where(.source-document) .moments,:where(.source-document) .boundary,:where(.source-document) .cta{padding-top:63px;padding-bottom:63px}:where(.source-document) .intro,:where(.source-document) .moments,:where(.source-document) .boundary{gap:42px}:where(.source-document) .card{padding:25px}}
@container service-viewport (max-width:760px){:where(.source-document) .source-main{padding:16px}:where(.source-document) .panel{margin-bottom:26px}:where(.source-document) .hero{min-height:0;display:flex;flex-direction:column}:where(.source-document) .hero-visual{order:1;height:315px;min-height:0;margin:12px}:where(.source-document) .hero-copy{order:2;padding:52px 26px 50px}:where(.source-document) .intro,:where(.source-document) .cards,:where(.source-document) .moments,:where(.source-document) .boundary{grid-template-columns:1fr;gap:31px}:where(.source-document) .intro,:where(.source-document) .options,:where(.source-document) .moments,:where(.source-document) .boundary,:where(.source-document) .cta{padding:56px 26px}:where(.source-document) .ritual-grid{grid-template-columns:1fr 1fr}:where(.source-document) .ritual{height:150px}:where(.source-document) .moment-list{grid-template-columns:1fr}:where(.source-document) .button{width:100%}}


.source-document{--accent:#38163c;--pastel:#f3eef3;--ochre:#f4f1ef}
.source-document{min-height:0}
:where(.source-document) .source-main{min-height:0;display:block}
:where(.source-document) .source-main>:last-child{flex-grow:0}
:where(.source-document) .eyebrow{color:var(--accent)}
:where(.source-document) .hero .eyebrow,:where(.source-document) .cta .eyebrow{color:var(--gold)}
:where(.source-document) .button:focus-visible{outline-color:var(--accent)}
:where(.source-document) .num{color:var(--accent)}
:where(.source-document) .intro,:where(.source-document) .boundary{background:#fff}:where(.source-document) .options{background:var(--pastel)}
:where(.source-document) .boundary-note{border-left-color:var(--accent);background:#fff}
:where(.source-document) .gallery{padding:32px;background:var(--ochre)}
:where(.source-document) .detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
:where(.source-document) .detail{margin:0;overflow:hidden;border-radius:15px;background:#fff}
:where(.source-document) .detail-media{aspect-ratio:4/3;overflow:hidden;background:#d8dbe7}
:where(.source-document) .detail img{width:100%;height:100%;display:block;object-fit:cover}
:where(.source-document) .detail figcaption{padding:27px 20px 22px}
:where(.source-document) .detail h3{margin-bottom:16px;font-family:Poppins,Arial,sans-serif;font-size:18px;font-weight:500;letter-spacing:0}
:where(.source-document) .detail p{margin:0;color:#50494e;font-size:14px}
:where(.source-document) .cta{background:var(--accent);color:#fff}
:where(.source-document) .cta p{color:rgba(255,255,255,.86)}
:where(.source-document) .cta .button{background:#fff;color:var(--ink)}
:where(.source-document) .faq{margin:0;padding:84px var(--pad) 68px;background:#fff;border-radius:0}
:where(.source-document) .faq-head{max-width:760px;margin:0 auto 28px;text-align:center}:where(.source-document) .faq-head .eyebrow{margin-bottom:20px}
:where(.source-document) .faq details{max-width:900px;margin:0 auto;border-top:1px solid rgba(56,22,60,.22);padding:28px 0}:where(.source-document) .faq details:last-child{border-bottom:1px solid rgba(56,22,60,.22)}
:where(.source-document) .faq summary{font-family:"Playfair Display",Georgia,serif;font-size:21px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:22px}:where(.source-document) .faq summary::-webkit-details-marker{display:none}:where(.source-document) .faq summary:after{content:"+";font-family:Poppins,Arial,sans-serif}:where(.source-document) .faq details[open] summary:after{content:"–"}:where(.source-document) .faq details p{margin:14px 0 0;max-width:72ch;color:#50494e}
@container service-viewport (min-width:761px) and (max-width:1180px){:where(.source-document) .gallery{padding:24px}:where(.source-document) .detail figcaption{padding:16px}:where(.source-document) .faq{padding-top:63px;padding-bottom:63px}}
@container service-viewport (min-width:1181px){:where(.source-document) .faq{padding-top:68px;padding-bottom:58px}}
@container service-viewport (max-width:760px){:where(.source-document) .gallery{padding:12px}:where(.source-document) .detail-grid{grid-template-columns:1fr}:where(.source-document) .detail-media{aspect-ratio:16/10}:where(.source-document) .faq{padding:56px 26px}:where(.source-document) .faq summary{font-size:19px}:where(.source-document) .faq details{padding:26px 0}}
@container service-viewport (max-width:760px){
.source-document{font-size:15.5px;line-height:1.62}:where(.source-document) .source-main{padding:18px 12px 0}:where(.source-document) .panel{margin-bottom:22px;border-radius:18px}:where(.source-document) h1{font-size:clamp(40px,12cqw,48px);line-height:1.04;letter-spacing:-.035em}:where(.source-document) h2{font-size:clamp(30px,8.5cqw,36px);line-height:1.14}:where(.source-document) h3{font-size:21px}:where(.source-document) .eyebrow{margin-bottom:20px}
:where(.source-document) .hero-visual{height:270px;margin:10px}:where(.source-document) .hero-visual img{object-position:center 44%}:where(.source-document) .hero-copy{padding:44px 22px 42px}:where(.source-document) .hero .lead{margin:20px 0 16px;font-size:23px}:where(.source-document) .intro,:where(.source-document) .options,:where(.source-document) .moments,:where(.source-document) .boundary,:where(.source-document) .cta{padding:50px 22px}:where(.source-document) .intro,:where(.source-document) .moments,:where(.source-document) .boundary{gap:26px}:where(.source-document) .cards{gap:16px}:where(.source-document) .card{padding:22px;border-radius:14px}:where(.source-document) .card ul{padding-left:18px}
:where(.source-document) .gallery{padding:10px}:where(.source-document) .detail-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 0 8px}:where(.source-document) .detail{flex:0 0 84%;scroll-snap-align:start}:where(.source-document) .detail-media{aspect-ratio:4/3}:where(.source-document) .detail figcaption{padding:25px 18px 20px}
:where(.source-document) .moments{background:var(--pastel)}:where(.source-document) .ritual-grid{gap:12px;margin:20px 0}:where(.source-document) .ritual{height:118px;border-radius:12px}:where(.source-document) .moment-list{gap:12px}:where(.source-document) .moment{padding:14px}:where(.source-document) .boundary-note{padding:19px}:where(.source-document) .button{min-height:50px;width:100%}:where(.source-document) .faq{padding:50px 22px 28px;border-radius:0}:where(.source-document) .faq-head{margin-bottom:28px}:where(.source-document) .faq details{padding:25px 0}:where(.source-document) .faq summary{min-height:48px;align-items:center;font-size:19px}
}
@container service-viewport (max-width:420px){:where(.source-document) .source-main{padding:16px 10px 0}:where(.source-document) .detail{flex-basis:88%}:where(.source-document) .ritual{height:108px}}
@container service-viewport (min-width:761px){
.source-document{--ochre:#faf8fb;--soft:#faf8fb;--pink:#faf8fb}
:where(.source-document) .moments{background:#faf8fb}
}

