@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f6f3ec;--ink:#292b25;--muted:#65675c;--line:#d8d8cd;--olive:#545b46}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p+p{margin-top:18px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.17;letter-spacing:-.035em}h1{font-size:clamp(42px,5.2vw,78px)}h2{font-size:clamp(34px,3.5vw,52px)}h3{font-size:29px}em{font-weight:400}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #8b5d30;outline-offset:5px}.wrap{max-width:1320px;width:calc(100% - 112px);margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.2em;margin-bottom:22px}.site-header{height:112px;padding:0 56px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Playfair Display',Georgia,serif;font-size:29px;letter-spacing:-.06em;line-height:1.15;display:inline-block;white-space:nowrap}.brand span{font-family:'DM Sans',sans-serif;display:block;text-align:center;font-size:8px;letter-spacing:.37em;margin-top:9px}.site-header nav{display:flex;gap:34px;align-items:center;font-size:12px}.site-header nav a[aria-current]{border-bottom:1px solid var(--ink)}.nav-enquire{margin-left:24px;border:1px solid #aaa998;padding:11px 23px}.menu-toggle{display:none}.hero{height:min(760px,78vw);min-height:570px;position:relative;color:white}.hero>img{height:100%;object-fit:cover;object-position:50% 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,22,15,.59),rgba(16,22,15,.12)),linear-gradient(0deg,rgba(16,22,15,.4),transparent 40%)}.hero-copy{position:absolute;left:7.6%;top:28%;max-width:85%}.hero h1{font-size:clamp(46px,5.1vw,76px);text-shadow:0 2px 18px #0003}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 25px;font-size:12px;border:1px solid transparent;transition:background .2s}.hero .button{margin-top:36px}.light{background:var(--paper);color:var(--ink)}.dark{background:var(--olive);color:#fff}.button:hover{background:#737a63;color:#fff}.hero-bottom{position:absolute;bottom:32px;left:7.6%;right:6%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em}.intro{padding-block:115px;display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:45px;align-items:start}.intro>.eyebrow{padding-top:10px}.intro>div{padding-top:8px;color:var(--muted);font-size:14px}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--ink);padding:9px 0;margin-top:22px;color:var(--ink)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading>p{font-size:12px;color:var(--muted)}.asset-note{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:25px}.selected{padding-block:40px 85px;border-top:1px solid var(--line)}.masonry{columns:3;column-gap:26px}.masonry figure{break-inside:avoid;margin:0 0 29px;display:inline-block;width:100%}.photo-button{border:0;padding:0;background:transparent;width:100%;display:block;position:relative;overflow:hidden}.photo-button img{transition:transform .45s}.photo-button:hover img{transform:scale(1.025)}.enlarge{position:absolute;right:12px;bottom:12px;width:30px;height:30px;background:var(--paper);display:grid;place-items:center}.masonry figcaption{display:flex;gap:16px;font-size:11px;margin-top:12px}.masonry figcaption span{color:var(--muted);font-size:9px}.masonry figure:nth-child(3n + 2){padding-bottom:24px}.two-worlds{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;padding-block:30px 120px}.two-worlds>a:nth-child(2){padding-top:110px}.two-worlds img{margin-bottom:26px}.two-worlds .eyebrow{margin-bottom:12px}.two-worlds h2{font-size:37px}.two-worlds h2 span{float:right;font:25px Arial}.two-worlds p:last-child{font-size:13px;margin-top:16px;color:var(--muted)}.about-strip{border-block:1px solid var(--line);padding:70px 10%;display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center}.monogram{font-family:Georgia,serif;font-style:italic;font-size:160px;color:#71765f;text-align:center}.about-strip p:not(.eyebrow){margin-top:24px;max-width:490px;color:var(--muted);font-size:14px}.invitation{text-align:center;padding:110px 24px;background:#eeeee4;margin-top:100px}.invitation .button{margin-top:35px}footer{padding-block:60px 25px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}footer p,footer div{font-size:11px}footer div{display:flex;gap:24px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;font-size:10px;color:var(--muted)}.page-heading{padding-block:75px 70px}.page-heading>p:not(.eyebrow){margin-top:27px;color:var(--muted);max-width:540px}.filter-links{display:flex;gap:32px;margin-top:30px;font-size:12px}.stories{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}.story:first-child{grid-column:1/-1}.story:first-child img{max-height:590px;object-fit:cover}.story>div{padding-top:22px}.story .eyebrow{margin-bottom:10px}.story h3 span{float:right}.story p:last-child{font-size:11px;color:var(--muted);margin-top:10px}.section-space{padding-top:100px}.about-page{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.portrait-placeholder{height:580px;background:#e6e5da;display:flex;align-items:center;justify-content:center;flex-direction:column}.portrait-placeholder>span{font:italic 140px Georgia;color:#757965}.portrait-placeholder p{text-align:center;font-size:13px}.portrait-placeholder small{font-size:10px;color:var(--muted)}.about-page h2{margin-bottom:30px}.about-page h3{font-size:24px;margin-top:35px}.about-page .asset-note{margin-top:15px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:80px 100px}.contact-layout>div>p:not(.eyebrow){max-width:370px;margin-top:30px;color:var(--muted)}.contact-note{font-size:12px}.form-notice{padding:18px;border:1px solid var(--line);font-size:12px;margin-bottom:28px}.field{margin-bottom:22px}.field label{display:block;font-size:12px;margin-bottom:7px}.field label span{color:var(--muted);font-size:10px}input,select,textarea{width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #989c8b;border-radius:0;padding:10px 0;min-height:44px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.error{color:#9a392a;font-size:11px;display:block}[aria-invalid=true]{border-color:#9a392a}#form-status{font-size:12px;margin-top:16px}.story-hero img{max-height:650px;object-fit:cover}.story-title{padding-block:65px}.story-title h1{margin-bottom:30px}.story-title>p:last-child{font-size:13px}.next-story{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:50px}dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:70px 80px;background:#191b17;color:#fff}dialog::backdrop{background:#191b17}dialog[open]{display:flex;flex-direction:column;justify-content:center;align-items:center}dialog figure{max-width:1250px;width:100%;min-height:0}#viewer-image{max-height:75dvh;object-fit:contain}dialog figcaption{text-align:center;font-size:12px;margin-top:17px}.viewer-top{position:absolute;top:24px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:12px;align-items:center}dialog button{background:transparent;border:1px solid #777d70;color:white;min-width:44px;min-height:44px}#close-viewer{padding:4px 15px}.viewer-arrow{position:absolute;top:48%;font-size:23px}.previous{left:16px}.next{right:16px}.viewer-hint{font-size:10px;position:absolute;bottom:15px;color:#c3c8bb}.skip{position:absolute;top:-100px;z-index:20;background:white;padding:10px}.skip:focus{top:5px}
@media(min-width:1100px){.masonry{columns:2}.masonry figure:nth-child(2){padding-bottom:45px}.masonry figure:nth-child(5){padding-top:30px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px}.site-header nav{gap:20px}.nav-enquire{display:none}.intro{grid-template-columns:1.2fr 1fr;gap:30px;padding-block:80px}.intro>.eyebrow{grid-column:1/-1}.masonry{columns:2}.about-strip{padding-inline:35px}.contact-layout{gap:45px}.two-worlds{gap:35px}.about-page{gap:40px}.portrait-placeholder{height:480px}footer{grid-template-columns:1fr auto}footer p{display:none}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:90px;padding-inline:20px}.brand{font-size:25px}.menu-toggle{display:flex;gap:18px;align-items:center;background:transparent;border:0;font-size:12px;min-height:44px}.site-header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--paper);padding:25px;z-index:10;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{padding:7px 0}.hero{min-height:600px;height:calc(90svh - 90px);max-height:760px}.hero>img{object-position:47% center}.hero-copy{left:25px;top:27%;max-width:calc(100% - 50px)}.hero h1{font-size:44px}.hero .eyebrow{font-size:8px}.hero-bottom{left:25px;right:25px;font-size:9px}.hero-bottom>span{max-width:200px}.intro{display:block;padding-block:65px}.intro h2{margin-block:25px}.intro>div{max-width:450px}.section-heading{display:block}.section-heading>p{margin-top:22px}.selected{padding-top:35px}.masonry{column-gap:15px}.masonry figcaption{font-size:10px;gap:8px}.masonry figure:nth-child(n){padding:0;margin-bottom:25px}.enlarge{width:25px;height:25px;right:7px;bottom:7px}.two-worlds{display:block;padding-bottom:70px}.two-worlds>a{display:block}.two-worlds>a:nth-child(2){padding-top:50px}.two-worlds h2{font-size:32px}.about-strip{display:block;padding:40px 0}.monogram{display:block;font-size:95px;text-align:left;line-height:1.2;margin-bottom:35px}.invitation{margin-top:65px;padding-block:70px}.invitation h2{font-size:35px}footer{display:flex;flex-wrap:wrap;padding-top:40px}footer small{width:100%}footer div{gap:18px}.page-heading{padding-block:50px}.stories{display:block}.story{display:block;margin-bottom:40px}.section-space{padding-top:55px}.about-page{display:flex;flex-direction:column;gap:40px}.portrait-placeholder{height:350px;width:100%}.contact-layout{display:block;padding-block:50px}.contact-layout form{margin-top:40px}.form-row{grid-template-columns:1fr}.story-hero img{min-height:300px;object-fit:cover}.story-title{padding-block:40px}.next-story{gap:20px;align-items:baseline}dialog{padding:75px 12px 110px}.viewer-arrow{top:auto;bottom:45px}.previous{left:calc(50% - 60px)}.next{right:calc(50% - 60px)}#viewer-image{max-height:65dvh}.viewer-top{left:18px;right:18px}}
@media(max-width:450px){.masonry{columns:1}.masonry figure:nth-child(n){padding-bottom:0}.hero h1{font-size:40px}}
.photographer-portrait{width:100%;margin:0}
.photographer-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
.photographer-portrait figcaption{font-size:10px;color:var(--muted);margin-top:10px}
.about-strip .photographer-portrait{max-width:340px}
@media(max-width:700px){.about-strip .photographer-portrait{max-width:100%;margin-bottom:35px}}
.hero>img{object-position:76% center}
.hero-shade{background:linear-gradient(90deg,rgba(16,22,15,.25),transparent 70%),linear-gradient(0deg,rgba(16,22,15,.35),transparent 30%)}
.hero-credit{display:block;margin-top:6px;font-size:9px;opacity:.8}
@media(max-width:1000px){
  .hero-copy{top:auto;bottom:115px}
  .hero-shade{background:linear-gradient(0deg,rgba(16,22,15,.85),rgba(16,22,15,.35) 45%,transparent 75%)}
}
@media(max-width:700px){
  .hero>img{object-position:79% center}
  .hero-copy{bottom:105px}
  .hero .button{margin-top:22px}
  .hero-copy .eyebrow{margin-bottom:15px}
}
/* Keep the nine equally proportioned supplied images balanced at every width. */
.selected{padding-bottom:40px}
.selected .masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;columns:auto}
.selected .masonry figure:nth-child(n){display:block;margin:0;padding:0;min-width:0}
.two-worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-top:25px;padding-bottom:75px;align-items:start}
.two-worlds img{aspect-ratio:16/9;object-fit:cover}
.two-worlds>a:nth-child(2){padding-top:0}
@media(min-width:701px) and (max-width:1099px){
  .selected .masonry{grid-template-columns:repeat(2,minmax(0,1fr))}
  .selected .masonry figure:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .selected .masonry{grid-template-columns:minmax(0,1fr);gap:24px}
  .selected{padding-bottom:30px}
  .two-worlds{padding-top:10px;padding-bottom:50px}
  .two-worlds>a:nth-child(2){padding-top:35px}
  .hero h1{font-size:clamp(34px,7vw,44px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Hero slideshow and persistent navigation */
html{scroll-padding-top:120px}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);color:var(--ink);transition:background .4s,color .4s,box-shadow .4s}
.home-page .site-header{position:fixed;left:0;right:0;background:transparent;color:#fff}
.home-page .site-header.scrolled{background:var(--paper);color:var(--ink);box-shadow:0 1px 12px #0000000d}
.site-header nav a[aria-current]{border-color:currentColor}
.site-header .nav-enquire{border-color:currentColor}
.menu-toggle{color:inherit}
.home-page .site-header:not(.scrolled){text-shadow:0 1px 10px #0008}
.hero{overflow:hidden;height:90svh;min-height:640px;max-height:1000px;background:#30372b}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;transition:opacity 1.8s ease-in-out;overflow:hidden}
.hero-slide.active{opacity:1}
.hero-slide img{height:100%;object-fit:cover;object-position:65% center;transform:scale(1.035)}
.hero-slide:first-child img{object-position:76% center}
.hero-slide.active img{animation:hero-drift 6s linear both}
.hero-slide.leaving img{animation:hero-drift 6s linear both}
.hero-slide:nth-child(2) img{transform-origin:70% 45%}
.hero-slide:nth-child(3) img{transform-origin:35% 55%}
@keyframes hero-drift{from{transform:scale(1.035) translateX(-.6%)}to{transform:scale(1.14) translateX(.6%)}}
.hero-shade{background:linear-gradient(180deg,#10160fa6,transparent 30%),linear-gradient(90deg,#10160f99,#10160f1a 85%),linear-gradient(0deg,#10160f99,transparent 35%);pointer-events:none}
.hero-copy{top:32%;bottom:auto}
.hero-controls{position:absolute;bottom:92px;right:6%;display:flex;align-items:center;gap:8px}
.hero-controls button{color:#fff;background:#16201450;border:1px solid #ffffff70;min-width:44px;min-height:44px;font-size:11px}
.hero-controls .hero-pause{padding:0 14px;margin-right:8px}
.hero-dot[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.hero-controls button:focus-visible,.home-page .site-header:not(.scrolled) a:focus-visible{outline-color:#fff}
@media(max-width:700px){html{scroll-padding-top:100px}.hero{height:100svh;min-height:680px;max-height:950px}.hero-copy{top:auto;bottom:200px}.hero-controls{left:25px;right:auto;bottom:110px}.hero-slide img{object-position:58% center}.hero-slide:first-child img{object-position:79% center}.hero-shade{background:linear-gradient(180deg,#10160fb3,transparent 30%),linear-gradient(0deg,#10160fcc,#10160f66 55%,#10160f1a)}.site-header nav{color:var(--ink);text-shadow:none;max-height:calc(100dvh - 90px);overflow:auto}.hero-bottom{bottom:30px}}
@media(prefers-reduced-motion:reduce){.hero-slide img{transform:none}.hero-slide{transition:none}}
/* Keep inner-page navigation pinned throughout the entire page. */
.inner-page{padding-top:112px}
.inner-page .site-header{position:fixed;inset:0 0 auto;background:var(--paper);color:var(--ink)}
.inner-page .site-header.scrolled{box-shadow:0 1px 12px #0000000d}
@media(max-width:700px){.inner-page{padding-top:90px}}

@media(max-width:380px){.hero-controls{gap:4px}.hero-controls .hero-pause{margin-right:0;padding-inline:8px}.hero-controls button{min-width:40px}}
.couples-collection{padding-block:45px 70px;border-top:1px solid var(--line)}
.couples-masonry{columns:3;column-gap:22px}
.couples-masonry figure{break-inside:avoid;margin:0 0 22px}
.couples-masonry img{width:100%;object-fit:cover;aspect-ratio:4/3}
.couples-masonry figure:nth-child(3n + 2) img{aspect-ratio:4/5}
.couples-masonry figure:nth-child(3n) img{aspect-ratio:1/1}
@media(max-width:1000px){.couples-masonry{columns:2;column-gap:16px}.couples-masonry figure{margin-bottom:16px}}
@media(max-width:550px){.couples-masonry{columns:1}.couples-collection{padding-block:35px 45px}}
/* Compact editorial masonry, with staggered landscape frames. */
.couples-masonry{columns:3;column-gap:12px}
.couples-masonry figure{margin:0 0 12px;break-inside:avoid}
.couples-masonry figure:nth-child(n) img{aspect-ratio:3/2;object-fit:cover}
.couples-masonry figure:nth-child(3n + 1) img{aspect-ratio:16/9}
.couples-masonry figure:nth-child(4n + 2) img{aspect-ratio:7/5}
.couples-masonry .enlarge{inset:50% auto auto 18px;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#fff;color:#292b25;font-size:0;opacity:0;transition:opacity .2s}
.couples-masonry .enlarge::after{content:'+';font:bold 15px/1 Arial}
.couples-masonry .photo-button:hover .enlarge,.couples-masonry .photo-button:focus-visible .enlarge{opacity:1}
@media(max-width:1000px){.couples-masonry{columns:2}}
@media(max-width:550px){.couples-masonry{columns:1}}
@media(hover:none){.couples-masonry .enlarge{opacity:1}}
/* Gentle arches and rounded controls within the existing editorial palette. */
.button,.nav-enquire,.hero-controls .hero-pause,#close-viewer{border-radius:999px}
.hero-controls .hero-dot,.viewer-arrow,.enlarge{border-radius:50%}
.photographer-portrait img{border-radius:50% 50% 0 0 / 40% 40% 0 0}
.invitation{border-radius:50% 50% 0 0 / 90px 90px 0 0;padding-top:140px}
@media(max-width:700px){.invitation{border-radius:50% 50% 0 0 / 45px 45px 0 0;padding-top:90px}}
/* Editorial direction — quiet motion, generous rhythm, precise detail. */
:root{--ease:cubic-bezier(.22,.68,.18,1)}
h1,h2,h3{text-wrap:balance}p{max-width:70ch}.eyebrow{letter-spacing:.24em}
.site-header{height:96px;padding-inline:4.4%;transition:background .35s,color .35s,box-shadow .35s}
.inner-page{padding-top:96px}.site-header.scrolled{box-shadow:0 1px 0 #292b2514}
.site-header nav>a:not(.nav-enquire){position:relative;border:0;padding-block:8px}
.site-header nav>a:not(.nav-enquire)::after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.site-header nav>a:hover::after,.site-header nav>a[aria-current]::after{transform:scaleX(1)}
.button,.nav-enquire{transition:background .3s,color .3s,transform .3s,box-shadow .3s;min-height:48px}
.button span{display:inline-block;transition:transform .35s var(--ease)}
.button:hover span{transform:translate(4px,-3px)}.button:active,.nav-enquire:active{transform:scale(.97)}
.nav-enquire:hover{background:var(--olive);color:#fff}
.hero{height:94svh;min-height:680px;max-height:1100px}
.hero::after{content:'';position:absolute;bottom:-1px;left:-5%;width:110%;height:45px;background:var(--paper);border-radius:50% 50% 0 0 / 100% 100% 0 0;pointer-events:none}
.hero-copy{left:7.5%;top:31%;max-width:85%}.hero h1{font-size:clamp(46px,5.6vw,88px);line-height:1.15;letter-spacing:-.045em}
.hero-line{display:block}.introduce .hero-line{animation:headline-enter 1s var(--ease) both}.introduce .hero-line:nth-child(2){animation-delay:.16s}
@keyframes headline-enter{from{opacity:0;transform:translateY(25px);clip-path:inset(0 0 100%)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.hero-bottom{bottom:62px}.hero-controls{bottom:120px;gap:12px}
.hero-controls .hero-dot{position:relative;border:0;border-radius:0;background:transparent;color:#fff;width:44px;overflow:hidden}
.hero-dot::after,.slide-progress{content:'';position:absolute;bottom:4px;left:0;height:2px;width:100%;background:#ffffff50}
.slide-progress{background:white;transform:scaleX(var(--progress,0));transform-origin:left;z-index:1}
.hero-dot[aria-pressed=true]{color:#fff;background:transparent;font-weight:600}
.hero-slide:nth-child(2) img{object-position:62% 45%}.hero-slide:nth-child(3) img{object-position:55% 50%}.hero-slide:nth-child(4) img{object-position:55% 45%}.hero-slide:nth-child(5) img{object-position:52% 42%}
.intro{padding-block:110px 120px;grid-template-columns:.7fr 1.7fr 1.1fr}.intro h2{font-size:clamp(36px,4vw,62px)}
.intro>div{align-self:end}.intro .text-link{margin-top:28px}
.section-heading{margin-bottom:35px}.section-heading h2{font-size:clamp(38px,4.6vw,68px)}
.couples-collection{padding-block:60px 90px}.couples-collection .asset-note{max-width:none}
.couples-masonry{column-gap:18px}.couples-masonry figure{margin-bottom:18px}
.photo-button img{transition:transform 1.1s var(--ease),filter .7s}.photo-button:hover img{transform:scale(1.035);filter:brightness(.94)}
.photo-button:focus-visible{outline-offset:3px}
.two-worlds{padding-block:65px 100px;gap:55px}.two-worlds h2{margin-top:8px}
.about-strip{padding:85px 5%;grid-template-columns:1fr 1fr;gap:10%}.about-strip .photographer-portrait{max-width:430px}.about-strip h2{font-size:clamp(42px,4.5vw,68px)}
.about-page{align-items:start}.about-page>div{padding-top:65px}
.invitation{padding-block:145px 110px;margin-top:110px}.invitation h2{font-size:clamp(40px,5vw,76px);max-width:950px;margin-inline:auto}.invitation .eyebrow{margin-bottom:30px}
footer{padding-block:70px 30px}footer .brand{font-size:34px}
.page-heading{padding-block:90px 85px}.page-heading h1{font-size:clamp(46px,6.5vw,94px)}
.story{overflow:hidden}.story img{transition:transform 1s var(--ease)}.story:hover img{transform:scale(1.015)}
dialog[open]{animation:viewer-open .35s var(--ease);transform-origin:var(--origin-x,50%) var(--origin-y,50%)}
@keyframes viewer-open{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.viewer-arrow{background:#ffffff0a;transition:background .2s}.viewer-arrow:hover,#close-viewer:hover{background:#ffffff20}
.field input,.field textarea,.field select{transition:border-color .25s,background .25s}.field :is(input,textarea,select):focus{background:#ececdf;border-color:var(--olive)}
@media(max-width:1000px){.intro{grid-template-columns:1.4fr 1fr;padding-block:80px}.intro>.eyebrow{grid-column:1/-1}.hero-copy{top:auto;bottom:240px}.two-worlds{gap:30px}.about-strip{gap:7%;padding-inline:0}}
@media(max-width:700px){.site-header{height:82px;padding-inline:20px}.inner-page{padding-top:82px}.site-header nav{top:82px;max-height:calc(100dvh - 82px);padding:25px 30px 35px;box-shadow:0 18px 25px #292b2510}.site-header nav a{min-height:48px;font-size:16px}.hero{height:100svh;min-height:700px}.hero-copy{left:25px;max-width:calc(100% - 50px);bottom:230px}.hero h1{font-size:clamp(34px,7.8vw,50px)}.hero-controls{bottom:135px;gap:8px}.hero-bottom{bottom:65px}.hero::after{height:25px}.intro{display:block;padding-block:65px}.couples-collection{padding-block:40px 55px}.section-heading h2{font-size:39px}.two-worlds{padding-block:30px 65px}.about-strip{display:block;padding-block:55px}.about-strip .photographer-portrait{max-width:85%;margin-inline:auto;margin-bottom:40px}.about-page>div{padding-top:0}.invitation{padding-block:95px 75px;margin-top:70px}.invitation h2{font-size:39px}.page-heading{padding-block:55px}.page-heading h1{font-size:46px}.hero-controls .hero-pause{margin-right:0}footer .brand{font-size:29px}}
@media(max-width:380px){.hero-controls{gap:4px}.hero-controls .hero-dot{width:40px;min-width:40px}.hero h1{font-size:33px}}
@media(prefers-reduced-motion:reduce){.introduce .hero-line,dialog[open]{animation:none}.photo-button:hover img,.story:hover img{transform:none}.hero-slide img{transform:none!important}}
/* Progressive scroll-driven portrait reveal; native scrolling remains untouched. */
@supports(animation-timeline:view()){
 @media(min-width:1001px) and (prefers-reduced-motion:no-preference){
  .about-strip .photographer-portrait img{animation:portrait-breathe linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
  @keyframes portrait-breathe{from{clip-path:inset(7% 7% 0);transform:translateY(18px)}to{clip-path:inset(0);transform:translateY(0)}}
 }
}
@media(max-width:700px){
 .hero-slide img{height:64%;object-position:50% center!important}
 .hero-slide:first-child img{object-position:76% center!important}
 .hero-shade{background:linear-gradient(180deg,#10160f80 0%,transparent 23%,#10160f18 38%,#30372b 65%,#30372b 100%)}
 .hero-copy{bottom:220px}
}
