:root{--navy:#101f35;--light:#f7f9fb;--muted:#536174;--line:#101f3526;--coral:#cc006e;--ice:#536e86;--pink:#cc006e}
body{background:white;color:var(--navy);font-family:'DM Sans',Arial,sans-serif;overflow-x:clip}
.preview{background:#e9edf2;color:#39495c}
header,.page header{position:relative;top:0;background:var(--navy);color:white}
.nav,.page .nav{padding:20px 0;border-bottom:0}
.logo{width:205px}
.btn:not(.outline),header .btn:not(.outline),.instagram-callout .btn{background:var(--pink);border:1px solid var(--pink);color:white;border-radius:3px;box-shadow:none;font-weight:500;font-family:inherit;letter-spacing:0}
.btn:not(.outline):hover,header .btn:not(.outline):hover{background:#ac005d;border-color:#ac005d;color:white}
.outline{background:transparent;color:var(--navy);border-color:var(--pink);border-radius:3px}
.outline:hover{background:#fceaf4;color:var(--navy);border-color:var(--pink)}
nav>a:not(.btn):hover{color:#f58fc6}
.hero.stage-one{background:var(--navy);min-height:670px;display:grid;grid-template-columns:1fr;place-items:center;position:relative;overflow:hidden}
.stage-one video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:1}
.hero-shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,#101f3560,#101f35a6 55%,#101f35c9)}
.hero-content{position:relative;z-index:2;padding:75px 0;text-align:center;color:white}
.hero-content>.eyebrow{color:white;margin-bottom:30px;font-size:12px;letter-spacing:.18em}
.hero-content>.eyebrow:before{display:none}
.stage-one h1{font:500 clamp(60px,6.5vw,88px)/1.06 'DM Sans',Arial,sans-serif;letter-spacing:-.045em;color:white;max-width:850px;margin:0 auto 30px}
.stage-one h1 .hero-word{color:white;position:relative;display:inline-block}
.hero-word:after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:3px;background:#ef3c9c}
.stage-one p.body{color:white;font-size:18px;line-height:1.65;max-width:600px;margin:0 auto 35px}
.hero .actions{justify-content:center;align-items:center;gap:28px;flex-wrap:wrap}
.hero .actions .film-link{color:white;border-color:#ffffff90}
.video-control{right:0;bottom:20px;color:white;background:#101f357d;border:1px solid #ffffff90}
.dayline{background:var(--navy);color:white;border-top:1px solid #ffffff20}
.dayline .wrap{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}
.dayline span{font-size:12px;color:#c9d5e1}.dayline p{margin:0;font-size:16px;word-spacing:5px}.dayline i{font-style:normal;color:#ed3d9d;font-size:12px}.dayline a{font-size:13px;border-bottom:1px solid #f58fc6;min-height:44px;display:flex;align-items:center}
.welcome-study{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.welcome-study>div>p:not(.eyebrow){max-width:520px;color:#43566d}
.welcome-study blockquote{background:#e9edf2;border-left:3px solid var(--pink);padding:38px;margin:0;font:400 26px/1.5 'DM Sans',Arial,sans-serif}
.welcome-study cite{font:400 13px/1.5 'DM Sans',Arial,sans-serif;display:block;margin-top:22px}
.eyebrow,.page-hero .eyebrow,.alex-intro .eyebrow{color:#a00058}
.section h2{font-weight:500;letter-spacing:-.04em}
.light{background:#f7f9fb;color:var(--navy)}
.intro p,.feature p,.feature-list small,.story-body .text p,.service-note p,.lead,.breadcrumb,details p,.alex-intro p,.party-choice p,.legal p,.legal li,.photo-pair figcaption,.wedding-story figcaption,.contact p{color:#43566d}
.feature-list strong{color:var(--navy)}
.film-link,.related a{color:var(--navy);border-color:#8696a6}
.film-link:hover,.light .film-link:hover{color:#a00058}
.page-hero{position:relative;padding:75px 0}
.page-hero:before{content:'';position:absolute;inset:0;background:#e9edf2;box-shadow:0 0 0 100vmax #e9edf2;clip-path:inset(0 -100vmax);z-index:-1}
.page-hero h1 em{font-family:'DM Sans',Arial,sans-serif;font-style:normal;color:#3a516d}
.film-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.film-card:nth-child(2),.film-card:nth-child(3){padding-top:0}
.film-card video{border-radius:4px}
.reel-card{padding:0;background:#e9edf2;color:var(--navy);border-radius:4px;overflow:hidden;gap:0;min-height:0}
.reel-card img{aspect-ratio:4/5;object-fit:cover;object-position:56% center}
.reel-card .btn{align-self:stretch;margin:0;border-radius:0}
.reel-card h3{color:var(--navy)}
.homepage .alex-intro{position:relative;background:#e9edf2;box-shadow:0 0 0 100vmax #e9edf2;clip-path:inset(0 -100vmax);color:var(--navy)}
.homepage .alex-intro img{border-radius:4px}
.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.coverage-grid article,.coverage-grid article:nth-child(2){display:flex;flex-direction:column;background:white;padding:0;border:1px solid #e2e8ee;border-radius:4px;overflow:hidden;gap:0}
.coverage-grid article>div{padding:28px}.coverage-grid img{height:300px}.coverage-grid h3{font:500 28px/1.2 'DM Sans',Arial,sans-serif}.coverage-grid .eyebrow,.number,.option-story .number{color:#a00058}
.monochrome{filter:none}
.homepage .party-choice{position:relative;background:var(--navy);color:white;box-shadow:0 0 0 100vmax var(--navy);clip-path:inset(0 -100vmax)}
.homepage .party-choice p{color:#d0dbe6}.homepage .party-choice .eyebrow{color:#f58fc6}.homepage .party-choice .film-link{color:white;border-color:#ef3c9c}
.quote{border-top:1px solid var(--pink)}.quote blockquote{font-family:'DM Sans',Arial,sans-serif;font-size:25px;font-style:normal}
.quote-section,.contact,.contact-panel,.notice{background:#e9edf2;color:var(--navy)}
.quote-box{background:white;border:1px solid #dbe3eb;border-radius:4px;box-shadow:none}
.quote-field input,.quote-field select,.quote-field textarea{font-family:inherit;background:#f9fafc;border-radius:3px}
.reading-body{background:#f7f9fb;border:1px solid #e3e9ef}.reading-toc li{border-color:#101f3526}.reading-toc a:not(.btn){color:#43566d}.reading-toc a:hover{color:#a00058}
.service-note,.detail-grid>div,.planning-grid>div{border-color:var(--pink)}
.contact .eyebrow{color:#a00058}
.footer{background:var(--navy);color:white;border-top:0}.footer p,.footer-bottom{color:#c9d5e1}.footer-links .footer-heading{color:#f58fc6}.footer-bottom{border-top-color:#ffffff25}.footer a:hover{color:#f58fc6}
.card:nth-child(2){background:#e9edf2;color:var(--navy)}.card:nth-child(2) p,.card:nth-child(2) li{color:#43566d}.card:nth-child(2) .number{color:#a00058}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--pink)}header a:focus-visible,header button:focus-visible,.footer a:focus-visible{outline-color:#f58fc6}
@media(max-width:900px){.nav{position:relative}.homepage nav.open,.page nav.open{top:78px;background:var(--navy)}.hero.stage-one{display:grid;min-height:630px}.stage-one video{position:absolute;inset:0;width:100%;height:100%;margin:0}.hero-content{padding:60px 0}.stage-one h1{font-size:clamp(55px,8vw,78px);max-width:720px}.hero .actions{flex-wrap:wrap}.dayline .wrap{flex-wrap:wrap;gap:10px 22px}.welcome-study{grid-template-columns:1fr;gap:30px}.welcome-study blockquote{max-width:690px}.coverage-grid{gap:16px}}
@media(max-width:650px){.logo{width:170px}.hero.stage-one{min-height:590px}.hero-content{padding:55px 0 65px}.stage-one h1{font-size:clamp(45px,10.5vw,65px)}.stage-one p.body{font-size:16px;max-width:370px}.hero-content>.eyebrow{font-size:11px;line-height:1.6}.hero .actions{flex-direction:column;align-items:center;gap:12px}.hero .actions .btn{width:auto;max-width:none}.video-control{bottom:15px}.dayline .wrap{justify-content:center;text-align:center}.dayline p{font-size:14px;word-spacing:0}.dayline span{width:100%}.dayline a{display:none}.welcome-study blockquote{padding:27px;font-size:22px}.film-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;gap:22px}.coverage-grid{grid-template-columns:1fr;gap:25px}.coverage-grid img{height:320px}.coverage-grid article>div{padding:25px}.page-hero{padding:50px 0}}
@media(prefers-reduced-motion:reduce){.hero.stage-one{background-image:none}.stage-one video{display:block}.video-control{display:none}}

/* Refined mobile hero typography and rhythm. */
.service-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.service-card{background:white;border:1px solid #dce3eb;border-radius:5px;overflow:hidden;display:flex;flex-direction:column}
.service-card>img{width:100%;height:280px;object-fit:cover;object-position:center 65%}
.service-card>div{padding:25px;display:flex;flex-direction:column;flex:1}
.service-card h3{font-size:27px;line-height:1.2;margin:10px 0 14px;letter-spacing:-.025em}
.service-card .number{font-size:11px;letter-spacing:.1em;color:#a00058;margin:0}
.service-card p{font-size:16px;line-height:1.5}
.service-card .coverage-points{font-size:15px;line-height:1.6;padding-left:18px}
.service-card a{margin-top:auto;font-size:14px;font-weight:500;min-height:44px;display:flex;align-items:center;border-top:1px solid #dce3eb}
.visual-guide{display:block;padding:40px 0 65px}
.structured-guide,.planning-steps{padding:0;border:0;background:transparent}
.structured-guide>.guide-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:0 0 45px;border:0}
.guide-feature-copy>div.wrap{width:100%}
.guide-feature img{width:100%;height:380px;object-fit:cover;object-position:center 65%;border-radius:4px}
.guide-feature p{font-size:17px;line-height:1.65}
.guide-answers{max-width:920px;margin:auto;border-top:1px solid #cbd5df}
.guide-answer{background:transparent;border:0;border-bottom:1px solid #cbd5df;margin:0;padding:0;scroll-margin-top:25px}
.guide-answer summary{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.02em;padding:24px 35px 24px 0;cursor:pointer;color:var(--navy)}
.guide-answer .answer-content{padding:0 0 24px;max-width:72ch}
.answer-content>.wrap{width:100%}
.guide-answer p{margin:0 0 14px;font-size:16px;line-height:1.65}
.planning-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.planning-steps>.planning-step{width:auto;padding:28px;border:1px solid #dce3eb;border-radius:4px;background:#f7f9fb;max-width:none}
.planning-step>.wrap{width:100%}
.planning-step h2{font-size:27px;margin:16px 0}
.planning-step p{font-size:16px;line-height:1.65}
.step-number{display:block;color:#a00058;font-size:13px;letter-spacing:.1em}
.optional-answer{background:white;padding:0 18px;border:1px solid #dce3eb;border-radius:4px}
.optional-answer summary{font-size:18px;padding:18px 0;font-weight:500;cursor:pointer}
.optional-answer p{font-size:15px;line-height:1.65;padding-bottom:15px}
@media(max-width:750px){
 .service-deck{grid-template-columns:1fr;gap:25px}
 .service-card>img{height:260px}
 .service-card>div{padding:22px}
 .service-card h3{font-size:26px}
 .structured-guide>.guide-feature{grid-template-columns:1fr;gap:20px;padding-bottom:30px}
 .guide-feature img{height:260px}
 .guide-feature h2{font-size:27px}
 .guide-feature p{font-size:16px}
 .guide-answer summary{font-size:20px;padding:21px 30px 21px 0}
 .planning-steps{grid-template-columns:1fr;gap:16px}
 .planning-steps>.planning-step{padding:23px}
 .planning-step h2{font-size:25px}
 .visual-guide{padding-top:30px}
}
.proof-links{margin-top:24px}
.proof-links .film-link{font-weight:500}
.guide-disclosure{border-top:1px solid #101f3526;border-bottom:1px solid #101f3526;padding:0;background:transparent}
.guide-disclosure summary{font-size:18px;line-height:1.4;padding:20px 0;cursor:pointer;font-weight:500}
.guide-disclosure .guide-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0;padding-bottom:18px}
.guide-disclosure .guide-links a{font-size:15px;line-height:1.5;padding:10px 0;min-height:44px;border:0}
.coverage-points{grid-column:2;margin:0 0 20px;padding-left:20px;font-size:17px;line-height:1.65;color:#43566d}
.coverage-points li{margin:0 0 10px}
.option-summary{font-weight:500;color:var(--navy)}
.ceremony-photo{object-position:center 72%}
.homepage .coverage-grid .ceremony-photo{height:380px;object-fit:cover}
.story-photo.ceremony-photo{height:auto;max-height:760px;object-fit:cover}
@media(max-width:650px){
 .guide-disclosure .guide-links{gap:6px 16px}
 .guide-disclosure .guide-links a{font-size:14px}
 .coverage-points{font-size:16px;line-height:1.6;padding-left:20px}
 .proof-links{margin-top:20px}
 .homepage .coverage-grid .ceremony-photo{height:auto;aspect-ratio:3/4}
 .section:has(>.wrap>.guide-disclosure),.section:has(>.guide-disclosure){padding-top:25px;padding-bottom:25px}
}
.page-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.14;letter-spacing:-.035em;max-width:22ch;text-wrap:balance}
h1,h2,h3{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.stage-one h1{max-width:19ch;margin-left:auto;margin-right:auto;text-wrap:balance}
.reading-body p{line-height:1.65;text-wrap:pretty}
.reading-body h2{font-size:30px}
.text-options .option-story p strong{font-size:18px;line-height:1.5}
@media(max-width:650px){
 .wrap{width:90%}
 .page-hero,.regional-page .page-hero{padding:38px 0 42px}
 .page-hero h1{font-size:clamp(30px,7.8vw,38px);line-height:1.16;margin-bottom:20px}
 .page-hero .lead{font-size:16px;line-height:1.65}
 .section h2,.regional-planning h2,.regional-neighbours h2{font-size:28px;line-height:1.2}
 .reading-body{padding:22px 18px}
 .reading-body h2{font-size:25px;line-height:1.22;margin-bottom:18px}
 .reading-body p{font-size:16px;line-height:1.65;margin-bottom:18px}
 .reading-body>.section{padding:25px 0}
 .option-story h3{font-size:28px;line-height:1.2}
 .text-options .option-story h3{margin-bottom:18px}
 .text-options .option-story p strong{font-size:17px;line-height:1.5}
 .option-story p{font-size:16px;line-height:1.65}
 .page-hero .actions{gap:14px;flex-wrap:wrap}
}
.hero-word:after{display:none}
.stage-one h1{font-size:clamp(48px,5.1vw,70px);line-height:1.12;letter-spacing:-.035em}
.hero-content>.eyebrow{margin-bottom:24px}
.stage-one p.body{font-size:17px;max-width:540px;line-height:1.65}
@media(max-width:650px){
 .nav,.page .nav{padding:12px 0}
 .hero.stage-one{min-height:540px}
 .hero-content{padding:42px 0 60px}
 .hero-content>.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:24px}
 .stage-one h1{font-size:clamp(33px,8.3vw,46px);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin-bottom:22px}
 .stage-one p.body{font-size:14px;line-height:1.7;max-width:310px;margin-bottom:26px;text-wrap:balance}
 .hero .actions{gap:8px}
 .hero .actions .btn{min-height:48px;min-width:160px;padding:12px 20px;font-size:13px}
 .hero .actions .film-link{font-size:12px;min-height:42px}
 .video-control{width:36px;height:36px;font-size:15px;bottom:12px}
}
