/* Full-width chapters, each with its own light, scale and reading space. */
body[data-page=home]{--chapter-gutter:max(6vw,calc((100% - 1380px)/2))}
body[data-page=home] .site-shell{max-width:none;padding:0}
body[data-page=home] .site-header,body[data-page=home] .site-footer{padding-inline:var(--chapter-gutter)}
body[data-page=home] .hero{padding:clamp(48px,8vh,110px) var(--chapter-gutter);min-height:calc(100svh - 106px);gap:clamp(32px,6vw,100px);overflow:hidden}
body[data-page=home] .hero h1{font-size:clamp(48px,5.2vw,80px)}
body[data-page=home] .index-strip{margin:0;padding:28px var(--chapter-gutter);border-top:1px solid var(--line);border-bottom:0;background:#efefe5}
body[data-page=home] .home-chapter{margin:0;border:0;min-height:100svh;padding:clamp(50px,8svh,110px) var(--chapter-gutter);scroll-margin-top:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,5svh,64px);color:var(--ink);background:var(--chapter-bg);overflow:clip}
body[data-page=home] .home-chapter .section-heading{margin:0;align-items:flex-end;gap:30px}
body[data-page=home] .home-chapter .section-heading h2{font:clamp(38px,4.3vw,66px)/1.3 var(--serif);letter-spacing:1px}
body[data-page=home] .home-chapter .section-heading p{margin-top:18px;font-size:14px;color:var(--muted)}
body[data-page=home] .home-chapter .text-link{font-size:14px}
body[data-page=home] .home-travel{--chapter-bg:#e3ebe7;--muted:#52685f;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:7vw}
body[data-page=home] .home-travel>img,body[data-page=home] .home-travel .travel-reveal-image img{height:clamp(390px,65svh,820px);border-radius:0;object-position:50% 50%}
body[data-page=home] .home-travel .travel-reveal-image{border-radius:0}
body[data-page=home] .home-travel h2{font-size:clamp(38px,4vw,64px);line-height:1.45;margin:22px 0}
body[data-page=home] .home-travel p{font-size:15px;max-width:450px;line-height:2.1;margin-bottom:28px}
body[data-page=home] .home-writing{--chapter-bg:#eee7dc;--muted:#676358;--line:#cfc5b4}
body[data-page=home] .home-writing .writing-feature{grid-template-columns:1.06fr 1fr;gap:clamp(35px,5vw,80px)}
body[data-page=home] .home-writing .featured-article>img{height:clamp(330px,49svh,610px)}
body[data-page=home] .home-writing .featured-copy strong{font-size:clamp(24px,2.5vw,38px)}
body[data-page=home] .home-writing .featured-list{display:flex;flex-direction:column;justify-content:space-between}
body[data-page=home] .home-writing .article-copy strong{font-size:clamp(20px,1.8vw,27px)}
body[data-page=home] .home-writing .article-copy>span{font-size:13px;line-height:1.9}
body[data-page=home] .home-photography{--chapter-bg:#1c2325;--ink:#f2f1e9;--muted:#bac5c3;--green:#d6e3d4;--line:#ffffff2c}
body[data-page=home] .home-photo-grid{grid-template-columns:1.15fr .9fr 1.15fr;gap:clamp(20px,3vw,45px);align-items:start}
body[data-page=home] .home-photo-grid .photo-open{height:clamp(290px,46svh,580px);border-radius:0}
body[data-page=home] .home-photo-grid figure:nth-child(2){padding-top:40px}
body[data-page=home] .home-photo-grid figure:nth-child(2) .photo-open{height:clamp(300px,46svh,580px)}
body[data-page=home] .home-photo-grid figcaption{font-size:14px;padding-top:18px}
body[data-page=home] .home-photo-grid figcaption small{color:#bac5c3}
body[data-page=home] .home-projects{--chapter-bg:#172e3b;--ink:#edf3f3;--muted:#b5c5cb;--green:#d4e6db;--line:#ffffff30}
body[data-page=home] .home-projects .project-grid{gap:clamp(20px,3vw,45px);margin:0}
body[data-page=home] .home-projects .project-art{height:clamp(250px,40svh,490px);border-radius:0}
body[data-page=home] .home-projects .project-info{padding-top:24px}
body[data-page=home] .home-projects .project-title h3{font-size:clamp(23px,2.2vw,32px)}
body[data-page=home] .home-projects .project-info p{color:#b5c5cb;font-size:14px}
body[data-page=home] .home-projects .tags{margin-top:20px}
body[data-page=home] .home-projects .tag,body[data-page=home] .home-projects .demo-label{color:#c9d8db;border-color:#ffffff32;background:transparent}
body[data-page=home] .home-collection{--chapter-bg:#e8e5d9;--muted:#686759}
body[data-page=home] .home-collection .collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:clamp(22px,4vw,65px)}
body[data-page=home] .home-collection .collection-visual{height:clamp(280px,42svh,520px);background:#f5f1e7;border-radius:0}
body[data-page=home] .home-collection .collection-info h3{font-size:25px}
body[data-page=home] .home-collection .collection-visual>span{scale:1.15}
body[data-page=home] .home-timeline{--chapter-bg:#e4ecf0;--muted:#5d6f79;--line:#b3c2c8}
.home-timeline-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw;border-top:1px solid #9eafb7;margin-top:50px}
.home-timeline-list article{position:relative;padding-top:40px}
.home-timeline-list article:before{content:'';position:absolute;top:-5px;width:9px;height:9px;background:#395e6e;border-radius:50%}
.home-timeline-list time{display:block;font:clamp(46px,6vw,90px)/1.1 Georgia,serif;letter-spacing:-2px;color:#33515e}
.home-timeline-list time span{display:block;font:13px var(--sans);letter-spacing:0;margin-top:16px;color:#5d6f79}
.home-timeline-list h3{font:clamp(23px,2.1vw,31px)/1.5 var(--serif);margin:32px 0 16px}
.home-timeline-list p{font-size:14px;line-height:2;color:#5d6f79;max-width:360px}
.chapter-note{font-size:11px;color:var(--muted);margin-top:25px}
body[data-page=home] .site-footer{margin-top:0;padding-top:65px;background:#f7f5ef}
@media(min-width:1600px){body[data-page=home] .hero-visual{scale:1.12}}
@media(max-width:1000px){body[data-page=home]{--chapter-gutter:5vw}body[data-page=home] .home-travel{gap:5vw;grid-template-columns:1.1fr 1fr}body[data-page=home] .home-photo-grid figcaption small{display:none}}
@media(max-width:800px){
 body[data-page=home]{--chapter-gutter:6vw}
 body[data-page=home] .site-header{padding-inline:var(--chapter-gutter)}
 body[data-page=home] .hero{min-height:auto;padding-block:48px 60px}
 body[data-page=home] .hero h1{font-size:clamp(44px,8vw,64px)}
 body[data-page=home] .index-strip{padding-block:25px}
 body[data-page=home] .home-chapter{min-height:auto;padding-block:65px;gap:32px}
 body[data-page=home] .home-chapter .section-heading{align-items:flex-start;flex-direction:column;gap:16px}
 body[data-page=home] .home-chapter .section-heading h2{font-size:clamp(32px,6vw,46px)}
 body[data-page=home] .home-chapter .section-heading p{font-size:13px;margin-top:13px}
 body[data-page=home] .home-travel{display:flex;gap:32px;align-items:stretch}
 body[data-page=home] .home-travel>img,body[data-page=home] .home-travel .travel-reveal-image img{height:clamp(280px,46svh,540px)}
 body[data-page=home] .home-travel h2{font-size:36px;margin:16px 0}
 body[data-page=home] .home-travel p{font-size:14px}
 body[data-page=home] .home-writing .writing-feature{grid-template-columns:1fr;gap:25px}
 body[data-page=home] .home-writing .featured-article>img{height:330px}
 body[data-page=home] .home-photo-grid{grid-template-columns:1fr;gap:35px}
 body[data-page=home] .home-photo-grid figure:nth-child(2){padding-top:0}
 body[data-page=home] .home-photo-grid figure:nth-child(3){display:block}
 body[data-page=home] .home-photo-grid .photo-open,body[data-page=home] .home-photo-grid figure:nth-child(2) .photo-open{height:clamp(310px,54svh,540px)}
 body[data-page=home] .home-photo-grid figcaption small{display:block}
 body[data-page=home] .home-projects .project-grid{grid-template-columns:1fr;gap:48px}
 body[data-page=home] .home-projects .project-art{height:300px}
 body[data-page=home] .home-collection .collection-grid{grid-template-columns:1fr;gap:38px}
 body[data-page=home] .home-collection .collection-visual{height:320px}
 .home-timeline-list{grid-template-columns:1fr;border-top:0;border-left:1px solid #9eafb7;margin-top:10px;gap:40px;padding-left:28px}
 .home-timeline-list article{padding:0}.home-timeline-list article:before{top:18px;left:-33px}
 .home-timeline-list time{font-size:60px}.home-timeline-list h3{margin-top:20px}.chapter-note{margin:0}
}
html:has(body[data-page=home]){scroll-padding-top:0}
body[data-page=home] .home-projects .project-art{--green:#2d4d3c;--ink:#242923;--muted:#687163;color:#242923}
/* One sticky viewport; real sections stay in a single DOM tree. */
.chapter-track{position:relative}.chapter-stage{position:relative}.stage-definitions{position:absolute;pointer-events:none}
.whole-chapter-cover{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;display:none}
.whole-stage-ready.motion-enabled .whole-chapter-cover:not([hidden]){display:block}
body[data-page=home] .home-chapter{position:relative}
.stage-controls{display:none}
.stage-pinned .chapter-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#e3ebe7;isolation:isolate}
.stage-pinned body[data-page=home] .chapter-stage>.home-chapter{position:absolute;inset:0;width:100%;height:100vh;min-height:0;visibility:hidden;pointer-events:none;overflow:hidden;padding-block:clamp(38px,6vh,80px)}
.stage-pinned body[data-page=home] .chapter-stage>.home-chapter.stage-layer{visibility:visible}
.stage-pinned body[data-page=home] .chapter-stage>.home-chapter:not([inert]){pointer-events:auto}
.stage-pinned .stage-controls{position:absolute;z-index:20;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;padding:9px 15px;background:#f7f5efeb;color:#304a40;border:1px solid #8faaa64a;border-radius:30px;box-shadow:0 5px 24px #10282014;font-size:11px;white-space:nowrap}
.stage-reading{min-width:108px}.stage-reading b{font-weight:500}.stage-dots{display:flex;gap:1px}.stage-dots button{width:25px;height:25px;display:grid;place-items:center;padding:0}.stage-dots span{width:5px;height:5px;border-radius:50%;background:#a6b5aa;transition:width .15s}.stage-dots [aria-current=step] span{width:17px;border-radius:4px;background:#355b4a}
.stage-controls .stage-expand{padding-left:12px;border-left:1px solid #c3cdc5;color:#667d6f}
@media(prefers-reduced-motion:reduce){.whole-chapter-cover{display:none!important}}
/* Give text enough space above the compact stage controls. */
.stage-pinned body[data-page=home] .home-chapter .section-heading h2{font-size:clamp(36px,4vw,60px)}
.stage-pinned body[data-page=home] .home-photo-grid .photo-open,.stage-pinned body[data-page=home] .home-photo-grid figure:nth-child(2) .photo-open{height:clamp(250px,41vh,530px)}
.stage-pinned body[data-page=home] .home-projects .project-art{height:clamp(225px,36vh,450px)}
.stage-pinned body[data-page=home] .home-collection .collection-visual{height:clamp(245px,38vh,480px)}
.stage-pinned body[data-page=home] .home-timeline-list{margin-top:24px}
.stage-resume{display:none}.stage-expanded .stage-resume{display:block;margin:20px auto;padding:10px 22px;border:1px solid #a6b8ac;border-radius:24px;background:#f7f5ef;color:#355b4a;font-size:13px}@media(max-width:1000px),(max-height:649px){.stage-resume{display:none!important}}
