:root{--ink:#171714;--mineral:#d9dad4;--stone:#c9cbc6;--lime:#d8ff4f;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mineral);color:var(--ink);font-family:var(--sans);font-weight:300}img{display:block;width:100%}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:-999px;top:12px;z-index:100;background:#fff;padding:12px}.skip-link:focus{left:12px}.wordmark{font:400 clamp(23px,2.2vw,34px)/1 var(--serif);letter-spacing:.035em}
.collection-header{position:absolute;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:30px clamp(24px,4vw,64px);color:#fff}.collection-header nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,42px);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.collection-header nav a{position:relative}.collection-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#fff;transition:right .3s}.collection-header nav a:hover::after{right:0}.collection-header nav span{padding-left:25px;border-left:1px solid rgba(255,255,255,.45)}
.collection-hero{position:relative;min-height:100svh;color:#fff;overflow:hidden;background:#20211c;isolation:isolate}.collection-hero__image,.collection-hero__veil{position:absolute;inset:0;margin:0}.collection-hero__image{z-index:-2;overflow:hidden}.collection-hero__image img{height:112%;object-fit:cover;object-position:center 43%;transform:translateY(var(--hero-shift,0)) scale(1.02);will-change:transform}.collection-hero__veil{z-index:-1;background:linear-gradient(90deg,rgba(8,9,7,.58),rgba(8,9,7,.06) 63%),linear-gradient(0deg,rgba(8,9,7,.52),transparent 48%)}.collection-hero__copy{position:absolute;left:clamp(24px,6.7vw,105px);bottom:clamp(115px,15vh,180px)}.collection-hero__copy>p,.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase}.collection-hero h1{font:400 clamp(90px,14vw,210px)/.68 var(--serif);letter-spacing:-.055em;margin:22px 0 0}.collection-hero h1 em{font-weight:400;color:var(--lime);margin-left:clamp(30px,12vw,190px);white-space:nowrap}.scroll-cue{position:absolute;left:clamp(24px,4vw,64px);bottom:30px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:17px}.scroll-cue span{font-size:17px}.hero-note{position:absolute;right:clamp(24px,4vw,64px);bottom:28px;margin:0;text-align:right;font:400 18px/1.2 var(--serif)}
.story{padding:145px clamp(24px,7vw,110px) 180px;display:grid;grid-template-columns:1fr 4fr;gap:40px}.story>.eyebrow{margin:11px 0}.story__body h2{font:400 clamp(55px,7.8vw,116px)/.83 var(--serif);letter-spacing:-.04em;margin:0;max-width:1250px}.story__body h2 em{font-weight:400;color:#68685f;margin-left:7vw}.story__copy{display:grid;grid-template-columns:repeat(2,minmax(0,390px));gap:clamp(35px,7vw,110px);justify-content:end;margin-top:75px}.story__copy p{font-size:15px;line-height:1.75;margin:0}
.gallery{padding:0 clamp(18px,3vw,48px) 150px}.frame{margin:0;overflow:hidden;position:relative}.frame img{height:auto;object-fit:contain;transition:filter .45s ease}.frame:hover img{filter:saturate(1.05)}.frame figcaption{position:absolute;left:25px;bottom:22px;color:#fff;font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.5)}.frame figcaption span{margin-right:20px}.frame--cinema{width:100%}.gallery-pair{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.48fr) minmax(0,.82fr);gap:clamp(18px,3vw,52px);align-items:start;padding:clamp(90px,14vw,210px) clamp(0px,5vw,78px)}.frame--portrait{width:100%}.frame--lower{margin-top:27vw}.gallery-note{align-self:center;padding:0 1vw}.gallery-note span{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:30px}.gallery-note p{font:400 clamp(27px,2.6vw,42px)/1.08 var(--serif);margin:0}.frame--wide{margin:0 clamp(0px,5vw,75px)}.gallery-triptych{display:grid;grid-template-columns:.78fr 1.15fr .78fr;gap:clamp(12px,2vw,30px);align-items:center;padding:clamp(100px,14vw,210px) 0}.gallery-triptych .frame{width:100%}.interlude{text-align:center;padding:30px 20px 175px}.interlude>p{font-size:clamp(12px,1vw,15px);font-weight:500;letter-spacing:.18em;text-transform:uppercase}.interlude h2{font:400 clamp(60px,9vw,138px)/.78 var(--serif);letter-spacing:-.045em;margin:45px 0 0}.interlude h2 em{font-weight:400;color:#66665d}.frame--solo-portrait{width:min(68vw,880px);margin-inline:auto}.gallery-pair--clean{grid-template-columns:1fr 1fr;padding:clamp(90px,13vw,190px) clamp(0px,6vw,90px);align-items:center}.gallery-pair--clean .frame{width:100%}.frame--final{margin:0 clamp(0px,9vw,140px)}
.reveal{opacity:0;transform:translateY(55px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}
.inquire{background:#181815;color:#f4f0e8;padding:150px clamp(24px,7vw,110px)}.inquire .eyebrow{color:var(--lime);margin:0 0 45px}.inquire h2{font:400 clamp(57px,8.5vw,132px)/.8 var(--serif);letter-spacing:-.045em;margin:0}.inquire h2 em{font-weight:400;color:var(--lime);margin-left:10vw}.inquire>a{display:inline-flex;align-items:center;gap:18px;margin:60px 0 0 10vw;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.inquire>a span{font-size:18px;transition:transform .25s}.inquire>a:hover span{transform:translate(4px,-4px)}.next-collection{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;background:var(--lime);padding:65px clamp(24px,7vw,110px)}.next-collection span{font-size:9px;letter-spacing:.18em;text-transform:uppercase}.next-collection strong{font:400 clamp(75px,12vw,180px)/.8 var(--serif);letter-spacing:-.045em}.next-collection i{grid-column:2;grid-row:1/3;font:300 clamp(55px,7vw,100px)/1 var(--sans);font-style:normal;transition:transform .3s}.next-collection:hover i{transform:translateX(12px)}footer{padding:36px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}footer .wordmark{text-transform:none;letter-spacing:.035em}
@media(max-width:760px){.collection-header{padding:22px 20px}.collection-header nav a{display:none}.collection-header nav span{border:0;padding:0}.collection-hero__image img{object-position:55% center}.collection-hero__copy{left:20px;right:20px;bottom:145px}.collection-hero h1{font-size:24vw;line-height:.73}.collection-hero h1 em{margin-left:0;white-space:normal}.hero-note{display:none}.story{display:block;padding:100px 20px}.story>.eyebrow{margin-bottom:38px}.story__body h2{font-size:16vw}.story__body h2 em{margin-left:0}.story__copy{display:block;margin-top:55px}.story__copy p+p{margin-top:25px}.gallery{padding-left:12px;padding-right:12px}.frame--cinema,.frame--wide,.frame--final{width:100%;margin-left:0;margin-right:0}.frame--solo-portrait{width:min(88vw,620px)}.gallery-pair{grid-template-columns:1fr 1fr;gap:12px;padding:90px 0}.gallery-note{grid-column:1/-1;grid-row:1;padding:0 8px 45px}.frame--lower{margin-top:100px}.gallery-triptych{grid-template-columns:1fr 1fr;padding:90px 0}.gallery-triptych .frame--tall{grid-row:span 2}.interlude{padding:30px 5px 105px}.interlude h2{font-size:17vw}.gallery-pair--clean{grid-template-columns:1fr;padding:90px 0}.inquire{padding:105px 20px}.inquire h2{font-size:17vw}.inquire h2 em,.inquire>a{margin-left:0}.next-collection{padding:55px 20px}.next-collection strong{font-size:23vw}footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.collection-hero__image img,.frame img,.reveal{transition:none!important;transform:none!important}.reveal{opacity:1}}

/* Preserve every photograph's original aspect ratio. */
img,.frame img{display:block;width:100%;height:auto!important;object-fit:contain!important;transform:none}
.frame{overflow:visible}
.collection-hero{position:relative;min-height:0;overflow:visible;color:#fff;background:#20211c;isolation:isolate}
.collection-hero__image{position:relative;inset:auto;z-index:-2;margin:0;overflow:visible}
.collection-hero__image img{width:100%;height:auto!important;object-fit:contain!important;object-position:center;transform:none!important}
.collection-hero__veil{position:absolute;inset:0;z-index:-1}
.collection-hero__copy{top:50%;bottom:auto;transform:translateY(-42%)}
.collection-hero h1{font-size:clamp(72px,11vw,170px)}
.collection-hero h1 em{margin-left:clamp(30px,9vw,140px)}

@media(max-width:760px){
  .collection-header{position:relative;background:#20211c}
  .collection-hero__copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;padding:52px 20px 115px;background:#20211c}
  .collection-hero h1{font-size:20vw}
  .collection-hero__veil{display:none}
  .scroll-cue{bottom:28px}
}

/* Portfolio grid: never show more than two photographs in one row. */
.gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.frame--lower{margin-top:clamp(120px,16vw,250px)}
.gallery-pair--step-right .frame:nth-child(2){margin-top:clamp(120px,16vw,250px)}
.gallery-pair--step-left .frame:nth-child(1){margin-top:clamp(120px,16vw,250px)}
.gallery-triptych{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.gallery-triptych .frame:last-child{grid-column:1/-1;width:calc(50% - clamp(6px,1vw,15px));justify-self:center}
.story__body{max-width:1250px}
.story{padding-bottom:110px}

/* Full-width feature image. */
.frame--sunflower{width:100%;margin:clamp(90px,13vw,190px) 0}
.gallery{padding-top:clamp(90px,10vw,150px)}
.gallery>.frame--solo-portrait{margin-top:clamp(110px,14vw,220px);margin-bottom:clamp(110px,14vw,220px)}
.gallery>.frame--wide:not(.frame--sunflower){margin-top:clamp(80px,9vw,140px);margin-bottom:clamp(80px,9vw,140px)}

@media(max-width:760px){
  .gallery-pair{grid-template-columns:1fr}
  .frame--lower{margin-top:48px}
  .gallery-pair--step-right .frame:nth-child(2),.gallery-pair--step-left .frame:nth-child(1){margin-top:48px}
  .gallery-triptych{grid-template-columns:1fr}
  .gallery-triptych .frame:last-child{grid-column:auto;width:100%}
  .frame--sunflower{margin-top:64px;margin-bottom:64px}
  .gallery>.frame--solo-portrait{margin-top:64px;margin-bottom:64px}
  .gallery>.frame--wide:not(.frame--sunflower){margin-top:56px;margin-bottom:56px}
}

/* Editorial gallery details. */
body::before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.photo-meta{display:flex;justify-content:space-between;gap:18px;margin:12px 0 0;color:#55574f;font-size:8px;line-height:1.2;letter-spacing:.17em;text-transform:uppercase}
.photo-meta span:first-child{font-variant-numeric:tabular-nums}

/* Scroll bridge: the next photograph grows from a thumbnail into the gallery. */
.interlude:has(+ .collection-scroll-bridge){padding-bottom:clamp(30px,4vw,65px)}
.collection-scroll-bridge{--bridge-progress:0;position:relative;height:clamp(520px,64vw,880px);display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(20px,4vw,65px);overflow:hidden}
.collection-scroll-bridge__cue{z-index:2;flex:0 0 clamp(78px,9vw,120px);width:min(84vw,1320px);display:flex;gap:18px;align-items:center;margin:0;font-size:10px;letter-spacing:.19em;text-transform:uppercase;opacity:calc(1 - var(--bridge-progress) * 1.8)}
.collection-scroll-bridge__cue::after{content:"↓";font-size:18px;transform:translateY(calc(var(--bridge-progress) * 7px))}
.collection-scroll-bridge__cue i{font-style:normal;color:#66685f}
.collection-scroll-bridge figure{width:min(84vw,1320px);margin:0;transform:scale(calc(.13 + var(--bridge-progress) * .87));transform-origin:center top;will-change:transform;box-shadow:0 calc(18px - var(--bridge-progress) * 18px) 55px rgba(23,23,20,calc(.16 - var(--bridge-progress) * .12))}
.collection-scroll-bridge--portrait{height:clamp(760px,95vw,1250px)}
.collection-scroll-bridge--portrait figure{width:min(54vw,760px)}
.collection-scroll-bridge img{display:block;width:100%;height:auto}
.collection-scroll-bridge .photo-meta{display:flex;justify-content:space-between;margin-top:14px}

/* Couples pacing: intimate pairs alternate weight and position. */
.gallery-pair--offset,.gallery-pair--step-right{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.gallery-pair--step-left{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}

/* Position-aware, restrained reveals. */
.reveal{--reveal-x:0px;--reveal-y:34px;transform:translate(var(--reveal-x),var(--reveal-y));transition:opacity .85s ease,transform 1.05s cubic-bezier(.16,1,.3,1)}
.gallery-pair .frame:first-child.reveal{--reveal-x:-18px}
.gallery-pair .frame:nth-child(2).reveal{--reveal-x:18px;transition-delay:.1s}
.gallery>.frame--wide.reveal,.gallery>.frame--cinema.reveal{--reveal-y:18px}
.reveal.is-visible{transform:translate(0,0)}

/* Quiet collection ending. */
.collection-outro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(60px,10vw,170px);padding:clamp(110px,13vw,190px) clamp(24px,7vw,110px);border-top:1px solid rgba(23,23,20,.22);background:#ced0ca}
.collection-outro .eyebrow{margin:0 0 38px}
.collection-outro blockquote{max-width:850px;margin:0;font:400 clamp(43px,5.2vw,78px)/.95 var(--serif);letter-spacing:-.025em}
.collection-outro cite{display:block;margin-top:32px;font-size:9px;font-style:normal;letter-spacing:.18em;text-transform:uppercase}
.collection-outro__actions{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.collection-outro__actions>p{max-width:280px;margin:0 0 30px;font:400 clamp(25px,2.5vw,38px)/1.05 var(--serif)}
.outro-primary{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.outro-primary span{font-size:16px}
.outro-next{display:grid;grid-template-columns:1fr auto;align-items:end;width:100%;margin-top:clamp(70px,8vw,120px);padding-top:22px;border-top:1px solid rgba(23,23,20,.35)}
.outro-next small{grid-column:1/-1;margin-bottom:12px;font-size:8px;letter-spacing:.16em;text-transform:uppercase}
.outro-next strong{font:400 clamp(42px,4.3vw,68px)/.85 var(--serif)}
.outro-next>span{font-size:28px;transition:transform .25s}
.outro-next:hover>span{transform:translateX(7px)}

@media(max-width:760px){
  .gallery-pair--offset,.gallery-pair--step-right,.gallery-pair--step-left{grid-template-columns:1fr}
  .gallery-pair,.gallery-pair--clean,.gallery-triptych{padding-top:52px;padding-bottom:52px}
  .gallery-pair + .gallery-pair,.gallery-pair + .gallery-triptych,.gallery-triptych + .gallery-pair{padding-top:20px}
  .frame--lower,.gallery-pair--step-right .frame:nth-child(2),.gallery-pair--step-left .frame:nth-child(1){margin-top:42px}
  .frame--sunflower{margin-top:52px;margin-bottom:52px}
  .gallery>.frame--solo-portrait{margin-top:52px;margin-bottom:52px}
  .gallery>.frame--wide:not(.frame--sunflower){margin-top:52px;margin-bottom:52px}
  .gallery-pair .frame:first-child.reveal,.gallery-pair .frame:nth-child(2).reveal{--reveal-x:0px;transition-delay:0s}
  .collection-outro{grid-template-columns:1fr;padding:95px 20px;gap:80px}
  .collection-outro blockquote{font-size:12.5vw}
  .collection-outro__actions>p{font-size:31px}
  .collection-scroll-bridge{height:clamp(350px,52vh,430px);min-height:0;margin-bottom:16px}
  .collection-scroll-bridge__cue{width:100%;padding-left:8px;box-sizing:border-box}
  .collection-scroll-bridge__cue i{display:none}
  .collection-scroll-bridge figure{width:100%}
  .collection-scroll-bridge--portrait{height:clamp(420px,105vw,520px);min-height:0}
  .collection-scroll-bridge--portrait figure{width:88%}
}

@media(prefers-reduced-motion:reduce){
  .collection-scroll-bridge{height:auto;display:block;padding:55px 0}
  .collection-scroll-bridge__cue{width:min(84vw,1320px);min-height:auto;margin:0 auto 28px;opacity:1}
  .collection-scroll-bridge figure{transform:none;width:min(84vw,1320px);margin:auto;box-shadow:none}
}

/* Preserve the editorial stagger without allowing adjacent spacing to compound. */
@media(min-width:761px){
  .gallery-pair{padding-top:clamp(65px,9vw,135px);padding-bottom:clamp(65px,9vw,135px)}
  .gallery-triptych{padding-top:clamp(70px,10vw,145px);padding-bottom:clamp(70px,10vw,145px)}
  .frame--lower,.gallery-pair--step-right .frame:nth-child(2),.gallery-pair--step-left .frame:nth-child(1){margin-top:clamp(80px,10vw,160px)}
  .frame--sunflower{margin-top:clamp(65px,8vw,125px);margin-bottom:clamp(65px,8vw,125px)}
  .gallery>.frame--solo-portrait{margin-top:clamp(75px,9vw,145px);margin-bottom:clamp(75px,9vw,145px)}
  .gallery>.frame--wide:not(.frame--sunflower){margin-top:clamp(55px,7vw,105px);margin-bottom:clamp(55px,7vw,105px)}
  .interlude{padding-bottom:clamp(105px,12vw,175px)}
}

footer{flex-wrap:wrap}.footer-credential{display:flex;align-items:center;gap:12px}.footer-credential img{display:block;width:62px;height:62px;object-fit:cover;border-radius:50%;clip-path:circle(49.5% at 50% 50%);background:#fff}.footer-legal{display:flex;gap:14px}.footer-legal a{white-space:nowrap}@media(max-width:760px){.footer-legal{flex-wrap:wrap}}
