:root{--paper:#f7f4ee;--paper2:#fffdf9;--ink:#171513;--muted:#716b64;--line:rgba(23,21,19,.16);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.serif{font-family:var(--serif);font-weight:400}.caps{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase}.topbar{height:82px;padding:0 3.2vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(247,244,238,.94);backdrop-filter:blur(14px);z-index:30;border-bottom:1px solid transparent}.brand strong{display:block;font-family:var(--serif);font-weight:400;letter-spacing:.22em;font-size:1rem}.brand small{display:block;margin-top:6px;font-size:.47rem;letter-spacing:.28em}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:.57rem;letter-spacing:.16em;text-transform:uppercase}.outline{border:1px solid var(--ink);padding:12px 18px;background:transparent;font-size:.57rem;letter-spacing:.16em;text-transform:uppercase}.overview{max-width:1500px;margin:0 auto;padding:70px 3vw 110px}.overview-head{display:grid;grid-template-columns:.75fr 1.6fr;gap:6vw;align-items:end;margin-bottom:52px}.overview-head h1{font-size:clamp(3.7rem,7vw,8rem);line-height:.9;margin:0}.overview-head p{color:var(--muted);line-height:1.8;max-width:500px;margin:18px 0 0}.story-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-auto-rows:minmax(300px,34vw);gap:18px}.story-card{position:relative;overflow:hidden;background:#ddd;isolation:isolate}.story-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1.2s}.story-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.63));z-index:1;transition:opacity .6s}.story-card:hover img{transform:scale(1.045)}.story-card:hover::after{opacity:.86}.story-copy{position:absolute;left:30px;right:30px;bottom:28px;color:white;z-index:2}.story-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.4vw,4.5rem);line-height:.95;margin:10px 0}.story-copy p{font-size:.78rem;line-height:1.6;max-width:470px;color:rgba(255,255,255,.8)}.story-card:nth-child(2){grid-row:span 2}.story-card:nth-child(3){grid-column:1}.reveal{opacity:0;transform:translateY(38px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.show{opacity:1;transform:none}.story-intro{text-align:center;padding:28px 24px 18px}.story-intro h1{font-size:clamp(2.9rem,5.6vw,6rem);line-height:.95;margin:10px 0}.story-intro p{color:var(--muted);max-width:720px;margin:12px auto 0;line-height:1.75;font-size:.94rem}.horizontal-shell{height:calc(100svh - 230px);min-height:500px;max-height:760px;overflow:hidden;position:relative}.horizontal-track{height:100%;display:flex;transition:transform .8s cubic-bezier(.2,.75,.25,1)}.chapter{flex:0 0 100vw;height:100%;display:grid;grid-template-columns:31% 69%;background:var(--paper2);align-items:stretch}.chapter-copy{padding:4.5vh 3.6vw 6vh;display:flex;flex-direction:column;justify-content:center}.chapter-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,5vw,6rem);line-height:.92;margin:18px 0}.chapter-copy p{color:var(--muted);line-height:1.8;max-width:420px}.chapter-image{height:100%;overflow:hidden;background:var(--paper2);display:flex;align-items:center;justify-content:center;padding:24px 24px 68px 0}.chapter-image img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}.chapter.alt{grid-template-columns:69% 31%}.chapter.alt .chapter-image{order:1;padding:24px 0 68px 24px}.chapter.alt .chapter-copy{order:2}.chapter-controls{position:absolute;left:3vw;right:3vw;bottom:18px;display:flex;align-items:center;justify-content:space-between;z-index:5}.chapter-dots{display:flex;gap:18px}.chapter-dots button{border:0;background:none;font-size:.62rem;letter-spacing:.15em;color:var(--muted);padding:4px 0;border-bottom:1px solid transparent}.chapter-dots button.active{color:var(--ink);border-color:var(--ink)}.round{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.8)}.lightbox{position:fixed;inset:0;background:rgba(10,10,9,.96);z-index:100;display:none;align-items:center;justify-content:center;padding:22px}.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:92vh;width:auto;height:auto;object-fit:contain;image-rendering:auto}.lightbox-close{position:absolute;right:24px;top:18px;color:white;border:0;background:none;font-size:2rem}.clickable{cursor:zoom-in}.back-link{display:inline-block;margin-top:30px;font-size:.58rem;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}
@media(max-width:900px){.nav a{display:none}.overview{padding:46px 20px 80px}.overview-head{grid-template-columns:1fr;gap:24px}.story-grid{grid-template-columns:1fr;grid-auto-rows:auto}.story-card,.story-card:nth-child(2),.story-card:nth-child(3){grid-column:auto;grid-row:auto;min-height:62vh}.horizontal-shell{height:auto;min-height:0;max-height:none;overflow:visible}.horizontal-track{display:flex}.chapter,.chapter.alt{height:auto;min-height:100vh;display:grid;grid-template-columns:1fr}.chapter .chapter-image,.chapter.alt .chapter-image{order:1;height:auto;min-height:58vh;padding:24px 24px 0}.chapter .chapter-image img,.chapter.alt .chapter-image img{width:100%;height:auto;max-height:none;object-fit:contain}.chapter .chapter-copy,.chapter.alt .chapter-copy{order:2;padding:38px 24px 84px}.chapter-controls{display:none}.story-intro{padding:22px 20px 16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Stories V2 — editorial feature layout */
.portfolio-page{background:#faf8f3}.portfolio-sidebar{position:fixed;inset:0 auto 0 0;width:248px;border-right:1px solid var(--line);background:rgba(250,248,243,.97);z-index:50;padding:46px 38px;display:flex;flex-direction:column}.side-brand{margin-bottom:auto}.side-nav{display:flex;flex-direction:column;gap:28px;margin:auto 0}.side-nav a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;width:max-content;padding-bottom:7px;border-bottom:1px solid transparent}.side-nav a.active{border-color:var(--ink)}.side-footer{margin-top:auto;font-size:.48rem;line-height:1.8;letter-spacing:.14em;text-transform:uppercase}.portfolio-main{margin-left:248px}.mobile-topbar{display:none}.feature-story{min-height:100vh;border-bottom:1px solid var(--line)}.feature-hero{position:relative;display:block;height:min(42vw,500px);min-height:340px;overflow:hidden;background:#ddd}.feature-hero img{width:100%;height:calc(100% + 42px);object-fit:cover;object-position:center;transform:translateY(calc(var(--pan,0px) - 21px)) scale(1.035);transition:transform .18s linear,filter 1.2s ease}.feature-hero:hover img{filter:saturate(1.04);transform:translateY(calc(var(--pan,0px) - 21px)) scale(1.06)}.vertical-note{position:absolute;right:42px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-transform:uppercase;font-size:.55rem;letter-spacing:.25em;line-height:1.8;color:#191713}.vertical-note--left{left:38px;right:auto;color:white;text-shadow:0 1px 14px rgba(0,0,0,.7)}.slide-count{position:absolute;right:42px;bottom:32px;color:white;font-size:.66rem;letter-spacing:.2em;text-shadow:0 1px 12px rgba(0,0,0,.6);display:flex;align-items:center;gap:16px}.slide-count i{display:block;width:42px;height:1px;background:currentColor}.feature-editorial{min-height:520px;display:grid;grid-template-columns:minmax(330px,.78fr) 1.22fr;align-items:center;padding:60px 6vw 80px;gap:6vw;background:#faf8f3}.feature-editorial--reverse{grid-template-columns:1.2fr minmax(330px,.8fr)}.feature-copy{max-width:520px}.feature-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,5.8vw,7rem);line-height:.92;margin:28px 0 18px}.feature-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2vw,2.25rem);margin:0}.feature-copy p{color:var(--muted);line-height:1.85;max-width:480px;margin:28px 0}.fine-rule{display:block;width:64px;height:1px;background:var(--ink);margin:26px 0}.text-link{display:inline-flex;gap:24px;align-items:center;text-transform:uppercase;font-size:.65rem;letter-spacing:.2em;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{font-size:1rem}.calligraphy{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center}.calligraphy img{position:absolute;width:min(42vw,410px);height:auto;object-fit:contain;filter:contrast(1.1)}.calligraphy .gu{transform:translate(-10%,-12%) rotate(-2deg)}.calligraphy .shi{width:min(31vw,300px);transform:translate(29%,31%) rotate(2deg)}.calligraphy>span{position:absolute;right:0;bottom:12%;writing-mode:vertical-rl;text-transform:uppercase;font-size:.62rem;letter-spacing:.27em}.calligraphy--left>span{left:0;right:auto}.portfolio-footer{padding:100px 6vw;text-align:center;background:#111;color:white}.portfolio-footer p{font-family:var(--serif);font-size:clamp(2rem,4vw,4.8rem);max-width:980px;margin:0 auto 42px;line-height:1.05}.portfolio-footer .outline{border-color:white;color:white}.reveal-media{opacity:0;transform:translateY(24px);transition:opacity 1.05s ease,transform 1.05s cubic-bezier(.2,.7,.2,1)}.reveal-media.show{opacity:1;transform:none}.feature-story--two .feature-hero img{object-position:center 46%}
@media(max-width:900px){.portfolio-sidebar{display:none}.portfolio-main{margin-left:0}.mobile-topbar{height:74px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(250,248,243,.94);backdrop-filter:blur(12px);z-index:50}.mobile-menu{border:0;background:none;font-size:.58rem;letter-spacing:.17em}.feature-hero{height:46vh;min-height:300px}.feature-editorial,.feature-editorial--reverse{grid-template-columns:1fr;padding:62px 24px 76px;gap:18px}.feature-copy{order:1}.calligraphy{order:2;min-height:280px}.calligraphy img{width:min(78vw,380px)}.calligraphy .shi{width:min(55vw,270px)}.vertical-note{right:18px}.vertical-note--left{left:18px}.slide-count{right:20px}.portfolio-footer{padding:78px 24px}.feature-copy h1{font-size:clamp(3rem,14vw,5.6rem)}.feature-copy h2{font-size:1.45rem}}
@media(max-width:520px){.feature-hero{height:38vh;min-height:240px}.feature-editorial{min-height:auto}.calligraphy{min-height:235px}.calligraphy>span{display:none}}

/* Stories V4 — single clean calligraphy signature */
.stories-signature{min-height:520px;display:grid;grid-template-columns:minmax(360px,.9fr) 1.1fr;align-items:center;gap:6vw;padding:78px 7vw 86px;background:#faf8f3;border-bottom:1px solid var(--line)}
.stories-signature-copy{max-width:610px}
.stories-signature-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.7rem,6.2vw,7.6rem);line-height:.92;margin:24px 0 26px}
.stories-signature-copy p{max-width:520px;color:var(--muted);line-height:1.85;font-size:1rem}
.stories-calligraphy{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center;gap:1.8vw}
.stories-calligraphy img{width:auto;height:min(30vw,340px);max-width:46%;object-fit:contain;filter:none}
.feature-editorial,.feature-editorial--reverse{grid-template-columns:minmax(350px,620px) 1fr;padding:68px 7vw 84px;align-items:end}
.feature-editorial--reverse .feature-copy{order:1}.feature-editorial--reverse .feature-index{order:2}
.feature-index{justify-self:end;align-self:center;display:flex;flex-direction:column;align-items:flex-end;color:rgba(23,21,19,.25)}
.feature-index span{font-family:var(--serif);font-size:clamp(7rem,15vw,16rem);line-height:.75}
.feature-index small{text-transform:uppercase;letter-spacing:.25em;font-size:.58rem;margin-top:26px;color:var(--muted)}
@media(max-width:900px){.stories-signature{grid-template-columns:1fr;padding:58px 24px 68px;min-height:auto}.stories-calligraphy{min-height:240px;justify-content:flex-start}.stories-calligraphy img{height:min(48vw,250px)}.feature-editorial,.feature-editorial--reverse{grid-template-columns:1fr;padding:54px 24px 72px}.feature-index{display:none}}


/* Stories V5 — remove calligraphy and tighten album composition */
.stories-signature--text-only{min-height:auto;display:block;padding:32px 7vw 26px}
.stories-signature--text-only .stories-signature-copy{max-width:760px}.stories-signature--text-only .stories-signature-copy p{font-size:.95rem;line-height:1.75;margin:10px 0 0;max-width:620px}
.stories-signature--text-only .stories-signature-copy h1{max-width:900px;font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:.96;margin:14px 0 14px}
.stories-calligraphy{display:none!important}

/* Keep album text and photograph visually connected */
.horizontal-shell{height:calc(100svh - 210px);min-height:520px;max-height:780px}
.chapter{grid-template-columns:29% 71%}
.chapter.alt{grid-template-columns:71% 29%}
.chapter-copy{padding:4vh 2.5vw 5.5vh 3vw}
.chapter-image{padding:14px 14px 64px 0;justify-content:flex-start}
.chapter.alt .chapter-image{padding:14px 0 64px 14px;justify-content:flex-end}
.chapter-image img{max-width:100%;max-height:100%;box-shadow:0 0 0 1px rgba(23,21,19,.04)}
.chapter-copy h2{margin:14px 0 16px}
.chapter-copy p{margin:0;max-width:360px}

@media(max-width:900px){
  .stories-signature--text-only{padding:26px 24px 24px;min-height:auto}
  .horizontal-shell{height:auto;min-height:0;max-height:none}
  .chapter,.chapter.alt{min-height:auto}
  .chapter .chapter-image,.chapter.alt .chapter-image{padding:18px 18px 0;min-height:0}
  .chapter .chapter-copy,.chapter.alt .chapter-copy{padding:28px 24px 70px}
}


/* Stories V7 — larger covers with text over image, and centered portrait chapters */
.feature-story{position:relative;padding-bottom:54px}
.feature-hero{height:min(56vw,680px);min-height:460px}
.feature-hero img{height:calc(100% + 30px);transform:translateY(calc(var(--pan,0px) - 15px)) scale(1.02)}
.feature-hero:hover img{transform:translateY(calc(var(--pan,0px) - 15px)) scale(1.04)}
.feature-editorial,.feature-editorial--reverse{
  margin-top:-150px;
  padding:0 7vw 0;
  background:transparent;
  grid-template-columns:minmax(360px,560px) 1fr;
  align-items:end;
  position:relative;
  z-index:3;
  gap:4vw;
  min-height:0;
}
.feature-editorial--reverse{grid-template-columns:1fr minmax(360px,560px)}
.feature-copy{
  max-width:560px;
  background:rgba(250,248,243,.96);
  padding:28px 30px 24px;
  box-shadow:0 18px 40px rgba(23,21,19,.08);
  backdrop-filter:blur(6px);
}
.feature-copy h1{font-size:clamp(3rem,5.2vw,5.8rem);margin:18px 0 12px}
.feature-copy h2{font-size:clamp(1.2rem,1.8vw,2rem)}
.feature-copy p{margin:20px 0 0;max-width:460px}
.fine-rule{margin:20px 0}
.feature-index{align-self:end;padding-bottom:18px}
.feature-index span{font-size:clamp(5rem,10vw,9rem)}

/* generic chapter spacing */
.chapter{grid-template-columns:32% 68%;column-gap:2vw}
.chapter.alt{grid-template-columns:68% 32%}
.chapter-copy{padding:4vh 1.2vw 5vh 2.5vw}
.chapter-image{padding:18px 18px 64px 0;justify-content:center}
.chapter.alt .chapter-image{padding:18px 0 64px 18px;justify-content:center}
.chapter-image img{box-shadow:0 0 0 1px rgba(23,21,19,.05)}

/* portrait chapters auto-detected in story.js */
.chapter.chapter--portrait{grid-template-columns:minmax(250px,330px) minmax(320px,500px);justify-content:center;column-gap:4.2vw}
.chapter.alt.chapter--portrait{grid-template-columns:minmax(320px,500px) minmax(250px,330px)}
.chapter.chapter--portrait .chapter-copy,
.chapter.alt.chapter--portrait .chapter-copy{padding:4vh 0 5vh;justify-content:center;align-self:center}
.chapter.chapter--portrait .chapter-copy p,
.chapter.alt.chapter--portrait .chapter-copy p{max-width:320px}
.chapter.chapter--portrait .chapter-image,
.chapter.alt.chapter--portrait .chapter-image{padding:22px 0 64px;justify-content:center;align-items:center}
.chapter.chapter--portrait .chapter-image img,
.chapter.alt.chapter--portrait .chapter-image img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain}

@media(max-width:900px){
  .feature-hero{height:62vh;min-height:420px}
  .feature-editorial,.feature-editorial--reverse{
    margin-top:-92px;
    grid-template-columns:1fr;
    padding:0 24px 0;
    gap:0;
  }
  .feature-copy{max-width:none;padding:22px 22px 20px}
  .feature-index{display:none}
}
@media(max-width:520px){
  .feature-hero{height:54vh;min-height:360px}
  .feature-editorial,.feature-editorial--reverse{margin-top:-74px}
  .feature-copy h1{font-size:clamp(2.35rem,10vw,3.8rem)}
  .feature-copy h2{font-size:1.1rem}
}


/* Stories V8 — even larger cover image and true text overlay with no text box */
.feature-story{padding-bottom:36px}
.feature-hero{height:min(68vw,840px);min-height:560px}
.feature-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 28%,rgba(0,0,0,.12) 52%,rgba(0,0,0,.52) 100%);pointer-events:none}
.feature-hero img{height:calc(100% + 36px);transform:translateY(calc(var(--pan,0px) - 18px)) scale(1.02)}
.feature-hero:hover img{transform:translateY(calc(var(--pan,0px) - 18px)) scale(1.04)}
.feature-editorial,.feature-editorial--reverse{
  margin-top:-205px;
  padding:0 7vw 0;
  grid-template-columns:minmax(360px,620px) 1fr;
  align-items:end;
  gap:4vw;
  pointer-events:none;
}
.feature-editorial--reverse{grid-template-columns:1fr minmax(360px,620px)}
.feature-copy,
.feature-index{pointer-events:auto}
.feature-copy{
  max-width:620px;
  background:transparent;
  padding:0;
  box-shadow:none;
  backdrop-filter:none;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.feature-copy .caps,
.feature-copy h1,
.feature-copy h2,
.feature-copy p{color:#fff}
.feature-copy h1{font-size:clamp(3.2rem,5.7vw,6.6rem);margin:18px 0 10px}
.feature-copy h2{font-size:clamp(1.22rem,1.9vw,2.05rem);margin:0}
.feature-copy p{margin:20px 0 0;max-width:520px;color:rgba(255,255,255,.9)}
.fine-rule{width:64px;height:1px;background:rgba(255,255,255,.85);margin:18px 0}
.text-link{margin-top:22px;border-bottom-color:rgba(255,255,255,.9);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.feature-index{align-self:end;padding-bottom:14px;color:rgba(255,255,255,.72);text-shadow:0 2px 18px rgba(0,0,0,.34)}
.feature-index small{color:rgba(255,255,255,.82)}

@media(max-width:900px){
  .feature-hero{height:74vh;min-height:520px}
  .feature-editorial,.feature-editorial--reverse{margin-top:-170px;padding:0 24px 0;grid-template-columns:1fr;gap:0}
  .feature-copy{max-width:unset}
  .feature-index{display:none}
}
@media(max-width:520px){
  .feature-hero{height:68vh;min-height:460px}
  .feature-editorial,.feature-editorial--reverse{margin-top:-148px}
  .feature-copy h1{font-size:clamp(2.5rem,11.5vw,4.25rem)}
  .feature-copy h2{font-size:1.06rem}
  .feature-copy p{font-size:.92rem;line-height:1.7;max-width:88%}
}


/* Stories V9 — white text only on the photograph; black text below it */
.feature-editorial,.feature-editorial--reverse{margin-top:-205px}
.feature-copy{color:var(--ink);text-shadow:none}
.feature-overlay-text{
  min-height:205px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.feature-overlay-text .caps,
.feature-overlay-text h1,
.feature-overlay-text h2{color:#fff}
.feature-overlay-text .fine-rule{background:rgba(255,255,255,.88)}
.feature-below-text{
  padding-top:24px;
  color:var(--ink);
  text-shadow:none;
}
.feature-below-text p{color:var(--muted);margin:0;max-width:520px}
.feature-below-text .text-link{
  margin-top:22px;
  color:var(--ink);
  border-bottom-color:var(--ink);
  text-shadow:none;
}
.feature-index{
  color:rgba(23,21,19,.25);
  text-shadow:none;
}
.feature-index small{color:var(--muted)}

@media(max-width:900px){
  .feature-editorial,.feature-editorial--reverse{margin-top:-170px}
  .feature-overlay-text{min-height:170px}
  .feature-below-text{padding-top:20px}
}
@media(max-width:520px){
  .feature-editorial,.feature-editorial--reverse{margin-top:-148px}
  .feature-overlay-text{min-height:148px}
}


/* Stories V10 — keep title over photo, description below with only a small gap */
.feature-editorial,.feature-editorial--reverse{margin-top:-250px}
.feature-copy{display:flex;flex-direction:column}
.feature-overlay-text{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.feature-below-text{
  padding-top:10px;
}
.feature-below-text .text-link{margin-top:14px}

@media(max-width:900px){
  .feature-editorial,.feature-editorial--reverse{margin-top:-210px}
  .feature-overlay-text{min-height:210px}
  .feature-below-text{padding-top:10px}
}
@media(max-width:520px){
  .feature-editorial,.feature-editorial--reverse{margin-top:-178px}
  .feature-overlay-text{min-height:178px}
  .feature-below-text{padding-top:8px}
}

.feature-story--three .feature-hero img{object-position:center 52%}

/* V10 cover refinements — user-selected covers and crisp display */
.feature-hero img{
  height:100%;
  transform:none;
  image-rendering:auto;
  backface-visibility:hidden;
  filter:none;
}
.feature-hero:hover img{
  transform:none;
  filter:none;
}

/* Requested story subtitles in black */
#marcja-henrico .feature-overlay-text h2,
#melody-ken .feature-overlay-text h2,
#angle-andrew .feature-overlay-text h2,
#sharon-sam .feature-overlay-text h2,
#tammy-family .feature-overlay-text h2{
  color:#111;
  text-shadow:0 1px 10px rgba(255,255,255,.42);
}

/* Cover-specific framing */
#chans-family .feature-hero img{object-position:center 50%}
#angle-andrew .feature-hero img{object-position:center 50%}
#sharon-sam .feature-hero img{object-position:center 52%}

/* Album redesign — editorial chapter carousel based on the approved reference */
body:has(.horizontal-shell){background:#fbfaf7}
body:has(.horizontal-shell) .topbar{
  height:92px;
  position:relative;
  background:#fbfaf7;
  border-bottom:0;
  padding:0 2.5vw;
}
body:has(.horizontal-shell) .brand strong{font-size:1.22rem;letter-spacing:.18em}
body:has(.horizontal-shell) .brand small{font-size:.5rem}
body:has(.horizontal-shell) .nav{gap:42px}
body:has(.horizontal-shell) .nav a{font-size:.6rem;letter-spacing:.21em}
body:has(.horizontal-shell) .outline{padding:14px 22px;background:#fff}

.story-intro{
  max-width:880px;
  margin:0 auto;
  padding:24px 24px 32px;
}
.story-intro .caps{display:none}
.story-intro h1{
  font-size:clamp(2.5rem,4.1vw,4.55rem);
  line-height:1.02;
  margin:0 0 14px;
}
.story-intro p{
  font-family:var(--serif);
  font-size:clamp(.95rem,1.15vw,1.2rem);
  line-height:1.55;
  max-width:680px;
}

.horizontal-shell{
  height:630px;
  min-height:630px;
  max-height:none;
  overflow:hidden;
  padding:8px 0 96px;
}
.horizontal-track{
  width:max-content;
  height:500px;
  display:flex;
  align-items:stretch;
  gap:12px;
  padding:0 18px;
  transition:transform .82s cubic-bezier(.22,.74,.23,1);
  will-change:transform;
}
.chapter,
.chapter.alt{
  flex:0 0 clamp(260px,20vw,345px);
  width:clamp(260px,20vw,345px);
  height:500px;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(23,21,19,.13);
  box-shadow:0 15px 32px rgba(23,21,19,.08);
  overflow:hidden;
  cursor:pointer;
  opacity:.82;
  transform:scale(.965);
  transition:flex-basis .7s cubic-bezier(.2,.7,.2,1),width .7s cubic-bezier(.2,.7,.2,1),opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .5s;
}
.chapter.active,
.chapter.alt.active{
  flex-basis:clamp(680px,58vw,920px);
  width:clamp(680px,58vw,920px);
  display:grid;
  grid-template-columns:minmax(220px,31%) minmax(0,69%);
  opacity:1;
  transform:scale(1);
  box-shadow:0 22px 46px rgba(23,21,19,.13);
  cursor:default;
}
.chapter-copy,
.chapter.alt .chapter-copy,
.chapter.chapter--portrait .chapter-copy,
.chapter.alt.chapter--portrait .chapter-copy{
  order:2;
  padding:24px 24px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-self:auto;
  min-width:0;
}
.chapter-copy .caps{font-family:var(--serif);font-size:.78rem;letter-spacing:.05em;text-transform:none;color:var(--ink)}
.chapter-copy h2{
  font-family:var(--serif);
  font-size:clamp(1.25rem,1.6vw,1.8rem);
  line-height:1.05;
  margin:11px 0 10px;
  text-transform:uppercase;
  font-weight:400;
}
.chapter-copy p,
.chapter.chapter--portrait .chapter-copy p,
.chapter.alt.chapter--portrait .chapter-copy p{
  margin:0;
  font-family:var(--serif);
  font-size:.82rem;
  line-height:1.55;
  max-width:260px;
  color:var(--muted);
}
.chapter-image,
.chapter.alt .chapter-image,
.chapter.chapter--portrait .chapter-image,
.chapter.alt.chapter--portrait .chapter-image{
  order:1;
  height:61%;
  min-height:0;
  padding:0;
  overflow:hidden;
  display:block;
  background:#eeeae3;
}
.chapter-image img,
.chapter.chapter--portrait .chapter-image img,
.chapter.alt.chapter--portrait .chapter-image img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  box-shadow:none;
}
.chapter.active .chapter-copy,
.chapter.alt.active .chapter-copy,
.chapter.active.chapter--portrait .chapter-copy,
.chapter.alt.active.chapter--portrait .chapter-copy{
  order:1;
  padding:54px 38px 40px;
  justify-content:center;
}
.chapter.active .chapter-copy h2,
.chapter.alt.active .chapter-copy h2{
  font-size:clamp(1.55rem,2.2vw,2.3rem);
  margin:16px 0 18px;
}
.chapter.active .chapter-copy p,
.chapter.alt.active .chapter-copy p{font-size:.9rem;line-height:1.65;max-width:240px}
.chapter.active .chapter-image,
.chapter.alt.active .chapter-image,
.chapter.active.chapter--portrait .chapter-image,
.chapter.alt.active.chapter--portrait .chapter-image{
  order:2;
  height:100%;
  padding:0;
}
.chapter.active .chapter-image img,
.chapter.alt.active .chapter-image img,
.chapter.active.chapter--portrait .chapter-image img,
.chapter.alt.active.chapter--portrait .chapter-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.chapter-open{
  border:0;
  border-bottom:1px solid currentColor;
  background:none;
  padding:0 0 6px;
  margin-top:auto;
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.chapter.active .chapter-open{margin-top:38px}
.back-link{margin-top:16px;font-size:.52rem}
.chapter-controls{
  left:6vw;
  right:6vw;
  bottom:14px;
}
.chapter-dots{gap:28px;align-items:center}
.chapter-dots button{font-size:.58rem;min-width:22px;padding:9px 0}
.round{width:52px;height:52px;background:#fff;font-size:1.2rem}

@media(max-width:900px){
  body:has(.horizontal-shell) .topbar{height:76px;padding:0 20px}
  body:has(.horizontal-shell) .nav{gap:12px}
  body:has(.horizontal-shell) .outline{display:none}
  .story-intro{padding:24px 22px 24px}
  .horizontal-shell{height:640px;min-height:640px;overflow:hidden;padding-bottom:92px}
  .horizontal-track{display:flex;height:520px;transform:none;gap:12px;padding:0 16px}
  .chapter,.chapter.alt,
  .chapter.active,.chapter.alt.active{
    flex:0 0 calc(100vw - 52px);
    width:calc(100vw - 52px);
    height:520px;
    min-height:0;
    display:flex;
    flex-direction:column;
    transform:none;
  }
  .chapter.active .chapter-image,.chapter.alt.active .chapter-image,
  .chapter.active.chapter--portrait .chapter-image,.chapter.alt.active.chapter--portrait .chapter-image,
  .chapter-image,.chapter.alt .chapter-image,
  .chapter.chapter--portrait .chapter-image,.chapter.alt.chapter--portrait .chapter-image{
    order:1;
    height:62%;
    min-height:0;
    padding:0;
  }
  .chapter.active .chapter-copy,.chapter.alt.active .chapter-copy,
  .chapter.active.chapter--portrait .chapter-copy,.chapter.alt.active.chapter--portrait .chapter-copy,
  .chapter-copy,.chapter.alt .chapter-copy{
    order:2;
    padding:24px 22px 20px;
    justify-content:flex-start;
  }
  .chapter.active .chapter-copy h2,.chapter.alt.active .chapter-copy h2{font-size:1.6rem;margin:10px 0}
  .chapter.active .chapter-copy p,.chapter.alt.active .chapter-copy p{font-size:.84rem;line-height:1.5}
  .chapter.active .chapter-open{margin-top:auto}
  .chapter-controls{display:flex;left:18px;right:18px}
  .chapter-dots{gap:12px;max-width:55vw;overflow-x:auto}
  .round{width:44px;height:44px;flex:0 0 44px}
}

@media(max-width:520px){
  .story-intro h1{font-size:2.55rem}
  .story-intro p{font-size:.95rem}
}


/* Enquiry page */
.enquiry-page{background:#faf8f3;color:var(--ink);min-height:100vh}
.enquiry-topbar{position:relative;background:transparent;border-bottom:0;height:92px;padding:0 2.4vw}
.enquiry-topbar .nav{gap:40px}
.enquiry-topbar .outline{background:transparent;padding:14px 22px}
.enquiry-main{width:min(1460px,91vw);margin:0 auto;padding:30px 0 70px;display:grid;grid-template-columns:minmax(560px,1.05fr) minmax(430px,.82fr);column-gap:clamp(88px,8vw,138px);align-items:start}
.enquiry-copy{padding:10px 0 0 4.4vw;min-width:0}
.enquiry-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.4rem,5.55vw,6.55rem);line-height:.94;margin:0 0 26px;letter-spacing:-.035em;white-space:nowrap}
.enquiry-rule{display:block;width:34px;height:1px;background:var(--ink);margin-bottom:27px}
.enquiry-copy>p{font-family:var(--serif);font-size:1rem;line-height:1.62;color:#56514b;margin:0 0 34px}
.enquiry-form{width:min(100%,530px);display:grid;gap:16px}
.enquiry-form label{display:grid;gap:8px;font-size:.61rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.enquiry-form label span{font-weight:400}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #cbc5bc;background:rgba(255,255,255,.28);padding:11px 13px;font:400 .92rem/1.4 var(--sans);color:var(--ink);outline:none;border-radius:0;transition:border-color .25s,background .25s}
.enquiry-form input,.enquiry-form select{height:42px}
.enquiry-form textarea{resize:vertical;min-height:82px}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:#6f685e;background:#fff}
.enquiry-submit{margin-top:3px;height:48px;border:0;background:#171717;color:#fff;text-transform:uppercase;letter-spacing:.24em;font-size:.66rem;transition:background .25s,letter-spacing .25s}
.enquiry-submit:hover{background:#333;letter-spacing:.29em}
.enquiry-contact{text-align:center;width:min(100%,530px);color:#777067;font-family:var(--serif);font-size:.88rem;line-height:1.65;margin-top:12px}
.enquiry-contact a{color:#2b2926}
.enquiry-visual{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:30px;align-items:center;padding-top:0;min-width:0}
.enquiry-photo-frame{border:1px solid #d0cbc3;padding:10px;background:#fbfaf7;height:790px;overflow:hidden}
.enquiry-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:55% center}
.enquiry-vertical-text{height:790px;display:flex;flex-direction:column;align-items:center;justify-content:center;writing-mode:vertical-rl;text-transform:uppercase;font-size:.6rem;letter-spacing:.28em;gap:22px;white-space:nowrap}
.enquiry-vertical-text span{display:block;width:1px;height:76px;background:#79736c;margin-top:18px}
@media(max-width:1180px){.enquiry-main{width:min(1120px,94vw);grid-template-columns:minmax(500px,1fr) minmax(350px,.72fr);column-gap:64px}.enquiry-copy{padding-left:1.5vw}.enquiry-copy h1{font-size:clamp(3.9rem,5.3vw,5.7rem)}.enquiry-photo-frame,.enquiry-vertical-text{height:720px}}
@media(max-width:980px){.enquiry-topbar .nav a:not(.outline),.menu-label,.menu-lines{display:none}.enquiry-main{grid-template-columns:1fr;gap:55px;padding:28px 24px 60px;width:100%}.enquiry-copy{padding:0;max-width:680px;margin:0 auto;width:100%}.enquiry-copy h1{white-space:normal;font-size:clamp(3.4rem,11vw,5.8rem)}.enquiry-form,.enquiry-contact{max-width:none;width:100%}.enquiry-visual{max-width:620px;width:100%;margin:0 auto;grid-template-columns:minmax(0,1fr) 38px}.enquiry-photo-frame,.enquiry-vertical-text{height:760px}}
@media(max-width:620px){.enquiry-topbar{height:76px;padding:0 20px}.enquiry-topbar .outline{display:none}.enquiry-main{padding:20px 18px 46px}.enquiry-copy>p br{display:none}.enquiry-visual{grid-template-columns:1fr}.enquiry-photo-frame{height:620px;min-height:0;padding:7px}.enquiry-vertical-text{display:none}.enquiry-copy h1{font-size:3.5rem}.enquiry-form{gap:14px}}

/* Philosophy + About page */
.philosophy-page{position:relative;min-height:100vh;background:#f8f5ef;color:var(--ink);overflow-x:hidden}
.philosophy-page::before{content:"";position:fixed;inset:0;z-index:-2;background:url('assets/philosophy/alta-luxia-philosophy-beach-couple-perth-western-australia.webp') center center/cover no-repeat;opacity:.70}
.philosophy-page::after{content:"";position:fixed;inset:0;z-index:-1;background:rgba(248,245,239,.58)}
.philosophy-topbar{position:relative;background:rgba(248,245,239,.82);border-bottom:0}
.philosophy-topbar .nav a.active{border-bottom:1px solid var(--ink);padding-bottom:7px}
.philosophy-main{width:min(1320px,90vw);margin:0 auto;padding:76px 0 64px}
.philosophy-hero{max-width:700px;padding:24px 0 88px}
.philosophy-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.4rem,7.4vw,8.4rem);line-height:.9;letter-spacing:-.035em;margin:22px 0 28px}
.philosophy-rule{display:block;width:56px;height:1px;background:var(--ink);margin:24px 0}
.philosophy-hero p,.philosophy-copy-block p,.philosophy-intention p{font-family:var(--serif);font-size:1.03rem;line-height:1.8;color:#4f4a44}
.philosophy-hero p{max-width:650px;margin:0 0 18px}
.philosophy-grid{display:grid;grid-template-columns:72px minmax(280px,.85fr) minmax(360px,1.15fr);gap:clamp(36px,5vw,86px);align-items:start;padding:66px 0;border-top:1px solid rgba(23,21,19,.14)}
.philosophy-number{font-family:var(--serif);font-size:1.05rem}
.philosophy-copy-block h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,4vw,4.7rem);line-height:.98;letter-spacing:-.025em;margin:0}
.philosophy-copy-block p{max-width:540px;margin:0 0 18px}
.philosophy-copy-block--wide{max-width:640px}
.philosophy-grid--about{grid-template-columns:72px minmax(420px,1.3fr) minmax(260px,.7fr);align-items:end}
.philosophy-intention{border-left:1px solid rgba(23,21,19,.18);padding:12px 0 12px 42px;max-width:380px}
.philosophy-intention .caps{margin-bottom:22px}
.philosophy-cta{margin-top:34px;padding:90px 28px 96px;border-top:1px solid rgba(23,21,19,.14);text-align:center}
.philosophy-cta p{font-family:var(--serif);font-size:clamp(2.1rem,4.2vw,5rem);line-height:1.08;margin:0 auto 38px;max-width:940px}
.philosophy-cta .outline{display:inline-block;background:#171717;color:#fff;border-color:#171717;min-width:260px}
@media(max-width:980px){.philosophy-main{width:min(92vw,760px);padding-top:38px}.philosophy-hero{padding-bottom:58px}.philosophy-grid,.philosophy-grid--about{grid-template-columns:1fr;gap:24px;padding:52px 0}.philosophy-number{color:var(--muted)}.philosophy-intention{border-left:0;border-top:1px solid rgba(23,21,19,.18);padding:30px 0 0;max-width:none}.philosophy-topbar .nav a:not(.outline){display:none}}
@media(max-width:620px){.philosophy-page::before{background-position:58% center;opacity:.70}.philosophy-main{width:auto;padding:24px 20px 46px}.philosophy-hero h1{font-size:clamp(3.5rem,17vw,5.6rem)}.philosophy-copy-block h2{font-size:clamp(2.2rem,11vw,3.6rem)}.philosophy-cta{padding:70px 8px 76px}}


/* Stories page — shared Alta Luxia header, no left navigation column */
.portfolio-page .portfolio-sidebar,.portfolio-page .mobile-topbar{display:none!important}
.portfolio-page .portfolio-main{margin-left:0!important}
.portfolio-topbar{position:sticky;background:rgba(250,248,243,.94);border-bottom:1px solid var(--line)}
.portfolio-topbar .nav a.active{border-bottom:1px solid var(--ink);padding-bottom:7px}
@media(max-width:900px){
  .portfolio-topbar{height:76px;padding:0 20px}
  .portfolio-topbar .nav a:not(.outline){display:none}
  .portfolio-topbar .outline{display:none}
}

/* Alta Luxia social links */
.social-nav{display:inline-flex;align-items:center;gap:11px;margin-left:2px}
.social-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;opacity:.78;transition:opacity .25s ease,transform .25s ease}
.social-icon:hover{opacity:1;transform:translateY(-1px)}
.social-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.social-icon svg path{fill:currentColor;stroke:none}
.social-icon .social-fill{fill:currentColor;stroke:none}
@media(max-width:980px){.topbar .social-nav{display:none}.portfolio-topbar .social-nav{display:none}}


/* Professional Alta Luxia footer — V5 */
.site-footer{background:#f8f5f0;color:#191512;border-top:1px solid #e3ddd4;padding:86px 0 30px;text-align:center}
.site-footer__inner{width:min(1380px,calc(100% - 64px));margin:0 auto}
.site-footer__logo{display:block;width:min(720px,72vw);margin:0 auto 26px}
.site-footer__logo img{display:block;width:100%;height:auto;filter:contrast(1.08)}
.site-footer__location{margin:0 auto 48px;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:1rem;line-height:1.65;letter-spacing:.2em;text-transform:uppercase;color:#39332e}
.site-footer__location span{font-family:var(--sans,'Inter',Arial,sans-serif);font-size:.68rem;letter-spacing:.28em;color:#746d65}
.site-footer__nav{border-top:1px solid #dcd4ca;border-bottom:1px solid #dcd4ca;padding:23px 10px;display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap}
.site-footer__nav a{position:relative;padding:7px clamp(17px,2.2vw,34px);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transition:opacity .25s ease,transform .25s ease}
.site-footer__nav a:hover{opacity:.58;transform:translateY(-1px)}
.site-footer__nav a:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:#d8d0c6}
.site-footer__contact{min-height:108px;display:flex;align-items:center;justify-content:center;gap:clamp(22px,3.5vw,52px);padding:29px 0}
.site-footer__contact a{display:inline-flex;align-items:center;gap:12px;font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;transition:opacity .25s ease}
.site-footer__contact a:hover{opacity:.58}
.site-footer__contact svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.35}
.site-footer__contact svg .fill{fill:currentColor;stroke:none}
.site-footer__social+ .site-footer__social{margin-left:-18px}
.site-footer__divider{width:1px;height:48px;background:#d8d0c6}
.site-footer__seo{max-width:980px;margin:0 auto;padding:22px 20px;border-top:1px solid #dcd4ca;color:#746d65;font-size:.72rem;line-height:1.75;letter-spacing:.075em}
.site-footer__bottom{display:flex;justify-content:center;gap:14px;padding-top:19px;border-top:1px solid #e6dfd6;color:#837b72;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}
.site-footer__bottom span+span::before{content:"•";margin-right:14px}
@media(max-width:900px){.site-footer{padding-top:66px}.site-footer__inner{width:min(100% - 36px,760px)}.site-footer__logo{width:min(590px,84vw)}.site-footer__nav a{padding:9px 18px}.site-footer__nav a::after{display:none}.site-footer__contact{flex-wrap:wrap;gap:22px 30px}.site-footer__divider{display:none}.site-footer__social+ .site-footer__social{margin-left:0}}
@media(max-width:620px){.site-footer{padding:52px 0 25px}.site-footer__inner{width:calc(100% - 28px)}.site-footer__logo{width:92vw;margin-bottom:20px}.site-footer__location{font-size:.83rem;letter-spacing:.14em;margin-bottom:34px}.site-footer__nav{display:grid;grid-template-columns:1fr 1fr;padding:18px 0}.site-footer__nav a{padding:10px 5px;font-size:.61rem;white-space:normal}.site-footer__contact{flex-direction:column;padding:27px 0}.site-footer__contact-link span{font-size:.61rem;letter-spacing:.1em}.site-footer__seo{font-size:.66rem;padding:20px 8px}.site-footer__bottom{flex-direction:column;gap:7px}.site-footer__bottom span+span::before{display:none}}


/* V6 updates */
.menu-label,.menu-lines{display:none!important}
.philosophy-copy-block--with-photo{display:grid;grid-template-columns:minmax(220px,320px) minmax(280px,1fr);gap:34px;align-items:start;max-width:980px}
.philosophy-about-photo{margin:0;overflow:hidden;background:#e9e1d7;box-shadow:0 18px 40px rgba(0,0,0,.06)}
.philosophy-about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.philosophy-about-text{min-width:0}
.experience-price{margin:24px 0 0;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#8a8177}
.experience-price strong{display:block;margin-top:8px;font-family:var(--serif);font-size:clamp(2rem,3.3vw,3rem);font-weight:400;letter-spacing:-.02em;color:var(--ink);text-transform:none}
.site-footer{background:#f7f3ed}
.site-footer__logo{width:min(620px,66vw);margin-bottom:30px}
.site-footer__logo img{filter:contrast(1.12) saturate(1.02)}
@media(max-width:980px){.philosophy-copy-block--with-photo{grid-template-columns:1fr}.philosophy-about-photo{max-width:430px}}


/* V10 — use the official Alta Luxia logo in every header */
.brand-logo{display:flex!important;align-items:center;flex:0 0 auto;width:clamp(150px,14vw,220px);line-height:0}
.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
.topbar .brand-logo img{filter:none}
@media(max-width:980px){.brand-logo{width:clamp(138px,36vw,185px)}}


/* V12 — mobile and iPad navigation + responsive polish */
html,body{max-width:100%;overflow-x:hidden}
.mobile-menu-toggle,.mobile-drawer{display:none}
@media(max-width:1100px){
  .topbar{height:76px;padding:0 22px;gap:14px}
  .topbar>.nav{display:none!important}
  .brand-logo{width:clamp(148px,24vw,205px)!important;position:relative;z-index:102}
  .mobile-menu-toggle{display:flex;margin-left:auto;width:48px;height:48px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:7px;position:relative;z-index:102;padding:0}
  .mobile-menu-toggle span{width:25px;height:1px;background:currentColor;display:block}
  .mobile-drawer{display:flex;position:fixed;inset:0;z-index:101;background:rgba(247,244,238,.985);padding:110px 28px 38px;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease,visibility .3s}
  .mobile-drawer.open{opacity:1;visibility:visible;transform:none}
  .mobile-drawer-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border:0;background:transparent;font-family:var(--serif);font-size:2.3rem;font-weight:300;line-height:1}
  .mobile-drawer-nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
  .mobile-drawer-nav a{display:flex;align-items:center;min-height:62px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(1.55rem,4vw,2.2rem);line-height:1.1}
  .mobile-drawer-nav .mobile-drawer-cta{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-top:28px;border:1px solid var(--ink);justify-content:center;min-height:54px}
  .mobile-drawer-social{margin-top:auto;display:flex;gap:30px;padding-top:34px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
  body.menu-open{overflow:hidden}
  .overview{padding-left:24px;padding-right:24px}
  .site-footer__logo{width:min(560px,86vw)}
}
@media(min-width:700px) and (max-width:1100px){
  .mobile-drawer{padding:130px max(7vw,52px) 52px}
  .mobile-drawer-nav{max-width:760px;width:100%;margin:0 auto}
  .mobile-drawer-social{max-width:760px;width:100%;margin-left:auto;margin-right:auto}
  .story-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(360px,52vw)}
  .story-card:nth-child(2){grid-row:span 1}
  .story-card:nth-child(3){grid-column:auto}
  .chapter .chapter-image,.chapter.alt .chapter-image{min-height:62vh}
  .chapter .chapter-copy,.chapter.alt .chapter-copy{padding:42px 8vw 88px}
  .feature-hero{height:64vh}
  .feature-editorial,.feature-editorial--reverse{padding-left:6vw;padding-right:6vw}
}
@media(max-width:699px){
  .topbar{padding:0 16px;height:70px}
  .brand-logo{width:min(47vw,172px)!important}
  .mobile-drawer{padding:94px 20px 28px}
  .mobile-drawer-nav a{min-height:57px;font-size:1.65rem}
  .story-card,.story-card:nth-child(2),.story-card:nth-child(3){min-height:72vw}
  .story-copy{left:20px;right:20px;bottom:20px}
  .story-copy h2{font-size:2.15rem}
  .story-copy p{font-size:.74rem}
  .chapter .chapter-image,.chapter.alt .chapter-image{padding:12px 12px 0;min-height:auto}
  .chapter .chapter-copy,.chapter.alt .chapter-copy{padding:28px 20px 68px}
  .chapter-copy h2{font-size:clamp(2.55rem,14vw,4rem)}
  .feature-hero{height:62vh;min-height:410px}
  .site-footer__logo{width:92vw}
  .site-footer__contact a{min-height:44px}
  .outline,.text-link,.back-link{min-height:44px;display:inline-flex;align-items:center}
}

/* V12.4 — reliable tablet/mobile navigation and album carousel */
@media (max-width:1100px){
  html.menu-open,body.menu-open{overflow:hidden!important;touch-action:none}
  .mobile-menu-toggle{z-index:1002!important}
  .mobile-menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}
  .mobile-menu-toggle.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .mobile-menu-toggle span{transition:transform .25s ease}
  .mobile-drawer{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100svh!important;
    z-index:1001!important;
    background:#f7f4ee!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .mobile-drawer-close{z-index:2}

  body:has(.horizontal-shell) .topbar{position:sticky;top:0;z-index:1000}
  .story-intro{overflow:hidden;padding-left:22px;padding-right:22px}
  .story-intro h1,.story-intro p{max-width:100%;overflow-wrap:anywhere}
  .horizontal-shell{
    width:100%;
    height:auto!important;
    min-height:0!important;
    padding:0 0 82px!important;
    overflow:hidden!important;
  }
  .horizontal-track{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    align-items:stretch!important;
    gap:0!important;
    padding:0!important;
    transform:translate3d(0,0,0);
    transition:transform .55s cubic-bezier(.22,.74,.23,1)!important;
  }
  .chapter,.chapter.alt,
  .chapter.active,.chapter.alt.active,
  .chapter.chapter--portrait,.chapter.alt.chapter--portrait{
    flex:0 0 auto;
    width:auto;
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:0!important;
    border:0!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    overflow:hidden!important;
    background:#fbfaf7!important;
  }
  .chapter-image,.chapter.alt .chapter-image,
  .chapter.active .chapter-image,.chapter.alt.active .chapter-image,
  .chapter.chapter--portrait .chapter-image,.chapter.alt.chapter--portrait .chapter-image,
  .chapter.active.chapter--portrait .chapter-image,.chapter.alt.active.chapter--portrait .chapter-image{
    order:1!important;
    width:100%!important;
    height:clamp(420px,68vh,720px)!important;
    min-height:0!important;
    padding:16px 20px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#f1eee8!important;
  }
  .chapter-image img,.chapter.alt .chapter-image img,
  .chapter.active .chapter-image img,.chapter.alt.active .chapter-image img,
  .chapter.chapter--portrait .chapter-image img,.chapter.alt.chapter--portrait .chapter-image img,
  .chapter.active.chapter--portrait .chapter-image img,.chapter.alt.active.chapter--portrait .chapter-image img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .chapter-copy,.chapter.alt .chapter-copy,
  .chapter.active .chapter-copy,.chapter.alt.active .chapter-copy,
  .chapter.chapter--portrait .chapter-copy,.chapter.alt.chapter--portrait .chapter-copy,
  .chapter.active.chapter--portrait .chapter-copy,.chapter.alt.active.chapter--portrait .chapter-copy{
    order:2!important;
    width:100%!important;
    padding:24px 22px 28px!important;
    justify-content:flex-start!important;
  }
  .chapter-copy h2,.chapter.active .chapter-copy h2,.chapter.alt.active .chapter-copy h2{
    font-size:clamp(1.8rem,6vw,2.6rem)!important;
    margin:10px 0 12px!important;
  }
  .chapter-copy p,.chapter.active .chapter-copy p,.chapter.alt.active .chapter-copy p{
    max-width:620px!important;
    font-size:.92rem!important;
    line-height:1.6!important;
  }
  .chapter-open{display:none!important}
  .chapter-controls{
    position:absolute!important;
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    display:flex!important;
    z-index:10!important;
  }
  .chapter-dots{max-width:calc(100vw - 150px)!important;overflow-x:auto!important;scrollbar-width:none}
  .chapter-dots::-webkit-scrollbar{display:none}
}
@media (max-width:600px){
  .story-intro{padding-top:20px;padding-bottom:20px}
  .story-intro h1{font-size:clamp(2.35rem,12vw,3.2rem)!important}
  .story-intro p{font-size:.92rem!important;line-height:1.5!important}
  .chapter-image,.chapter.alt .chapter-image,
  .chapter.active .chapter-image,.chapter.alt.active .chapter-image{
    height:clamp(360px,62vh,560px)!important;
    padding:10px 12px 0!important;
  }
  .chapter-copy,.chapter.alt .chapter-copy,
  .chapter.active .chapter-copy,.chapter.alt.active .chapter-copy{padding:20px 18px 24px!important}
}

/* V12.5 — mobile/tablet album reliability */
@media (max-width:1100px){
  .vertical-note{display:none!important}
  .horizontal-shell{overflow:hidden!important}
  .horizontal-track{display:flex!important;will-change:transform}
  .chapter,.chapter.alt,.chapter.active,.chapter.alt.active{flex-shrink:0!important}
}

/* V12.10 — mobile/tablet album arrows beside the photograph */
@media (max-width:1100px){
  body:has(.horizontal-shell) .chapter-dots{
    display:none!important;
  }
  body:has(.horizontal-shell) .chapter-controls{
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    top:clamp(210px,34vh,360px)!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    pointer-events:none!important;
    z-index:20!important;
  }
  body:has(.horizontal-shell) .chapter-controls .round{
    pointer-events:auto!important;
    width:46px!important;
    height:46px!important;
    flex:0 0 46px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(23,21,19,.28)!important;
    background:rgba(251,250,247,.88)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    box-shadow:0 8px 22px rgba(23,21,19,.10)!important;
    font-size:1.05rem!important;
  }
}
@media (max-width:600px){
  body:has(.horizontal-shell) .chapter-controls{
    left:8px!important;
    right:8px!important;
    top:clamp(180px,31vh,280px)!important;
  }
  body:has(.horizontal-shell) .chapter-controls .round{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
}

@media (max-width:1100px){
  body:has(.horizontal-shell) .chapter-controls .round.is-edge-hidden{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* V12.13 — enquiry form submission states */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:1.5em;margin:12px 0 0;font-family:var(--serif);font-size:.9rem;line-height:1.5;color:#56514b}
.form-status.success{color:#315c43}.form-status.error{color:#8b3028}
.enquiry-submit:disabled{cursor:wait;opacity:.62}
