/* Readable content and deliberate image placement in both presentations. */
body{font-size:17px}.service-card p,.detail-grid p,.ritual-flow p,.ritual-intro p,.gallery-description,.collection-grid p,.process p{font-size:16px;line-height:1.75}.button,.text-link,.nav-links a{font-size:15px}.eyebrow{font-size:12px}.form-note,.note,.footer p,.footer a,figcaption{font-size:14px;line-height:1.65}.text-link:after{content:none!important}.copy-only{display:block;max-width:1000px}.copy-only>div{max-width:850px}.text-hero{display:block;max-width:1100px;min-height:0}.text-hero .copy{max-width:900px;padding:55px 7%}.ritual-chapter{scroll-margin-top:110px}.ritual-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:60px;align-items:center;margin-bottom:35px}.ritual-intro h2{font-size:clamp(36px,4vw,54px);margin:15px 0}.ritual-intro p{max-width:65ch}.ritual-intro figure{margin:0;justify-self:end;max-width:390px}.ritual-intro img{width:100%;height:auto;max-height:310px;object-fit:contain;border-radius:16px;display:block}.ritual-intro figcaption{margin-top:9px;color:var(--muted)}.ritual-intro.without-photo{display:block;max-width:850px}.ritual-flow{width:100%}.ritual-flow .ritual-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:55px;row-gap:22px;padding-left:26px;margin:0 0 30px}.ritual-flow .ritual-steps li{padding:15px 0 15px 8px;border-top:1px solid var(--line);margin:0}.ritual-flow .ritual-steps h3,.ritual-flow .ritual-steps h4{font-size:25px;line-height:1.3;margin:0 0 9px}.ritual-flow .ritual-variant{margin:30px 0}.ritual-flow .ritual-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ritual-flow .ritual-variants article{padding:24px;border:1px solid var(--line);border-radius:14px}.ritual-flow .ritual-variants h3{font-size:25px;margin-bottom:12px}.ritual-flow .button{margin-top:18px}.copy-only ul{columns:2;column-gap:45px}.copy-only li{break-inside:avoid;margin-bottom:12px}
/* Design B changes the compositions as well as the visual material. */
html[data-design=glass] .nav-shell{margin:12px auto;width:calc(100% - 40px);border-radius:20px;border:1px solid #fff;box-shadow:0 10px 35px #102f3914}html[data-design=glass] .hero.modern-home-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:0;min-height:660px;height:auto;max-height:none;background:transparent;padding:35px 5% 65px;overflow:visible}html[data-design=glass] .modern-home-hero:before{display:none}html[data-design=glass] .modern-home-hero .hero-image{position:relative;grid-column:2;grid-row:1;width:100%;height:620px;border-radius:28px;overflow:hidden}html[data-design=glass] .modern-home-hero .hero-image img{width:100%;height:100%;object-fit:cover}html[data-design=glass] .modern-home-hero .hero-copy{position:relative;grid-column:1;grid-row:1;top:auto;left:auto;transform:none;align-self:center;width:calc(100% + 60px);z-index:2;text-align:left;align-items:flex-start;margin:0;padding:45px;background:#ffffffdf;color:var(--ink);border:1px solid #fff;box-shadow:0 25px 70px #16394118}html[data-design=glass] .modern-home-hero h1{font-size:clamp(46px,5vw,74px)}html[data-design=glass] .modern-home-hero h1 em{color:var(--wine)}html[data-design=glass] .modern-home-hero p{color:var(--muted);font-size:17px}html[data-design=glass] .modern-home-hero .eyebrow{color:var(--wine);font-size:12px}html[data-design=glass] .modern-home-hero .hero-actions{justify-content:flex-start}html[data-design=glass] .modern-home-hero .button.light{background:var(--wine);color:white;border-color:var(--wine)}html[data-design=glass] .modern-home-hero .button.ghost{color:var(--wine);border-color:#155e6350;background:#fff8}html[data-design=glass] .modern-home-hero .hero-index{color:var(--muted);font-size:11px}html[data-design=glass] .page-hero{display:flex;flex-direction:column;background:transparent;box-shadow:none;border-radius:0;overflow:visible;max-width:1280px;width:90%;margin-top:30px}html[data-design=glass] .page-hero>img{order:0;margin:0;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:28px;background:#1639410a}html[data-design=glass] .page-hero .copy{order:1;background:#ffffffdf;color:var(--ink);border:1px solid white;backdrop-filter:blur(18px);border-radius:22px;width:90%;margin:-55px auto 0;z-index:1;padding:38px 45px;box-shadow:0 20px 60px #16394112}html[data-design=glass] .page-hero h1{font-size:clamp(40px,4vw,60px)}html[data-design=glass] .page-hero h1 em{color:var(--wine)}html[data-design=glass] .page-hero p{color:var(--muted);max-width:72ch;font-size:17px}html[data-design=glass] .page-hero .eyebrow{color:var(--wine)}html[data-design=glass] .page-hero .button.light{background:var(--wine);color:white}html[data-design=glass] .page-hero .button.ghost{color:var(--wine);border-color:#155e6350}html[data-design=glass] .text-hero .copy{margin:0;width:100%}html[data-design=glass] .intro:not(.copy-only) .intro-picture{order:-1}html[data-design=glass] .service-grid:has(.service-photo){display:flex;flex-direction:column;gap:25px}html[data-design=glass] .service-grid:has(.service-photo) .service-card{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-content:center}html[data-design=glass] .service-grid:has(.service-photo) .service-photo{grid-column:1;grid-row:1 / span 6;margin:0;align-self:center}html[data-design=glass] .service-grid:has(.service-photo) .service-photo img{max-height:350px}html[data-design=glass] .service-grid:has(.service-photo) .service-card>*:not(.service-photo){grid-column:2}html[data-design=glass] .service-grid:has(.service-photo) .service-card:nth-child(even) .service-photo{grid-column:2}html[data-design=glass] .service-grid:has(.service-photo) .service-card:nth-child(even)>*:not(.service-photo){grid-column:1}html[data-design=glass] .ritual-intro{grid-template-columns:1fr 1.3fr;gap:45px}html[data-design=glass] .ritual-intro figure{grid-column:1;grid-row:1;justify-self:start}html[data-design=glass] .ritual-intro>div{grid-column:2}html[data-design=glass] .ritual-intro.without-photo>div{max-width:800px}html[data-design=glass] .ritual-flow .ritual-steps{list-style:none;padding:0;gap:18px;counter-reset:ritual}html[data-design=glass] .ritual-flow .ritual-steps li{padding:25px;background:#ffffffac;border:1px solid white;border-radius:20px;backdrop-filter:blur(12px);counter-increment:ritual}html[data-design=glass] .ritual-flow .ritual-steps li:before{content:counter(ritual,decimal-leading-zero);display:block;color:var(--wine);font-size:14px;margin-bottom:13px}html[data-design=glass] .ritual-flow .ritual-steps h3,html[data-design=glass] .ritual-flow .ritual-steps h4{font-size:23px;letter-spacing:-.035em}html[data-design=glass] .process{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-design=glass] .gallery,html[data-design=glass] .collection-grid{columns:3;display:block;column-gap:25px}html[data-design=glass] .gallery figure,html[data-design=glass] .collection-grid figure{break-inside:avoid;margin:0 0 25px}html[data-design=glass] .gallery img,html[data-design=glass] .collection-grid img{height:auto;aspect-ratio:auto;object-fit:contain}html[data-design=glass] .image-grid{grid-template-columns:1.3fr 1fr 1fr}
@media(max-width:760px){body{font-size:16px}.ritual-intro{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.ritual-intro figure{justify-self:start;max-width:100%;width:100%}.ritual-intro img{max-height:320px}.ritual-flow .ritual-steps,.ritual-flow .ritual-variants{grid-template-columns:1fr;gap:12px}.ritual-flow .ritual-steps h3,.ritual-flow .ritual-steps h4{font-size:24px}.copy-only ul{columns:1}.button,.text-link{font-size:15px}.text-hero .copy{padding:35px 25px}html[data-design=glass] .nav-shell{width:calc(100% - 20px);margin:8px auto}html[data-design=glass] .hero.modern-home-hero{display:flex;flex-direction:column;padding:15px 16px 35px;min-height:0;height:auto}html[data-design=glass] .modern-home-hero .hero-image{height:260px;width:100%;order:0}html[data-design=glass] .modern-home-hero .hero-copy{order:1;width:calc(100% - 16px);margin:-32px auto 0;padding:28px 23px;transform:none;top:auto;left:auto;text-align:left;border-radius:20px}html[data-design=glass] .modern-home-hero h1{font-size:43px}html[data-design=glass] .modern-home-hero p{font-size:16px}html[data-design=glass] .modern-home-hero .hero-actions{width:100%}html[data-design=glass] .page-hero{width:calc(100% - 28px);margin-top:20px}html[data-design=glass] .page-hero>img{max-height:300px}html[data-design=glass] .page-hero .copy{width:calc(100% - 16px);margin-top:-25px;padding:28px 23px}html[data-design=glass] .text-hero .copy{margin-top:0;width:100%}html[data-design=glass] .page-hero h1{font-size:38px}html[data-design=glass] .ritual-intro{display:flex;flex-direction:column;align-items:stretch;gap:20px}html[data-design=glass] .ritual-intro>div{order:0}html[data-design=glass] .ritual-intro figure{order:1}html[data-design=glass] .service-grid:has(.service-photo) .service-card{display:block}html[data-design=glass] .service-grid:has(.service-photo) .service-photo{margin-bottom:25px}html[data-design=glass] .process{grid-template-columns:1fr}html[data-design=glass] .gallery,html[data-design=glass] .collection-grid{columns:1}html[data-design=glass] .image-grid{grid-template-columns:1fr}html[data-design=glass] .eyebrow{font-size:12px}}

.ritual-chapter{width:min(1180px,90%);max-width:1180px}.ritual-overview{width:min(1180px,90%);max-width:1180px}.ritual-flow .ritual-steps li:before{content:none}.ritual-flow .ritual-steps{list-style:decimal}.ritual-flow .ritual-steps li::marker{color:var(--wine);font-size:15px}
.ritual-chapter,.ritual-overview{padding:65px 0}.ritual-flow .ritual-steps li{border-bottom:0}.ritual-intro{grid-template-columns:minmax(0,1fr) minmax(260px,390px)}
@media(max-width:760px){.ritual-chapter,.ritual-overview{width:calc(100% - 40px);padding:40px 0}.ritual-intro{grid-template-columns:1fr}.ritual-flow .ritual-steps{padding-left:22px}}

.production-photo{margin:0 0 25px}.production-photo img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:12px;display:block}.production-photo figcaption{font-size:14px;margin-top:10px;color:var(--muted)}
/* Functional text has a readable floor across phone, laptop and desktop. */
#main p,#main li,#main label{font-size:17px;line-height:1.7}#main input,#main select,#main textarea{font-size:16px;line-height:1.5}#main figcaption,#main .caption,#main .note,#main .form-note,#main small,#main .gallery-category{font-size:15px;line-height:1.6}#main .button,#main .text-link,#main .chapter-links a,#main .collection-nav a,#main .filter,#main .budget-tabs button{font-size:16px;line-height:1.45}.nav-links a{font-size:15px}.footer p,.footer a,.footer .copyright{font-size:15px;line-height:1.65}.ribbon,.hero-index{font-size:13px;letter-spacing:.08em}html[data-design=glass] #main .hero-index{font-size:13px}#download-dialog label,#download-dialog input,#download-dialog button:not(.download-close){font-size:16px}#download-dialog p,#download-dialog small{font-size:15px}
@media(max-width:760px){#main p,#main li,#main label{font-size:16px}#main .page-hero p,#main .hero-copy p{font-size:16px}#main .button,#main .text-link{font-size:16px}.hero-index{font-size:12px}.footer p,.footer a{font-size:15px}}
.image-cards:has(.detail-photo-card){align-items:start}.detail-photo-card{background:var(--surface);border:1px solid var(--line)}.detail-photo-card .photo{height:auto;aspect-ratio:auto;overflow:visible}.detail-photo-card .photo img{height:auto;aspect-ratio:auto;max-height:520px;object-fit:contain;width:100%;display:block}.detail-photo-card h3{position:static;margin:0;padding:20px 22px;color:var(--ink);font-size:29px;background:none;line-height:1.25}.detail-photo-card:before,.detail-photo-card:after{display:none}html[data-design=glass] .detail-photo-card h3{font-size:27px;color:var(--ink)}
/* Preserve the supplied photographs; layout framing never removes their edges. */
.collection-grid img,.gallery img,.activity-grid img,.planning-photo-band img{height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}.image-card .photo{height:auto;aspect-ratio:auto}.image-card .photo img{height:auto;aspect-ratio:auto;object-fit:contain}.image-cards{align-items:start}.modern-home-hero .hero-image{background:#241a1c}.modern-home-hero .hero-image img{object-fit:contain}html[data-design=glass] .modern-home-hero .hero-image{background:#dbe5df}html[data-design=glass] .modern-home-hero .hero-image img{object-fit:contain}

/* Shared photo framing and readable section labels in both designs. */
#main img{border-radius:18px}
#main .image-card .photo{overflow:hidden;border-radius:18px 18px 0 0}
#main .detail-photo-card{border-radius:18px;overflow:hidden}
#main .intro-picture:after{border-radius:18px}
#main .hero.modern-home-hero{border-radius:24px;margin:20px auto;width:calc(100% - 40px)}
#main .eyebrow,#main .hero-index,#main .ribbon{font-size:15px;line-height:1.6;letter-spacing:.09em}
#main .hero-index{max-width:100%;flex-wrap:wrap;gap:12px}
#main .hero-index:before{width:32px;flex-shrink:0}
#main .service-card .num,#main .process .num{font-size:16px}
#main .photo-note,#main .image-card .meta,.contact-method span,.footer h3{font-size:14px;line-height:1.6}
#main .image-cards:has(.detail-photo-card){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#main .detail-photo-card:nth-child(1){grid-column:1;grid-row:1}
#main .detail-photo-card:nth-child(2){grid-column:1;grid-row:2}
#main .detail-photo-card:nth-child(3){grid-column:2;grid-row:1 / span 2}
#main .detail-photo-card .photo img{max-height:none;height:auto;aspect-ratio:auto;object-fit:contain}
#main .image-card:hover img{transform:none}
@media(max-width:760px){
 #main .hero.modern-home-hero{border-radius:18px;margin:14px auto;width:calc(100% - 28px)}
 #main .eyebrow,#main .hero-index,#main .ribbon{font-size:14px;letter-spacing:.065em}
 #main .ribbon{gap:14px;flex-wrap:wrap;padding:20px 6%}
 #main .hero-index{display:block}
 #main .hero-index:before{display:none}
 #main .image-cards:has(.detail-photo-card){grid-template-columns:1fr;gap:22px}
 #main .detail-photo-card:nth-child(n){grid-column:auto;grid-row:auto}
}
html[data-design=glass] #main .modern-home-hero .hero-index{font-size:15px;letter-spacing:.09em;line-height:1.6}
.brand small{font-size:12px;letter-spacing:.12em;line-height:1.5}
.footer-bottom a{font-size:15px!important}
@media(max-width:760px){html[data-design=glass] #main .modern-home-hero .hero-index{font-size:14px;letter-spacing:.065em}.brand small{font-size:12px}}
/* Trim the small photographer mark at the bottom of the ceremony-detail photo. */
#main .detail-photo-card:first-child .photo{position:relative;height:0;padding-bottom:62.5%;overflow:hidden}
#main .detail-photo-card:first-child .photo img{position:absolute;top:0;left:0;width:100%;height:auto}
/* Odd two-column groups finish with a centred card of the same width. */
#main .detail-grid>article:last-child:nth-child(odd){grid-column:1 / -1;width:calc((100% - 28px)/2);justify-self:center}
/* Photo cards use the whole top edge; copy retains its own padding. */
#main .detail-grid>article{--card-padding:28px;overflow:hidden}
#main .detail-grid>article>.service-photo{margin:calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)) 24px;width:calc(100% + 2 * var(--card-padding));border-radius:18px 18px 0 0;overflow:hidden}
#main .detail-grid>article>.service-photo img,#main .detail-photo-card .photo img{border-radius:0;width:100%;display:block}
#main .production-photo figcaption{padding:12px var(--card-padding) 0;margin:0}
html:not([data-design=glass]) #main .service-card{--card-padding:24px;overflow:hidden}
html:not([data-design=glass]) #main .service-card>.service-photo{margin:calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)) 24px;width:calc(100% + 2 * var(--card-padding));border-radius:18px 18px 0 0;overflow:hidden}
html:not([data-design=glass]) #main .service-card>.service-photo img{border-radius:0}
@media(max-width:1100px){html:not([data-design=glass]) #main .service-card{--card-padding:20px}}
@media(max-width:760px){#main .detail-grid>article{--card-padding:24px}#main .detail-grid>article:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}}
#main .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#main .detail-grid>article{min-width:0;border-radius:18px}
#main .detail-grid .service-photo img{height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}
html[data-design=glass] #main .detail-grid>article{--card-padding:26px}
@media(max-width:760px){#main .detail-grid{grid-template-columns:minmax(0,1fr)}}
/* A clear opening, followed by a steady content rhythm rather than oversized bands. */
#main>section:not(.page-hero):not(.hero):not(.calculator-shell){padding-top:clamp(44px,4.5vw,64px);padding-bottom:clamp(44px,4.5vw,64px)}
#main h2{font-size:clamp(36px,3.8vw,54px);line-height:1.12}
#main .section-head,#main .collection-heading{margin-bottom:30px;align-items:start;gap:32px}
#main .section-head p,#main .collection-heading p{margin-top:5px}
#main .hero.modern-home-hero{min-height:600px;max-height:760px;height:calc(100svh - 120px)}
#main .page-hero{min-height:0}
#main .page-hero h1{font-size:clamp(44px,4.6vw,66px)}
#main .page-hero .copy{padding-top:44px;padding-bottom:44px}
#main .cta{margin-top:16px;margin-bottom:44px;padding-top:58px;padding-bottom:58px}
#main .collection-grid{align-items:start}
html[data-design=glass] #main .hero.modern-home-hero{height:auto;min-height:0;max-height:none;padding-top:28px;padding-bottom:44px}
html[data-design=glass] #main .modern-home-hero .hero-image{height:560px}
@media(max-width:760px){
 #main>section:not(.page-hero):not(.hero):not(.calculator-shell){padding-top:40px;padding-bottom:40px}
 #main h2{font-size:36px}
 #main .section-head,#main .collection-heading{gap:20px;margin-bottom:24px}
 #main .hero.modern-home-hero{min-height:710px;height:auto;max-height:none}
 #main .page-hero h1{font-size:42px}
 #main .page-hero .copy{padding-top:32px;padding-bottom:32px}
 html[data-design=glass] #main .modern-home-hero .hero-image{height:260px}
 html[data-design=glass] #main .hero.modern-home-hero{min-height:0;padding:14px 14px 30px}
}
/* Hero photographs fill their frame instead of exposing a letterbox strip. */
#main .modern-home-hero .hero-image img,
html[data-design=glass] #main .modern-home-hero .hero-image img{
 width:100%;height:100%;object-fit:cover;object-position:50% 48%;border-radius:0;
}
/* Align service rows, checklist actions and the story section to the shared grid. */
#main .service-grid{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}
#main .service-card{min-width:0;height:100%}
#main .service-card h3{min-height:2.5em;line-height:1.25}
#main #checklists>p{margin:20px 0 30px}
#main #checklists .service-card h3{min-height:3.75em}
#main .checklist-actions{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:12px;min-height:104px;width:100%}
#main .checklist-actions .text-link,#main .checklist-actions .button{margin:0}
#main #checklists .service-card:last-child:nth-child(3n + 1){grid-column:2}
#main .story-principles{max-width:1300px;width:100%}
#main .story-principles>.copy{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:18px}
#main .story-principles .eyebrow{grid-column:1;grid-row:1;margin:0}
#main .story-principles h2{grid-column:1;grid-row:2 / span 3;margin:0}
#main .story-principles p{grid-column:2;margin:0;max-width:none}
#main .story-principles p:first-of-type{grid-row:2}
#main .home-inspiration{align-items:stretch}
#main .home-inspiration .image-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}
#main .home-inspiration .image-card .photo{flex-shrink:0;border-radius:18px 18px 0 0}
#main .home-inspiration .image-card .photo img{border-radius:0}
#main .home-inspiration .meta{padding:0 22px;margin-top:18px}
#main .home-inspiration h3{padding:0 22px;min-height:2.5em;line-height:1.25;margin:12px 0}
#main .home-inspiration p{padding:0 22px 24px;margin:0}
@media(min-width:761px) and (max-width:1100px){#main #checklists .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#main #checklists .service-card:last-child:nth-child(3n + 1){grid-column:auto}}
@media(max-width:760px){
 #main .service-grid{grid-template-columns:minmax(0,1fr)}
 #main .service-card h3,#main #checklists .service-card h3,#main .home-inspiration h3{min-height:0}
 #main #checklists .service-card:last-child:nth-child(3n + 1){grid-column:auto}
 #main .story-principles>.copy{display:block}
 #main .story-principles h2{margin:16px 0 24px}
 #main .story-principles p{margin:0 0 18px}
}
/* Keep the portrait intact and balance it against two stacked landscape cards. */
#main .home-inspiration{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}
#main .home-inspiration .image-card:nth-child(1){grid-column:1;grid-row:1}
#main .home-inspiration .image-card:nth-child(3){grid-column:1;grid-row:2}
#main .home-inspiration .image-card:nth-child(2){grid-column:2;grid-row:1 / span 2}
#main .home-inspiration h3{min-height:0}
@media(max-width:760px){#main .home-inspiration{grid-template-columns:minmax(0,1fr)}#main .home-inspiration .image-card:nth-child(n){grid-column:auto;grid-row:auto}}
#main .story-principles p:nth-of-type(2){grid-row:3}
#main .story-principles p:nth-of-type(3){grid-row:4}
/* Balance the portrait height with the two landscape cards in this one section. */
@media(min-width:761px){
 #main .home-inspiration{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:stretch}
 #main .home-inspiration .image-card{height:100%}
}
