/* Wedding presentation derives its palette and faces from the existing brand tokens. */
.wedding-site{background:var(--paper);color:var(--ink);--sans:"Montserrat",Arial,sans-serif;--serif:"Butler Stencil",Georgia,serif;font-family:var(--sans);overflow-wrap:break-word;scrollbar-gutter:stable}
.wedding-site *, .wedding-site *::before,.wedding-site *::after{box-sizing:border-box}
.wedding-site h1,.wedding-site h2,.wedding-site h3{font-weight:400;letter-spacing:-.025em;line-height:1.08;margin:0}
.wedding-site p{font-size:clamp(16px,1.2vw,19px);line-height:1.8;margin:0 0 24px}.w-shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.w-header{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:32px}.w-brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;flex-shrink:0}.w-brand img{width:225px;height:auto}.w-brand span{font-size:12px;text-transform:uppercase;letter-spacing:.38em;margin-top:-5px;margin-left:.38em}.w-nav{display:flex;align-items:center;gap:28px}.w-nav>a{font-size:14px;text-decoration:none;text-transform:uppercase;padding-block:12px}.w-nav>a:hover,.w-nav>a[aria-current]{text-decoration:underline;text-underline-offset:7px}.w-nav .language-switcher{margin-left:10px}.w-nav .language-switcher a{font-size:12px}
.wedding-site .w-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:30px;line-height:1.6}.w-hero{padding-top:clamp(60px,8vw,110px);padding-bottom:100px}.w-hero h1{font-size:clamp(54px,7.7vw,108px);max-width:1050px;text-transform:uppercase}.w-hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-top:65px}.w-hero-bottom>div{max-width:470px}.w-hero-signature{font-family:var(--serif);font-size:clamp(27px,3vw,40px);line-height:1.25;white-space:pre-line;color:var(--muted);max-width:330px}.w-link{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.6;text-decoration:none;border-bottom:1px solid currentColor;min-height:48px;padding-bottom:5px}.w-link:hover{color:var(--focus)}.w-link span{font-size:22px}
.w-manifesto{padding-block:90px;background:var(--pink)}.w-manifesto h2{font-size:clamp(38px,5vw,68px);max-width:920px;margin-bottom:35px}.w-manifesto p:not(.w-eyebrow){max-width:660px}.w-process{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-block:110px}.w-process h2{font-size:clamp(36px,4vw,54px);max-width:380px}.w-steps article+article{padding-top:30px;border-top:1px solid var(--rule)}.w-steps h3{font-family:inherit;font-size:19px;line-height:1.5;margin-bottom:12px;letter-spacing:0}.w-steps p{font-size:16px}
.w-about{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center;padding-block:50px 120px}.w-about h2{font-size:clamp(38px,4.5vw,60px);margin-bottom:30px}.w-about figure{margin:0}.w-about img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}.w-about-copy{max-width:570px}.w-contact{padding-block:85px;background:var(--pink)}.w-contact h2{font-size:clamp(40px,5vw,68px);max-width:950px;margin-bottom:30px}.w-contact p:not(.w-eyebrow){max-width:630px}.w-page-intro{padding-block:65px 60px}.w-page-intro h1{font-size:clamp(46px,6vw,80px);white-space:pre-line;max-width:1050px;text-transform:uppercase;margin-bottom:30px}.w-page-intro>p:not(.w-eyebrow){max-width:730px}.w-page-intro .w-link{margin-bottom:40px}
.w-reports{padding-block:30px 80px}.w-reports h2,.w-faq h2{font-size:clamp(32px,4vw,54px);max-width:800px;margin-bottom:35px}.w-report-note{max-width:760px;border-top:1px solid var(--rule);padding-top:30px}.w-gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.w-faq{padding-bottom:110px;max-width:1000px}.w-faq details{border-bottom:1px solid var(--rule);padding-block:20px}.w-faq summary{font-size:18px;cursor:pointer;min-height:44px;padding-block:10px;line-height:1.5}.w-faq details p{padding-top:15px;font-size:16px;max-width:750px}.w-contact-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-bottom:110px}.w-contact-page aside h2{font-size:30px;margin-bottom:25px}.w-contact-page .ah-contact-form{margin-top:0}.w-contact-page aside{padding-top:10px}.w-email{font-size:16px;text-underline-offset:5px;display:inline-block;min-height:44px}.w-project{max-width:1100px;padding-bottom:80px}.w-project figure{margin:0 0 45px}.w-project img{width:100%;height:auto;display:block}.w-project figcaption{font-size:13px;color:var(--muted);margin-top:12px}.w-project-copy{max-width:750px;margin:60px auto}.w-legal{max-width:850px;padding-bottom:100px}.w-legal .w-link{margin-top:30px}
.w-footer{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:65px 35px}.w-footer-name{font-family:var(--serif);font-size:26px;text-decoration:none}.w-footer-name span{display:block;font-family:Montserrat,Arial,sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-top:8px}.w-footer p{font-size:12px;margin:18px 0 0;color:var(--muted)}.w-footer nav{display:flex;gap:25px;flex-wrap:wrap}.w-footer nav a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--muted)}.w-footer nav a:hover{color:var(--ink);text-decoration:underline}.w-privacy .ah-consent-links>a{display:none}.w-privacy{padding-bottom:15px}.wedding-site a:focus-visible,.wedding-site button:focus-visible,.wedding-site summary:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.wedding-site button{cursor:pointer}
@media(max-width:1000px){.w-shell{width:calc(100% - 64px)}.w-header{gap:25px}.w-brand img{width:180px}.w-nav{gap:17px}.w-nav>a{font-size:12px}.w-process,.w-about,.w-contact-page{gap:50px}.w-hero-bottom{gap:50px}}
@media(max-width:720px){.w-shell{width:calc(100% - 40px)}.w-header{padding-block:25px 10px;display:block}.w-brand{width:max-content;margin:auto}.w-brand img{width:185px}.w-nav{justify-content:center;flex-wrap:wrap;gap:7px 18px;margin-top:20px}.w-nav>a{font-size:11px;min-height:44px;display:inline-flex;align-items:center}.w-nav .language-switcher{margin:0}.w-nav .language-switcher a{min-width:32px}.w-hero{padding-top:50px;padding-bottom:65px}.w-hero h1{font-size:clamp(43px,10.2vw,70px)}.w-hero-bottom{grid-template-columns:1fr;gap:35px;margin-top:40px}.w-hero-signature{font-size:28px}.wedding-site .w-eyebrow{font-size:10px;margin-bottom:22px}.w-manifesto{padding-block:60px}.w-manifesto h2{font-size:37px}.w-process{grid-template-columns:1fr;gap:35px;padding-block:70px}.w-about{grid-template-columns:1fr;gap:40px;padding-block:15px 70px}.w-about figure{width:88%;margin-inline:auto}.w-contact{padding-block:60px}.w-contact h2{font-size:40px}.w-page-intro{padding-block:50px 30px}.w-page-intro h1{font-size:44px}.w-contact-page{grid-template-columns:1fr;gap:40px;padding-bottom:70px}.w-faq{padding-bottom:70px}.w-faq h2{font-size:36px}.w-gallery{grid-template-columns:1fr;gap:35px}.w-footer{display:block;padding-block:50px 25px}.w-footer nav{margin-top:25px;gap:5px 22px}.w-footer p{margin-top:12px}.w-project figure{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.wedding-site *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body.wedding-site main p.w-eyebrow{font-size:11px!important;line-height:1.6!important}

@media(min-width:1001px){.w-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:0 60px;padding-top:65px;align-items:start}.w-hero>.w-eyebrow{grid-column:1/-1}.w-hero h1{font-size:clamp(55px,5.3vw,76px);grid-column:1;grid-row:2}.w-hero-photo{grid-column:2;grid-row:2/4;align-self:center}.w-hero-bottom{grid-column:1;grid-row:3;display:block;margin-top:32px}.w-hero-signature{display:none}.w-hero-bottom>div{max-width:440px}}
.w-hero-photo{margin:0}.w-hero-photo img{display:block;width:100%;height:auto}.w-hero-photo+ .w-hero-bottom{align-self:end}.w-reports .w-gallery{grid-template-columns:minmax(0,850px)}.w-gallery .project-card{margin:0}.w-gallery .project-card h2{font-family:var(--sans);font-size:20px;margin-bottom:0}
@media(max-width:1000px){.w-hero-photo{margin-top:35px}.w-hero-bottom{margin-top:35px}.w-hero-signature{display:none}.w-hero-bottom{grid-template-columns:1fr}.w-hero-bottom>div{max-width:620px}}

/* Home motion follows the main site: upward copy and opposing portrait entrances. */
.wedding-site main .reveal-ready{opacity:0;transform:translateY(40px)}
.wedding-site main :is(.w-hero-photo,.w-about>figure).reveal-ready{transform:translateX(40px)}
.wedding-site main .w-about-copy.reveal-ready{transform:translateX(-40px)}
.wedding-site main .reveal-ready.is-visible{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.w-testimonial-list{display:grid;gap:36px;max-width:800px;margin-inline:auto}
.w-testimonial{margin:0;padding:0}.w-testimonial blockquote{margin:0}.w-testimonial blockquote p{margin:0 0 18px}.w-testimonial figcaption{font:700 15px/1.6 var(--sans)}
.w-testimonial+.w-testimonial{padding-top:32px;border-top:1px solid #1112}
@media(prefers-reduced-motion:reduce){.wedding-site main .reveal-ready{opacity:1;transform:none;transition:none}}
