:root{--ink:#292b25;--paper:#eeeae1;--line:rgba(41,43,37,.24)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);padding:15px;z-index:100}.skip:focus{top:12px}header{height:102px;display:grid;grid-template-columns:1.65fr 1.4fr 1fr auto;align-items:center;gap:35px;padding:0 34px;background:var(--paper);position:relative;z-index:10}.signature{font-size:23px;letter-spacing:-1.05px;white-space:nowrap}.signature span{display:block;font-size:10px;letter-spacing:.1px;margin-top:6px}nav{display:flex;gap:28px;align-items:center}.nav-item{font-size:12px;padding:8px 0;position:relative;white-space:nowrap}.nav-item.active:after{content:'';position:absolute;bottom:2px;left:0;width:15px;height:1px;background:currentColor}sup{font-size:9px;margin-left:3px}nav .nav-item span,.contact span{margin-left:9px}.location{font-size:11px;line-height:1.5}.location span{display:block;font-size:10px;opacity:.55}.gallery{height:calc(100svh - 102px);min-height:570px;position:relative;overflow:hidden;background:#b9b5a2}.artwork{position:absolute;inset:0;opacity:0;transition:opacity 950ms ease,transform 1600ms ease;transform:scale(1.025);overflow:hidden}.artwork.current{opacity:1;transform:scale(1)}.art-one{background:linear-gradient(120deg,#a4a18d,#c4c0ad 45%,#d5cbb7)}.wall{position:absolute;inset:0 29% 0 0;background:linear-gradient(112deg,#c9c4b3,#c0baa6 52%,#b6af99);box-shadow:20px 0 70px #665b3b26}.portal{position:absolute;width:27%;height:78%;left:36%;top:9%;border-radius:48% 48% 0 0;background:linear-gradient(#a2afa4 0%,#bec8b3 48%,#8d9c8a 49%,#bfc6ae 53%,#d2cbb4 54%,#c4bda8 100%);box-shadow:inset 22px 8px 25px #3e433947,-14px 0 0 #b2aa96, -16px 0 0 #ddd4c2;overflow:hidden}.portal:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#151f291a,transparent 60%)}.horizon{height:1px;background:#ecedde8c;width:100%;position:absolute;top:49%}.sun{position:absolute;right:-10%;top:-24%;width:55%;height:100%;background:radial-gradient(ellipse,#f8eed76b,transparent 65%)}.step{position:absolute;height:15%;background:linear-gradient(#cec6b2 0 12%,#b4ab93 13%,#bbb29b);box-shadow:0 -1px 0 #ddd4bf}.step-one{bottom:1%;left:29%;width:42%}.step-two{bottom:-9%;left:19%;width:63%}.shadow{position:absolute;width:90%;height:120%;background:linear-gradient(90deg,#333e382b,transparent);transform:rotate(-32deg);left:-64%;top:-17%;box-shadow:55px 0 45px #32342b13}.art-two{background:radial-gradient(at 80% 10%,#bbb7aa,#8c9384);perspective:1000px}.paper{position:absolute;width:31%;height:77%;left:37%;top:12%;background:#e7e2d6;box-shadow:15px 25px 30px #26332938}.paper-back{transform:rotate(-15deg);background:#393e32;left:31%;top:14%}.paper-front{transform:rotate(9deg);padding:30px;display:flex;flex-direction:column;justify-content:space-between}.paper-front span,.paper-front small,.paper-front i{font-size:10px;letter-spacing:1px;font-style:normal}.paper-front strong{font-family:Georgia,serif;font-weight:normal;font-size:clamp(45px,7vw,110px);letter-spacing:-5px;line-height:.95}.paper-front i{text-align:right}.art-three{background:linear-gradient(110deg,#858d73,#afb39a 60%,#c9c7ae)}.disc{width:40vw;height:40vw;border-radius:50%;background:linear-gradient(100deg,#d7cbb2,#bfb08f);position:absolute;left:32%;top:4%;box-shadow:20px 35px 35px #3e4b3233}.slab{position:absolute;left:22%;bottom:13%;height:15%;width:56%;background:linear-gradient(#d4c9b0 0 8%,#ac9e80 9%);box-shadow:20px 35px 35px #3e4b3233}.column,.thin-column{position:absolute;left:33%;bottom:0;width:12%;height:31%;background:linear-gradient(90deg,#b4a78b,#d5c9ad 70%,#b0a387)}.thin-column{left:61%;width:7%;height:25%}.eyebrow{position:absolute;top:25px;left:34px;right:34px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px}.gallery-controls{position:absolute;left:34px;right:34px;top:42%;display:flex;justify-content:space-between}.gallery-controls button{font-size:20px;display:flex;gap:13px;align-items:center;min-height:44px}.gallery-controls button span{font-size:11px}.caption{position:absolute;bottom:58px;left:34px;right:34px;border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:80px 1fr 200px;align-items:end;gap:15px}.number{font-size:11px;padding-bottom:8px}.title-wrap p{font-size:9px;letter-spacing:1.1px;margin:0 0 18px}h1{font-weight:400;font-size:clamp(60px,7.8vw,126px);letter-spacing:-.075em;line-height:.91;margin:0}h1 br{display:none}.caption-note{font-size:11px;line-height:1.5;padding-bottom:5px}.status-dot{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin-right:7px;vertical-align:middle}.note-sub{display:block;margin:10px 0 0 14px;font-size:10px;opacity:.7}.bottom{position:absolute;bottom:0;left:34px;right:34px;min-height:42px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:8px;letter-spacing:.7px}.dots{display:flex;gap:4px}.dots button{width:28px;height:30px;display:grid;place-items:center}.dots button:after{content:'';width:5px;height:5px;border:1px solid currentColor;border-radius:50%}.dots button.selected:after{background:currentColor}.page{padding:65px 6vw 45px;min-height:calc(100svh - 102px);border-top:1px solid var(--line)}[hidden]{display:none!important}.page-heading{display:grid;grid-template-columns:1fr 1.5fr;gap:24px}.page-heading>p:first-child{grid-column:1/-1;font-size:10px;letter-spacing:1px}h2{font-size:clamp(65px,8vw,125px);font-weight:400;letter-spacing:-.07em;line-height:.98;margin:15px 0 55px}.page-heading>p:last-child{align-self:center;justify-self:end;font-size:15px;line-height:1.6}.index-list{border-top:1px solid var(--line)}.index-list button{display:grid;grid-template-columns:60px 1fr 200px 20px;width:100%;text-align:left;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .25s}.index-list button:hover{padding-left:12px}.index-list strong{font-size:30px;font-weight:400;letter-spacing:-1px}.index-list span{font-size:11px}.disclaimer{font-size:11px;opacity:.6;margin-top:28px}.about-top>p{font-size:10px;letter-spacing:1px}.about-body{display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;border-top:1px solid var(--line);padding-top:30px}.about-body .lead{font-size:clamp(24px,2.6vw,38px);line-height:1.3;letter-spacing:-1px;margin-top:0}.about-body>div>p{font-size:15px;line-height:1.65;margin:0 0 20px}.services{margin:38px 0}.services p{padding:12px 0;border-top:1px solid var(--line);font-size:10px;margin:0}.services span{font-size:14px;margin-left:25px}.text-link{border-bottom:1px solid currentColor;padding:8px 0;font-size:14px}.contact-placeholder{display:flex;align-items:center;border-top:1px solid var(--line);padding:30px 0;font-size:14px}
@media(min-width:1600px){.caption{bottom:65px}.caption-note{justify-self:end}h1{font-size:130px}}
@media(max-width:1000px){header{grid-template-columns:1.5fr 1fr auto;gap:20px;padding:0 24px}.location{display:none}nav{gap:18px}.caption{grid-template-columns:45px 1fr 160px;left:24px;right:24px}.eyebrow,.gallery-controls,.bottom{left:24px;right:24px}.caption-note{font-size:10px}h1 br{display:block}.paper{width:45%;left:30%}.paper-back{left:24%}}
@media(max-width:600px){header{height:108px;padding:19px 20px 13px;grid-template-columns:1fr auto;gap:15px}.signature{font-size:20px}.signature span{font-size:9px}.contact{font-size:10px}nav{grid-column:1/-1;grid-row:2;gap:24px}.nav-item{font-size:11px;padding:4px 0}.gallery{height:calc(100svh - 108px);min-height:560px}.eyebrow{top:20px;left:20px;right:20px;font-size:7px;letter-spacing:.7px}.wall{right:18%}.portal{width:49%;height:64%;left:29%;top:13%;box-shadow:inset 15px 8px 25px #3e433947,-10px 0 0 #b2aa96}.step-one{left:21%;width:67%;bottom:7%}.step-two{left:7%;width:93%;bottom:-4%}.gallery-controls{left:20px;right:20px;top:37%}.gallery-controls button span{display:none}.caption{left:20px;right:20px;bottom:55px;grid-template-columns:1fr auto;gap:12px;padding-top:14px}.number{grid-column:1/-1;font-size:9px}.title-wrap p{font-size:7px;letter-spacing:.5px;margin-bottom:13px}h1{font-size:62px;letter-spacing:-4px;line-height:.94}.caption-note{font-size:8px;align-self:end;max-width:100px}.note-sub{font-size:8px;margin-left:0}.bottom{left:20px;right:20px;font-size:6px;letter-spacing:.2px}.dots button{width:20px}.paper{width:57%;height:62%;left:27%;top:15%;padding:20px}.paper-back{left:16%}.paper-front strong{font-size:61px}.paper-front span,.paper-front small,.paper-front i{font-size:7px}.disc{width:70vw;height:70vw;left:17%;top:10%}.slab{left:8%;width:85%;bottom:28%;height:13%}.column{left:24%;height:33%;width:20%}.thin-column{left:66%;height:30%;width:12%}.page{padding:30px 20px}.page-heading{display:block}.page-heading>p{font-size:12px!important}.page-heading>p:last-child{margin-bottom:36px}h2{font-size:67px;margin:30px 0}.index-list button{grid-template-columns:28px 1fr 15px;padding:25px 0}.index-list strong{font-size:24px}.index-list button>span:nth-child(3){display:none}.about-body{grid-template-columns:1fr;gap:15px}.about-body .lead{font-size:27px}.contact-placeholder{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:600px){.caption{grid-template-columns:minmax(0,1fr)}.caption-note{position:absolute;right:0;top:14px;max-width:none;padding:0}.note-sub{display:none}.title-wrap{min-width:0}h1{font-size:clamp(48px,15.9vw,62px)}.page h2{font-size:clamp(52px,16vw,67px)}}

/* Editorial direction: Serrif and a split composition. */
@font-face{font-family:'Serrif Preview';src:url('fonts/SerrifCollectionVF-TRIAL.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--editorial:'Serrif Preview',Georgia,serif;--paper:#f3f0e8;--ink:#33392f}
header{height:116px;padding:0 4vw;grid-template-columns:1.6fr 1.4fr 1fr auto;border-bottom:1px solid var(--line)}.signature{font-family:var(--editorial);font-size:28px;letter-spacing:-.8px}.signature span{font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.3px;margin-top:8px}.nav-item{font-size:11px}nav{gap:24px}
.gallery{height:calc(100svh - 116px);min-height:640px;background:var(--paper);overflow:hidden}.artwork{inset:66px 4vw 142px 47%;transform:scale(1);transition:opacity 850ms ease}.eyebrow{top:34px;left:47%;right:4vw;font-size:8px;letter-spacing:1px}.caption{left:4vw;right:auto;width:37%;top:62px;bottom:auto;padding:0;border:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}.number{font-family:var(--editorial);font-size:16px;padding:0;margin-bottom:48px}.title-wrap p{font-size:8px;letter-spacing:1px;margin-bottom:24px}h1{font-family:var(--editorial);font-weight:400;font-size:clamp(55px,5.7vw,96px);letter-spacing:-.045em;line-height:1.02}h1 br{display:block}.title-wrap .intro{font-family:var(--editorial);font-size:18px;line-height:1.45;letter-spacing:0;max-width:325px;margin:32px 0 0}.caption-note{position:static;max-width:none;margin-top:36px;font-size:9px;opacity:.65}.note-sub{display:none}.gallery-controls{top:auto;bottom:94px;left:47%;right:4vw;border-top:1px solid var(--line);padding-top:8px}.gallery-controls button{font-size:24px;gap:15px}.gallery-controls button span{font-size:10px}.bottom{left:4vw;right:4vw;min-height:51px;font-size:8px}.dots{position:absolute;left:50%;transform:translateX(-50%)}.paper{width:49%;height:78%;left:31%;top:10%;padding:23px}.paper-back{left:21%}.paper-front strong{font-family:var(--editorial);font-size:clamp(45px,5vw,80px);letter-spacing:-3px}.paper-front span,.paper-front small,.paper-front i{font-size:8px}.disc{width:26vw;height:26vw;left:25%;top:5%}.page{min-height:calc(100svh - 116px);border-top:0}.page h2{font-family:var(--editorial);letter-spacing:-.045em;font-weight:400}.about-body .lead{font-family:var(--editorial);font-size:clamp(26px,2.8vw,42px);letter-spacing:-.02em}.index-list strong{font-family:var(--editorial);font-size:34px;letter-spacing:-.025em}.page-heading>p:last-child{font-family:var(--editorial);font-size:20px}.text-link{font-family:var(--editorial);font-size:18px}
@media(min-width:1600px){h1{font-size:100px}.caption-note{align-self:flex-start}.gallery{min-height:730px}}
@media(max-width:1000px){header{grid-template-columns:1.3fr 1fr auto;gap:15px}.signature{font-size:24px}.gallery{min-height:680px}.caption{width:36%}.number{margin-bottom:36px}h1{font-size:60px}.title-wrap .intro{font-size:17px}.artwork{left:46%;bottom:160px}.eyebrow,.gallery-controls{left:46%}.eyebrow{font-size:7px}.paper-front strong{font-size:50px}.paper{padding:16px}.gallery-controls{bottom:112px}}
@media(max-width:600px){header{height:120px;padding:20px;grid-template-columns:1fr auto;gap:14px}.signature{font-size:24px}.signature span{font-size:9px}.contact{font-size:10px}nav{gap:25px}.gallery{height:auto;min-height:0;display:flex;flex-direction:column;padding:30px 20px 0;overflow:hidden}.caption{position:relative;inset:auto;width:100%;display:block;order:0}.number{font-size:13px;margin-bottom:24px}.title-wrap p{font-size:7px;margin-bottom:15px}h1{font-size:clamp(54px,14.5vw,80px);line-height:1.04;letter-spacing:-.045em}.title-wrap .intro{font-size:17px;line-height:1.4;max-width:330px;margin-top:23px}.caption-note{position:absolute;top:0;right:0;margin:0;font-size:8px}.artwork{inset:auto;left:20px;right:20px;top:380px;height:365px;transform:none}.eyebrow{position:relative;inset:auto;margin-top:38px;margin-bottom:13px;font-size:7px;order:1}.gallery-controls{position:relative;inset:auto;margin-top:382px;padding-top:5px;order:2}.gallery-controls button span{display:inline;font-size:9px}.bottom{position:relative;inset:auto;order:3;margin-top:22px;min-height:52px;font-size:6px}.dots{gap:0}.dots button{width:20px}.portal{top:10%;height:82%;width:42%;left:35%}.step-one{bottom:-2%}.step-two{bottom:-12%}.paper{width:49%;height:80%;left:32%;top:10%;padding:18px}.paper-back{left:21%}.paper-front strong{font-size:52px}.paper-front span,.paper-front small,.paper-front i{font-size:7px}.disc{width:65vw;height:65vw;left:20%;top:5%}.slab{bottom:15%}.column{height:23%}.thin-column{height:20%}.page h2{font-size:clamp(49px,13vw,67px)}.index-list strong{font-size:25px}.about-body .lead{font-size:29px}.page-heading>p:last-child{font-size:17px!important}}
.visual-stage{position:absolute;inset:66px 4vw 142px 47%;overflow:hidden}.visual-stage .artwork{inset:0;height:auto}.gallery-controls{bottom:83px}
@media(max-width:1000px){.visual-stage{left:46%;bottom:160px}.gallery-controls{bottom:101px}}
@media(max-width:600px){.visual-stage{position:relative;inset:auto;order:2;width:100%;height:365px;flex-shrink:0}.gallery-controls{order:3;inset:auto;margin-top:17px}.bottom{order:4}.visual-stage .artwork{inset:0;height:auto}}

/* Requested type pairing and inline signature. */
@font-face{font-family:'ABC Diatype Plus Preview';src:url('fonts/ABCDiatypePlusVariableTrial.ttf') format('truetype');font-weight:200 1000;font-style:normal;font-display:swap}
:root{--sans:'ABC Diatype Plus Preview',Arial,sans-serif}
html,body{font-family:var(--sans)}
.signature,h1,.page h2,.number,.title-wrap .intro,.paper-front strong,.about-body .lead,.index-list strong,.page-heading>p:last-child,.text-link{font-variation-settings:'wdth' 50,'ital' 0;letter-spacing:0}
header{grid-template-columns:auto auto 1fr auto;align-items:baseline;align-content:center;gap:clamp(20px,3vw,52px)}
.signature{display:flex;align-items:baseline;gap:24px;font-size:32px;line-height:1;white-space:nowrap}
.signature span{display:inline;font-family:var(--sans);font-variation-settings:normal;font-size:12px;line-height:1.3;letter-spacing:0;margin:0}
nav{align-items:baseline;gap:23px}.nav-item{font-size:12px}.location{justify-self:end;line-height:1.3}.location span{display:inline;margin-left:10px}
@media(max-width:1200px){header{grid-template-columns:auto 1fr auto;gap:24px}.location{display:none}nav{justify-self:center;gap:18px}.signature{gap:18px}.signature span{font-size:11px}.nav-item{font-size:11px}}
@media(max-width:700px){header{height:124px;padding:20px;grid-template-columns:1fr auto;gap:18px 12px;align-content:center}.signature{grid-column:1/-1;grid-row:1;gap:20px;font-size:32px}.signature span{font-size:11px}nav{grid-column:1;grid-row:2;justify-self:start;gap:19px}.contact{grid-column:2;grid-row:2;font-size:10px}.nav-item{padding:4px 0}.contact span{margin-left:5px}}
@media(max-width:350px){.signature{gap:14px;font-size:29px}.signature span{font-size:10px}nav{gap:12px}.contact{font-size:9px}}

/* Full-screen artwork with the approved editorial text composition. */
body:has(.gallery:not([hidden])){--ink:#faf1e5;--line:#faf1e5;background:#41483c;color:#faf1e5}
body:has(.gallery:not([hidden])) header{position:absolute;inset:0 0 auto;background:transparent;z-index:10;border-color:#faf1e5}
.gallery{height:100svh;min-height:780px;background:#41483c;color:#faf1e5;isolation:isolate}
.visual-stage{inset:0;z-index:-2;pointer-events:none}
.visual-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,29,24,.67),rgba(20,29,24,.33) 55%,rgba(20,29,24,.18));pointer-events:none}
.visual-stage .artwork{inset:0}
.caption{top:178px;width:40%;max-width:610px;z-index:1}
.eyebrow{top:150px;left:auto;right:4vw;gap:35px}
.gallery-controls{left:auto;right:4vw;bottom:85px;width:260px;border-color:#faf1e5}
.bottom{border-color:#faf1e5}.caption-note{opacity:1}.title-wrap .intro{max-width:355px}
.art-two .paper{color:#33392f}
@media(min-width:1600px){.gallery{min-height:850px}}
@media(max-width:1000px){.gallery{min-height:810px}.visual-stage{inset:0}.caption{width:45%;top:175px}.eyebrow{left:auto;gap:15px;font-size:7px}.gallery-controls{left:auto;bottom:85px;width:220px}}
@media(max-width:700px){.gallery{height:auto;min-height:100svh;display:block;padding:165px 20px 110px}.visual-stage{position:absolute;inset:0;width:auto;height:auto}.caption{position:relative;inset:auto;width:100%;max-width:410px}.caption-note{position:static;margin-top:28px}.number{margin-bottom:30px}.eyebrow{display:none}.gallery-controls{position:relative;inset:auto;width:100%;margin-top:38px}.bottom{position:absolute;left:20px;right:20px;bottom:0;margin:0}.visual-stage:after{background:linear-gradient(90deg,rgba(20,29,24,.68),rgba(20,29,24,.36))}.title-wrap .intro{max-width:300px}.gallery .portal{left:42%;width:52%;top:18%;height:68%}.gallery .wall{right:10%}}
@media(max-width:700px){.gallery{display:flex;flex-direction:column}.caption{order:0}.gallery-controls{order:1}.visual-stage{position:absolute}}

/* White foreground, edge navigation and project preview pages. */
body:has(.gallery:not([hidden])){--ink:#fff;color:#fff}.gallery{color:#fff}
.gallery-controls{left:4vw;right:4vw;width:auto;border-top:0;justify-content:space-between}
#slide-title{display:inline-block}#slide-title:hover{opacity:.85}
.case-heading{margin:60px 0 40px}.case-heading>p:first-child{font-size:10px;letter-spacing:1px}.case-heading h2{margin:25px 0}.case-notice{font-size:14px;line-height:1.6;max-width:410px}.case-art{position:relative;height:65svh;min-height:350px;overflow:hidden;background:#a8ac98}.case-art .artwork{opacity:1;inset:0;height:auto;transform:none}.case-art .paper{color:#33392f}.case-end{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0}.case-end p{font-size:11px}
@media(max-width:700px){.gallery-controls{position:relative;left:auto;right:auto;width:100%;margin-top:38px}.case-heading{margin-top:40px}.case-end{align-items:flex-start;flex-direction:column}.case-art{min-height:300px;height:50svh}}

/* Dark pages and floating project previews. */
:root{--paper:#000;--ink:#fff;--line:rgba(255,255,255,.35)}
.index-list{position:relative}.index-list button{position:relative;z-index:1}.index-list button:hover,.index-list button:focus-visible{color:#fff}
.project-preview{position:fixed;width:260px;height:310px;z-index:30;pointer-events:none;overflow:hidden;background:#a7ad9a;opacity:0;visibility:hidden;transform:translateY(10px) rotate(-3deg);transition:opacity .2s ease,transform .25s ease,visibility .2s;box-shadow:0 15px 65px #0008}
.project-preview.visible{opacity:1;visibility:visible;transform:translateY(0) rotate(-3deg)}
.project-preview .artwork{inset:0;height:auto;opacity:1;transform:none}.project-preview .paper{color:#33392f;padding:12px}.project-preview .paper-front strong{font-size:38px;letter-spacing:0}.project-preview .paper-front span,.project-preview .paper-front small,.project-preview .paper-front i{font-size:5px}.project-preview .disc{width:190px;height:190px;left:17%;top:9%}.project-preview .portal{width:43%;left:32%;height:80%;top:12%}
@media(hover:none),(max-width:700px){.project-preview{display:none}}

/* User-selected light/dark palette. */
:root,:root[data-theme='dark']{--paper:#1a1a1a;--ink:#fff;--line:rgba(255,255,255,.3);color-scheme:dark}
:root[data-theme='light']{--paper:#faf1e5;--ink:#272a24;--line:rgba(39,42,36,.3);color-scheme:light}
html,body,header,.page{transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.header-actions{display:flex;align-items:baseline;gap:22px;justify-self:end;white-space:nowrap}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 0;font-size:11px;line-height:1.3}.theme-icon{display:inline-block;width:12px;height:12px;border:1px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
:root[data-theme='light'] .index-list button:hover,:root[data-theme='light'] .index-list button:focus-visible{color:var(--ink)}
@media(min-width:1201px) and (max-width:1500px){header{gap:24px}.location span{display:block;margin-left:0}}
@media(min-width:701px) and (max-width:1000px){.header-actions{gap:14px}#theme-label{display:none}.theme-toggle{padding:8px}.signature{gap:14px}header{gap:18px}}
@media(max-width:700px){.signature{grid-column:1/-1}.header-actions{grid-column:2;grid-row:2;gap:10px}.header-actions .contact{font-size:10px}#theme-label{display:none}.theme-toggle{min-width:30px;min-height:30px;justify-content:center;padding:4px}.header-actions .contact span{margin-left:3px}}

/* Shared editorial grid: one gutter and explicit header columns. */
:root{--gutter:clamp(24px,4vw,88px);--grid-gap:24px;--header-height:116px}
header{height:var(--header-height);padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:0;align-content:center;align-items:baseline}
.signature{grid-column:1/6;grid-row:1;display:flex;gap:clamp(20px,2vw,40px);min-width:0}
nav{grid-column:7/10;grid-row:1;justify-self:start;gap:clamp(20px,2vw,38px)}
.header-actions{grid-column:10/13;grid-row:1;justify-self:end;gap:24px}
.location{display:none}
.page{padding-left:var(--gutter);padding-right:var(--gutter);min-height:calc(100svh - var(--header-height))}
.caption{left:var(--gutter)}.eyebrow{right:var(--gutter)}.gallery-controls{left:var(--gutter);right:var(--gutter)}.bottom{left:var(--gutter);right:var(--gutter)}
.page-heading,.about-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
.page-heading>p:first-child{grid-column:1/-1}.page-heading h2{grid-column:1/7}.page-heading>p:last-child{grid-column:9/13;justify-self:start}
.about-body>.lead{grid-column:1/6}.about-body>div{grid-column:8/13}
@media(min-width:1600px){.signature{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--grid-gap)}.signature span{grid-column:3/6}}
@media(min-width:701px) and (max-width:1100px){:root{--header-height:148px;--grid-gap:18px}.signature{grid-column:1/9;grid-row:1}.header-actions{grid-column:9/13;grid-row:1}nav{grid-column:7/13;grid-row:2;margin-top:25px;justify-self:end;gap:30px}header{align-content:center}.caption{top:calc(var(--header-height) + 58px)}.eyebrow{top:calc(var(--header-height) + 30px)}}
@media(min-width:1101px) and (max-width:1350px){header{column-gap:18px}.signature{gap:18px}.signature span{font-size:11px}nav{gap:18px}.header-actions{gap:16px}.nav-item{font-size:11px}.theme-toggle{font-size:10px}}
@media(max-width:700px){:root{--gutter:20px;--grid-gap:16px;--header-height:140px}header{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:22px}.signature{grid-column:1/-1;grid-row:1;display:flex;gap:20px}nav{grid-column:1/3;grid-row:2;justify-self:start;gap:18px;margin:0}.header-actions{grid-column:3/5;grid-row:2;gap:8px}.gallery{padding-left:var(--gutter);padding-right:var(--gutter);padding-top:calc(var(--header-height) + 35px)}.caption{left:auto;top:auto}.gallery-controls{left:auto;right:auto}.bottom{left:var(--gutter);right:var(--gutter)}.page-heading,.about-body{display:block}.page-heading>p:last-child{margin-bottom:36px}.about-body>div{margin-top:28px}.signature span{font-size:11px}}
@media(max-width:370px){nav{gap:11px}.header-actions{gap:3px}.header-actions .contact{font-size:9px}.signature{gap:14px}.signature span{font-size:10px}}
@media(min-width:1600px){.signature{display:flex;gap:clamp(32px,3vw,60px)}}
@media(max-width:700px){nav .nav-item>span{display:none}nav{gap:20px}.header-actions{gap:12px}}

/* Stronger display typography with tighter leading. */
h1,.page h2{font-weight:600;font-variation-settings:'wght' 600,'wdth' 50,'ital' 0;line-height:.94;letter-spacing:-.015em}
.index-list strong{font-weight:600;font-variation-settings:'wght' 600,'wdth' 50,'ital' 0;line-height:1.05;letter-spacing:-.01em}

/* Permanent dark presentation. */
:root{--paper:#1a1a1a;--ink:#fff;--line:rgba(255,255,255,.3);color-scheme:dark}

/* Casa Bosco: first published portfolio case. */
.artwork.casa-bosco{background:#222}.casa-bosco img{width:100%;height:100%;object-fit:cover;display:block;object-position:center}
.case-entry{display:inline-block!important;opacity:1;font-family:var(--sans);font-size:12px;margin-top:32px;border-bottom:1px solid currentColor;padding-bottom:8px;align-self:flex-start}
.case-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.case-heading>p:first-child{grid-column:1/-1;margin:0}.case-heading h2{grid-column:1/8;margin:0}.case-heading .case-notice{grid-column:9/13;align-self:end;margin:0;max-width:none}
.case-credits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding:24px 0 36px;margin:30px 0 0}.case-credits dt{font-size:9px;letter-spacing:.7px;margin-bottom:13px}.case-credits dd{font-size:14px;line-height:1.5;margin:0}
#case-art{height:auto;min-height:0;background:none}#case-art .artwork{position:relative}#case-art .casa-bosco img{height:auto;object-fit:contain}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.case-figure{margin:0;overflow:hidden;background:#151515}.case-figure.full{grid-column:1/-1}.case-figure img{display:block;width:100%;height:auto}.case-figure.portrait{align-self:start}.case-section-label{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;padding:45px 0 18px;border-bottom:1px solid var(--line);margin-bottom:16px}.case-section-label span{font-size:9px;letter-spacing:.8px}.case-section-label h3{font-family:var(--editorial);font-variation-settings:'wdth' 50,'wght' 500;font-size:40px;font-weight:500;margin:0;line-height:1.05}
.project-preview .casa-bosco img{object-fit:cover;object-position:55% center}.gallery .caption{max-width:600px}.gallery .title-wrap .intro{font-family:var(--sans);font-variation-settings:normal;font-size:14px;line-height:1.6;max-width:320px}.gallery .visual-stage:after{background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.32) 57%,rgba(0,0,0,.15))}
@media(max-width:700px){.case-heading{display:block}.case-heading h2{margin:20px 0}.case-heading .case-notice{max-width:350px}.case-credits{grid-template-columns:1fr 1fr;gap:26px 18px}.case-credits dd{font-size:12px}.case-credits dt{font-size:8px}.case-gallery{gap:12px;margin-top:12px}.case-section-label{display:block;padding-top:28px}.case-section-label h3{font-size:32px;margin-top:18px}.gallery .title-wrap .intro{font-size:13px}.case-entry{position:static;margin-top:24px}.gallery .casa-bosco img{object-position:62% center}}

main:focus{outline:none}
@media(min-width:701px) and (max-width:1100px){.case-heading h2{grid-column:1/7}.case-heading .case-notice{grid-column:8/13}}

/* Values managed by the content editor. */
h1,.page h2{font-weight:var(--title-weight,600);font-variation-settings:'wght' var(--title-weight,600),'wdth' 50,'ital' 0;line-height:var(--title-leading,.94)}
.index-list strong{font-weight:var(--title-weight,600);font-variation-settings:'wght' var(--title-weight,600),'wdth' 50,'ital' 0}
.gallery .visual-stage:after{background:linear-gradient(90deg,rgba(0,0,0,var(--hero-overlay,.76)),rgba(0,0,0,.32) 57%,rgba(0,0,0,.15))}
#slide-title,.page h2,.case-credits dd,.page-heading>p,.about-body>div>p{white-space:pre-line}.contact-placeholder{gap:25px;flex-wrap:wrap}
.draft-banner,.load-error{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);z-index:100;background:#f3eddf;color:#161616;padding:12px 20px;font:12px/1.5 Arial,sans-serif;border-radius:4px;max-width:calc(100vw - 30px);width:max-content;box-shadow:0 4px 30px #0004}.draft-banner a{text-decoration:underline}

/* Preserve the case description's editorial paragraphs from the admin. */
.case-heading .case-notice{white-space:pre-line}

/* Serif project copy, sharing the header's central grid axis. */
.case-heading .case-notice,
.gallery .title-wrap .intro{
 font-family:'Serrif Preview',Georgia,serif;
 font-weight:400;
 font-variation-settings:'wght' 400,'wdth' 50,'ital' 0;
 font-size:clamp(21px,1.65vw,29px);
 line-height:1.3;
 letter-spacing:0;
}
.case-heading{column-gap:var(--grid-gap);margin-bottom:18px;align-items:end}
.case-heading h2{grid-column:1/7;align-self:end}
.case-heading .case-notice{grid-column:7/13;max-width:none;align-self:end}
.case-credits{column-gap:var(--grid-gap);margin-top:0}
.gallery .title-wrap .intro{max-width:390px}
@media(max-width:700px){
 .case-heading{margin-bottom:20px}
 .case-heading .case-notice{max-width:none;font-size:22px;line-height:1.35}
 .gallery .title-wrap .intro{font-size:22px;line-height:1.3;max-width:340px}
}

/* About: shared rails for marginalia (1), headings (5), and supporting copy (9). */
#about-view{--section-space:48px;--row-space:32px}
.about-hero,#about-intro,.about-introduction,.recognition-heading,.service-row,.award-row,.about-closing{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
#about-view :is(h1,h2,h3,p,figure){margin:0;min-width:0}
.about-hero{align-items:end;padding-bottom:var(--section-space)}
.about-hero .about-portrait{grid-column:1/4;grid-row:1;width:min(100%,240px);aspect-ratio:4/5;overflow:hidden}
.about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.about-hero-copy{grid-column:5/13;grid-row:1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:14px;align-items:baseline;padding-bottom:4px}
.about-name{grid-column:1/5;grid-row:1;font-size:clamp(36px,3.6vw,60px);line-height:1.04;letter-spacing:-.015em}
.about-role{grid-column:1/5;grid-row:2;font-size:12px;line-height:1.5}
.about-place{grid-column:5/9;grid-row:2;font-size:12px;line-height:1.5}
.about-scroll{display:none}
#about-intro{border-top:1px solid var(--line);padding-top:var(--row-space);align-items:start;scroll-margin-top:32px}
#about-intro>p,.recognition-heading>p{grid-column:1/4;font:10px/1.5 var(--sans);letter-spacing:1px;padding-top:8px}
#about-intro h2,.recognition-heading h2{grid-column:5/13;font-size:clamp(44px,4.8vw,80px);line-height:1.04;max-width:100%;overflow-wrap:break-word;text-wrap:pretty}
.about-introduction{padding:var(--row-space) 0 var(--section-space)}
.about-introduction .about-copy{grid-column:5/13;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--grid-gap);align-items:start}
.about-copy .lead{grid-column:1/5}.about-description{grid-column:5/9}
.about-copy .lead,.about-description,#about-view .service-row>p,.about-closing>p{font-family:'Serrif Preview',Georgia,serif;font-weight:400;font-variation-settings:'wght' 400,'wdth' 50,'ital' 0;font-size:clamp(22px,1.85vw,30px);line-height:1.35;letter-spacing:0;white-space:pre-line;text-wrap:pretty}
.about-copy .lead{font-size:clamp(26px,2.25vw,36px);line-height:1.25}
#about-view .services{margin:0}
.service-row,.award-row{border-top:1px solid var(--line);padding:var(--row-space) 0;align-items:start}
.service-row .service-number,.award-year{grid-column:1/4;font:11px/1.5 var(--sans);padding-top:7px;margin:0}
.service-row h3,.award-name{grid-column:5/9}
.service-row h3,.award-name h3{font-family:var(--editorial);font-weight:400;font-variation-settings:'wght' 400,'wdth' 50,'ital' 0;font-size:clamp(27px,2.45vw,40px);line-height:1.1;letter-spacing:0;text-wrap:pretty}
#about-view .service-row>p{grid-column:9/13;border:0;padding:0}
.recognition{padding:var(--section-space) 0}
.recognition-heading{align-items:start;margin-bottom:var(--row-space)}
.award-row:last-child{border-bottom:1px solid var(--line)}
#about-view .award-name>p{font:12px/1.5 var(--sans);margin-top:12px}
.award-detail{grid-column:9/13;min-width:0}
#about-view .award-detail p{font:13px/1.5 var(--sans);margin-bottom:8px}
#about-view .award-detail .award-project{font-size:16px}
#about-view .award-detail .award-credit{font-size:11px;opacity:.7;margin:16px 0 0}
.about-closing{row-gap:24px;padding:0 0 var(--section-space)}
.about-closing>p{grid-column:5/13;max-width:44ch}
.about-closing .text-link{grid-column:5/13;justify-self:start;text-align:left;font-size:clamp(25px,2.7vw,42px);line-height:1.2}
/* Contact uses the same page margins and central axis. */
#contact-view .page-heading{align-items:end}#contact-view .page-heading h2{margin-bottom:24px}#contact-view .page-heading>p:last-child{grid-column:7/13;margin:0 0 24px}
.contact-description,#contact-view .page-heading>p:last-child{font-family:'Serrif Preview',Georgia,serif;font-variation-settings:'wght' 400,'wdth' 50,'ital' 0;font-size:clamp(22px,1.85vw,30px);line-height:1.35;letter-spacing:0;white-space:pre-line}
.contact-detail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);border-top:1px solid var(--line);padding:30px 0 45px}.contact-description{grid-column:7/13;margin:0 0 36px}.contact-detail .contact-placeholder{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);border:0;padding:35px 0}
.contact-channel{border-top:1px solid var(--line);padding:20px 0;min-width:0}.contact-channel>span{display:block;font:12px var(--sans);margin-bottom:18px}.contact-channel>strong{font-family:var(--editorial);font-variation-settings:'wght' 400,'wdth' 50,'ital' 0;font-weight:400;font-size:clamp(26px,3.1vw,50px);line-height:1.2;overflow-wrap:anywhere}.contact-channel:hover>strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.contact-location{grid-column:1/-1;margin:15px 0 0;font-size:13px}
@media(max-width:700px){
 #about-view{--section-space:36px;--row-space:24px}
 .about-hero{grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:end}
 .about-hero .about-portrait{grid-column:1;width:120px}
 .about-hero-copy{grid-column:2;display:flex;flex-direction:column;align-items:start;gap:10px;padding:0}
 .about-name{font-size:34px}.about-role,.about-place{font-size:11px}
 #about-intro,.about-introduction,.recognition-heading,.about-closing{display:block}
 #about-intro>p,.recognition-heading>p{padding:0;margin-bottom:20px}
 #about-intro h2,.recognition-heading h2{font-size:clamp(39px,10.5vw,56px)}
 .about-introduction .about-copy{display:block}.about-copy .lead{font-size:28px;margin-bottom:24px!important}.about-description,#about-view .service-row>p,.about-closing>p{font-size:22px}
 .service-row,.award-row{grid-template-columns:36px minmax(0,1fr);gap:14px 16px}
 .service-row .service-number,.award-year{grid-column:1;grid-row:1}
 .service-row h3,.award-name{grid-column:2;grid-row:1}
 #about-view .service-row>p,.award-detail{grid-column:2;grid-row:2}
 .service-row h3,.award-name h3{font-size:30px}
 .about-closing .text-link{display:inline-block;font-size:27px;margin-top:24px}
 .contact-description,#contact-view .page-heading>p:last-child{font-size:22px}.contact-detail{display:block}.contact-detail .contact-placeholder{grid-template-columns:1fr;padding:15px 0;gap:10px}.contact-channel>strong{font-size:32px}#contact-view .page-heading>p:last-child{margin-bottom:30px}
}

/* The portrait meets the second horizontal rule. */
.about-hero{padding-bottom:0}
.about-hero .about-portrait{width:100%;max-width:300px}
.about-hero-copy{padding-bottom:var(--row-space)}
@media(max-width:700px){.about-hero .about-portrait{width:120px}.about-hero-copy{padding-bottom:20px}}

/* Reveals preserve the editorial grid; project gestures are scoped to home. */
.motion-pending{opacity:0;transform:translateY(18px)}
.motion-curtain{position:fixed;inset:0;background:var(--paper);z-index:9;pointer-events:none;transform-origin:50% 0}
@media(prefers-reduced-motion:no-preference){
 .text-link,.case-entry{position:relative;border-bottom-color:transparent}
 .text-link:after,.case-entry:after{content:'';position:absolute;height:1px;background:currentColor;bottom:0;left:0;right:0;transform:scaleX(.3);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1)}
 .text-link:hover:after,.text-link:focus-visible:after,.case-entry:hover:after,.case-entry:focus-visible:after{transform:scaleX(1)}
 nav .nav-item span,.contact span{display:inline-block;transition:transform .45s cubic-bezier(.22,1,.36,1)}
 nav .nav-item:hover span,.contact:hover span{transform:translate(3px,-3px)}
 .gallery-controls button{transition:transform .45s cubic-bezier(.22,1,.36,1)}
 .gallery-controls #prev:hover{transform:translateX(-5px)}.gallery-controls #next:hover{transform:translateX(5px)}
 .index-list button:hover{padding-left:0}.index-list strong{transition:transform .6s cubic-bezier(.22,1,.36,1)}.index-list button:hover strong{transform:translateX(10px)}
 .project-preview img{transition:transform .8s cubic-bezier(.22,1,.36,1)}.project-preview.visible img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1;transform:none}.motion-curtain{display:none}}
@media(max-width:700px){nav .nav-item>span{display:none}}

/* Straight project previews and lighter supporting serif copy. */
.project-preview{box-shadow:none;transform:translateY(10px)}
.project-preview.visible{transform:translateY(0)}
.case-heading .case-notice,
.gallery .title-wrap .intro,
.about-copy .lead,
.about-description,
#about-view .service-row>p,
.about-closing>p,
.contact-description,
.page-heading>p:last-child,
#contact-view .page-heading>p:last-child{
 font-weight:300;
 font-variation-settings:'wght' 300,'wdth' 50,'ital' 0;
}
.case-heading .case-notice,.gallery .title-wrap .intro{font-size:clamp(19px,1.5vw,26px);line-height:1.35}
.about-description,#about-view .service-row>p,.about-closing>p,.contact-description,#contact-view .page-heading>p:last-child{font-size:clamp(20px,1.65vw,27px);line-height:1.4}
.about-copy .lead{font-size:clamp(24px,2vw,32px);line-height:1.3}
#index-view .page-heading>p:last-child{font-size:18px}
@media(max-width:700px){
 .case-heading .case-notice,.gallery .title-wrap .intro,.about-description,#about-view .service-row>p,.about-closing>p,.contact-description,#contact-view .page-heading>p:last-child{font-size:20px;line-height:1.4}
 .about-copy .lead{font-size:25px}
}

/* ABC Diatype Plus Extended: the font's named Extended width is 125. */
nav,.header-actions,.signature span,.eyebrow,#kicker,.caption-note,
.gallery-controls,.bottom,.index-list span,.disclaimer,
.page-heading>p:first-child,.case-credits,.case-section-label>span,
.case-end>p,#case-category,#about-intro>p,.recognition-heading>p,
.about-role,.about-place,.about-scroll,.location,.service-number,.award-year,
#about-view .award-name>p,#about-view .award-detail p,
.contact-channel>span,.contact-location{
 font-variation-settings:'wdth' 125;
}

/* About — an editorial spread, with a shared twelve-column structure. */
#about-view{--section-space:clamp(64px,7vw,112px);--row-space:28px;padding-top:48px}
#about-view .about-hero{align-items:end;min-height:340px;padding-bottom:48px;gap:var(--grid-gap)}
#about-view .about-hero-copy{grid-column:1/10;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:0}
#about-view .about-name{order:1;font-size:clamp(64px,8.4vw,150px);line-height:.98;letter-spacing:-.025em;text-wrap:balance}
#about-view .about-role{order:0;font-size:11px}
#about-view .about-place{order:2;font-size:11px;margin-top:12px}
#about-view .about-scroll{display:inline-block;order:3;font-size:10px;margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:8px}
#about-view .about-portrait{grid-column:10/13;grid-row:1;align-self:end;width:100%;max-width:280px;aspect-ratio:4/5;margin:0;justify-self:end}
#about-intro{padding-top:36px;row-gap:28px}
#about-intro>p{grid-column:1/3;padding:0}
#about-intro h2{grid-column:3/12;font-size:clamp(42px,5.1vw,88px);line-height:1.04;max-width:24ch;text-wrap:balance}
.about-introduction{padding:40px 0 var(--section-space)}
.about-introduction .about-copy{grid-column:3/13;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,72px)}
#about-view .about-copy .lead,#about-view .about-description{grid-column:auto;font-size:clamp(23px,2vw,32px);line-height:1.36;max-width:35ch}
#about-view .services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px var(--grid-gap);padding-bottom:var(--section-space)}
#about-view .service-row{display:flex;flex-direction:column;gap:18px;padding:20px 0 0;min-width:0}
#about-view .service-number{padding:0;font-size:10px}
#about-view .service-row h3{font-size:clamp(28px,2.6vw,42px);line-height:1.12}
#about-view .service-row>p{font-size:clamp(20px,1.65vw,27px);line-height:1.4;max-width:36ch}
.recognition{padding:0 0 var(--section-space)}
.recognition-heading{border-top:1px solid var(--line);padding-top:28px;margin-bottom:40px}
.recognition-heading>p{grid-column:1/3}
.recognition-heading h2{grid-column:3/13;font-size:clamp(38px,4vw,64px)}
.award-row{padding:24px 0}
.award-year{grid-column:1/3}.award-name{grid-column:3/7}.award-detail{grid-column:7/13}
.award-name h3{font-size:clamp(26px,2.5vw,38px)}
.about-closing{border-top:1px solid var(--line);padding:32px 0 50px;row-gap:32px}
.about-closing>p{grid-column:3/8;max-width:36ch;font-size:clamp(23px,2vw,32px)}
.about-closing .text-link{grid-column:8/13;align-self:end;font-size:clamp(26px,2.8vw,44px);margin:0}
.gallery.has-multiple-projects{touch-action:pinch-zoom}
@media(max-width:1000px) and (min-width:701px){
 #about-view .services{grid-template-columns:repeat(2,minmax(0,1fr))}
 #about-view .about-name{font-size:8vw}
}
@media(max-width:700px){
 #about-view{padding-top:32px;--section-space:56px}
 #about-view .about-hero{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;padding-bottom:32px;row-gap:28px}
 #about-view .about-hero-copy{grid-column:1/-1;grid-row:1;gap:12px}
 #about-view .about-name{font-size:clamp(54px,12vw,82px)}
 #about-view .about-portrait{grid-column:3/5;grid-row:2;max-width:190px}
 #about-view .about-place{margin-top:0}
 #about-intro h2{font-size:clamp(38px,9vw,58px)}
 .about-introduction{padding-top:28px}
 #about-view .about-copy .lead,#about-view .about-description{font-size:23px;max-width:none}
 #about-view .services{grid-template-columns:1fr;gap:30px}
 #about-view .service-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px 16px}
 #about-view .service-number{grid-column:1;grid-row:1}
 #about-view .service-row h3{grid-column:2;grid-row:1;font-size:30px}
 #about-view .service-row>p{grid-column:2;grid-row:2;font-size:21px}
 .award-year{grid-column:1}.award-name{grid-column:2}.award-detail{grid-column:2}
 .recognition-heading h2{font-size:38px}
 .about-closing>p{font-size:23px}.about-closing .text-link{margin-top:28px;font-size:30px}
}

/* A quieter text scale and local time on the header's right-hand rail. */
.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;align-self:center}
.header-actions .location{display:block;white-space:nowrap;font-size:10px;line-height:1.4}
.header-actions .location span{display:inline;font-size:inherit;opacity:1;margin:0}
.header-actions .location:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:middle}
.header-actions .contact{font-size:10px;padding:0}
#about-view .about-copy .lead,#about-view .about-description,#about-view .about-closing>p{font-size:clamp(18px,1.35vw,23px);line-height:1.45;max-width:43ch}
#about-view .service-row>p{font-size:clamp(17px,1.2vw,21px);line-height:1.45;max-width:43ch}
#about-view .service-row h3,.award-name h3{font-size:clamp(24px,1.9vw,32px);line-height:1.15}
#about-intro h2{font-size:clamp(36px,4vw,66px);max-width:26ch}
.recognition-heading h2{font-size:clamp(34px,3.3vw,54px)}
#about-view .about-name{font-size:clamp(60px,7vw,120px)}
.about-closing .text-link{font-size:clamp(24px,2.2vw,36px)}
.case-heading .case-notice,.gallery .title-wrap .intro,.contact-description,#contact-view .page-heading>p:last-child{font-size:clamp(18px,1.3vw,22px);line-height:1.45}
@media(max-width:700px){
 .header-actions{gap:6px}.header-actions .location{font-size:9px}.header-actions .contact{font-size:9px}
 #about-view .about-name{font-size:clamp(48px,11vw,72px)}
 #about-intro h2{font-size:36px}.recognition-heading h2{font-size:32px}
 #about-view .about-copy .lead,#about-view .about-description,#about-view .about-closing>p{font-size:20px}
 #about-view .service-row>p{font-size:19px}
 #about-view .service-row h3,.award-name h3{font-size:26px}
}

/* Keep the clock and contact on a single horizontal line. */
.header-actions{flex-direction:row;align-items:center;gap:clamp(16px,2vw,32px);white-space:nowrap}
@media(min-width:1101px) and (max-width:1400px){nav{grid-column:6/10}.header-actions{grid-column:10/13;gap:14px}}
@media(max-width:700px){
 :root{--header-height:164px}
 header{row-gap:16px}
 nav{grid-column:1/-1;grid-row:2}
 .header-actions{grid-column:1/-1;grid-row:3;justify-self:start;gap:24px}
}

/* Four repeated rails: columns 1, 4, 7 and 10. No nested fractional gutters. */
@media(min-width:1101px){
 header{align-items:center}
 .signature{grid-column:1/7;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--grid-gap);align-items:baseline}
 .signature .signature-name{grid-column:1/4;font-family:var(--editorial);font-size:clamp(27px,2.5vw,42px);font-variation-settings:'wdth' 50,'wght' 400,'ital' 0;line-height:1.1;white-space:nowrap}
 .signature .signature-tagline{grid-column:4/7;font-size:11px;white-space:normal}
 header nav{grid-column:7/10;gap:clamp(14px,1.5vw,28px)}
 header .header-actions{grid-column:10/13;justify-self:stretch;justify-content:space-between;gap:10px}
}
.signature .signature-name{font-family:var(--editorial);font-size:inherit;font-variation-settings:'wdth' 50,'wght' 400,'ital' 0}
#about-view .about-label{grid-column:1/4;grid-row:1;align-self:start;font:10px/1.5 var(--sans);font-variation-settings:'wdth' 125;letter-spacing:1px}
#about-view .about-hero{min-height:0;align-items:start;padding-bottom:48px}
#about-view .about-hero-copy{grid-column:4/10;align-self:end;gap:18px}
#about-view .about-name{font-size:clamp(48px,5.1vw,88px);text-wrap:balance}
#about-view .about-portrait{grid-column:10/13;justify-self:stretch;width:100%;max-width:none;max-height:360px;align-self:start}
#about-view .about-scroll{margin-top:0}
#about-intro>p,.recognition-heading>p{grid-column:1/4}
#about-intro h2,.recognition-heading h2{grid-column:4/10;max-width:none}
.about-introduction .about-copy{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap)}
#about-view .about-copy .lead{grid-column:4/7;max-width:none}
#about-view .about-description{grid-column:7/10;max-width:none}
#about-view .services{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:40px}
#about-view .service-row{grid-column:4/7}
#about-view .service-row:nth-child(3n+2){grid-column:7/10}
#about-view .service-row:nth-child(3n){grid-column:10/13}
#about-view .service-row>p{max-width:none}
.award-year{grid-column:1/4}.award-name{grid-column:4/7}.award-detail{grid-column:7/13}
#about-view .about-closing>p{grid-column:4/7;max-width:none}
.about-closing .text-link{grid-column:7/13;align-self:start}
@media(min-width:701px) and (max-width:1100px){
 .signature .signature-name{font-size:30px}
 #about-view .about-name{font-size:48px}
 #about-view .about-copy .lead{grid-column:4/8}#about-view .about-description{grid-column:8/13}
 #about-view .services{grid-template-columns:repeat(12,minmax(0,1fr))}
 #about-view .service-row:nth-child(n){grid-column:4/8}
 #about-view .service-row:nth-child(2n){grid-column:8/13}
}
@media(max-width:700px){
 .signature .signature-name{font-size:28px}
 .signature .signature-tagline{font-size:10px;white-space:normal}
 #about-view .about-label{grid-column:1/-1;grid-row:1}
 #about-view .about-hero-copy{grid-column:1/-1;grid-row:2}
 #about-view .about-portrait{grid-column:1/3;grid-row:3;max-width:none;max-height:240px}
 #about-view .about-name{font-size:48px}
 .about-introduction .about-copy{display:block}
 #about-view .services{display:block}
 #about-view .service-row{margin-bottom:30px}
 .award-year{grid-column:1}.award-name,.award-detail{grid-column:2}
}
@media(min-width:1101px){header{column-gap:var(--grid-gap)}}

/* The navigation, rather than the tagline, starts on the content rail. */
@media(min-width:1101px){
 header .signature{grid-column:1/4;display:flex;align-items:baseline;gap:clamp(12px,1vw,20px)}
 header .signature .signature-name{font-size:clamp(25px,1.65vw,36px);flex:none}
 header .signature .signature-tagline{font-size:clamp(9px,.65vw,11px);line-height:1.35;max-width:15ch}
 header nav{grid-column:4/10}
}

/* Biography from Marlon's personal portfolio. */
#about-view .about-hero-copy{align-self:start}
#about-view .about-bio{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);margin-top:12px}
#about-view .about-bio p{font-family:var(--editorial);font-weight:300;font-variation-settings:'wght' 300,'wdth' 50,'ital' 0;font-size:clamp(18px,1.35vw,23px);line-height:1.45}
@media(max-width:700px){#about-view .about-bio{grid-template-columns:1fr;gap:18px}#about-view .about-bio p{font-size:20px}}

/* Keep the brand tagline on one line. */
header .signature .signature-tagline{white-space:nowrap;max-width:none;flex-shrink:0}
@media(min-width:1101px) and (max-width:1500px){
 header .signature{gap:10px}
 header .signature .signature-name{font-size:clamp(21px,1.65vw,25px)}
 header .signature .signature-tagline{font-size:8px}
}

/* One shared footer, in the document flow on every public page. */
.site-footer.bottom{position:relative;inset:auto;z-index:2;min-height:52px;margin:0 var(--gutter);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);font-family:var(--sans);font-size:8px;line-height:1.5;letter-spacing:.7px}
body[data-view='home'] .site-footer{margin-top:-52px;color:#fff;border-top-color:#fff}
body:not([data-view='home']) .site-footer .dots{display:none}
body:not([data-view='home']) .page{min-height:calc(100svh - var(--header-height) - 52px)}
.site-footer>span:last-child{text-align:right}
@media(max-width:700px){.site-footer.bottom{font-size:7px;gap:12px}.site-footer>span{max-width:44%}}
.site-footer .footer-instagram{white-space:nowrap;text-underline-offset:4px}
.site-footer .footer-instagram:hover{text-decoration:underline}
@media(max-width:700px){.site-footer.bottom{flex-wrap:wrap}.site-footer>span{max-width:none}}

/* Home motion: image layers only; navigation and footer remain stationary. */
.gallery .visual-stage .artwork{transition:none;transform:none;z-index:0}
.gallery .visual-stage .artwork.current{z-index:2}
.gallery .visual-stage:after{z-index:3}
.gallery .visual-stage .artwork.is-outgoing{z-index:1;opacity:1;pointer-events:none}
@media(min-width:701px){
 body[data-view='home']{overflow:hidden}
 .gallery{height:100svh;min-height:0}
 body[data-view='home'] .site-footer{height:52px;min-height:52px;padding:10px 0}
}

@media(prefers-reduced-motion:reduce){
 .artwork,.project-preview,.project-preview img,.index-list strong{transition:none!important}
 html{scroll-behavior:auto}
}
/* Separate the footer link from the project selector during slide changes. */
.site-footer.bottom{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
.site-footer>span:first-child{grid-column:1/4}
.site-footer .footer-instagram{grid-column:4/7;justify-self:start}
.site-footer .dots{position:static;transform:none;grid-column:7/10;justify-self:start}
.site-footer>span:last-child{grid-column:10/13}
@media(max-width:700px){
 .site-footer.bottom{grid-template-columns:1fr auto;row-gap:8px}
 .site-footer>span:first-child,.site-footer .dots{grid-column:1}
 .site-footer .footer-instagram,.site-footer>span:last-child{grid-column:2;justify-self:end}
 body[data-view='home'] .site-footer{margin-top:-80px;min-height:80px}
}

/* Biography uses the same column tracks as the sections below. */
#about-view .about-hero-copy{display:grid;grid-template-columns:subgrid;column-gap:var(--grid-gap);row-gap:18px;align-items:start}
#about-view .about-role{grid-column:1/-1;grid-row:1;margin:0}
#about-view .about-name{grid-column:1/-1;grid-row:2;margin:0 0 12px}
#about-view .about-hero-copy .about-portrait{grid-column:1/4;grid-row:3;align-self:start;justify-self:stretch;width:100%;max-width:none;max-height:none;aspect-ratio:2/3;margin:0}
#about-view .about-bio{grid-column:4/7;grid-row:3;display:flex;flex-direction:column;gap:1em;margin:0;align-self:start}
#about-view .about-bio p{margin:0}
@media(min-width:701px) and (max-width:1100px){
 #about-view .about-hero-copy{grid-column:4/13}
 #about-view .about-hero-copy .about-portrait{grid-column:1/5}
 #about-view .about-bio{grid-column:5/10}
}
@media(max-width:700px){
 #about-view .about-hero-copy{grid-template-columns:1fr}
 #about-view .about-hero-copy .about-portrait{grid-column:1;grid-row:3;width:min(100%,320px)}
 #about-view .about-bio{grid-column:1;grid-row:4}
}

/* Atuação switches the page palette while preserving all editorial styling. */
:root.about-light{--paper:#fff!important;--ink:#1a1a1a!important;--line:rgba(26,26,26,.3)!important;color-scheme:light}
html,body,header{transition:background-color 700ms cubic-bezier(.22,1,.36,1),color 700ms cubic-bezier(.22,1,.36,1)}
#about-view,#about-intro,.service-row,.recognition-heading,.award-row,.about-closing,.site-footer{transition:border-color 700ms cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){html,body,header,#about-view,#about-intro,.service-row,.recognition-heading,.award-row,.about-closing,.site-footer{transition:none}}
