/* Photo-led studio homepage, in the established Your Wed Stories palette. */
.atelier-eyebrow { font-family: inherit; font-size: 12px; letter-spacing: .16em; line-height: 1.6; margin: 0 0 24px; }
.atelier-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 18px; text-decoration: underline; text-underline-offset: 7px; }
.atelier-intro { max-width: 1120px; margin: auto; padding: 88px var(--gutter) 72px; }
.atelier-intro h2 { font-size: clamp(48px,6.3vw,88px); font-weight: 400; line-height: 1.05; letter-spacing: -.025em; }
.atelier-intro__bottom { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-top: 36px; }
.atelier-intro__bottom p { max-width: 460px; font-size: 21px; line-height: 1.6; margin: 0; }
.atelier-spread { display: grid; grid-template-columns: 1fr 1.05fr .8fr; align-items: center; gap: 5%; padding: 24px var(--gutter) 88px; max-width: 1600px; margin: auto; }
.atelier-spread figure { min-width: 0; }
.atelier-spread figure img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.atelier-spread figure:last-child { margin-top: 140px; }
.atelier-spread figcaption { font-style: italic; font-size: 17px; margin-top: 12px; }
.atelier-spread h2, .atelier-note h2 { font-size: clamp(34px,3.5vw,52px); font-weight: 400; line-height: 1.12; margin-bottom: 24px; }
.atelier-spread > div > p:not(.atelier-eyebrow), .atelier-note > div > p:not(.atelier-eyebrow) { font-size: 19px; line-height: 1.65; }
.atelier-panorama { position: relative; }
.atelier-panorama img { width: 100%; height: 68svh; min-height: 380px; max-height: 800px; object-fit: cover; }
.atelier-panorama::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 40%,#17161480); pointer-events: none; }
.atelier-panorama > p { position: absolute; z-index: 1; bottom: 36px; left: var(--gutter); margin: 0; color: var(--light); font-size: clamp(22px,3vw,44px); line-height: 1.3; }
.atelier-work { max-width: 1500px; margin: auto; padding: 80px var(--gutter); }
.atelier-work header { text-align: center; margin-bottom: 40px; }
.atelier-work header h2 { font-weight: 400; font-size: clamp(44px,5vw,72px); line-height: 1.1; margin-bottom: 18px; }
.atelier-stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.atelier-stories article { min-width: 0; }
.atelier-stories img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.atelier-stories .atelier-eyebrow { margin: 20px 0 6px; font-size: 11px; }
.atelier-stories h3 { font-size: clamp(27px,2.7vw,40px); font-weight: 400; margin: 0 0 6px; line-height: 1.15; }
.atelier-stories article:nth-child(2) { margin-top: 56px; }
.atelier-note { display: grid; grid-template-columns: 1.2fr 1fr; gap: 8%; align-items: center; max-width: 1400px; margin: auto; padding: 0 var(--gutter) 88px; }
.atelier-note img { aspect-ratio: 4 / 3; object-fit: cover; }
.atelier-note > div { max-width: 440px; }
@media (max-width: 767px) {
 .atelier-intro { padding-block: 48px; }
 .atelier-intro__bottom { display: block; margin-top: 24px; }
 .atelier-intro__bottom p { font-size: 19px; }
 .atelier-intro__bottom a { margin-top: 20px; }
 .atelier-spread { grid-template-columns: 1fr 1fr; gap: 24px 16px; padding-bottom: 48px; }
 .atelier-spread > div { grid-column: 1 / -1; grid-row: 2; max-width: 520px; }
 .atelier-spread figure:last-child { margin-top: 50px; }
 .atelier-spread figcaption { font-size: 15px; }
 .atelier-spread h2, .atelier-note h2 { font-size: 39px; }
 .atelier-panorama img { height: 52svh; min-height: 340px; }
 .atelier-panorama > p { bottom: 24px; }
 .atelier-work { padding-block: 48px; }
 .atelier-stories { grid-template-columns: 1fr; gap: 32px; }
 .atelier-stories article:nth-child(2) { margin-top: 0; }
 .atelier-stories img { aspect-ratio: 4 / 5; }
 .atelier-note { grid-template-columns: 1fr; gap: 28px; padding-bottom: 48px; }
}
.home .masthead__nav, .home .masthead__social, .home .masthead__cta { display: none; }
.home .masthead__inner { justify-content: space-between; }
.home .masthead__burger { display: flex; width: 44px; min-width: 44px; align-items: center; justify-content: center; gap: 6px; }
.home .masthead__burger > span { display: block; width: 26px; height: 2px; background: currentColor; }
.home .masthead__burger b { font: 400 19px 'EB Garamond',Georgia,serif; letter-spacing: .08em; }
.home .mobile-menu__inner { max-width: none; width: 100%; min-height: 100%; padding: 32px var(--gutter); display: grid; grid-template-columns: 1fr 1fr; column-gap: 10%; align-content: center; }
.home .mobile-menu__top { grid-column: 1 / -1; width: 100%; margin-bottom: 24px; }
.home .menu-photograph { grid-column: 1; grid-row: 2 / 5; max-width: 430px; justify-self: center; }
.home .menu-photograph img { height: min(62svh,650px); width: 100%; object-fit: cover; }
.home .menu-photograph p { font-size: 12px; letter-spacing: .15em; margin-top: 12px; }
.home .mobile-menu__nav { grid-column: 2; text-align: left; align-items: start; margin: 0; }
.home .mobile-menu__nav a { font-size: clamp(32px,4vw,64px); line-height: 1.2; padding-block: 8px; }
.home .mobile-menu__social, .home .mobile-menu__cta { grid-column: 2; justify-content: start; justify-self: start; }
.hero-slider { position: relative; overflow: hidden; }
.hero-slider > img.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.hero-slider > img.hero-slide.is-active { opacity: 1; }
.hero-slider__controls { position: absolute; bottom: 30px; right: var(--gutter); z-index: 5; display: flex; gap: 8px; color: var(--light); }
.hero-slider__controls[hidden] { display: none; }
.hero-slider__controls button { font: inherit; font-size: 16px; min-width: 44px; min-height: 44px; padding: 8px 12px; color: inherit; background: #17161480; border: 1px solid transparent; cursor: pointer; }
.hero-slider__controls button[aria-pressed="true"] { border-color: currentColor; }
@media (max-width: 767px) {
 .home .mobile-menu__inner { display: flex; flex-direction: column; align-items: stretch; justify-content: start; padding-top: 24px; }
 .home .menu-photograph { display: none; }
 .home .mobile-menu__nav { margin-top: 24px; }
 .home .mobile-menu__nav a { font-size: 42px; }
 .hero-slider__controls { bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) { .hero-slider > img.hero-slide { transition: none; } }

/* Persistent homepage navigation. */
.home .masthead { position: fixed; transition: background .25s ease, box-shadow .25s ease; }
.home .masthead__burger { color: #f7f4ec; }
.home .masthead__social { display: flex; align-items: center; gap: 16px; }
.home .masthead.is-scrolled { background: #fff; box-shadow: 0 1px 0 #17161415; }
.home .masthead.is-scrolled::before { opacity: 0; }
.home .masthead.is-scrolled .masthead__logo img { filter: brightness(0); }
.home .masthead.is-scrolled .masthead__burger,
.home .masthead.is-scrolled .masthead__social a { color: #171614; }
.home .masthead.is-scrolled :focus-visible { outline-color: #171614; }
@media (max-width: 480px) {
 .home .masthead__inner { gap: 12px; padding-inline: 16px; }
 .home .masthead__logo { width: 130px; }
 .home .masthead__social { gap: 10px; }
 .home .masthead__social svg { width: 18px; height: 18px; }
}

.home .masthead.is-scrolled .masthead__nav { display: flex; }
.home .masthead.is-scrolled .masthead__nav a { color: #171614; }
.home .masthead.is-scrolled .masthead__burger { display: none; }
@media (max-width: 899px) {
 .home .masthead.is-scrolled { height: auto; min-height: 88px; }
 .home .masthead.is-scrolled .masthead__inner { flex-wrap: wrap; padding-block: 12px; gap: 10px 16px; }
 .home .masthead.is-scrolled .masthead__nav { order: 3; width: 100%; justify-content: center; gap: clamp(14px, 4vw, 28px); }
 .home .masthead.is-scrolled .masthead__nav a { font-size: 12px; }
}

/* Reference layout for the expanded, scrolled navigation. */
@media (min-width: 700px) {
 .home .masthead.is-scrolled { height: 104px; }
 .home .masthead.is-scrolled .masthead__inner { max-width: none; display: grid; grid-template-columns: 44px minmax(140px,200px) 1fr auto auto; gap: clamp(18px,3vw,56px); padding-inline: 32px; }
 .home .masthead.is-scrolled .masthead__burger { display: flex; grid-column: 1; grid-row: 1; }
 .home .masthead.is-scrolled .masthead__logo { grid-column: 2; grid-row: 1; width: 100%; margin: 0; }
 .home .masthead.is-scrolled .masthead__nav { grid-column: 3; grid-row: 1; justify-content: center; gap: clamp(24px,4vw,72px); }
 .home .masthead.is-scrolled .masthead__nav a { font-family: Arial,sans-serif; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #606060; }
 .home .masthead.is-scrolled .masthead__nav a[data-open-inquiry] { display: none; }
 .home .masthead.is-scrolled .masthead__social { grid-column: 4; grid-row: 1; gap: 14px; }
 .home .masthead.is-scrolled .masthead__cta { display: inline-flex; grid-column: 5; grid-row: 1; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border: 0; background: #ece7e0; color: #333; font: 12px Arial,sans-serif; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
}
@media (min-width: 700px) and (max-width: 1100px) {
 .home .masthead.is-scrolled .masthead__inner { gap: 16px; padding-inline: 20px; grid-template-columns: 36px 140px 1fr auto auto; }
 .home .masthead.is-scrolled .masthead__nav { gap: 22px; }
 .home .masthead.is-scrolled .masthead__cta { padding-inline: 16px; }
}

@media (min-width: 700px) and (max-width: 1100px) {
 .home .masthead.is-scrolled .masthead__inner { grid-template-columns: 28px 125px minmax(0,1fr) auto auto; gap: 16px; padding: 0 18px; height: 88px; }
 .home .masthead.is-scrolled { height: 88px; }
 .home .masthead.is-scrolled .masthead__nav { width: auto; gap: 20px; flex-wrap: nowrap; }
 .home .masthead.is-scrolled .masthead__nav a { font-size: 10px; letter-spacing: .1em; }
 .home .masthead.is-scrolled .masthead__social { gap: 10px; }
 .home .masthead.is-scrolled .masthead__social svg { width: 16px; height: 16px; }
 .home .masthead.is-scrolled .masthead__cta { min-height: 42px; font-size: 10px; padding-inline: 14px; }
 .home .masthead.is-scrolled .masthead__burger > span { width: 22px; height: 1px; }
}

/* Light footer palette from the supplied reference. */
.home .site-footer {
 --footer-bg: #F9F7F4;
 --footer-text: #686866;
 --footer-muted: #72726f;
 --footer-faint: #dedbd6;
 background: #F9F7F4;
 color: #686866;
}
.home .site-footer__logo img { filter: brightness(0); opacity: .6; }
.home .site-footer__social a { color: #c5b195; }
.home .site-footer__gallery-item img { filter: none; }
.home .site-footer__follow { justify-content: flex-start; }
.home .site-footer .follow-btn { background: #fff; border-color: #fff; color: #555; }
.home .site-footer .follow-btn:hover { background: #eae6df; }

.home .site-footer { --footer-bg: #F9F7F4; background-color: #F9F7F4; }

.signature-portfolio { background:#343432; color:#F9F7F4; padding:70px 5.6% 64px; text-align:center; }
.signature-portfolio header p { font:10px Arial,sans-serif; letter-spacing:.2em; margin:0 0 24px; }
.signature-portfolio h2 { font-weight:400; font-size:clamp(60px,14vw,220px); line-height:.9; letter-spacing:-.055em; margin:0; }
.signature-portfolio__pair { display:grid; grid-template-columns:1fr 1fr; position:relative; }
.signature-portfolio__pair img { height:clamp(320px,59vw,780px); object-fit:cover; }
.signature-portfolio__wide { display:block; position:relative; }
.signature-portfolio__wide img { width:100%; height:clamp(320px,52vw,700px); object-fit:cover; }
.signature-portfolio a > span { position:absolute; bottom:30px; left:30px; text-align:left; font-size:clamp(28px,5vw,64px); text-shadow:0 1px 12px #0008; }
.signature-portfolio small { display:block; font:10px Arial,sans-serif; letter-spacing:.15em; margin-top:12px; }
.signature-portfolio__button { display:inline-block; margin-top:40px; border:1px solid #a6a69f; padding:18px 30px; font:11px Arial,sans-serif; letter-spacing:.15em; }
.signature-portfolio__button:hover { background:#F9F7F4; color:#343432; }
@media(max-width:600px) { .signature-portfolio { padding:48px 16px; } .signature-portfolio a > span { left:16px; bottom:20px; } }

.signature-portfolio { padding:70px 5.6% 60px; background:#343432; }
.signature-portfolio header { position:relative; z-index:1; }
.signature-portfolio h2 { font-family:"Bodoni Moda",Didot,serif; font-weight:400; font-size:clamp(58px,14.5vw,220px); line-height:.9; letter-spacing:-.06em; margin-bottom:-.035em; }
.signature-portfolio__grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.signature-portfolio__card { position:relative; display:block; overflow:hidden; isolation:isolate; }
.signature-portfolio__card img { width:100%; height:59vw; max-height:850px; object-fit:cover; transition:transform 1.1s ease; }
.signature-portfolio__card::after { content:''; position:absolute; inset:0; background:#0002; pointer-events:none; }
.signature-portfolio__card--wide { grid-column:1/-1; }
.signature-portfolio__card--wide img { height:65vw; max-height:930px; }
.signature-portfolio .signature-portfolio__card > span { z-index:1; top:50%; bottom:auto; left:0; width:100%; transform:translateY(-50%); text-align:center; font-family:"Bodoni Moda",Didot,serif; font-weight:400; font-size:clamp(25px,6.1vw,90px); letter-spacing:-.045em; line-height:1.2; text-shadow:none; }
.signature-portfolio__card small { width:max-content; margin:18px auto 0; padding:14px 20px; border:1px solid #ffffff85; font:9px Arial,sans-serif; letter-spacing:.12em; }
.signature-portfolio__card:hover img { transform:scale(1.035); }
@media(prefers-reduced-motion:reduce) { .signature-portfolio__card img { transition:none; } .signature-portfolio__card:hover img { transform:none; } }

.home .site-footer__gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.home .site-footer__gallery-item { aspect-ratio:3/4; overflow:hidden; }
.home .site-footer__gallery-item img { width:100%; height:100%; object-fit:cover; }
@media(max-width:600px) { .home .site-footer__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.home .site-footer { border-top: 1px solid #d8d4ce; }

.home .site-footer__bottom, .home .site-footer__copy, .home .site-footer__legal, .home .site-footer__legal a, .home .site-footer__legal span { color: #000; }

/* Let the portfolio title meet the photographs with a gentle overlap. */
.signature-portfolio header { transform: translateY(clamp(12px, 2vw, 30px)); }
.signature-portfolio header.motion-reveal { transform: translateY(calc(24px + clamp(12px, 2vw, 30px))); }
.signature-portfolio header.motion-visible { transform: translateY(clamp(12px, 2vw, 30px)); }

/* Photographs cover the overlapping lower edge of the portfolio title. */
.signature-portfolio { isolation: isolate; }
.signature-portfolio header { z-index: 0; }
.signature-portfolio__grid { position: relative; z-index: 1; }

.story-film { position:relative; display:grid; grid-template-columns:1fr 1fr; background:#F9F7F4; min-height:100svh; }
.story-film__media { position:sticky; top:104px; height:calc(100svh - 104px); overflow:hidden; align-self:start; }
.story-film video { width:100%; height:100%; object-fit:cover; display:block; }
.story-film__words { padding:clamp(50px,10vw,150px) 8%; display:flex; flex-direction:column; justify-content:center; min-height:120svh; }
.story-film h2 { font-family:"Bodoni Moda",Didot,serif; font-weight:400; font-size:clamp(34px,4.5vw,78px); line-height:1.12; letter-spacing:-.035em; margin-bottom:40px; }
.story-film__words > p:last-child { font-size:20px; line-height:1.6; max-width:28ch; }
.story-film__toggle { position:absolute; bottom:20px; right:20px; background:#17161470; color:white; border:1px solid #ffffff70; padding:8px 14px; cursor:pointer; }
@media(max-width:650px) { .story-film { display:block; } .story-film__media { top:0; height:65svh; position:relative; } .story-film__words { min-height:0; padding:60px 24px; } .story-film h2 { font-size:12vw; } }

/* Full-bleed background film; the page copy scrolls over its pinned layer. */
.story-film { display:block; min-height:150svh; position:relative; isolation:isolate; background:#171614; color:#F9F7F4; }
.story-film__media { position:sticky; top:0; width:100%; height:100svh; margin-bottom:-100svh; z-index:-1; }
.story-film__media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0007,#0002); pointer-events:none; }
.story-film video { object-fit:cover; width:100%; height:100%; }
.story-film__words { position:relative; min-height:150svh; padding:15svh 8%; justify-content:center; max-width:950px; }
.story-film h2 { font-size:clamp(48px,7vw,110px); text-shadow:0 2px 24px #0003; }
.story-film__toggle { z-index:2; }
@media(max-width:650px) {
 .story-film { min-height:130svh; }
 .story-film__media { position:sticky; top:0; height:100svh; margin-bottom:-100svh; }
 .story-film__words { min-height:130svh; padding:12svh 24px; }
 .story-film h2 { font-size:12vw; }
}

/* Contain the pinned film and give following content an opaque surface. */
.story-film { overflow:clip; isolation:isolate; }
.story-film__media { z-index:0; }
.story-film__words { z-index:1; }
.story-film + section { position:relative; z-index:1; background:#F9F7F4; }

.story-film { margin-top: clamp(24px, 4vw, 56px); }

.story-film__toggle { display:none !important; }
.story-film video::-webkit-media-controls,
.story-film video::-webkit-media-controls-panel,
.story-film video::-webkit-media-controls-start-playback-button { display:none !important; -webkit-appearance:none; }

.home #films-title { font-family:"Bodoni Moda",Didot,serif; font-weight:400; text-align:center; width:100%; letter-spacing:.035em; word-spacing:.14em; }

.home #films-title { font-size: clamp(30px, 5vw, 72px); line-height: 1.15; margin-bottom: 40px; }

.home .inquiry-section#contact { border-top: 1px solid #d8d4ce !important; }

.atelier-stories h3 { margin-bottom: 18px; }

.home #newsletter-email { color: #000; }
.home #newsletter-email::placeholder { color: #000; opacity: 1; }

.home .newsletter-submit { background: #000; color: #fff; border: 1px solid #000; padding: 14px 24px; }
.home .newsletter-submit:hover, .home .newsletter-submit:focus-visible { background: #292929; color: #fff; border-color: #292929; }

.home #stories-title { font-family: "Bodoni Moda", Didot, serif; font-weight: 400; letter-spacing: -.045em; }
