:root{--paper:#f5f3ed;--ink:#35382f;--muted:#777a70;--line:#d8d8cd;--accent:#9a654e;--serif:'Songti SC','STSong','SimSun',serif;--sans:'Microsoft YaHei','PingFang SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.header{max-width:1320px;margin:auto;padding:38px 44px;display:flex;align-items:center;justify-content:space-between}.identity{font-family:var(--serif);font-size:29px;letter-spacing:4px;display:flex;align-items:baseline;gap:17px}.identity span{font-family:Georgia,serif;font-size:12px;letter-spacing:2px}.header nav{display:flex;gap:35px;font-size:13px}.header nav a:hover,.text-link:hover{color:var(--accent)}main{max-width:1232px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);line-height:1.8}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h3{font-weight:400}.hero{padding:92px 0 85px}.hero h1{font-size:clamp(56px,6.9vw,94px);line-height:1.42;letter-spacing:3px;margin:34px 0 46px}.heart-word{position:relative}.heart-word svg{position:absolute;width:100%;height:15px;bottom:-6px;left:0;fill:none;stroke:var(--accent);stroke-width:1.8}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{line-height:2.1;font-size:16px;color:#686d61}.text-link{font-size:13px;display:inline-block;padding:10px 0;border-bottom:1px solid #aaa99d}.hero-bottom .text-link span{margin-left:45px}.section-line{border-top:1px solid var(--line);padding:24px 0 35px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px}.section-line span+span{font-size:10px;color:var(--muted)}.project{margin-bottom:108px}.project-art{height:580px;display:flex;align-items:center;justify-content:center;gap:6%;position:relative;overflow:hidden}.project-art img{height:85%;max-width:42%;object-fit:contain;box-shadow:0 12px 32px #00000012;transition:transform .6s ease}.project-art:hover img{transform:translateY(-7px)}.wan-art{background:#dfe5e2}.wild-art{background:#e7dfd5}.round-arrow{position:absolute;bottom:24px;right:24px;display:grid;place-items:center;width:46px;height:46px;border:1px solid #60675d55;border-radius:50%;background:#f5f3ede8;font-size:24px;transition:background .2s}.project-art:hover .round-arrow{background:var(--paper)}.project-caption{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;padding:30px 0 0}.project-caption h2{font-size:34px;line-height:1.5;margin-top:11px}.project-note{align-self:end}.project-note p{font-size:14px;line-height:1.95;color:#707367;margin-bottom:10px}.atom-art{background:#dee1d4;justify-content:space-around;padding:40px 80px}.atom-art img{max-width:40%;height:95%;box-shadow:none}.atom-title span{font-size:12px;letter-spacing:4px}.atom-title strong{display:block;font-family:var(--serif);font-weight:400;font-size:50px;line-height:1.6;margin:28px 0}.atom-title small{font-size:9px;letter-spacing:2px}.about{border-top:1px solid var(--line);padding:65px 0 70px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;margin:28px 0 60px}.about h2,.personal h2{font-size:38px;line-height:1.65}.about p{line-height:2;color:#6b7064;margin-bottom:22px}.about .lead{font-size:18px;color:var(--ink);margin-bottom:30px}.signature{font-family:var(--serif);font-size:27px;margin:35px 0}.signature span{font-family:var(--sans);font-size:11px;display:block;color:var(--muted);margin-top:10px}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:25px}.capabilities span{font-family:Georgia,serif;font-style:italic;color:var(--accent);font-size:16px}.capabilities h3{font-size:19px;margin:17px 0 10px}.capabilities p{font-size:12px}.credit{font-size:11px!important;line-height:1.9!important;color:var(--muted)!important}.personal{padding:60px;background:#eae9e0;margin-bottom:100px}.personal h2{margin:20px 0 35px}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.personal h3{font-family:var(--serif);font-size:24px;margin-bottom:13px}.personal p{line-height:1.9;color:#727568;font-size:14px}.personal small{display:block;margin-top:20px;font-size:11px;color:#777b6d}footer{background:#e9e6dc;padding:70px max(44px,calc((100vw - 1232px)/2)) 25px}footer h2{font-size:44px;line-height:1.55;margin:25px 0 35px}.footer-links{display:flex;gap:50px;font-size:14px}.footer-links a{border-bottom:1px solid #a7a697;padding-bottom:9px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #cfcec1;padding-top:25px;margin-top:70px;font-size:11px;color:#737568;gap:15px}.case-intro{padding:50px 0 65px}.back{display:block;font-size:12px;margin-bottom:60px;color:#7a7c71}.case-intro h1{font-size:62px;line-height:1.5;margin:25px 0 25px}.role{font-size:13px;color:#72766a;margin-bottom:15px}.case-spread{display:flex;gap:6%;align-items:center;justify-content:center;padding:50px;height:680px}.wild-spread{background:#e7dfd5}.wan-spread{background:#dfe5e2}.zoom{position:relative;border:0;padding:0;background:transparent;cursor:zoom-in;display:block;max-width:100%}.zoom img{display:block;width:100%;height:auto}.case-spread .zoom{height:100%;max-width:43%}.case-spread img{height:100%;width:auto;max-width:100%;object-fit:contain}.zoom-hint{position:absolute;right:10px;bottom:10px;background:#f5f3ede8;padding:8px 11px;font-size:10px;color:var(--ink);opacity:0;transition:opacity .2s}.zoom:hover .zoom-hint,.zoom:focus-visible .zoom-hint{opacity:1}.story{max-width:720px;margin:95px auto 55px}.story h2,.closing-note h2{font-size:42px;line-height:1.6;margin:20px 0 26px}.story p,.closing-note p{font-size:15px;line-height:2.15;color:#6a7063}.gallery-three,.gallery-four{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start}.gallery-four{grid-template-columns:repeat(4,1fr);gap:20px}.gallery-three figure{margin:0}.gallery-three figcaption{font-size:11px;color:var(--muted);padding:15px 0}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin:110px 0;align-items:center}.editorial>.zoom{max-width:475px;margin:auto}.editorial-copy h2{font-size:40px;line-height:1.6;margin:25px 0}.editorial-copy p{font-size:15px;color:#6a7063;line-height:2.15}.editorial details{border-top:1px solid var(--line);margin-top:36px}.editorial summary{cursor:pointer;font-size:12px;list-style:none;display:flex;justify-content:space-between;padding:20px 0}.editorial summary::-webkit-details-marker{display:none}.editorial details p{font-size:13px;padding-bottom:20px}.closing-note{max-width:720px;margin:100px auto}.closing-note p+p{margin-top:20px}.closing-note small{display:block;color:var(--muted);font-size:11px;line-height:1.8;margin-top:24px}.next-project{display:block;border-top:1px solid var(--line);padding:35px 0 70px}.next-project span{font-size:11px;color:var(--muted)}.next-project h2{font-size:27px;margin-top:15px;line-height:1.6}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding:30px 0}.process span{font-size:11px;color:var(--accent)}.process h3{margin:18px 0;font-family:var(--serif);font-size:24px}.process p{font-size:13px;color:var(--muted);line-height:1.9}.film-section{margin:50px 0 100px;background:#e8e8de;padding:45px}.film{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;margin:0}.player{max-width:370px;margin:auto;width:100%;background:#20231e}.player video{display:block;width:100%;max-height:630px;aspect-ratio:9/16;object-fit:contain;background:#20231e}.film h3{font-family:var(--serif);font-size:28px;margin-bottom:20px}.film p{font-size:14px;line-height:2;color:#697060}.film small{display:block;margin-top:30px;font-size:11px;line-height:1.8;color:var(--muted)}dialog{max-width:95vw;width:1100px;max-height:94vh;border:0;background:#f5f3ed;padding:55px 22px 20px;overflow:auto}dialog::backdrop{background:#20251de8}dialog img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;max-height:none}dialog p{font-size:12px;text-align:center;padding-top:15px;color:var(--muted)}.close{position:sticky;top:0;float:right;z-index:2;background:#f5f3ed;border:1px solid #aaa;padding:8px 16px;cursor:pointer;margin-top:-42px}.skip{position:fixed;top:-80px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-top:115px}}@media(max-width:1350px){main{margin:0 44px}}@media(max-width:760px){.header{padding:25px 22px}.identity{font-size:23px;gap:10px}.identity span{font-size:9px}.header nav{gap:18px;font-size:12px}main{margin:0 22px}.hero{padding:65px 0 55px}.hero h1{font-size:48px;letter-spacing:1px;margin:25px 0 35px}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero-bottom{display:block}.hero-bottom p{font-size:13px}.hero-bottom .text-link{margin-top:28px}.project-art{height:350px;gap:5%}.project-art img{height:84%;max-width:43%}.round-arrow{width:34px;height:34px;right:12px;bottom:12px;font-size:20px}.project-caption{display:block;padding-top:22px}.project-caption h2{font-size:28px;line-height:1.55}.project-note{margin-top:20px}.project-note p{font-size:12px}.project{margin-bottom:60px}.atom-art{padding:25px;gap:20px}.atom-title strong{font-size:25px;margin:18px 0}.atom-title small{font-size:7px}.atom-title span{font-size:10px}.atom-art img{max-width:45%;height:90%}.about{padding:45px 0}.about-grid{display:block;margin-bottom:35px}.about h2,.personal h2{font-size:29px;margin-bottom:30px}.about .lead{font-size:16px}.about p{font-size:13px}.capabilities{grid-template-columns:1fr;gap:20px}.capabilities h3{margin:9px 0;font-size:18px}.capabilities p{margin-bottom:0}.about .credit{margin-top:30px}.personal{padding:30px 24px;margin-bottom:55px}.personal-grid{grid-template-columns:1fr;gap:35px}.personal h3{font-size:22px}.personal p{font-size:13px}footer{padding:45px 22px 22px}footer h2{font-size:30px}.footer-links{gap:22px;flex-wrap:wrap;font-size:12px}.footer-bottom{font-size:10px;flex-wrap:wrap;margin-top:45px}.footer-bottom span:nth-child(2){display:none}.case-intro{padding:30px 0 40px}.back{margin-bottom:40px}.case-intro h1{font-size:36px}.role{line-height:1.9;font-size:11px}.case-spread{padding:20px 12px;height:380px;gap:6%}.case-spread .zoom{max-width:45%}.story{margin:55px auto 30px}.story h2,.closing-note h2{font-size:30px;line-height:1.6;margin:18px 0}.story p,.closing-note p{font-size:13px}.gallery-three{gap:10px}.gallery-three figcaption{font-size:9px;line-height:1.6}.gallery-four{grid-template-columns:1fr 1fr;gap:15px}.editorial{grid-template-columns:1fr;gap:30px;margin:60px 0}.editorial>.zoom{max-width:330px}.editorial-copy h2{font-size:31px}.editorial-copy p{font-size:13px}.reverse .editorial-copy{order:2}.reverse>.zoom{order:1}.closing-note{margin:60px auto}.next-project{padding-bottom:40px}.next-project h2{font-size:23px}.process{gap:15px}.process h3{font-size:18px;line-height:1.5}.process p{font-size:11px}.film-section{padding:25px 20px;margin:30px 0 60px}.film{grid-template-columns:1fr;gap:25px}.player{max-width:330px}.film h3{font-size:24px}.film small{margin-top:18px}.zoom-hint{font-size:8px;padding:5px;opacity:1}.section-line{font-size:11px}.section-line span+span{font-size:8px}dialog{padding:50px 10px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* V2: quiet index, project-led browsing */
.work-row{display:grid;grid-template-columns:1.35fr 1fr;gap:9%;padding:58px 0 66px;border-bottom:1px solid var(--line)}.work-row h2{font-size:46px;line-height:1.55;margin-top:20px}.work-summary{align-self:end}.work-summary p{font-size:14px;line-height:2;color:var(--muted);margin-bottom:25px}.case-button{display:inline-flex;align-items:center;gap:55px;background:var(--ink);color:var(--paper);padding:16px 22px;font-size:13px}.case-button:hover{background:#626652}.works{margin-bottom:95px}.chapter-nav{display:flex;gap:35px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;font-size:13px}.chapter-nav a:hover{color:var(--accent)}.project-chapter{padding:70px 0 80px;border-bottom:1px solid var(--line)}.chapter-heading{max-width:760px;margin-bottom:38px}.chapter-heading h2{font-size:42px;line-height:1.55;margin:18px 0 23px}.chapter-heading p{max-width:680px;line-height:2.1;color:#6a7063;font-size:15px}.carousel-tools{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:12px;color:var(--muted)}.carousel-tools>div{display:flex;align-items:center;gap:17px}.carousel-tools button{width:44px;height:44px;border:1px solid #a6a899;border-radius:50%;background:transparent;cursor:pointer;color:var(--ink);font-size:22px}.carousel-tools button:disabled{opacity:.3;cursor:default}.position{min-width:40px;text-align:center;font-family:Georgia,serif}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:#b5b5a7 transparent;overscroll-behavior-x:contain}.slide{flex:0 0 85%;min-width:0;scroll-snap-align:start;background:#e9e7de;padding:30px;display:flex;align-items:center;justify-content:center}.slide>.zoom{width:100%;height:600px}.slide>.zoom img{width:100%;height:100%;object-fit:contain}.slide .zoom-hint{opacity:1}.slide .film{width:100%;gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.slide .player{max-width:315px}.slide .player video{height:560px;max-height:560px}.slide .film h3{font-size:26px;line-height:1.6}.about{border-top:0}.lightbox-navigation{display:flex;justify-content:center;align-items:center;gap:25px;margin-bottom:18px}.lightbox-navigation button{background:var(--paper);border:1px solid #aaa;padding:9px 20px;cursor:pointer}dialog img{max-height:72vh;object-fit:contain}.zoom-hint{pointer-events:none}@media(max-width:760px){.work-row{grid-template-columns:1fr;gap:24px;padding:35px 0 42px}.work-row h2{font-size:32px}.work-summary p{font-size:13px}.case-button{font-size:12px;gap:35px}.works{margin-bottom:45px}.chapter-nav{gap:20px;font-size:11px}.project-chapter{padding:40px 0 45px}.chapter-heading h2{font-size:30px}.chapter-heading p{font-size:13px}.carousel-tools{font-size:10px}.carousel-tools>div{gap:8px}.carousel-tools button{width:38px;height:38px}.slide{flex-basis:94%;padding:15px}.slide>.zoom{height:440px}.slide .film{grid-template-columns:1fr;gap:22px}.slide .player video{height:auto;max-height:480px}.slide .film h3{font-size:22px}.slide .film p{font-size:12px}.slide .film small{margin-top:14px}.carousel-track{gap:12px}.chapter-heading{margin-bottom:25px}}
/* V3: clear identity, small previews, compact project chapters */
html{scroll-padding-top:100px}.header{position:sticky;top:0;z-index:20;background:#f5f3edf5;backdrop-filter:blur(12px);max-width:none;padding:18px max(32px,calc((100vw - 1232px)/2));border-bottom:1px solid #d8d8cd88}.home-return{background:#e7e5da;border:1px solid #aaa99b;padding:10px 15px;color:var(--ink)!important}.header nav{align-items:center;gap:25px}.hero{padding:65px 0 70px}.brand-label{font-size:23px;font-weight:500;display:flex;gap:18px;align-items:baseline;letter-spacing:1px}.brand-label span{font:italic 16px Georgia;color:var(--accent)}.work-row.illustrated{grid-template-columns:1.2fr 1fr;gap:5%;align-items:center;padding:44px 0}.work-row h2{font-size:37px;margin:18px 0 16px}.row-copy>p{color:var(--muted);font-size:13px;margin-bottom:22px;line-height:1.9}.preview-pair{display:flex;justify-content:center;align-items:center;gap:15px;height:290px;padding:15px 22px;background:#eae7dd}.preview-pair img{height:100%;max-width:46%;object-fit:contain;box-shadow:0 5px 14px #35382f16}.preview-pair img:last-child{transform:translateY(8px)}.case-button{padding:12px 18px;gap:30px}.case-intro{padding:36px 0 30px}.case-brand{display:flex;align-items:baseline;gap:22px}.case-brand>span{font:italic 22px Georgia;color:var(--accent)}.case-intro .case-brand h1{font-family:var(--sans);font-size:42px;margin:0;line-height:1.5;font-weight:500}.case-manifesto{font-family:var(--serif);font-size:29px;line-height:1.6;margin:14px 0 18px}.chapter-nav{padding:17px 0;gap:28px}.project-chapter.compact{display:grid;grid-template-columns:32% minmax(0,1fr);gap:4%;align-items:center;padding:35px 0;min-height:440px}.chapter-heading{margin:0}.chapter-heading .eyebrow{font-size:12px;letter-spacing:1px;color:#96684e}.chapter-heading h2{font-size:31px;line-height:1.55;margin:15px 0 20px}.chapter-heading p{font-size:13px;line-height:2;max-width:590px}.chapter-media{min-width:0}.carousel-tools{margin:0 0 11px;font-size:10px}.carousel-tools button{height:34px;width:34px;font-size:18px}.carousel-tools>div{gap:10px}.carousel-track{gap:10px;padding-bottom:8px;position:relative;scroll-snap-type:x mandatory}.slide{padding:13px;flex:0 0 auto;align-items:start;min-width:0;background:#ebe9df}.artwork{margin:0;width:clamp(155px,16vw,240px)}.artwork.wide{width:clamp(290px,34vw,510px)}.artwork .zoom{width:100%;height:clamp(240px,43vh,350px)}.artwork .zoom img{width:100%;height:100%;object-fit:contain}.artwork figcaption{font-size:10px;line-height:1.5;color:var(--muted);padding:10px 0 0}.slide:has(.film){flex:0 0 95%;padding:15px}.slide .film{grid-template-columns:minmax(125px,.9fr) minmax(130px,1fr);gap:20px;align-items:center}.slide .player{width:auto;max-width:100%;margin:auto;background:transparent}.slide .player video{width:auto;height:clamp(250px,45vh,365px);max-width:100%;max-height:365px;aspect-ratio:9/16}.slide .film h3{font-size:22px;line-height:1.55;margin-bottom:15px}.slide .film p{font-size:12px;line-height:1.9}.slide .film small{font-size:10px;margin-top:20px}.account-banner{border-top:1px solid var(--line);padding:30px 35px;background:#e7e8de;margin-top:40px}.account-banner>span{font-size:11px;color:var(--muted);letter-spacing:1px}.account-banner h2{font-size:35px;font-family:var(--sans);font-weight:500;margin:12px 0}.account-banner p{font-size:13px;color:#6a7063}.pet-banner{background:#eae1d6}.evidence{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.evidence summary{display:flex;justify-content:space-between;cursor:pointer;font-size:12px;color:var(--muted)}.evidence p{font-size:12px;line-height:1.9;margin:18px 0}.evidence-images{display:flex;gap:15px;align-items:flex-start}.evidence-images .zoom{width:130px;max-height:230px;overflow:hidden}.evidence-images img{height:230px;object-fit:contain}.article-section{padding:45px 0;border-bottom:1px solid var(--line)}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:30px}.article-grid article{display:grid;grid-template-columns:1.15fr 1fr;column-gap:20px;align-items:start;background:#ebe9df;padding:18px}.article-grid .zoom{grid-row:span 2}.article-grid h3{font-size:18px;align-self:end;margin-bottom:12px}.article-grid p{font-size:12px;line-height:1.9;color:var(--muted)}.case-footnote{font-size:11px;color:var(--muted);line-height:1.9;margin:25px 0}.zoom-hint{font-size:9px;padding:5px 8px}.next-project{padding:25px 0 45px}.next-project h2{font-size:25px}.about{margin-top:30px}@media(min-width:1600px){.hero{padding-top:75px}}@media(max-width:950px){.project-chapter.compact{grid-template-columns:1fr;gap:22px}.chapter-heading h2 br{display:none}.chapter-heading h2{font-size:29px}.chapter-heading p{max-width:700px}.artwork{width:210px}.artwork.wide{width:440px}.slide:has(.film){flex-basis:85%}.slide .film{grid-template-columns:1fr 1fr}.work-row h2{font-size:30px}.brand-label{font-size:21px}.preview-pair{height:240px;padding:12px;gap:10px}.article-grid{gap:15px}.article-grid article{display:block}.article-grid h3{margin-top:15px}.header{padding:16px 30px}}@media(max-width:600px){html{scroll-padding-top:85px}.header{padding:13px 18px}.header nav{gap:12px}.header nav>a:not(.home-return){font-size:11px}.header:has(.home-return) nav>a:not(.home-return){display:none}.home-return{font-size:12px;padding:9px 12px}.identity{font-size:22px}.hero{padding-top:45px}.hero h1{font-size:43px}.work-row.illustrated{grid-template-columns:1fr;gap:25px;padding:30px 0}.work-row h2{font-size:30px}.preview-pair{height:235px;justify-content:flex-start;padding-left:30px}.preview-pair img{max-width:45%}.case-intro .case-brand h1{font-size:32px}.case-manifesto{font-size:23px}.case-brand{gap:14px}.chapter-nav{gap:14px;font-size:11px}.project-chapter.compact{padding:28px 0}.chapter-heading h2{font-size:27px}.artwork{width:170px}.artwork.wide{width:280px}.artwork .zoom{height:280px}.slide{padding:10px}.slide:has(.film){flex-basis:93%;padding:12px}.slide .film{grid-template-columns:1fr;gap:15px}.slide .player video{height:300px;width:auto;max-height:300px}.slide .film h3{font-size:20px;margin-bottom:8px}.slide .film small{margin-top:10px}.account-banner{padding:24px 20px}.account-banner h2{font-size:28px}.article-grid{grid-template-columns:1fr}.article-grid article{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.article-grid h3{font-size:16px;margin-top:0}.article-grid p{font-size:11px}.next-project h2{font-size:23px}.carousel-track{gap:8px}}
.slide .film.landscape-film{grid-template-columns:1fr;gap:16px}.slide .landscape-film .player{width:100%;max-width:500px}.slide .landscape-film .player video{width:100%;height:auto;aspect-ratio:16/9;max-height:265px}.slide .landscape-film h3{font-size:19px;margin-bottom:6px}.slide .landscape-film small{margin-top:7px}
/* Mixed-format launch work: consistent cards without cropping originals. */
#wan .slide{flex:0 0 94%;padding:16px;min-height:350px;align-items:center}#wan .artwork,#wan .artwork.wide{width:100%}#wan .artwork .zoom{height:285px}#wan .artwork figcaption{padding-top:12px}#wan .landscape-film{width:100%;gap:12px}#wan .landscape-film .player{max-width:470px}#wan .landscape-film .player video{max-height:245px}#wan .landscape-film figcaption{max-width:470px;width:100%;margin:auto}#wan .landscape-film h3{font-size:18px}#wan .landscape-film p{font-size:11px}#wan .landscape-film small{font-size:9px;margin-top:5px}@media(max-width:600px){#wan .slide{min-height:310px;padding:12px}#wan .artwork .zoom{height:260px}#wan .landscape-film .player video{max-height:200px}}
/* Naming samples keep a smaller, consistent display footprint. */
#naming .slide{padding:14px;align-items:center}#naming .artwork,#naming .artwork.wide{width:185px}#naming .artwork .zoom{height:225px}#naming .artwork .zoom img{object-fit:contain;max-width:100%}#naming .artwork figcaption{font-size:10px;padding-top:13px}@media(max-width:600px){#naming .artwork,#naming .artwork.wide{width:155px}#naming .artwork .zoom{height:195px}}
.next-project{position:relative;display:block;background:#e5e3d7;border:1px solid #c8c8b8;margin:32px 0 55px;padding:30px 100px 32px 30px;transition:background .2s,border-color .2s}.next-project>span{font-size:12px;letter-spacing:1px;color:#656a59}.next-project h2{font-size:29px;line-height:1.55;margin-top:12px}.next-project::after{content:'→';position:absolute;right:28px;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#35382f;color:#f5f3ed;font:25px Georgia}.next-project:hover{background:#dcdccd;border-color:#9a9e89}.next-project:focus-visible{outline:2px solid #9a654e;outline-offset:5px}@media(max-width:600px){.next-project{margin:25px 0 35px;padding:24px 65px 24px 20px}.next-project h2{font-size:23px}.next-project::after{right:16px;width:36px;height:36px;font-size:22px}}
/* V8: portrait, visible video choices and a quieter closing. */
.hero-composition{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-composition h1{flex:1}.hero-portrait{margin:15px 20px 0 0;flex:0 0 160px;text-align:center}.hero-portrait img{width:160px;height:165px;object-fit:contain;display:block}.hero-portrait figcaption{font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:15px}.paired-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:610px}.paired-art .artwork{width:100%}.paired-art .zoom{height:310px}.paired-art figcaption{font-size:11px;line-height:1.8;margin-top:8px;max-width:230px}.paired-art img{object-fit:contain}.article-section{display:grid;grid-template-columns:32% minmax(0,1fr);gap:20px 4%;align-items:center}.article-section .article-grid{margin:0;gap:14px}.article-section .article-grid article{display:block;padding:12px;background:transparent;border-bottom:1px solid var(--line)}.article-section .article-grid .zoom{height:145px;width:100%}.article-section .article-grid .zoom img{width:100%;height:100%;object-fit:contain;object-position:left center}.article-section .article-grid h3{font-size:16px;margin:9px 0 6px}.article-section .article-grid p{font-size:11px;line-height:1.8}.article-section>.case-footnote{grid-column:2;margin:0;font-size:12px;color:var(--ink)}.article-section>.case-footnote small{color:var(--muted);font-size:10px}.video-chapter{padding:35px 0 45px}.video-chapter .chapter-heading{max-width:880px;margin-bottom:25px}.video-chapter .chapter-heading p{max-width:800px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:950px}.video-grid .film{display:block;min-width:0;margin:0}.video-card .player{position:relative;width:100%;max-width:180px;margin:0;background:transparent}.video-card .player video{width:100%;height:300px;max-height:300px;object-fit:contain;aspect-ratio:9/16}.video-start{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);border:1px solid #ffffffaa;border-radius:24px;padding:10px 15px;background:#f5f3edec;color:#35382f;font-size:12px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 10px #0002}.video-start span{margin-right:5px}.video-start[hidden]{display:none}.video-card h3{font-size:18px;margin:15px 0 8px;font-family:var(--serif);line-height:1.6}.video-card p{font-size:12px;line-height:1.8;max-width:240px}.photography{padding:30px 0;border-top:1px solid var(--line)}.photography h2{font-size:24px;line-height:1.6;margin:14px 0 9px}.photography>p{font-size:11px;color:var(--muted)}.photo-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:940px;margin-top:22px}.photo-strip .artwork{width:100%}.photo-strip .zoom{height:180px}.photo-strip figcaption{display:none}.closing-philosophy{padding:35px 0 40px;border-top:1px solid var(--line)}.closing-philosophy .about-grid{margin:20px 0 10px}.closing-philosophy h2{font-size:35px;line-height:1.65}.closing-philosophy .signature{margin-bottom:0}@media(max-width:950px){.hero-portrait{flex-basis:115px;margin-right:0}.hero-portrait img{width:115px;height:120px}.hero-composition{gap:15px}.hero-composition h1{font-size:clamp(42px,6.7vw,75px)}.article-section{grid-template-columns:1fr;gap:25px}.article-section>.case-footnote{grid-column:1}.article-grid{max-width:650px}.paired-art{max-width:600px}.video-grid{gap:20px}.video-card .player{max-width:160px}.video-card .player video{height:265px}.photo-strip .zoom{height:150px}}@media(max-width:600px){.hero-composition{display:block;position:relative}.hero-composition h1{font-size:40px}.hero-portrait{display:flex;align-items:center;gap:14px;margin:0 0 25px}.hero-portrait img{width:80px;height:83px}.hero-portrait figcaption{margin:0}.hero-bottom .text-link{margin-top:20px}.paired-art{gap:15px}.paired-art .zoom{height:235px}.paired-art figcaption{font-size:10px}.article-section .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.article-section .article-grid article{padding:0 0 12px}.article-section .article-grid .zoom{height:115px}.article-section .article-grid h3{font-size:15px}.article-section .article-grid p{font-size:10px}.video-grid{grid-template-columns:1fr;gap:30px}.video-grid .film{display:grid;grid-template-columns:125px minmax(0,1fr);gap:16px;align-items:center}.video-card .player{max-width:125px}.video-card .player video{height:222px}.video-card h3{font-size:18px;margin-top:0}.video-card p{font-size:11px}.video-start{padding:8px 12px;font-size:11px}.photo-strip{grid-template-columns:1fr 1fr;gap:15px}.photo-strip .zoom{height:160px}.photography h2{font-size:22px}.closing-philosophy h2{font-size:28px}.account-banner h2{font-size:26px}}
/* Homepage portrait: a small circular crop of the supplied photograph. */
.hero-portrait{flex:0 0 116px;margin-right:25px}.portrait-crop{position:relative;display:block;width:116px;height:116px;border-radius:50%;overflow:hidden;background:#e4e6de}.hero-portrait .portrait-crop img{position:absolute;display:block;width:406.19%;height:auto;max-width:none;left:-190.48%;top:-125%;object-fit:initial}.hero-portrait figcaption{display:none}@media(max-width:950px){.hero-portrait{flex-basis:100px;margin-right:0}.portrait-crop{width:100px;height:100px}}@media(max-width:600px){.hero-portrait{margin:0 0 24px}.portrait-crop{width:84px;height:84px}.hero-portrait .portrait-crop img{width:406.19%;height:auto}}
/* V10: keep the editorial typeface, rebalance its scale. */
.hero{padding:45px 0 58px}.hero .hero-composition h1{font-size:64px;line-height:1.48;letter-spacing:1px;margin:26px 0 30px}.hero-composition{gap:35px}.hero-portrait{margin-top:0;margin-right:45px}.hero-bottom p{font-size:15px;line-height:2}.hero-bottom{align-items:center}.heart-word svg{height:11px;bottom:-4px;stroke-width:1.4}.work-row h2{font-size:33px;line-height:1.55}.brand-label{font-size:21px}.case-intro .case-brand h1{font-size:35px}.case-manifesto{font-size:27px}.chapter-heading h2{font-size:29px;line-height:1.55}.closing-philosophy h2{font-size:30px;line-height:1.65}.closing-philosophy .lead{font-size:17px}.next-project h2{font-size:26px}footer h2{font-size:35px;line-height:1.6}.section-line{padding-bottom:25px}.works{margin-bottom:65px}@media(min-width:1600px){.hero{padding-top:55px}}@media(max-width:950px){.hero .hero-composition h1{font-size:46px}.hero-portrait{margin-right:0}.work-row h2{font-size:29px}.chapter-heading h2{font-size:27px}.case-manifesto{font-size:25px}.closing-philosophy h2{font-size:28px}footer h2{font-size:31px}}@media(max-width:600px){.hero{padding:32px 0 42px}.hero .hero-composition h1{font-size:32px;line-height:1.55;letter-spacing:.3px;margin:22px 0 24px}.hero-portrait{margin:0 0 20px}.hero-bottom p{font-size:13px;line-height:1.95}.hero-bottom .text-link{margin-top:17px}.work-row h2{font-size:27px}.brand-label{font-size:20px}.case-intro .case-brand h1{font-size:29px}.case-manifesto{font-size:22px}.chapter-heading h2{font-size:25px}.closing-philosophy h2{font-size:26px}.closing-philosophy .lead{font-size:15px}.next-project h2{font-size:22px}footer h2{font-size:27px}.account-banner h2{font-size:25px}.works{margin-bottom:40px}}
/* A small life photograph, with the user's wider composition preserved. */
.portrait-crop{width:116px;height:116px;border-radius:10px}.hero-portrait .portrait-crop img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;left:auto;top:auto}@media(max-width:950px){.portrait-crop{width:104px;height:104px}}@media(max-width:600px){.portrait-crop{width:94px;height:94px}.hero-portrait .portrait-crop img{width:100%;height:100%}}

/* V12: one editorial rhythm across all project pages. */
.project-chapter.compact,.project-chapter.video-chapter,.article-section{display:block;min-height:0;padding:68px 0 76px;margin:0;border-bottom:1px solid var(--line)}
.project-chapter .chapter-heading,.article-section .chapter-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:9%;row-gap:14px;max-width:none;margin:0 0 26px;align-items:start}
.chapter-heading .eyebrow{grid-column:1/-1;font-size:11px;letter-spacing:1.5px}
.project-chapter .chapter-heading h2,.article-section .chapter-heading h2{font-size:28px;line-height:1.55;margin:0;max-width:520px}
.project-chapter .chapter-heading p,.article-section .chapter-heading p{font-size:13px;line-height:1.95;max-width:520px;margin:0;color:#777a70}
.chapter-media{min-width:0;width:100%}.carousel-tools{margin:0 0 18px;min-height:38px;font-size:11px}.carousel-tools button{width:36px;height:36px;font-size:19px}.carousel-tools>div{gap:13px}
.carousel-track{gap:16px;padding-bottom:12px;align-items:stretch}.slide{padding:16px;display:flex;align-items:center;justify-content:center}.artwork figcaption{font-size:11px;line-height:1.8;padding-top:12px}
.slide .film h3,.video-card h3{font-size:18px;line-height:1.6;margin:0 0 7px}.slide .film p,.video-card p{font-size:12px;line-height:1.85;color:var(--muted)}.slide .film small{font-size:10px;margin-top:12px}
#wan .slide{flex:0 0 62%;min-height:350px}#wan .artwork .zoom{height:285px}
.slide:has(.film){flex-basis:62%}.slide .film:not(.landscape-film){grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:28px;width:100%}.slide .film:not(.landscape-film) .player{max-width:180px}.slide .film:not(.landscape-film) video{width:100%;height:300px;max-height:300px}
.video-grid{max-width:none;gap:26px}.video-grid .film{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:18px;align-items:center}.video-card .player{max-width:160px}.video-card .player video{height:284px;max-height:284px}.video-card h3{font-size:17px}.video-card p{font-size:11px}
.paired-art{max-width:760px;gap:28px;margin:0 auto}.paired-art .zoom{height:310px}.paired-art figcaption{max-width:none;margin-top:0}.article-section .article-grid{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}.article-section .article-grid article{padding:14px 0}.article-section .article-grid .zoom{height:165px}.article-section .case-footnote{margin:25px 0 0}
.photography{padding:62px 0}.account-banner{margin-top:65px}.account-banner+.project-chapter{padding-top:42px}.evidence{margin-top:28px}.next-project{margin-top:55px}
@media(max-width:1100px){.video-grid .film{display:block}.video-card .player{max-width:168px;margin:0 auto 18px}.video-card .player video{height:298px;max-height:298px}.video-card figcaption{max-width:220px;margin:auto}.article-section .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.project-chapter.compact,.project-chapter.video-chapter,.article-section{padding:48px 0 55px}.project-chapter .chapter-heading,.article-section .chapter-heading{grid-template-columns:1fr;gap:13px;margin-bottom:24px}.project-chapter .chapter-heading h2,.article-section .chapter-heading h2{font-size:25px;line-height:1.55}.chapter-heading h2 br{display:none}.project-chapter .chapter-heading p,.article-section .chapter-heading p{font-size:12px;line-height:1.95;max-width:550px}.carousel-track{gap:12px}.carousel-tools{font-size:10px;margin-bottom:15px}.carousel-tools>div{gap:9px}#wan .slide,.slide:has(.film){flex-basis:90%}.slide .film:not(.landscape-film){grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:18px}.slide .film:not(.landscape-film) video{height:248px;max-height:248px}.slide .film h3{font-size:17px}.slide .film p{font-size:11px}.paired-art{gap:18px}.paired-art .zoom{height:260px}.account-banner{margin-top:45px}.photography{padding:48px 0}.video-grid{gap:20px}}
@media(max-width:600px){.video-grid{grid-template-columns:1fr;gap:26px}.video-grid .film{display:grid;grid-template-columns:125px minmax(0,1fr);gap:20px}.video-card .player{margin:0;max-width:125px}.video-card .player video{height:222px;max-height:222px}.video-card figcaption{max-width:none;margin:0}.slide .film:not(.landscape-film){grid-template-columns:1fr;gap:16px}.slide .film:not(.landscape-film) .player{max-width:145px}.slide .film:not(.landscape-film) figcaption{width:100%}.slide .film:not(.landscape-film) video{height:258px;max-height:258px}.paired-art .zoom{height:220px}.article-section .article-grid{gap:18px}.article-section .article-grid .zoom{height:130px}.article-section .article-grid h3{font-size:15px}.next-project{margin-top:40px}}

/* A consistent play affordance on every video poster. */
.player{position:relative}.player .video-start{top:50%;left:50%;width:52px;height:52px;display:grid;place-items:center;padding:0;border:1px solid #ffffffc7;border-radius:50%;background:#f5f3edeb;color:#35382f;box-shadow:0 3px 18px #0003;font-size:0;transition:background .2s,box-shadow .2s}.player .video-start span{font-size:19px;line-height:1;margin:0 0 0 3px}.player .video-start:hover{background:#fff;box-shadow:0 4px 22px #0004}.player .video-start[hidden]{display:none}@media(max-width:600px){.player .video-start{width:44px;height:44px}.player .video-start span{font-size:16px}}

/* Mixed media share equal display frames and aligned captions. */
#wan .carousel-track{align-items:stretch}
#wan .slide{flex:0 0 calc((100% - 16px)/2);min-width:0;min-height:0;padding:20px;display:block}
#wan .slide .artwork,#wan .slide .landscape-film{display:grid;grid-template-columns:1fr;grid-template-rows:285px auto;gap:16px;width:100%;margin:0}
#wan .slide .artwork .zoom,#wan .slide .landscape-film .player{display:flex;align-items:center;justify-content:center;width:100%;height:285px;max-width:none;margin:0;background:transparent}
#wan .slide .artwork .zoom img{width:100%;height:100%;object-fit:contain}
#wan .slide .landscape-film .player video{width:100%;height:100%;max-height:285px;object-fit:contain;background:transparent}
#wan .slide figcaption,#wan .slide .landscape-film figcaption{width:100%;max-width:none;min-height:58px;padding:0;margin:0;text-align:left}
#wan .slide .artwork figcaption,#wan .slide .landscape-film h3{font-family:var(--sans);font-size:13px;line-height:1.8;color:var(--ink);margin:0}
#wan .slide .landscape-film p{font-size:11px;line-height:1.8;margin-top:5px}
#wan .slide .landscape-film small{display:none}
@media(max-width:760px){#wan .slide{flex-basis:100%;padding:16px}#wan .slide .artwork,#wan .slide .landscape-film{grid-template-rows:250px auto}#wan .slide .artwork .zoom,#wan .slide .landscape-film .player{height:250px}#wan .slide .landscape-film .player video{max-height:250px}}

/* Portrait artwork uses a compact frame; all launch media keep one height. */
#wan .slide:has(.artwork.portrait){flex:0 0 230px;padding:18px}
#wan .slide:has(.artwork.wide),#wan .slide:has(.landscape-film){flex:0 0 min(520px,calc((100% - 16px)/2));padding:18px}
#wan .slide .artwork .zoom img{object-position:center}
#wan .slide .zoom-hint{right:6px;bottom:6px}
.carousel-track .slide:has(.film:not(.landscape-film)){flex-basis:520px;max-width:100%}
@media(max-width:760px){#wan .slide:has(.artwork.wide),#wan .slide:has(.landscape-film){flex-basis:100%}#wan .slide:has(.artwork.portrait){flex-basis:210px}.carousel-track .slide:has(.film:not(.landscape-film)){flex-basis:90%}}

/* Flavor series: four matching portrait cards, captions below the media. */
#flavor .carousel-track{align-items:stretch}
#flavor .carousel-track .slide{flex:0 0 272px;max-width:none;padding:16px;display:block}
#flavor .slide .artwork,#flavor .slide .film:not(.landscape-film){width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:310px auto;gap:14px;margin:0;align-items:start}
#flavor .slide .artwork .zoom,#flavor .slide .film:not(.landscape-film) .player{width:100%;max-width:none;height:310px;margin:0;display:flex;justify-content:center;align-items:center;background:transparent}
#flavor .slide .artwork img,#flavor .slide .film:not(.landscape-film) video{width:100%;height:310px;max-height:310px;object-fit:contain;background:transparent}
#flavor .slide figcaption{padding:0;margin:0;min-height:48px;font-size:11px;line-height:1.8;text-align:left}
#flavor .slide .film h3{font-family:var(--sans);font-size:12px;line-height:1.8;margin:0 0 3px}
#flavor .slide .film p{font-size:11px;line-height:1.8;margin:0}
#flavor .slide .film small{display:none}
@media(max-width:600px){#flavor .carousel-track .slide{flex-basis:230px;padding:14px}#flavor .slide .artwork,#flavor .slide .film:not(.landscape-film){grid-template-rows:280px auto}#flavor .slide .artwork .zoom,#flavor .slide .film:not(.landscape-film) .player,#flavor .slide .artwork img,#flavor .slide .film:not(.landscape-film) video{height:280px;max-height:280px}}

/* Photography follows the same card language as the project artwork. */
#photography .carousel-track{align-items:stretch}
#photography .slide{flex:0 0 272px;display:block;padding:16px;background:#ebe9df}
#photography .artwork{width:100%;margin:0}
#photography .artwork .zoom{width:100%;height:310px}
#photography .artwork img{width:100%;height:100%;object-fit:contain}
#photography .artwork figcaption{display:block;padding:14px 0 0;font-size:11px;line-height:1.8}
@media(max-width:600px){#photography .slide{flex-basis:230px;padding:14px}#photography .artwork .zoom{height:280px}}

/* Holiday work uses the shared portrait-card layout. */
#emotion .carousel-track{align-items:stretch}
#emotion .slide{flex:0 0 272px;display:block;padding:16px;background:#ebe9df}
#emotion .artwork{width:100%;margin:0}
#emotion .artwork .zoom{width:100%;height:310px}
#emotion .artwork img{width:100%;height:100%;object-fit:contain}
#emotion .artwork figcaption{padding:14px 0 0;font-size:11px;line-height:1.8}
@media(max-width:600px){#emotion .slide{flex-basis:230px;padding:14px}#emotion .artwork .zoom{height:280px}}

/* All standalone video work shares the portrait-card presentation. */
.video-chapter .video-grid{display:grid;grid-template-columns:repeat(3,272px);gap:16px;max-width:100%;align-items:stretch}
.video-chapter .video-grid .film.video-card{display:grid;grid-template-columns:1fr;grid-template-rows:310px auto;gap:14px;align-items:start;padding:16px;background:#ebe9df;margin:0;min-width:0}
.video-chapter .video-card .player{display:flex;align-items:center;justify-content:center;width:100%;max-width:none;height:310px;margin:0;background:transparent}
.video-chapter .video-card .player video{width:100%;height:310px;max-height:310px;object-fit:contain;background:transparent}
.video-chapter .video-card figcaption{width:100%;max-width:none;margin:0;padding:0}
.video-chapter .video-card h3{font-family:var(--sans);font-size:13px;line-height:1.8;margin:0 0 5px}
.video-chapter .video-card p{font-size:11px;line-height:1.8;max-width:none;margin:0}
@media(max-width:950px){.video-chapter .video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.video-chapter .video-grid .film.video-card{padding:12px;grid-template-rows:265px auto}.video-chapter .video-card .player,.video-chapter .video-card .player video{height:265px;max-height:265px}}
@media(max-width:600px){.video-chapter .video-grid{grid-template-columns:minmax(0,272px);gap:20px}.video-chapter .video-grid .film.video-card{padding:16px;grid-template-rows:310px auto}.video-chapter .video-card .player,.video-chapter .video-card .player video{height:310px;max-height:310px}}

/* Shared card tokens and a quieter account-heading hierarchy. */
:root{--card-paper:#ebe9df;--card-caption:11px}
.carousel-track .slide,.video-chapter .video-grid .film.video-card,.article-section .article-grid article{background:var(--card-paper)}
.carousel-track .artwork figcaption{font-size:var(--card-caption);line-height:1.8;color:var(--muted)}
.article-section .article-grid article{padding:16px;border:0}
.article-section .article-grid h3{font-family:var(--sans);font-size:13px;line-height:1.8;margin:12px 0 5px}
.article-section .article-grid p{font-size:11px;line-height:1.8}
.account-banner{background:transparent;border:0;border-bottom:1px solid var(--line);padding:28px 0 22px;margin-top:48px}
.account-banner h2{font-family:var(--sans);font-size:21px;font-weight:400;line-height:1.6;margin:9px 0 6px;letter-spacing:0}
.account-banner>span{font-size:10px;letter-spacing:1px}
.account-banner p{font-size:12px;line-height:1.8;color:var(--muted)}
.account-banner+.project-chapter{padding-top:32px}
@media(max-width:600px){.account-banner{margin-top:34px;padding:22px 0 18px}.account-banner h2{font-size:19px}.account-banner p{font-size:11px}.article-section .article-grid article{padding:12px}}

/* Warm opening and closing frame the lighter portfolio section. */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;inset:0 calc((100% - 100vw)/2);background:#e9e6dc}
body:has(.hero) .header{background:#e9e6dc;box-shadow:0 0 0 100vmax #e9e6dc;clip-path:inset(0 -100vmax)}
.hero+.works{padding-top:38px}
.hero+.works .section-line{border-top:0}
@media(max-width:600px){.hero+.works{padding-top:24px}}

/* Secondary-page introductions form one warm opening band. */
body:has(.case-intro) .header{background:#e9e6dc;box-shadow:0 0 0 100vmax #e9e6dc;clip-path:inset(0 -100vmax)}
.case-intro,.case-intro+.chapter-nav{position:relative;isolation:isolate}
.case-intro::before,.case-intro+.chapter-nav::before{content:"";position:absolute;z-index:-1;inset:0 calc((100% - 100vw)/2);background:#e9e6dc}
.case-intro{padding:42px 0 28px}
.case-intro .case-brand{margin-bottom:16px}
.case-intro .case-brand h1{margin:0;font-size:35px;line-height:1.5}
.case-intro .case-manifesto{font-size:25px;line-height:1.65;margin:0 0 23px;max-width:820px}
.case-intro .role{font-size:12px;line-height:1.9;color:#737568;margin:0 0 7px}
.case-intro .credit{font-size:10px!important;line-height:1.8!important;color:#818275!important;margin:0;max-width:760px}
.case-intro+.chapter-nav{border-top:1px solid #d2d0c3;border-bottom:0;padding:18px 0 23px;gap:12px 30px;font-size:12px;color:#555b4e}
.case-intro+.chapter-nav a{padding:5px 0;border-bottom:1px solid transparent}
.case-intro+.chapter-nav a:hover{border-bottom-color:var(--accent)}
@media(max-width:600px){.case-intro{padding:30px 0 24px}.case-intro .case-brand h1{font-size:29px}.case-intro .case-manifesto{font-size:21px;margin-bottom:19px}.case-intro .role{font-size:11px}.case-intro .credit{font-size:10px!important}.case-intro+.chapter-nav{padding:14px 0 19px;gap:7px 19px;font-size:11px}}

/* V24 — warm editorial identity; content and media geometry stay intact. */
:root{--paper:#f8f5ef;--ink:#343d35;--muted:#77796e;--accent:#a84e39;--line:#d8d5c9;--card-paper:#eeeae0}
body{background:var(--paper)}
.header .identity{color:var(--accent);letter-spacing:3px}.identity span{color:var(--ink);letter-spacing:2px}
.header nav a{transition:color .2s}.header nav a:hover{color:var(--accent)}
body:has(.hero) .header,body:has(.case-intro) .header{background:#eae2d4;box-shadow:0 0 0 100vmax #eae2d4}
.hero::before,.case-intro::before,.case-intro+.chapter-nav::before{background:radial-gradient(ellipse at 85% 10%,#f6eddd99,transparent 55%),#eae2d4}
.hero{padding-top:60px;padding-bottom:66px}
.hero>.eyebrow{color:var(--accent);letter-spacing:2.1px}
.hero .hero-composition h1{line-height:1.5;color:#344336}
.heart-word{color:var(--accent)}.heart-word svg{stroke:var(--accent);stroke-width:2}
.hero-portrait{position:relative;transform:rotate(3deg);padding:7px;background:#fcfaf5;box-shadow:5px 7px 0 #a84e391c,0 10px 25px #4d3e3017}
.portrait-crop{border-radius:2px}.hero-portrait::before{content:"";position:absolute;top:-9px;left:30%;width:45%;height:18px;background:#c5b68b88;transform:rotate(-7deg);z-index:1}
.hero-bottom .text-link{border-color:var(--accent);color:var(--accent)}
.section-line{color:var(--accent);letter-spacing:1.6px}.section-line span:first-child::before{content:"";display:inline-block;width:7px;height:7px;background:var(--accent);margin-right:13px;transform:rotate(45deg)}
.work-row.illustrated{position:relative;gap:7%;padding:54px 0;align-items:center}
.brand-label>span{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border:1px solid #a84e3960;border-radius:50%;font-family:Georgia,serif;font-size:13px;color:var(--accent);margin-right:12px}
.work-row h2 a{transition:color .2s}.work-row h2 a:hover{color:var(--accent)}
.case-button{background:transparent;color:var(--ink);border:1px solid #a9ac9c;padding:12px 17px;gap:35px;transition:background .2s,color .2s,border-color .2s}
.case-button span{color:var(--accent);font-size:19px}.case-button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.case-button:hover span{color:#ead4b4}
.preview-pair{border:1px solid #d6d3c4;background:#e2e5da;padding:25px;box-shadow:7px 7px 0 #d9dccf70;transition:transform .25s,box-shadow .25s}
.work-row:nth-of-type(2) .preview-pair{background:#eadbd2;box-shadow:7px 7px 0 #e2c9bc55}
.work-row:nth-of-type(3) .preview-pair{background:#dbe4df;box-shadow:7px 7px 0 #c3d2c655}
.work-row:nth-of-type(4) .preview-pair{background:#e9dfc5;box-shadow:7px 7px 0 #ddceaa55}
.preview-pair:hover{transform:translateY(-3px);box-shadow:7px 11px 0 #d9dccf70}
.preview-pair img{box-shadow:0 6px 16px #28322518;border:4px solid #fff9;transform:rotate(-3deg)}.preview-pair img+img{transform:rotate(3deg)}
.closing-philosophy{position:relative;isolation:isolate;border:0;padding:60px 0;margin-top:0}
.closing-philosophy::before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);z-index:-1;background:#e2e6dc}
.closing-philosophy h2{color:#435642}.signature{color:var(--accent)}
footer{background:#eae2d4;border-top:4px solid #a84e39;padding-top:58px}footer>.eyebrow{color:var(--accent)}footer h2{color:#344336}.footer-links a{border-color:#a84e3970}.footer-links a:hover{color:var(--accent)}
.case-brand>span{color:var(--accent)}.case-intro .case-manifesto{color:#4d5748}.case-intro+.chapter-nav{border-top-color:#c9bda7}.case-intro+.chapter-nav a{color:#665a45}
.chapter-heading .eyebrow{color:var(--accent)}.project-chapter{border-bottom-color:#d4d6c9}
.carousel-track .slide,.video-chapter .video-grid .film.video-card,.article-section .article-grid article{background:var(--card-paper);border:1px solid #ded9cc;border-radius:3px;box-shadow:0 3px 0 #d4cdbb38}
.carousel-tools button{background:#fff8;border-color:#b7bbaa;color:#435642}.carousel-tools button:not(:disabled):hover{background:#435642;color:#fff}
.player .video-start{background:#faf6eeed;color:var(--accent);border:1px solid #fff;box-shadow:0 3px 16px #29322730}
.account-banner{border-bottom-color:#bdc5b4}.account-banner>span{color:var(--accent)}.account-banner h2{color:#435642}
.next-project{background:#e2e6dc;border:1px solid #bcc5b4;border-left:4px solid #6c7c62;box-shadow:5px 5px 0 #d9dece50}.next-project::after{background:#435642}.next-project:hover{background:#d7dfce}
.home-return{background:#f7f2e8;border-color:#b5ab96}
@media(max-width:600px){.hero{padding-top:38px;padding-bottom:46px}.hero-portrait{width:max-content;display:block;padding:5px;margin:0 0 25px 3px}.preview-pair{padding:18px;box-shadow:4px 4px 0 #d9dccf70}.work-row.illustrated{padding:36px 0}.brand-label>span{width:27px;height:27px;font-size:12px}.closing-philosophy{padding:40px 0}.hero-composition{padding-top:2px}}
@media(prefers-reduced-motion:reduce){.preview-pair:hover{transform:none}}

/* Contain full-width decorative backgrounds without horizontal scrolling. */
body{overflow-x:clip}

/* V25 — small editorial marks, reserved for introductions and navigation. */
:root{--accent:#b44f35}
.hero{background-image:linear-gradient(90deg,transparent calc(100% - 1px),#a58e6720 1px);background-size:25% 100%;background-repeat:repeat-x}
.hero::after{content:"✳";position:absolute;right:21%;top:28px;color:var(--accent);font:62px Georgia,serif;line-height:1;transform:rotate(12deg);opacity:.85;pointer-events:none}
.hero>.eyebrow{display:inline-flex;align-items:center;gap:12px}.hero>.eyebrow::before{content:"";width:25px;height:2px;background:var(--accent)}
.hero-portrait{box-shadow:8px 9px 0 #b44f3529,0 10px 25px #4d3e3017;transform:rotate(4deg)}
.hero-bottom .text-link{display:inline-flex;align-items:center;border:1px solid #b44f3566;background:#f7f0e5;padding:13px 18px;box-shadow:3px 3px 0 #b44f3520;transition:background .2s,box-shadow .2s}
.hero-bottom .text-link:hover{background:#efdece;box-shadow:5px 5px 0 #b44f3520}
.brand-label>span{background:#b44f35;color:#fff9eb;border-color:#b44f35;font-style:italic}
.work-row:nth-of-type(2) .brand-label>span{background:#8d6556;border-color:#8d6556}.work-row:nth-of-type(3) .brand-label>span{background:#586f62;border-color:#586f62}.work-row:nth-of-type(4) .brand-label>span{background:#9b7c37;border-color:#9b7c37}
.preview-pair{position:relative;border-top:3px solid #71826a}
.work-row:nth-of-type(2) .preview-pair{border-top-color:#b16a51}.work-row:nth-of-type(3) .preview-pair{border-top-color:#5c8073}.work-row:nth-of-type(4) .preview-pair{border-top-color:#b49149}
.preview-pair::before{content:"";position:absolute;top:12px;left:12px;width:19px;height:19px;border-top:1px solid #606f5266;border-left:1px solid #606f5266;pointer-events:none}
.preview-pair::after{content:"↗";position:absolute;right:12px;bottom:12px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f9f5ebe8;border:1px solid #8b937166;color:#4d5e46;font-size:20px}
.closing-philosophy .about-grid{position:relative}.closing-philosophy h2{padding-top:22px;border-top:2px solid #71826a;max-width:440px}.closing-philosophy .signature::after{content:"✳";display:inline-block;margin-left:22px;font:24px Georgia;color:var(--accent);vertical-align:middle}
footer{position:relative;overflow:hidden}footer::after{content:"✳";position:absolute;right:6%;top:38px;font:105px Georgia;color:#b44f3529;pointer-events:none;transform:rotate(12deg)}
footer>.eyebrow{position:relative;z-index:1}footer h2{position:relative;z-index:1}.footer-links a{transition:color .2s}.footer-links a:last-child{color:var(--accent)}
.case-intro::after{content:"✳";position:absolute;right:3%;top:35px;font:54px Georgia;color:#b44f3540;pointer-events:none}.case-brand>span{border-bottom:2px solid var(--accent);padding-bottom:3px}
.chapter-heading .eyebrow::before{content:"";display:inline-block;width:5px;height:5px;background:var(--accent);transform:rotate(45deg);margin-right:9px;vertical-align:middle}
@media(max-width:950px){.hero::after{right:21%;top:24px;font-size:45px}footer::after{font-size:75px;right:4%}}
@media(max-width:600px){.hero{background-size:50% 100%}.hero::after{right:12px;top:24px;font-size:29px;opacity:.65}.hero>.eyebrow{font-size:8px;letter-spacing:1px;gap:8px}.hero>.eyebrow::before{width:13px}.hero-bottom .text-link{padding:11px 14px}.case-intro::after{font-size:33px;right:3px;top:28px}.preview-pair::after{width:27px;height:27px;font-size:18px}.closing-philosophy h2{padding-top:17px}footer::after{font-size:54px;top:20px;right:20px}}

/* V26: quieter contemporary palette; no star ornaments or red/green contrast. */
:root{--paper:#f8f7f3;--ink:#34383c;--muted:#777b7d;--accent:#607b90;--line:#d9dadd;--card-paper:#eeede8}
.hero::after,.case-intro::after,footer::after,.closing-philosophy .signature::after{content:none}
body:has(.hero) .header,body:has(.case-intro) .header{background:#e9e6df;box-shadow:0 0 0 100vmax #e9e6df}
.hero::before,.case-intro::before,.case-intro+.chapter-nav::before{background:#e9e6df}
.hero{background-image:none}.hero .hero-composition h1,.case-intro .case-manifesto,footer h2{color:var(--ink)}
.header .identity,.hero>.eyebrow,.section-line,.chapter-heading .eyebrow,.signature,.account-banner>span{color:var(--accent)}
.heart-word{color:var(--ink)}.heart-word svg{stroke:#8098aa}
.hero-portrait{transform:none;background:#fcfcfa;box-shadow:0 5px 18px #30394314;border:1px solid #d6d8d8}.hero-portrait::before{content:none}
.hero-bottom .text-link{color:var(--ink);background:#f6f5f1;border-color:#b9c2c9;box-shadow:none}.hero-bottom .text-link:hover{background:#e1e7eb;box-shadow:none}
.brand-label>span,.work-row:nth-of-type(2) .brand-label>span,.work-row:nth-of-type(3) .brand-label>span,.work-row:nth-of-type(4) .brand-label>span{background:#566675;border-color:#566675;color:#fff;font-style:normal}
.preview-pair,.work-row:nth-of-type(2) .preview-pair,.work-row:nth-of-type(3) .preview-pair,.work-row:nth-of-type(4) .preview-pair{background:#e4e8eb;border:1px solid #cbd2d7;box-shadow:5px 5px 0 #dce1e54d}
.work-row:nth-of-type(2) .preview-pair{background:#eae6e0}.work-row:nth-of-type(4) .preview-pair{background:#e9e9e6}
.preview-pair img,.preview-pair img+img{transform:none;border-color:#ffffffb0;box-shadow:0 5px 15px #26354312}
.preview-pair::before{border-color:#8c9ba766}.preview-pair::after{background:#f8f9fae8;border-color:#9ba9b666;color:#526a7c}
.preview-pair:hover{box-shadow:5px 8px 0 #dce1e56b}
.closing-philosophy::before{background:#e1e7eb}.closing-philosophy h2{color:var(--ink);border-top-color:#91a2af}
footer{background:#e9e6df;border-top:2px solid #91a2af}footer>.eyebrow{color:var(--accent)}.footer-links a{border-color:#9eabb5}
.case-intro+.chapter-nav{border-top-color:#cbc9c3}.case-intro+.chapter-nav a{color:#5f6366}
.project-chapter,.account-banner{border-bottom-color:var(--line)}.account-banner h2{color:var(--ink)}
.carousel-tools button{border-color:#b5c0c8;color:#526a7c}.carousel-tools button:not(:disabled):hover{background:#566675;color:white}
.next-project{background:#e1e7eb;border-color:#c1cbd2;border-left-color:#788e9f;box-shadow:4px 4px 0 #dce1e54d}.next-project::after{background:#566675}.next-project:hover{background:#d8e1e7}
.home-return{background:#f6f5f1;border-color:#b9c2c9}
/* V27 — warm editorial identity, experience figures, image-led closing. */
:root{--paper:#faf7f1;--ink:#352b31;--muted:#776b70;--accent:#754b68;--line:#dfd4d8;--card-paper:#eee8e4}
body:has(.hero) .header,body:has(.case-intro) .header{background:#f0e4d9;box-shadow:0 0 0 100vmax #f0e4d9}
.hero::before,.case-intro::before,.case-intro+.chapter-nav::before{background:#f0e4d9}
.hero{padding-top:52px;padding-bottom:64px}
.hero .hero-composition h1{font-size:clamp(38px,4.9vw,66px);line-height:1.5;color:#442f3d}
.heart-word{color:#754b68}.heart-word svg{stroke:#bd927a}
.hero-bottom p{color:#73646a}.hero-bottom .text-link{background:#503749;color:#fff8f0;border:0;border-radius:40px;padding:16px 24px}
.hero-bottom .text-link:hover{background:#6b4c62;color:white}
.hero-portrait{border-color:#dbc9bd;box-shadow:6px 8px 0 #dfc9b8}
.experience-strip{padding:54px 0 64px;border-bottom:1px solid var(--line)}
.experience-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:32px}
.experience-heading>span{font-size:10px;letter-spacing:2px;color:var(--accent)}
.experience-heading h2{font:20px/1.65 var(--serif)}
.experience-heading h2 br{display:none}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.experience-grid article{padding:10px 35px 4px;border-right:1px solid var(--line)}
.experience-grid article:first-child{padding-left:0}.experience-grid article:last-child{border:0}
.experience-grid strong{font:500 clamp(48px,5.4vw,76px)/1.15 Georgia,serif;letter-spacing:-3px;color:#754b68}
.experience-grid strong span{font:400 22px var(--sans);letter-spacing:0}
.experience-grid h3{font-size:16px;margin:18px 0 10px}
.experience-grid p{font-size:12px;line-height:1.9;color:var(--muted);max-width:300px}
.works{padding-top:52px}.works>.section-line{border-top:0;padding-top:0}
.work-row.illustrated{padding:52px 0;gap:6%;grid-template-columns:1fr 1.18fr}
.brand-label{font-family:var(--sans);font-size:23px;letter-spacing:0}
.brand-label>span,.work-row:nth-of-type(2) .brand-label>span,.work-row:nth-of-type(3) .brand-label>span,.work-row:nth-of-type(4) .brand-label>span{background:transparent;color:#8f687e;border:1px solid #c9b3bf;font-size:12px}
.work-period{display:block;margin:13px 0 24px;color:#857780;font:11px/1.8 var(--sans);letter-spacing:.5px}
.work-row h2{font-size:32px;line-height:1.6}
.case-button{border-color:#b79cab;background:#faf7f1;color:#51394a}
.case-button:hover{background:#51394a;color:#fff}
.preview-pair,.work-row:nth-of-type(2) .preview-pair,.work-row:nth-of-type(3) .preview-pair,.work-row:nth-of-type(4) .preview-pair{height:340px;border:0;border-radius:4px;background:#ead5c6;box-shadow:none;padding:28px;gap:24px}
.work-row:nth-of-type(2) .preview-pair{background:#ddd1df}.work-row:nth-of-type(3) .preview-pair{background:#e4d7bd}.work-row:nth-of-type(4) .preview-pair{background:#e4dcd5}
.preview-pair img,.preview-pair img+img{max-height:100%;height:100%;max-width:45%;object-fit:contain;border:0;box-shadow:0 12px 25px #39203022}
.preview-pair::before{content:none}.preview-pair::after{background:#faf7f1;color:#51394a;border:0}
.preview-pair:hover{box-shadow:0 10px 30px #352b3110}
.closing-philosophy::before{background:#eee3e7}.closing-philosophy h2{border-top-color:#b693a5}
.closing-philosophy p{color:#75666f}
footer{background:linear-gradient(90deg,rgba(40,25,35,.97) 0%,rgba(40,25,35,.89) 48%,rgba(40,25,35,.45) 100%),url('assets/lamp.jpg') right 48%/cover no-repeat;color:#fff6eb;border-top:0;padding-top:84px;padding-bottom:30px;min-height:430px}
footer h2{color:#fff6eb;font-size:38px;max-width:850px}
footer>.eyebrow{color:#d9bba9}.footer-links a,.footer-links a:last-child{color:#fff6eb;border-color:#bca8ad}
.footer-bottom{color:#ddcfd1;border-color:#ffffff35}
.case-intro+.chapter-nav{border-top-color:#ddcbbd}.case-intro+.chapter-nav a{color:#69535f}
.tenure{display:block;font:11px/1.8 var(--sans);letter-spacing:.7px;color:#87707d;margin:0 0 14px}
.case-intro .case-manifesto{color:#503749}
.carousel-tools button{border-color:#c0aab7;color:#69485c}.carousel-tools button:not(:disabled):hover{background:#65455b;color:white}
.next-project{background:#eee3e7;border-color:#ddcbd5;border-left-color:#987187;box-shadow:none}
.next-project::after{background:#65455b}.next-project:hover{background:#e5d6df}
.home-return{background:#faf7f1;border-color:#bfa6b4}
.slide,.video-grid .video-card,.article-grid article{background:var(--card-paper);border-color:#e0d7d4}
@media(max-width:950px){.work-row.illustrated{gap:5%}.preview-pair,.work-row:nth-of-type(2) .preview-pair,.work-row:nth-of-type(3) .preview-pair,.work-row:nth-of-type(4) .preview-pair{height:285px;padding:22px;gap:14px}.work-row h2{font-size:28px}.experience-grid article{padding:10px 22px}.experience-grid strong{font-size:56px}}
@media(max-width:600px){.hero{padding-top:36px;padding-bottom:42px}.hero .hero-composition h1{font-size:34px;letter-spacing:1px}.experience-strip{padding:34px 0}.experience-heading{display:block;margin-bottom:20px}.experience-heading h2{font-size:20px;margin-top:14px}.experience-grid{grid-template-columns:1fr}.experience-grid article,.experience-grid article:first-child{border-right:0;border-bottom:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:120px 1fr;column-gap:18px}.experience-grid strong{font-size:44px;grid-row:span 2;align-self:center}.experience-grid strong span{font-size:16px}.experience-grid h3{font-size:14px;margin:0 0 7px}.experience-grid p{font-size:11px}.works{padding-top:34px}.work-row.illustrated{grid-template-columns:1fr;padding:34px 0;gap:24px}.brand-label{font-size:21px}.work-period{margin:9px 0 17px}.work-row h2{font-size:27px}.preview-pair,.work-row:nth-of-type(2) .preview-pair,.work-row:nth-of-type(3) .preview-pair,.work-row:nth-of-type(4) .preview-pair{height:270px;justify-content:center}.hero-bottom .text-link{padding:12px 18px}footer{padding-top:54px;min-height:380px;background-position:right center}footer h2{font-size:27px}.tenure{font-size:10px}}
/* V28 — resume gold, cream and charcoal; larger scenic portrait. */
:root{--paper:#fcfaf4;--ink:#303638;--muted:#73736b;--accent:#88751c;--line:#e2ddcd;--card-paper:#f0ede3}
body:has(.hero) .header,body:has(.case-intro) .header{background:#f5edcb;box-shadow:0 0 0 100vmax #f5edcb}
.hero::before,.case-intro::before,.case-intro+.chapter-nav::before{background:#f5edcb}
.hero .hero-composition h1,.case-intro .case-manifesto{color:#303638}.heart-word{color:#77651a}.heart-word svg{stroke:#b39b28}
.hero-bottom p,.closing-philosophy p{color:#6e7168}
.hero-bottom .text-link{background:#e5c74f;color:#303638}.hero-bottom .text-link:hover{background:#d6b83b;color:#252921}
.hero-portrait{flex:0 0 auto;width:max-content;border-color:#ded4b4;box-shadow:6px 8px 0 #ded2a3;background:#fffdf6}.hero-portrait .portrait-crop{width:190px;height:190px}
.experience-grid strong{color:#88751c}
.brand-label>span,.work-row:nth-of-type(2) .brand-label>span,.work-row:nth-of-type(3) .brand-label>span,.work-row:nth-of-type(4) .brand-label>span{color:#77651a;border-color:#ccbc7d}
.work-period,.tenure{color:#777569}.case-button,.home-return{background:#fcfaf4;color:#3d4037;border-color:#c5b77f}.case-button:hover{background:#e5c74f;color:#303638}
.preview-pair,.work-row:nth-of-type(2) .preview-pair,.work-row:nth-of-type(3) .preview-pair,.work-row:nth-of-type(4) .preview-pair{background:#f0e4ad}
.work-row:nth-of-type(2) .preview-pair{background:#e8e7dd}.work-row:nth-of-type(3) .preview-pair{background:#ede4c9}.work-row:nth-of-type(4) .preview-pair{background:#f1ead6}
.preview-pair::after{background:#fffdf5;color:#4b4835}
.closing-philosophy::before{background:#f3edda}.closing-philosophy h2{border-top-color:#b39b28}
footer{background:linear-gradient(90deg,rgba(33,34,28,.97),rgba(33,34,28,.88) 48%,rgba(33,34,28,.55)),url('assets/lamp.jpg') right 48%/cover no-repeat;color:#fffbea}
footer h2{color:#fffbea}footer>.eyebrow{color:#e5ce72}.footer-links a,.footer-links a:last-child{color:#fffbea;border-color:#c4b66d}.footer-bottom{color:#d8d6c9}
.case-intro+.chapter-nav{border-top-color:#ded5b2}.case-intro+.chapter-nav a{color:#66664f}
.carousel-tools button{border-color:#c9bd8b;color:#766620}.carousel-tools button:not(:disabled):hover{background:#e5c74f;color:#303638}
.next-project{background:#f3edda;border-color:#ddd1a7;border-left-color:#b39b28}.next-project::after{background:#e5c74f;color:#303638}.next-project:hover{background:#eee2b6}
@media(max-width:950px){.hero-portrait .portrait-crop{width:160px;height:160px}}
@media(max-width:600px){.hero-portrait .portrait-crop{width:140px;height:140px}.hero-portrait{flex-basis:auto}}
/* V29: quiet, pale backdrops behind homepage work previews. */
.works .work-row .preview-pair{background:#f1efe8;border:1px solid #e9e5db;box-shadow:none}
/* V30: licensed sunlight photograph, quiet light closing. */
footer{background:linear-gradient(90deg,rgba(252,248,236,.91),rgba(252,248,236,.56) 65%,rgba(252,248,236,.25)),url('assets/footer-sunlight.jpg') center 55%/cover no-repeat;color:#303638}
footer h2{color:#303638}footer>.eyebrow{color:#746329}.footer-links a,.footer-links a:last-child{color:#303638;border-color:#8b8163}.footer-bottom{color:#56584c;border-color:#79745f55}
footer h2{text-wrap:balance}

/* V31: one continuous philosophy and invitation section. */
.unified-closing{padding-top:70px;min-height:0}
.unified-closing .closing-inner{scroll-margin-top:100px}
.closing-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-top:28px}
.unified-closing h2{font-size:34px;line-height:1.65;margin:0;max-width:100%}
.closing-copy>p{font-size:14px;line-height:2.1;color:#55594e;max-width:560px}
.closing-copy .closing-invite{font-size:16px;color:#303638;margin-top:24px;line-height:1.9}
.unified-closing .footer-links{margin-top:27px;gap:28px;flex-wrap:wrap;font-size:13px}
.unified-closing .footer-bottom{margin-top:54px}
.works{margin-bottom:45px}
@media(max-width:750px){.closing-layout{grid-template-columns:1fr;gap:24px}.unified-closing{padding-top:44px}.unified-closing h2{font-size:28px}.closing-copy>p{font-size:13px}.closing-copy .closing-invite{font-size:15px;margin-top:20px}.unified-closing .footer-bottom{margin-top:38px}.works{margin-bottom:25px}}
/* V32: matching sunlit opening and a more generous portrait. */
.hero::before{background:linear-gradient(90deg,rgba(252,248,236,.92),rgba(252,248,236,.76) 55%,rgba(252,248,236,.43)),url('assets/footer-sunlight.jpg') center 45%/cover no-repeat}
body:has(.hero) .header{background:#f6f0dd;box-shadow:0 0 0 100vmax #f6f0dd}
.hero-composition{align-items:center;gap:50px}
.hero-portrait{background:transparent;border:0;padding:0;box-shadow:none;transform:none;margin-right:30px}
.hero-portrait .portrait-crop{width:250px;height:250px;border-radius:28px;background:transparent}
.hero-portrait .portrait-crop img{width:100%;height:100%;object-fit:cover}
@media(max-width:950px){.hero-portrait{margin-right:0}.hero-portrait .portrait-crop{width:210px;height:210px;border-radius:24px}.hero-composition{gap:25px}}
@media(max-width:600px){.hero-portrait{padding:0;margin:0 0 25px 0}.hero-portrait .portrait-crop{width:180px;height:180px;border-radius:22px}.hero::before{background:linear-gradient(90deg,rgba(252,248,236,.92),rgba(252,248,236,.6)),url('assets/footer-sunlight.jpg') center/cover no-repeat}}
/* V33: shared columns keep portrait and CTA on the same centre line. */
@media(min-width:601px){.hero-composition,.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:50px;padding-right:30px}.hero-portrait{margin:0;justify-self:center}.hero-bottom .text-link{justify-self:center;margin:0;width:max-content}.hero-bottom{align-items:center}}
@media(min-width:601px) and (max-width:950px){.hero-composition,.hero-bottom{grid-template-columns:minmax(0,1fr) 210px;column-gap:25px;padding-right:0}.hero-bottom .text-link{padding:13px 16px}.hero-bottom .text-link span{margin-left:20px}}
@media(max-width:600px){.hero-portrait{align-self:center;margin:0 auto 25px}.hero-bottom .text-link{align-self:center;margin-left:auto;margin-right:auto}}
@media(max-width:600px){.hero-bottom .text-link{display:flex;width:max-content;margin-left:auto;margin-right:auto;align-items:center}}
