/* Local art-direction preview: restrained movement, readable content, native scrolling. */
html { scroll-padding-top: 120px; }
.header { position: sticky; top: 0; z-index: 40; background: #161512; isolation: isolate; }
.header:before { content: ''; position: absolute; inset: 0; left: 50%; width: 100%; transform: translateX(-50%); background: #161512; box-shadow: 0 0 0 100vmax #161512; clip-path: inset(0 -100vmax); z-index: -1; pointer-events: none; }
.signature-hero { grid-template-columns: 1fr 1fr; gap: 7%; padding-block: 48px 64px; align-items: center; }
.signature-intro h1 { font-size: clamp(64px, 6.8vw, 108px); line-height: .98; letter-spacing: -.045em; }
.signature-intro .signature-copy { max-width: 29ch; margin-top: 28px; }
.editorial-photo { position: relative; margin: 0; overflow: hidden; background: #302e28; isolation: isolate; }
.editorial-photo img { width: 100%; height: 112%; position: absolute; top: -6%; object-fit: cover; transform: translate3d(0,var(--photo-shift,0px),0); }
.hero-photo { height: clamp(440px, 44vw, 660px); border-radius: 42% 42% 0 0; }
.hero-photo img { object-position: center 72%; }
.editorial-photo figcaption { position: absolute; inset: auto 0 0; padding: 60px 28px 22px; color: #fff6e9; background: linear-gradient(transparent,#15130ee6); font-size: 20px; }
.hero-photo figcaption { display: flex; flex-direction: column; gap: 3px; }
.hero-photo figcaption span:last-child { font-size: 14px; letter-spacing: .07em; }
.studio-ribbon { overflow: hidden; border-block: 1px solid var(--line); padding: 28px 0 35px; text-align: center; }
.studio-ribbon>span { display: inline-block; white-space: nowrap; font-size: clamp(52px, 9vw, 144px); line-height: 1.1; letter-spacing: -.035em; transform: translate3d(var(--ribbon-shift,0px),0,0); }
.studio-ribbon i { color: var(--accent); font-style: normal; }
.comparison-section { display: grid; grid-template-columns: .7fr 1.3fr; gap: 7%; align-items: center; padding-block: 100px; }
.comparison-intro h2 { font-size: clamp(38px,4.3vw,66px); margin-block: 24px; }
.comparison-intro>p:last-child { color: var(--muted); max-width: 28ch; }
.comparison-section .signature-lab { min-width: 0; }
.light-story { position: relative; overflow: hidden; isolation: isolate; min-height: 560px; display: flex; align-items: center; margin-block: 20px 35px; color: #fff8ec; background: #282a24; }
.light-story>img { position: absolute; top: -8%; width: 100%; height: 116%; object-fit: cover; object-position: center 32%; z-index: -2; transform: translate3d(0,var(--photo-shift,0px),0); }
.light-story:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#151611e8,#15161173 65%,#15161120); }
.light-story-copy { padding-block: 70px; }
.light-story h2 { font-size: clamp(50px,6.5vw,94px); line-height: 1.02; margin: 25px 0; }
.light-story .eyebrow { color: #e6cda4; }
.light-story-copy>p:last-child { font-size: 24px; }
.image-credit { position: absolute; bottom: 18px; right: 28px; font-size: 13px; color: #fff; }
.image-credit a { text-decoration: underline; text-underline-offset: 3px; }
.about-photo { height: 400px; margin-block: 45px; }
.about-photo img { object-position: center 32%; }
.services-photo { height: 390px; margin: 0 auto 65px; }
.services-photo img { object-position: center 74%; }
.scroll-progress { position: fixed; inset: 0 0 auto; height: 2px; background: var(--accent); z-index: 90; transform-origin: left; transform: scaleX(var(--reading-progress,0)); pointer-events: none; }
.motion-toggle { position: fixed; bottom: 18px; right: 18px; z-index: 45; border: 1px solid #8f8065; background: #161512f5; color: #eee8dc; padding: 8px 13px; border-radius: 30px; font: 14px Georgia,serif; min-height: 40px; box-shadow: 0 3px 16px #0003; }
.motion-toggle:hover { background: #363025; }
.motion-toggle span { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #d0b88e; margin-right: 7px; }
.motion-toggle[aria-pressed=false] span { background: #938a7d; }
.motion-enabled .scroll-reveal { transition: opacity .8s ease, transform .95s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay,0ms); }
.motion-enabled .scroll-reveal:not(.is-revealed) { opacity: .12; transform: translateY(30px); }
.motion-enabled .scroll-reveal:focus-within { opacity: 1; transform: none; }
.motion-enabled .project-image .site-screen { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.motion-enabled .project-image:hover .site-screen { transform: translateY(-7px) scale(1.025); }
.motion-disabled [data-scroll-photo]>img, .motion-disabled [data-scroll-ribbon] { transform: none; }
.footer { padding-bottom: 68px; }
@media(max-width:1050px) { .comparison-section { grid-template-columns: 1fr; gap: 35px; } .comparison-intro>p:last-child { max-width: 50ch; } }
@media(max-width:760px) {
  html { scroll-padding-top: 100px; }
  .signature-hero { grid-template-columns: 1fr; padding-block: 35px 40px; gap: 34px; }
  .signature-intro h1 { font-size: clamp(57px,13vw,88px); }
  .signature-intro .signature-copy { font-size: 21px; }
  .hero-photo { height: 440px; width: 100%; }
  .editorial-photo figcaption { padding: 48px 22px 18px; }
  .studio-ribbon { padding-block: 22px 26px; }
  .studio-ribbon>span { font-size: 12vw; }
  .comparison-section { padding-block: 48px; gap: 28px; }
  .comparison-intro h2 { margin-block: 16px; }
  .light-story { min-height: 430px; margin-block: 12px 20px; }
  .light-story h2 { font-size: 52px; }
  .light-story-copy>p:last-child { font-size: 21px; }
  .image-credit { bottom: 14px; right: 20px; font-size: 12px; }
  .about-photo,.services-photo { height: 340px; }
  .motion-enabled .scroll-reveal:not(.is-revealed) { transform: translateY(18px); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .scroll-reveal, .project-image .site-screen { transition: none!important; transform: none!important; opacity: 1!important; }
  [data-scroll-photo]>img, [data-scroll-ribbon] { transform: none!important; }
}
