@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 200;
  font-stretch: normal;
  font-display: swap;
  src: url(roboto-200.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url(roboto-300.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(roboto-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(roboto-500.ttf) format('truetype');
}
:root{--paper:#faf9f6;--ink:#292d28;--muted:#71756c;--line:#a3ab96;--gutter:clamp(22px,4.8vw,88px);--header-height:88px;--ease:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #647450;outline-offset:6px}button{border:0;background:none}img{display:block;max-width:100%}figure,p,h1,h2{margin:0}::selection{background:#d4ddc8;color:#1e281b}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:14px}.skip:focus{top:12px}
.header{height:var(--header-height);padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;background:var(--paper);position:relative;z-index:5;gap:28px}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}.brand img{width:37px;height:32px;object-fit:contain}.brand span{font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;font-size:19px;letter-spacing:.01em;font-weight:400}.header nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px);font-size:13px}.header nav a,.header nav button{padding:14px 0;position:relative}.header nav a::after,.header nav button::after{content:"";position:absolute;left:0;right:100%;bottom:8px;border-bottom:1px solid;transition:right .3s}.header nav a:hover::after,.header nav button:hover::after{right:0}
.hero{height:calc(100svh - var(--header-height));min-height:570px;position:relative;overflow:clip;color:white;background:#3c4437}.hero-visual{position:absolute;inset:0;clip-path:inset(0);will-change:transform}.hero-slide{width:100%;height:100%;object-fit:cover;object-position:center 54%;position:absolute;inset:0;opacity:0;transition:opacity 2s ease}.hero-slide:first-child{object-position:center 53%}.hero-slide.is-active{opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,9,.36),rgba(8,14,7,.12) 40%,rgba(8,14,7,.27))}.hero-content{position:absolute;top:50%;translate:0 -50%;left:var(--gutter);right:var(--gutter);text-align:center;will-change:transform}.hero-eyebrow{font-size:11px;letter-spacing:.17em;margin-bottom:22px}.hero h1{font-size:clamp(66px,8.5vw,132px);line-height:1.08;letter-spacing:-.055em;font-weight:400}.hero-concept{font-size:clamp(19px,2vw,28px);line-height:1.55;letter-spacing:.015em;margin-top:23px;font-weight:400}.scroll-cue{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-size:12px;min-width:44px;padding:8px}.scroll-cue i{height:48px;width:1px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;inset:0;background:white;transform:translateY(-100%);animation:scroll-line 2.4s var(--ease) infinite}@keyframes scroll-line{0%{transform:translateY(-100%)}65%,100%{transform:translateY(100%)}}.hero-bottom{position:absolute;bottom:34px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}
.story{position:relative;max-width:1440px;margin:auto;padding:0 var(--gutter)}.story-intro{padding:110px 0 88px;text-align:center;position:relative}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.19em;color:var(--muted)}.opening{font-size:clamp(30px,3.1vw,47px);line-height:1.38;letter-spacing:-.035em;margin:24px 0}.intro-note{font-size:12px;color:var(--muted);letter-spacing:.06em}
.chapter{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto;gap:46px 24px;margin:0;padding:20px 0 100px;z-index:1;align-items:start}.story-thread{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.story-thread path{fill:none;stroke:#9da890;stroke-width:.9;stroke-linecap:round;vector-effect:non-scaling-stroke}.story-thread circle{fill:#9da890}.story-intro,.conclusion{position:relative;z-index:1}.chapter-copy{align-self:start;padding:6px 0 20px;max-width:370px;z-index:1;background:var(--paper)}.chapter-label{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px;letter-spacing:.08em;margin-bottom:26px}.chapter-label span{width:25px;height:25px;border:1px solid #b8beaf;border-radius:50%;display:grid;place-items:center;font-size:11px;letter-spacing:0}.chapter h2{font-size:clamp(26px,2.5vw,37px);line-height:1.35;letter-spacing:-.035em;font-weight:400;margin-bottom:24px;text-wrap:balance}.chapter-copy>p:not(.chapter-label){font-size:15px;line-height:1.85;max-width:335px;text-wrap:pretty}.chapter-copy>p+p{margin-top:10px}.photo{position:relative;min-width:0;align-self:start;z-index:2}.photo-open{display:block;width:100%;padding:0;overflow:hidden;position:relative}.photo-open::after{content:"+";position:absolute;right:12px;bottom:12px;width:28px;height:28px;display:grid;place-items:center;background:rgba(250,249,246,.88);color:#343c30;font-size:19px;opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s}.photo-open:hover::after,.photo-open:focus-visible::after{opacity:1;transform:none}.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.photo-open:hover img{transform:scale(1.025)}figcaption{font-size:12px;color:var(--muted);line-height:1.65;margin-top:12px;text-wrap:pretty;position:relative;z-index:3}.drawing img{object-fit:contain;background:white}

/* An editorial grid: captions participate in row height. No absolute image offsets. */
.chapter-one .chapter-copy{grid-column:2/6;grid-row:1;align-self:center}
.chapter-one .photo-a{grid-column:8/12;grid-row:1}.chapter-one .photo-a button{aspect-ratio:3/4}
.chapter-one .photo-b{grid-column:1/6;grid-row:2}.chapter-one .photo-b button{aspect-ratio:1.55}
.chapter-one .photo-c{grid-column:7/10;grid-row:2;margin-top:66px}.chapter-one .photo-c button{aspect-ratio:3/4}
.chapter-one .photo-d{grid-column:11/13;grid-row:2;margin-top:158px}.chapter-one .photo-d button{aspect-ratio:1.15}
.chapter-one .photo-e{grid-column:2/7;grid-row:3;margin-top:0}.chapter-one .photo-e button{aspect-ratio:1.5}
.chapter-two .chapter-copy{grid-column:8/12;grid-row:1;align-self:center}
.chapter-two .photo-a{grid-column:2/6;grid-row:1}.chapter-two .photo-a button{aspect-ratio:3/4}
.chapter-two .photo-b{grid-column:7/13;grid-row:2;margin-top:54px}.chapter-two .photo-b button{aspect-ratio:1.6}
.chapter-two .photo-c{grid-column:1/6;grid-row:2}.chapter-two .photo-c button{aspect-ratio:1.42}
.chapter-two .photo-d{grid-column:8/12;grid-row:3}.chapter-two .photo-d button{aspect-ratio:1.6}
.chapter-three .chapter-copy{grid-column:2/6;grid-row:1;align-self:center}
.chapter-three .photo-a{grid-column:8/12;grid-row:1}.chapter-three .photo-a button{aspect-ratio:3/4}
.chapter-three .photo-b{grid-column:1/6;grid-row:2}.chapter-three .photo-b button{aspect-ratio:1.6}
.chapter-three .photo-c{grid-column:9/12;grid-row:2;margin-top:72px}.chapter-three .photo-c button{aspect-ratio:3/4}
.chapter-three .photo-d{grid-column:3/7;grid-row:3}.chapter-three .photo-d button{aspect-ratio:1.1}
.conclusion{position:relative;text-align:center;padding:70px 0 100px}.conclusion h2{font-size:clamp(36px,4.6vw,65px);line-height:1.2;letter-spacing:-.045em;font-weight:400;margin:38px 0 26px}.conclusion>p{font-size:16px;line-height:1.8}.conclusion .conclusion-note{font-size:11px;color:var(--muted);margin-top:25px;letter-spacing:.04em}
.gallery-ribbon{overflow:hidden;background:#ddd;position:relative}.ribbon-track{display:flex;width:max-content;animation:ribbon 100s linear infinite;will-change:transform}.ribbon-track .ribbon-photo{width:clamp(230px,29vw,440px);height:clamp(240px,29vw,440px);padding:0;display:block;position:relative;flex-shrink:0}.ribbon-photo img{width:100%;height:100%;object-fit:cover}.ribbon-photo:hover img{filter:brightness(.93)}@keyframes ribbon{to{transform:translateX(-50%)}}.gallery-ribbon:focus-within .ribbon-track{animation-play-state:paused}.end-links{display:flex;justify-content:center;align-items:center;gap:55px;padding:42px var(--gutter);font-size:13px}.end-links a,.end-links button{padding:12px 0}.end-links span{margin-left:12px}.end-links a:hover,.end-links button:hover{color:#6c785b}
.lightbox{padding:0;border:0;max-width:none;width:100vw;height:100dvh;max-height:none;inset:0;margin:0;background:#11150f;color:#f7f7f1;overflow:hidden}.lightbox::backdrop{background:#11150f}.lightbox-toolbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font-size:13px}.lightbox-toolbar>span:first-child{letter-spacing:.07em}.close-button{font-size:30px;line-height:1;width:48px;height:48px;font-weight:400}.lightbox-body{height:calc(100dvh - 145px);display:grid;grid-template-columns:65px minmax(0,1fr) 65px;align-items:center}.lightbox-body img{width:100%;height:100%;object-fit:contain;min-height:0;max-height:100%}.photo-nav{font-size:40px;height:80px}.photo-nav:hover,.close-button:hover{opacity:.6}#photo-caption{font-size:13px;line-height:1.6;text-align:center;padding:18px 24px;color:#c5cabe}.contact-dialog{border:0;padding:65px;width:min(620px,calc(100vw - 36px));max-height:calc(100dvh - 36px);background:var(--paper);color:var(--ink)}.contact-dialog::backdrop{background:rgba(16,25,13,.5);backdrop-filter:blur(5px)}.contact-dialog .close-button{position:absolute;right:10px;top:10px}.contact-dialog h2{font-size:clamp(28px,4vw,40px);font-weight:400;line-height:1.3;letter-spacing:-.035em;margin:24px 0 32px}.contact-email{font-size:17px;border-bottom:1px solid #a0aa91;padding-bottom:5px;display:inline-block;max-width:100%;overflow-wrap:anywhere}.contact-phones{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;margin:24px 0}.address{font-size:13px;line-height:1.8;color:var(--muted)}.socials{display:flex;gap:24px;font-size:12px;margin-top:32px;flex-wrap:wrap}
.js .reveal{opacity:0;translate:0 22px;transition:opacity 1.1s var(--ease),translate 1.1s var(--ease)}.js .reveal.is-visible{opacity:1;translate:0 0}
@media(min-width:1600px){.hero-slide:first-child{object-position:center 57%}}
@media(max-width:1000px){:root{--header-height:78px}.brand span{font-size:16px}.header nav{gap:23px}.story{--gutter:35px}.chapter{gap:40px 18px;padding-bottom:80px}.chapter-copy{max-width:310px}.chapter h2{font-size:27px}.chapter-copy>p:not(.chapter-label){font-size:14px}.chapter-one .chapter-copy,.chapter-three .chapter-copy{grid-column:1/6}.chapter-two .chapter-copy{grid-column:7/13}.chapter-one .photo-e{grid-column:2/7}.chapter-three .photo-d{grid-column:2/7}.chapter-three .photo-d button{aspect-ratio:1.2}}
@media(max-width:650px){:root{--header-height:109px;--gutter:22px}.header{flex-direction:column;justify-content:center;gap:5px;padding-top:13px;padding-bottom:7px}.brand{gap:10px}.brand img{width:29px;height:25px}.brand span{font-size:17px}.header nav{font-size:12px;gap:31px}.header nav a,.header nav button{padding:9px 0;min-height:44px;display:flex;align-items:center}.hero{min-height:530px}.hero-content{top:48%}.hero-eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:20px}.hero h1{font-size:65px}.hero-concept{font-size:21px;line-height:1.6;margin-top:18px}.hero-slide:first-child{object-position:52% 50%}.hero-bottom{font-size:8px;letter-spacing:.055em;bottom:22px}.scroll-cue{bottom:40px;font-size:11px}.scroll-cue i{height:40px}.story{--gutter:22px}.story-intro{padding:70px 0 70px}.opening{font-size:29px;margin:20px 0}.intro-note{font-size:11px}.eyebrow{font-size:9px}.chapter{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;gap:0 14px;padding:30px 0 68px}.chapter-copy{grid-column:1/-1!important;grid-row:auto!important;width:100%;max-width:100%;padding:0 0 30px}.chapter-label{font-size:11px;margin-bottom:18px}.chapter h2{font-size:29px;line-height:1.35;margin-bottom:18px}.chapter-copy>p:not(.chapter-label){max-width:310px;font-size:14px;line-height:1.85}.photo{grid-row:auto!important;transform:none!important;align-self:start;margin-top:0}.photo figcaption{font-size:11px;line-height:1.65;margin-top:9px}.chapter .photo-a{grid-column:2/7;margin-top:7px}.chapter .photo-a button{aspect-ratio:4/5}.chapter-one .photo-b{grid-column:1/5;margin-top:31px}.chapter-one .photo-c{grid-column:5/7;margin-top:78px}.chapter-one .photo-c button{aspect-ratio:1/1.6}.chapter-one .photo-d{grid-column:3/7;margin-top:30px}.chapter-one .photo-e{grid-column:1/6;margin-top:32px}.chapter-two .photo-a{grid-column:1/6}.chapter-two .photo-b{grid-column:2/7;margin-top:30px}.chapter-two .photo-c{grid-column:1/6;margin-top:32px}.chapter-two .photo-d{grid-column:2/7;margin-top:32px}.chapter-three .photo-b{grid-column:1/6;margin-top:32px}.chapter-three .photo-c{grid-column:4/7;margin-top:34px}.chapter-three .photo-d{grid-column:1/5;margin-top:28px}.chapter-three .photo-d button{aspect-ratio:3/4}.conclusion{padding:70px 0 65px}.conclusion h2{font-size:40px;margin:33px 0 20px}.conclusion>p{font-size:15px}.conclusion .conclusion-note{font-size:10px;margin-top:22px}.ribbon-track .ribbon-photo{width:255px;height:280px}.end-links{padding:24px 22px;gap:25px;font-size:12px}.end-links span{margin-left:7px}.lightbox-toolbar{padding:0 16px;font-size:12px;height:65px}.lightbox-body{grid-template-columns:40px minmax(0,1fr) 40px;height:calc(100dvh - 145px)}.photo-nav{font-size:32px;width:40px}.contact-dialog{padding:50px 25px 35px}.contact-email{font-size:15px}.socials{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;translate:none}.hero-visual,.hero-content{transform:none!important}.ribbon-track{transform:none!important}.gallery-ribbon{overflow-x:auto}}

/* Desktop refinement. Mobile typography and scroll cue remain on the approved version. */
@media(min-width:651px){
  body{font-family:Roboto,Arial,Helvetica,sans-serif;font-weight:300;letter-spacing:.012em}
  .header nav{font-size:13px;font-weight:400;letter-spacing:.025em}
  .hero h1{font-weight:200;letter-spacing:-.025em}
  .hero-concept{font-weight:300;letter-spacing:.025em;line-height:1.55}
  .hero-eyebrow{font-weight:400;letter-spacing:.14em}
  .hero-bottom{font-weight:400;letter-spacing:.08em}
  .opening{font-weight:200;letter-spacing:-.015em;line-height:1.4}
  .chapter h2{font-weight:300;letter-spacing:0;line-height:1.38}
  .chapter-copy>p:not(.chapter-label){font-size:16px;font-weight:300;line-height:1.85;letter-spacing:.015em}
  .chapter-label{font-weight:400;letter-spacing:.06em}
  .chapter-label span{font-weight:300}
  .eyebrow{font-weight:400;letter-spacing:.16em}
  figcaption{font-size:12px;font-weight:300;line-height:1.7;color:#686f63;letter-spacing:.012em}
  .intro-note,.conclusion-note{font-weight:300;letter-spacing:.035em}
  .conclusion h2{font-weight:200;letter-spacing:-.015em}
  .conclusion>p{font-weight:300;letter-spacing:.015em}
  .contact-dialog h2{font-weight:300;letter-spacing:0}
  .end-links{font-weight:400;letter-spacing:.025em}
  .scroll-cue{font-weight:300;letter-spacing:.035em}
  .scroll-cue i{background:transparent}
  .scroll-cue i::after{background:white}
}

/* Full-bleed desktop opening. Photographs and story below remain original. */
.hero-category{display:none}
@media(min-width:651px){
  .header{position:absolute;top:0;left:0;right:0;background:transparent;color:#f8f6ef}
  .brand img{width:18.5px;height:16px;filter:invert(1)}
  .hero{height:100svh}
  .hero-eyebrow{display:none}
  .hero-bottom{align-items:flex-end}
  .hero-category{display:block;font-size:13px;font-weight:400;line-height:1.6;letter-spacing:.025em;color:rgba(248,246,239,.67);margin-bottom:9px}
  .hero-slide{filter:sepia(.1) saturate(.82) contrast(.94) brightness(1.025)}
  .hero-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(155deg,rgba(225,209,173,.10),rgba(95,120,103,.04) 65%,rgba(210,192,151,.08));mix-blend-mode:soft-light}
  .hero-shade{background:linear-gradient(0deg,rgba(15,23,16,.38),rgba(14,20,15,.10) 42%,rgba(12,20,15,.32))}
  .hero-shade::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.8'/%3E%3C/svg%3E")}
}

@media(min-width:651px){
  .hero-location>span{font-size:13px;font-weight:400;line-height:1.6;letter-spacing:.025em;color:rgba(248,246,239,.67)}
}

/* Desktop corner navigation stays with the reader. */
.next-project{display:none}
@media(min-width:651px){
  .header{position:fixed;z-index:8;pointer-events:none;transition:color .45s ease}
  .header .brand,.header .next-project{pointer-events:auto}
  .header .original-nav{display:none}
  .next-project{display:flex;align-items:center;gap:24px;font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;font-size:19px;font-weight:400;letter-spacing:.01em;white-space:nowrap;min-height:44px}
  .next-project i{display:block;position:relative;width:48px;height:1px;background:transparent;overflow:hidden;flex-shrink:0}
  .next-project i::after{content:"";position:absolute;inset:0;background:currentColor;transform:translateX(-100%);animation:next-project-line 2.4s var(--ease) infinite}
  @keyframes next-project-line{0%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
  .header.on-paper{color:var(--ink)}
  .header.on-paper .brand img{filter:none}
}
@media(min-width:651px) and (max-width:1000px){
  .next-project{font-size:16px;gap:16px}
  .next-project i{width:40px}
}

@media(min-width:651px){
  .header{color:#fff;mix-blend-mode:difference}
  .header.on-paper{color:#fff}
  .header.on-paper .brand img{filter:invert(1)}
}

@media(prefers-reduced-motion:reduce){.next-project i::after{transform:none}}

/* Quiet corner hierarchy: studio on the opening, next project throughout. */
@media(min-width:651px){
  .header{mix-blend-mode:normal;color:#fff}
  .header .brand{color:#fff;opacity:1;visibility:visible;transition:opacity .35s ease,visibility .35s ease}
  .header .brand img{filter:invert(1)}
  .header .next-project{font-family:Roboto,Arial,Helvetica,sans-serif;font-weight:200;letter-spacing:-.025em;color:#fff;transition:color .35s ease}
  .header.on-paper{color:#000}
  .header.on-paper .brand{opacity:0;visibility:hidden;pointer-events:none}
  .header.on-paper .next-project{color:#000;font-weight:200;letter-spacing:-.015em}
}

@media(min-width:651px){
 .conclusion h2{font-size:clamp(36px,3.8vw,54px);line-height:1.32;letter-spacing:-.015em;margin:38px 0 31px;font-weight:200}
 .closing-copy{max-width:650px;margin:0 auto}
 .closing-copy p{font-size:16px;font-weight:300;line-height:1.95;letter-spacing:.01em;margin:0;text-wrap:pretty}
 .closing-copy p+p{margin-top:22px}
 .conclusion .conclusion-note{font-size:12px;line-height:1.7;letter-spacing:.025em;margin:31px auto 0;color:var(--muted)}
}


/* Story photographs drift as complete frames, like the folded Works images. */
@media(min-width:651px){
 #story .chapter .photo:not(.drawing) .photo-open{--story-dx:3px;--story-dy:-6px;animation:story-photo-float 10s ease-in-out -2s infinite}
 #story .chapter .photo-b:not(.drawing) .photo-open{--story-dx:-4px;--story-dy:-7px;animation-duration:12s;animation-delay:-7s}
 #story .chapter .photo-c:not(.drawing) .photo-open{--story-dx:4px;--story-dy:-5px;animation-duration:11s;animation-delay:-4s}
 #story .chapter .photo-d:not(.drawing) .photo-open{--story-dx:-3px;--story-dy:-6px;animation-duration:13s;animation-delay:-9s}
 #story .chapter .photo-e:not(.drawing) .photo-open{--story-dx:3px;--story-dy:-7px;animation-duration:12s;animation-delay:-5s}
 #story .chapter-two .photo:not(.drawing) .photo-open{animation-delay:-8s}
 #story .chapter-three .photo:not(.drawing) .photo-open{animation-delay:-3s}
 body.modal-open #story .chapter .photo-open{animation-play-state:paused}
}
@keyframes story-photo-float{0%,100%{translate:0 0}50%{translate:var(--story-dx) var(--story-dy)}}
@media(prefers-reduced-motion:reduce){#story .chapter .photo .photo-open{animation:none;translate:none}}
