/* Site core bundle — generated from the approved modular sources. */
/* styles-inner.css */
.page{background:var(--paper)}.page--ink{background:var(--ink);color:var(--paper)}.page-hero{position:relative;min-height:78svh;display:flex;align-items:end;padding:calc(var(--header) + 5rem) 0 clamp(3.5rem,7vw,7rem);overflow:hidden}.page-hero__meta{position:absolute;top:calc(var(--header) + 2rem);left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between}.page-hero h1{position:relative;z-index:2;max-width:11ch;margin:0;font-size:clamp(4.2rem,12vw,13rem);font-weight:500}.page-hero h1 em{font-family:var(--serif);font-weight:400}.page-hero__ghost{position:absolute;right:-3vw;top:14%;font:italic clamp(10rem,32vw,33rem)/.8 var(--serif);color:rgba(255,255,255,.035)}.page-hero--paper .page-hero__ghost{color:rgba(10,13,16,.045)}.page-intro{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:10vw;align-items:start}.page-intro .lead{margin:0}
/* work */
.work-wall{padding-top:0}.work-wall__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.8rem,1.8vw,2rem);align-items:start}.work-tile{position:relative;display:flex;flex-direction:column;min-height:28rem;padding:1.2rem;overflow:hidden;border-top:1px solid currentColor}.work-tile:after{content:'OPEN ↗';position:absolute;z-index:3;right:1.2rem;top:1.2rem;font-size:.62rem;letter-spacing:.14em;opacity:0;transform:translateY(.5rem);transition:.4s var(--ease)}.work-tile:hover:after{opacity:1;transform:none}.work-tile h2{position:relative;z-index:2;max-width:8ch;margin:auto 0 .6rem;font-size:clamp(2.4rem,5vw,5.5rem);font-weight:500}.work-tile p{position:relative;z-index:2;margin:0;max-width:31rem}.work-tile .tile-number{position:relative;z-index:2;font:italic 4rem/1 var(--serif)}.work-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.work-tile:hover img{transform:scale(1.04)}.work-tile--image{color:#fff}.work-tile--image:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 20%,rgba(0,0,0,.8))}.work-tile--hub{grid-column:1/8;min-height:42rem}.work-tile--auto{grid-column:9/13;margin-top:13rem;min-height:34rem;color:var(--ink);background:var(--lime);transform:rotate(1.3deg)}.work-tile--newsletter{grid-column:2/6;min-height:36rem;color:var(--ink);background:#d8d5cc}.work-tile--bastarda{grid-column:7/13;margin-top:5rem;min-height:39rem;color:var(--paper);background:#1b1e20}.work-tile--insights{grid-column:1/7;margin-top:4rem;min-height:31rem;color:var(--paper);background:var(--blue)}.work-tile--academic{grid-column:8/13;margin-top:11rem;min-height:28rem;background:var(--white)}.tile-process{display:grid;gap:.35rem;margin-top:2rem}.tile-process span{padding:.55rem .6rem;border:1px solid currentColor;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}.tile-process span:nth-child(2){margin-left:1.4rem}.tile-process span:nth-child(3){margin-left:2.8rem;color:var(--paper);background:var(--ink)}.project-index{background:var(--white)}.project-index__rows{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:4rem 1.2fr 1fr 8rem;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);transition:padding .45s var(--ease),background .45s}.project-row:hover{padding-inline:1rem;background:var(--blue-soft)}.project-row strong{font-size:clamp(1rem,1.4vw,1.3rem)}.project-row span,.project-row em{font-size:.78rem;font-style:normal}
/* experience */
.experience{background:#252a2d;color:var(--paper)}.experience-block{position:relative;min-height:100svh;padding:8rem 0;overflow:hidden;border-top:1px solid var(--line-inv)}.experience-year{position:absolute;right:-2vw;top:-1rem;font:italic clamp(12rem,30vw,34rem)/.8 var(--serif);color:rgba(255,255,255,.035)}.experience-block__grid{position:relative;z-index:2;display:grid;grid-template-columns:.5fr 1fr;gap:8vw;align-items:start}.experience-role{position:sticky;top:9rem}.experience-role h2{margin:1rem 0;font-size:clamp(3rem,6vw,6.5rem);font-weight:500}.experience-role p{color:#aeb1b2}.experience-notes{display:grid;gap:1px;background:var(--line-inv)}.experience-notes article{padding:1.4rem;background:#252a2d}.experience-notes h3{margin:0 0 .5rem;font-size:1.3rem;letter-spacing:-.025em}.experience-notes p{margin:0;color:#b8bbbc}.experience-material{margin-top:3rem;width:86%;aspect-ratio:1.5;overflow:hidden;transform:rotate(-2deg)}.experience-material img{width:100%;height:100%;object-fit:cover}.experience-block--light{color:var(--ink);background:var(--paper)}.experience-block--light .experience-notes{background:var(--line)}.experience-block--light .experience-notes article{background:var(--paper)}.experience-block--light .experience-notes p{color:#555b5e}.experience-block--light .experience-year{color:rgba(10,13,16,.045)}.experience-block--blue{color:#fff;background:var(--blue)}.experience-block--blue .experience-notes article{background:var(--blue)}
/* journey */
.journey{background:var(--paper)}.chronology{position:relative}.chronology-rail{position:sticky;z-index:20;top:0;display:flex;justify-content:space-between;padding:1rem var(--gutter);border-bottom:1px solid var(--line);background:rgba(242,239,232,.94);backdrop-filter:blur(10px)}.chronology-rail span{font-size:.64rem;font-weight:700;letter-spacing:.08em}.archive-year{position:relative;min-height:92svh;padding:clamp(5rem,10vw,10rem) 0;border-bottom:1px solid var(--line)}.archive-year__number{position:sticky;top:7rem;align-self:start;font:italic clamp(7rem,17vw,18rem)/.75 var(--serif);color:rgba(10,13,16,.1)}.archive-year__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.archive-stack{position:relative;display:grid;gap:2rem;padding-top:4rem}.archive-item{position:relative;z-index:2;max-width:45rem;padding:1.5rem;border:1px solid var(--line);background:var(--white);box-shadow:0 15px 45px rgba(10,13,16,.07);transform:rotate(var(--tilt,0))}.archive-item:nth-child(even){margin-left:8%}.archive-item h3{margin:.4rem 0 .8rem;font-size:clamp(1.5rem,2.5vw,2.5rem)}.archive-item p{margin-bottom:0;color:#4f5558}.archive-item--image{padding:0;overflow:hidden}.archive-item--image figcaption{padding:.8rem 1rem;font-size:.72rem}.archive-item--blue{color:#fff;background:var(--blue)}.archive-item--blue p{color:rgba(255,255,255,.78)}.learning-archive{background:var(--ink);color:var(--paper);overflow:hidden}.documents-deck{position:relative;min-height:52rem;margin-top:4rem}.credential{position:absolute;width:min(34rem,42vw);min-height:21rem;padding:2rem;border:1px solid rgba(10,13,16,.2);color:var(--ink);background:var(--white);box-shadow:0 20px 70px rgba(0,0,0,.28);cursor:pointer;transform:translate(var(--x),var(--y)) rotate(var(--r));transition:transform .65s var(--ease),filter .5s,opacity .5s}.credential:nth-child(1){--x:1vw;--y:2rem;--r:-3deg;z-index:1}.credential:nth-child(2){--x:22vw;--y:13rem;--r:2deg;z-index:3}.credential:nth-child(3){--x:47vw;--y:1rem;--r:3deg;z-index:2}.credential:nth-child(4){--x:7vw;--y:27rem;--r:1.4deg;z-index:4}.credential:nth-child(5){--x:51vw;--y:28rem;--r:-2deg;z-index:5}.credential:hover{z-index:20;transform:translate(var(--x),calc(var(--y) - 1rem)) rotate(0) scale(1.03)}.documents-deck:has(.credential:hover) .credential:not(:hover){filter:grayscale(.9);opacity:.42}.credential__top{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--line)}.credential h3{margin:4rem 0 .7rem;max-width:13ch;font-size:clamp(1.7rem,2.6vw,2.8rem)}.credential p{margin:0}
/* about */
.about{background:var(--white)}.about-hero{position:relative;min-height:110svh;overflow:hidden;padding-top:calc(var(--header) + 5rem)}.about-hero__title{position:relative;z-index:3;max-width:9ch;margin:0;font-size:clamp(4.5rem,12vw,13rem);font-weight:500}.about-portrait{position:absolute;right:-4vw;top:12vh;width:clamp(28rem,52vw,58rem)}.about-portrait:after{content:'PERSON / 01';position:absolute;right:2rem;bottom:1rem;font-size:.65rem;font-weight:700;letter-spacing:.13em}.about-portrait img{width:100%;filter:grayscale(.18)}.about-note{position:absolute;z-index:4;left:8vw;bottom:9vh;width:min(32rem,70vw);padding:1.5rem;color:var(--paper);background:var(--ink);transform:rotate(-2deg)}.about-note p{margin:0;font-size:clamp(1.15rem,1.7vw,1.45rem)}.sport-story{min-height:170vh;background:var(--blue);color:#fff}.sport-sticky{position:sticky;top:0;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.sport-13{font:italic clamp(15rem,37vw,40rem)/.65 var(--serif);letter-spacing:-.08em;transform:translateX(-4vw)}.sport-copy{padding-right:var(--gutter)}.sport-copy h2{max-width:7ch;font-size:clamp(2.5rem,5vw,5rem)}.sport-terms{display:grid;gap:1rem;margin-top:3rem}.sport-terms span{display:block;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.35);transform:translateX(calc((1 - var(--sport-progress,0))*5rem));opacity:calc(.25 + var(--sport-progress,0))}.toolbox{background:var(--paper)}.tool-cloud{position:relative;min-height:42rem;margin-top:4rem}.tool{position:absolute;left:var(--x);top:var(--y);padding:.25rem .4rem;border-bottom:1px solid currentColor;font-size:clamp(1.1rem,2.5vw,2.6rem);letter-spacing:-.045em;cursor:default;transition:color .3s,transform .35s var(--ease)}.tool:hover{z-index:3;color:var(--blue);transform:rotate(-2deg) scale(1.08)}.tool:after{content:attr(data-used);position:absolute;left:0;bottom:calc(100% + .5rem);width:max-content;max-width:18rem;padding:.5rem .7rem;color:var(--paper);background:var(--ink);font-size:.6rem;letter-spacing:.08em;line-height:1.4;opacity:0;transform:translateY(.5rem);pointer-events:none;transition:.3s}.tool:hover:after{opacity:1;transform:none}.languages{display:grid;grid-template-columns:.6fr 1.4fr;gap:8vw}.language-row{display:grid;grid-template-columns:1fr 1fr;padding:1rem 0;border-bottom:1px solid var(--line)}.language-row strong{font-size:clamp(1.4rem,2.3vw,2.4rem)}
/* contact + quick */
.contact{min-height:100svh;color:var(--ink);background:var(--white)}.contact-main{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header) + 5rem) 0 3rem}.contact-main h1{max-width:9ch;margin:7vh 0;font-size:clamp(5rem,14vw,15rem);font-weight:500}.contact-main h1 em{color:var(--blue);font-family:var(--serif);font-weight:400}.contact-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.contact-link{position:relative;padding:1.4rem 1rem 1.4rem 0;border-right:1px solid var(--line)}.contact-link:last-child{border-right:0;padding-left:1rem}.contact-link:nth-child(2){padding-left:1rem}.contact-link small{display:block;margin-bottom:.5rem;color:#73787a;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.contact-link strong{font-size:clamp(1rem,1.7vw,1.5rem)}.copy-button{border:0;padding:0;background:none;cursor:pointer;text-align:left}.contact-footer{display:flex;justify-content:space-between;align-items:end;margin-top:4rem;font-size:.75rem}.quick{background:#fff}.quick-sheet{width:min(1120px,calc(100% - 2rem));margin:2rem auto;padding:clamp(1.5rem,4vw,4rem);border:1px solid var(--line);background:#fff;box-shadow:0 15px 60px rgba(10,13,16,.08)}.quick-head{display:grid;grid-template-columns:1fr auto;gap:2rem;padding-bottom:2rem;border-bottom:2px solid var(--ink)}.quick-head h1{margin:0;font-size:clamp(3rem,7vw,7rem)}.quick-head p{margin:.7rem 0 0}.quick-actions{display:flex;gap:.8rem;align-items:start}.quick-action{padding:.65rem .9rem;border:1px solid var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.quick-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:4rem;margin-top:3rem}.quick-section{margin-bottom:3rem}.quick-section h2{padding-bottom:.6rem;border-bottom:1px solid var(--ink);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.quick-entry{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #ddd}.quick-entry h3{margin:0 0 .25rem;font-size:1.12rem}.quick-entry p{margin:0;font-size:.86rem;line-height:1.55}.quick-tags{display:flex;flex-wrap:wrap;gap:.45rem}.quick-tags span{padding:.35rem .55rem;background:#ededeb;font-size:.72rem}

/* styles-case.css */
/* case studies */
.case{background:var(--paper)}.case-hero{position:relative;min-height:100svh;display:flex;align-items:end;overflow:hidden;padding:calc(var(--header) + 4rem) 0 4rem;color:var(--paper);background:var(--ink)}.case-hero__media{position:absolute;inset:0}.case-hero__media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.12)),linear-gradient(transparent 50%,rgba(0,0,0,.78))}.case-hero__media img{width:100%;height:100%;object-fit:cover}.case-hero__content{position:relative;z-index:2}.case-hero h1{max-width:9ch;margin:1rem 0;font-size:clamp(4rem,11vw,12rem);font-weight:500}.case-hero .lead{max-width:42rem;margin-bottom:2rem}.case-meta{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-inv)}.case-meta div{min-height:7rem;padding:1rem;background:rgba(10,13,16,.78)}.case-meta small{display:block;margin-bottom:.7rem;color:#94999a;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}.case-meta strong{font-size:.88rem;font-weight:500}.case-nav{position:sticky;z-index:80;top:0;display:flex;gap:1.5rem;overflow-x:auto;padding:.9rem var(--gutter);border-bottom:1px solid var(--line);background:rgba(242,239,232,.94);backdrop-filter:blur(10px)}.case-nav a{flex:0 0 auto;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.case-block{padding:clamp(5rem,10vw,10rem) 0}.case-block__grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw}.case-block__label{position:sticky;top:6rem;height:fit-content}.case-block__content h2{max-width:12ch;font-size:clamp(2.5rem,5.7vw,6rem);font-weight:500}.case-block__content p{font-size:1.04rem}.case-quote{margin:4rem 0;padding:2rem 0;border-block:1px solid var(--line);font:italic clamp(2.2rem,4.6vw,5rem)/1.05 var(--serif)}.process-sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3rem;background:var(--line)}.process-sequence article{min-height:15rem;padding:1.2rem;background:var(--white)}.process-sequence span{font:italic 2.4rem/1 var(--serif);color:var(--blue)}.process-sequence h3{margin:3rem 0 .7rem;font-size:1.35rem}.media-spread{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:4rem}.media-spread figure{margin:0;overflow:hidden}.media-spread figure:nth-child(1){grid-column:1/9}.media-spread figure:nth-child(2){grid-column:8/13;margin-top:-5rem}.media-spread figure:nth-child(3){grid-column:2/7}.media-spread img{width:100%;height:100%;object-fit:cover}.media-spread figcaption{padding-top:.5rem;font-size:.68rem}.objective-result{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:3rem;background:var(--line)}.objective-result article{padding:2rem;background:var(--white)}.objective-result article:last-child{background:#dcdad4}.objective-result h3{margin:.8rem 0;font-size:2rem}.case-details{border-block:1px solid var(--line)}.case-details summary{display:flex;justify-content:space-between;padding:1.1rem 0;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;list-style:none}.case-details summary:after{content:'+';font-size:1.4rem}.case-details[open] summary:after{content:'×'}.case-details__inner{padding:0 0 2rem}.looking-back{color:var(--paper);background:var(--ink)}.looking-back__grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.looking-back article{padding-top:1rem;border-top:1px solid var(--line-inv)}.looking-back h3{font-size:clamp(1.5rem,3vw,3rem)}.case-next{position:relative;min-height:70svh;display:grid;place-items:center;overflow:hidden;color:#fff;background:var(--blue)}.case-next a{position:relative;z-index:2;text-align:center}.case-next small{display:block;margin-bottom:1rem;letter-spacing:.15em;text-transform:uppercase}.case-next strong{display:block;font:italic clamp(4rem,11vw,12rem)/.8 var(--serif)}.case-next__ghost{position:absolute;left:-4vw;bottom:-5vw;font:500 clamp(10rem,32vw,34rem)/.7 var(--sans);color:rgba(255,255,255,.08)}
.case--automation .case-hero{color:var(--ink);background:var(--lime)}.case--automation .case-hero__content{width:100%}.case--automation .case-hero h1{max-width:10ch}.case--automation .case-meta{background:rgba(10,13,16,.16)}.case--automation .case-meta div{background:rgba(215,255,67,.76)}.case--automation .case-meta small{color:#4b561d}.automation-visual{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:center;margin:4rem 0 0}.automation-visual div{min-height:12rem;padding:1.2rem;border:1px solid var(--ink)}.automation-visual b{font-size:2rem}.automation-repeat{position:absolute;right:-2vw;top:17%;color:rgba(10,13,16,.1);font:700 clamp(4rem,10vw,11rem)/.72 var(--sans)}
.case--newsletter .case-hero{color:var(--ink);background:var(--white)}.case--newsletter .case-meta{background:var(--line)}.case--newsletter .case-meta div{background:rgba(251,250,246,.86)}.case--newsletter .case-meta small{color:#65696c}.newsletter-pages{position:absolute;right:5vw;top:16vh;width:38vw;height:63vh}.newsletter-pages i{position:absolute;inset:0;border:1px solid var(--line);background:var(--paper);transform:translate(var(--x),var(--y)) rotate(var(--r))}.newsletter-pages i:nth-child(1){--x:-3rem;--y:2rem;--r:-4deg}.newsletter-pages i:nth-child(2){--x:1rem;--y:-1rem;--r:2deg;background:#d6d8dc}.newsletter-pages i:nth-child(3){--x:3rem;--y:3rem;--r:5deg;background:var(--blue)}
.case--bastarda .case-hero{background:#151719}.bastarda-wall{position:absolute;inset:11vh 3vw 3vh 42vw;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;transform:rotate(2deg)}.bastarda-wall span{display:grid;place-items:center;min-height:11rem;border:1px solid var(--line-inv);font:italic 2.5rem/1 var(--serif)}.bastarda-wall span:nth-child(2),.bastarda-wall span:nth-child(3){color:var(--ink);background:var(--paper)}
/* modal, cursor, reveals */
.document-modal{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:1rem;color:var(--ink);background:rgba(10,13,16,.85);opacity:0;pointer-events:none;transition:opacity .4s}.document-modal.open{opacity:1;pointer-events:auto}.document-modal__paper{position:relative;width:min(720px,94vw);max-height:88svh;overflow:auto;padding:clamp(1.5rem,5vw,4rem);background:var(--white);transform:translateY(2rem) rotate(1deg);transition:transform .55s var(--ease)}.document-modal.open .document-modal__paper{transform:none}.document-modal__close{position:sticky;z-index:2;left:100%;top:0;border:0;background:none;cursor:pointer;font-size:1.8rem}.document-modal__paper h2{max-width:13ch;margin-top:4rem;font-size:clamp(2.3rem,5vw,5rem)}.cursor-label{position:fixed;z-index:2000;left:0;top:0;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(10,13,16,.86);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .2s}.cursor-label.visible{opacity:1}.reveal-mask{clip-path:inset(0 0 100%);transform:translateY(1rem);transition:clip-path .95s var(--ease),transform .95s var(--ease)}.reveal-mask.is-visible{clip-path:inset(0);transform:none}.reveal-line{opacity:0;transform:translateX(-2.5rem);transition:opacity .7s var(--ease),transform .9s var(--ease)}.reveal-line.is-visible{opacity:1;transform:none}.reveal-scale{opacity:0;transform:scale(.94) rotate(var(--initial-rotate,0));transition:opacity .8s,transform 1s var(--ease)}.reveal-scale.is-visible{opacity:1;transform:scale(1) rotate(var(--initial-rotate,0))}.back-top{position:fixed;z-index:300;right:1.2rem;bottom:1.2rem;width:2.8rem;height:2.8rem;border:1px solid currentColor;color:var(--paper);background:var(--ink);cursor:pointer;opacity:0;transform:translateY(1rem);transition:.35s}.back-top.visible{opacity:1;transform:none}

/* styles.css (imports removed) */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-regular.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-italic.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/manrope-400.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/manrope-500.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/manrope-600.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/manrope-700.woff2') format('woff2')}
:root{--ink:#0a0d10;--ink2:#12171b;--paper:#f2efe8;--white:#fbfaf6;--graphite:#777b7d;--blue:#175cff;--blue-soft:#dce5ff;--lime:#d7ff43;--line:rgba(10,13,16,.18);--line-inv:rgba(255,255,255,.16);--serif:'Instrument Serif',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--gutter:clamp(1.1rem,3.2vw,3.8rem);--max:1540px;--header:76px;--ease:cubic-bezier(.22,.78,.21,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font:400 1rem/1.65 var(--sans);text-rendering:optimizeLegibility;overflow-x:clip}body.menu-open,body.modal-open{overflow:hidden}::selection{color:var(--paper);background:var(--blue)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit;font:inherit}h1,h2,h3,p,figure,blockquote{margin-top:0}h1,h2,h3{line-height:.98;letter-spacing:-.045em}p{max-width:70ch}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:4000;padding:.75rem 1rem;background:var(--blue);color:#fff}.skip-link:focus{top:1rem}.shell{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.section{position:relative;padding:clamp(5rem,10vw,10rem) 0}.section--tight{padding:clamp(3.5rem,7vw,6rem) 0}.section--ink{background:var(--ink);color:var(--paper)}.section--paper{background:var(--paper);color:var(--ink)}.section--white{background:var(--white);color:var(--ink)}.section--graphite{background:#252a2d;color:var(--paper)}.rule{border-top:1px solid currentColor;opacity:.22}.serif{font-family:var(--serif);font-weight:400;font-style:italic}.blue{color:var(--blue)}
.caps,.mark,.kicker,.meta,.chapter,.mini-label{font-size:.72rem;line-height:1.3;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.kicker{display:flex;align-items:center;gap:.75rem;margin:0 0 1.3rem}.kicker:before{content:'';width:2.2rem;height:1px;background:currentColor;opacity:.5}.display{font-size:clamp(3.5rem,10vw,10rem);font-weight:500}.section-title{max-width:13ch;margin-bottom:2rem;font-size:clamp(2.8rem,6.3vw,6.8rem);font-weight:500}.lead{font-size:clamp(1.16rem,1.75vw,1.65rem);line-height:1.45;letter-spacing:-.02em}.body-large{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.65}.link-line,.text-link{display:inline-flex;align-items:center;gap:.5rem;position:relative;padding-bottom:.25rem;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.link-line:after,.text-link:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .5s var(--ease)}.link-line:hover:after,.text-link:hover:after{transform:scaleX(.28)}.link-line .arrow{transition:transform .45s var(--ease)}.link-line:hover .arrow{transform:translate(.2rem,-.2rem) rotate(12deg)}
/* header + index */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header);color:var(--paper);mix-blend-mode:difference;pointer-events:none}.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.rc-signature,.index-trigger{pointer-events:auto}.rc-signature{font-size:1.1rem;font-weight:700;letter-spacing:-.05em}.rc-signature span{color:var(--blue)}.index-trigger{display:flex;align-items:center;gap:.8rem;border:0;padding:.6rem 0;background:none;cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.index-trigger__bars{display:grid;gap:4px;width:28px}.index-trigger__bars i{display:block;height:1px;background:currentColor;transition:transform .45s var(--ease),width .45s var(--ease)}.index-trigger__bars i:last-child{width:17px;justify-self:end}.menu-open .index-trigger__bars i:first-child{transform:translateY(2.5px) rotate(45deg)}.menu-open .index-trigger__bars i:last-child{width:28px;transform:translateY(-2.5px) rotate(-45deg)}.index-panel{position:fixed;inset:0;z-index:900;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);color:var(--paper);background:var(--ink);clip-path:inset(0 0 100% 0);pointer-events:none;transition:clip-path .75s var(--ease)}.menu-open .index-panel{clip-path:inset(0);pointer-events:auto}.index-panel:before{content:'INDEX';position:absolute;right:-1vw;bottom:-7vw;color:rgba(255,255,255,.035);font:italic clamp(9rem,24vw,26rem)/.8 var(--serif);letter-spacing:-.08em}.index-main{display:flex;flex-direction:column;justify-content:center;padding:7rem var(--gutter) 3rem;border-right:1px solid var(--line-inv)}.index-nav{display:grid}.index-nav a{display:grid;grid-template-columns:3rem 1fr auto;align-items:baseline;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line-inv);transition:padding .4s var(--ease),color .4s}.index-nav a:hover{padding-left:1.1rem;color:var(--blue-soft)}.index-nav em{font:400 clamp(2.7rem,6.3vw,6.7rem)/1 var(--sans);letter-spacing:-.06em;font-style:normal}.index-nav small{font-size:.65rem;letter-spacing:.14em}.index-side{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:7rem var(--gutter) 3rem}.index-side dl{margin:0}.index-side div{margin-top:1.8rem}.index-side dt{margin-bottom:.35rem;color:#999;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.index-side dd{margin:0;font-size:.9rem}.index-side__links{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
/* transitions */
.page-curtain{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;color:var(--paper);background:var(--blue);transform:translateY(102%);pointer-events:none}.page-curtain span{font:italic clamp(3rem,9vw,9rem)/1 var(--serif);opacity:0;transform:translateY(1rem)}.page-curtain.is-leaving{animation:curtain-in .7s var(--ease) forwards}.page-curtain.is-leaving span{animation:curtain-copy .45s .16s var(--ease) forwards}.page-curtain.is-entering{animation:curtain-out .85s .08s var(--ease) both}@keyframes curtain-in{to{transform:translateY(0)}}@keyframes curtain-copy{to{opacity:1;transform:none}}@keyframes curtain-out{from{transform:translateY(0)}to{transform:translateY(-102%)}}
/* home hero */
.home{background:var(--ink);color:var(--paper)}.home-hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--ink)}.home-hero:before{content:'';position:absolute;inset:0;z-index:-2;opacity:.18;background-image:linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.09) 50%,transparent 50.2%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:50% 100%,100% 12.5vh}.hero-copy{position:relative;z-index:4;min-height:100svh;padding:calc(var(--header) + 3.5rem) 0 4rem;display:flex;flex-direction:column;justify-content:space-between}.hero-meta{display:flex;justify-content:space-between;width:min(64rem,82%);color:rgba(242,239,232,.72)}.hero-title{margin:4vh 0 0;max-width:11ch;font-size:clamp(4.1rem,10.8vw,11.5rem);font-weight:500;line-height:.78;letter-spacing:-.075em}.hero-title span{display:block}.hero-title .line-2{margin-left:13vw}.hero-title .execution{position:relative;z-index:3;margin-left:26vw;color:var(--blue-soft);font-family:var(--serif);font-style:italic;font-weight:400}.hero-title .execution:after{content:'';position:absolute;left:-.08em;right:-.05em;bottom:-.06em;height:.055em;background:var(--blue);transform:scaleX(var(--hero-progress,.12));transform-origin:left}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem}.hero-bottom p{max-width:31rem;margin:0;color:rgba(242,239,232,.68)}.hero-portrait{position:absolute;z-index:2;right:clamp(-7rem,-3vw,-1rem);bottom:-3rem;width:clamp(21rem,37vw,41rem);transform:translate3d(0,calc(var(--hero-scroll,0)*-5rem),0) rotate(calc(-2deg + var(--hero-scroll,0)*2deg));filter:grayscale(.15) contrast(1.06)}.hero-portrait:before{content:'';position:absolute;inset:16% 9% 7%;z-index:-1;background:var(--blue);transform:rotate(4deg)}.hero-portrait img{width:100%}.hero-file{position:absolute;z-index:1;border:1px solid var(--line-inv);background:rgba(18,23,27,.82);overflow:hidden;transform:translate3d(0,calc(var(--hero-scroll,0)*var(--travel)),0) rotate(var(--rotation))}.hero-file img{width:100%;height:100%;object-fit:cover;opacity:.7}.hero-file--a{left:-5vw;top:20%;width:20vw;min-width:210px;aspect-ratio:1.5;--travel:7rem;--rotation:-4deg}.hero-file--b{right:21vw;top:11%;width:12vw;min-width:150px;aspect-ratio:.78;--travel:11rem;--rotation:5deg}.hero-file--c{left:8vw;bottom:-8%;width:16vw;min-width:190px;aspect-ratio:1.2;--travel:-8rem;--rotation:2deg}.hero-file .stamp{position:absolute;inset:auto .6rem .6rem auto;padding:.25rem .4rem;color:var(--paper);background:var(--ink);font-size:.58rem;letter-spacing:.12em}.scroll-note{display:inline-flex;align-items:center;gap:1rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.scroll-note:before{content:'';width:3rem;height:1px;background:currentColor;animation:scroll-pulse 1.8s ease-in-out infinite;transform-origin:left}@keyframes scroll-pulse{0%,100%{transform:scaleX(.25)}50%{transform:scaleX(1)}}.manifesto-strip{overflow:hidden;padding:1.4rem 0;border-block:1px solid var(--line-inv);background:var(--ink)}.manifesto-strip__track{display:flex;gap:2rem;width:max-content;font:italic clamp(2.4rem,5vw,5rem)/1 var(--serif);animation:marquee 32s linear infinite}.manifesto-strip__track b{color:var(--blue);font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}
/* diversity */
.problems{min-height:180vh;background:var(--paper);color:var(--ink)}.problems__sticky{position:sticky;top:0;min-height:100svh;overflow:hidden;display:grid;place-items:center;padding:var(--header) var(--gutter) 2rem}.problems__statement{position:relative;z-index:8;text-align:center}.problems__statement h2{margin:0;max-width:12ch;font-size:clamp(3.4rem,8vw,8.5rem);font-weight:500}.problems__statement p{margin:1rem auto 0}.problem-piece{position:absolute;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;border:1px solid var(--line);background:var(--white);box-shadow:0 12px 40px rgba(10,13,16,.08);transform:translate(calc(var(--chaos,1)*var(--x)),calc(var(--chaos,1)*var(--y))) rotate(calc(var(--chaos,1)*var(--r)));transition:transform .1s linear}.problem-piece strong{font-size:clamp(1.1rem,1.7vw,1.6rem);letter-spacing:-.03em}.problem-piece span{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.problem-piece--1{width:clamp(13rem,21vw,22rem);height:11rem;--x:-36vw;--y:-24vh;--r:-9deg}.problem-piece--2{width:clamp(12rem,18vw,18rem);height:15rem;--x:34vw;--y:-25vh;--r:7deg;color:var(--paper);background:var(--blue)}.problem-piece--3{width:clamp(15rem,24vw,25rem);height:9rem;--x:-34vw;--y:27vh;--r:5deg}.problem-piece--4{width:clamp(12rem,19vw,19rem);height:12rem;--x:35vw;--y:27vh;--r:-6deg;color:var(--paper);background:var(--ink)}.problem-piece--5{width:clamp(9rem,15vw,15rem);height:8rem;--x:-12vw;--y:34vh;--r:-3deg}.problem-piece--6{width:clamp(10rem,15vw,16rem);height:9rem;--x:13vw;--y:-35vh;--r:3deg}
/* home moments */
.selected-home{background:var(--ink);color:var(--paper)}.selected-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:clamp(4rem,8vw,8rem)}.selected-head p{justify-self:end;color:#a9acad}.work-composition{position:relative;min-height:1600px}.moment{position:absolute;display:block;overflow:hidden}.moment img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .7s}.moment:hover img{transform:scale(1.045)}.moment-copy{position:absolute;inset:auto 0 0;padding:1rem;background:linear-gradient(transparent,rgba(0,0,0,.88))}.moment-copy span{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.moment-copy h3{margin:.35rem 0 0;font-size:clamp(1.45rem,2.4vw,2.5rem);font-weight:500}.moment--hub{left:0;top:0;width:55%;height:31rem}.moment--auto{right:2%;top:20rem;width:36%;min-height:24rem;padding:2rem;color:var(--ink);background:var(--lime)}.moment--auto .repeat{font:500 clamp(2.2rem,5vw,5.4rem)/.8 var(--sans);letter-spacing:-.06em}.moment--auto .repeat span{display:block;opacity:.22}.moment--auto .repeat span:last-child{opacity:1;transform:translateX(1.2rem)}.moment--newsletter{left:9%;top:41rem;width:34%;min-height:30rem;padding:1.5rem;color:var(--ink);background:var(--paper);transform:rotate(-2deg)}.newsletter-lines{display:grid;gap:.7rem;margin-top:3rem}.newsletter-lines i{display:block;height:.5rem;background:#c7c6c1}.newsletter-lines i:nth-child(2){width:72%;background:var(--blue)}.newsletter-lines i:nth-child(3){width:88%}.newsletter-lines i:nth-child(4){width:42%}.moment--bastarda{right:6%;top:58rem;width:46%;height:28rem;padding:2rem;border:1px solid var(--line-inv);background:#1c2023}.media-word{position:absolute;right:-2rem;bottom:-1.5rem;font:italic clamp(5rem,11vw,12rem)/.75 var(--serif);color:var(--blue-soft)}.moment--insights{left:1%;top:83rem;width:41%;min-height:20rem;padding:2rem;color:var(--ink);background:#dad7cf}.insight-bars{display:flex;align-items:end;gap:.5rem;height:8rem;margin-top:2rem}.insight-bars i{flex:1;background:var(--ink);height:var(--h)}.moment--academic{right:0;top:100rem;width:50%;min-height:22rem;padding:2rem;color:var(--ink);background:var(--white)}.brand-list{display:grid;grid-template-columns:repeat(2,1fr);margin-top:3rem;border-top:1px solid var(--line)}.brand-list span{padding:.8rem 0;border-bottom:1px solid var(--line)}
.home-journey{position:relative;overflow:hidden;background:var(--paper)}.journey-years{display:flex;align-items:baseline;gap:clamp(1rem,4vw,5rem);width:max-content;padding:2rem 0;transform:translateX(calc(var(--journey-scroll,0)*-24vw))}.journey-years span{font:italic clamp(5rem,14vw,15rem)/1 var(--serif);color:rgba(10,13,16,.14)}.journey-years span:last-child{color:var(--blue)}.journey-preview-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.journey-preview-notes article{padding-top:1rem;border-top:1px solid var(--line)}.journey-preview-notes h3{margin:.5rem 0;font-size:1.25rem}.human-break{min-height:100svh;display:grid;place-items:center;overflow:hidden;background:var(--blue);color:#fff}.human-number{position:relative;text-align:center}.human-number strong{display:block;font:italic clamp(14rem,40vw,44rem)/.6 var(--serif);letter-spacing:-.09em}.human-number span{display:block;margin-top:4rem;font-size:clamp(1.2rem,2.4vw,2.5rem);letter-spacing:.12em;text-transform:uppercase}.human-words{position:absolute;inset:0}.human-words i{position:absolute;font-style:normal;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}.human-words i:nth-child(1){left:8%;top:22%}.human-words i:nth-child(2){right:10%;top:30%}.human-words i:nth-child(3){left:16%;bottom:20%}.human-words i:nth-child(4){right:14%;bottom:14%}.currently-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.currently-list{display:grid;border-top:1px solid var(--line)}.currently-list span{padding:1rem 0;border-bottom:1px solid var(--line);font-size:clamp(1.2rem,2.2vw,2.1rem)}


/* Motion System V2 — page transition choreography */
@media (prefers-reduced-motion:no-preference){
  .page-curtain{
    transform:none;
    clip-path:inset(100% 0 0 0);
    will-change:clip-path;
    overflow:hidden;
  }
  .page-curtain::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:2px;
    background:currentColor;
    opacity:.28;
    transform:scaleX(0);
    transform-origin:left center;
  }
  .page-curtain span{
    opacity:0;
    transform:translateY(1.1rem);
    letter-spacing:-.035em;
    will-change:transform,opacity;
  }
  .page-curtain.is-leaving{
    animation:rc-curtain-in-v2 .54s var(--motion-ease-expressive,cubic-bezier(.16,1,.3,1)) forwards;
  }
  .page-curtain.is-leaving::before{
    animation:rc-curtain-rule-v2 .44s .08s var(--motion-ease-standard,cubic-bezier(.2,.72,.22,1)) forwards;
  }
  .page-curtain.is-leaving span{
    animation:rc-curtain-copy-v2 .34s .13s var(--motion-ease-expressive,cubic-bezier(.16,1,.3,1)) forwards;
  }
  .page-curtain.is-entering{
    animation:rc-curtain-out-v2 .62s .02s var(--motion-ease-standard,cubic-bezier(.2,.72,.22,1)) both;
  }
  .page-curtain.is-entering span{
    opacity:1;
    transform:none;
    animation:rc-curtain-copy-out-v2 .28s ease both;
  }
  @keyframes rc-curtain-in-v2{
    from{clip-path:inset(100% 0 0 0)}
    to{clip-path:inset(0 0 0 0)}
  }
  @keyframes rc-curtain-out-v2{
    from{clip-path:inset(0 0 0 0)}
    to{clip-path:inset(0 0 100% 0)}
  }
  @keyframes rc-curtain-copy-v2{
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes rc-curtain-copy-out-v2{
    from{opacity:1;transform:translateY(0)}
    to{opacity:0;transform:translateY(-.55rem)}
  }
  @keyframes rc-curtain-rule-v2{
    to{transform:scaleX(1)}
  }
}


/* Motion System V2 — split-panel route transition inspired by editorial motion systems. */
@media (prefers-reduced-motion:no-preference){
  .page-curtain{
    display:block;
    background:transparent!important;
    clip-path:none!important;
    transform:none!important;
    overflow:hidden;
    animation:none!important;
  }
  .page-curtain__slice{
    position:absolute;
    left:0;
    width:100%;
    height:50.5%;
    background:var(--curtain-color,var(--blue));
    transform:scaleX(0);
    will-change:transform;
  }
  .page-curtain__slice--top{
    top:0;
    transform-origin:left center;
  }
  .page-curtain__slice--bottom{
    bottom:0;
    transform-origin:right center;
  }
  .page-curtain span{
    position:absolute;
    z-index:2;
    left:50%;
    top:50%;
    opacity:0;
    transform:translate(-50%,-38%);
    font:italic clamp(3rem,8vw,8rem)/1 var(--serif);
    letter-spacing:-.05em;
    white-space:nowrap;
  }
  .page-curtain.is-leaving .page-curtain__slice--top{
    animation:rc-slice-in-a .38s var(--motion-ease-expressive,cubic-bezier(.16,1,.3,1)) forwards;
  }
  .page-curtain.is-leaving .page-curtain__slice--bottom{
    animation:rc-slice-in-b .38s .035s var(--motion-ease-expressive,cubic-bezier(.16,1,.3,1)) forwards;
  }
  .page-curtain.is-leaving span{
    animation:rc-route-label-in .28s .16s var(--motion-ease-expressive,cubic-bezier(.16,1,.3,1)) forwards!important;
  }
  .page-curtain.is-entering .page-curtain__slice--top{
    transform:scaleX(1);
    animation:rc-slice-out-a .54s .02s var(--motion-ease-standard,cubic-bezier(.2,.72,.22,1)) forwards;
  }
  .page-curtain.is-entering .page-curtain__slice--bottom{
    transform:scaleX(1);
    animation:rc-slice-out-b .54s .02s var(--motion-ease-standard,cubic-bezier(.2,.72,.22,1)) forwards;
  }
  .page-curtain.is-entering span{
    opacity:1;
    transform:translate(-50%,-50%);
    animation:rc-route-label-out .24s ease forwards!important;
  }
  @keyframes rc-slice-in-a{to{transform:scaleX(1)}}
  @keyframes rc-slice-in-b{to{transform:scaleX(1)}}
  @keyframes rc-slice-out-a{
    from{transform:scaleX(1);transform-origin:right center}
    to{transform:scaleX(0);transform-origin:right center}
  }
  @keyframes rc-slice-out-b{
    from{transform:scaleX(1);transform-origin:left center}
    to{transform:scaleX(0);transform-origin:left center}
  }
  @keyframes rc-route-label-in{
    to{opacity:1;transform:translate(-50%,-50%)}
  }
  @keyframes rc-route-label-out{
    to{opacity:0;transform:translate(-50%,-64%)}
  }
}

/* styles-responsive.css */
@media(max-width:900px){:root{--header:64px}.index-panel{grid-template-columns:1fr}.index-main{border-right:0;padding-top:6rem}.index-side{display:none}.index-nav a{grid-template-columns:2rem 1fr}.index-nav small{display:none}.hero-meta{width:100%}.hero-meta span:last-child{display:none}.hero-title{margin-top:11vh;font-size:clamp(3.9rem,18vw,8rem)}.hero-title .line-2{margin-left:4vw}.hero-title .execution{margin-left:8vw}.hero-portrait{right:-9rem;bottom:2rem;width:29rem;opacity:.56}.hero-file--a{top:17%;left:-6rem}.hero-file--b{right:-4rem;top:12%}.hero-file--c{display:none}.hero-bottom{position:relative;z-index:5;align-items:start;flex-direction:column}.problems{min-height:145vh}.problem-piece--1{--x:-30vw;--y:-29vh}.problem-piece--2{--x:28vw;--y:-20vh}.problem-piece--3{--x:-28vw;--y:23vh}.problem-piece--4{--x:30vw;--y:27vh}.problem-piece--5,.problem-piece--6{display:none}.selected-head,.page-intro,.currently-grid,.experience-block__grid,.archive-year__grid,.languages,.case-block__grid,.looking-back__grid{grid-template-columns:1fr}.selected-head p{justify-self:start}.work-composition{min-height:auto;display:grid;gap:1rem}.moment{position:relative;inset:auto!important;width:100%!important;height:auto!important;min-height:23rem!important;transform:none}.moment--hub{aspect-ratio:4/3}.journey-preview-notes{grid-template-columns:1fr}.work-tile--hub,.work-tile--auto,.work-tile--newsletter,.work-tile--bastarda,.work-tile--insights,.work-tile--academic{grid-column:span 12;margin:0}.work-tile{min-height:32rem;transform:none}.project-row{grid-template-columns:2.5rem 1fr}.project-row span,.project-row em{display:none}.experience-role{position:relative;top:auto}.experience-block{min-height:auto}.experience-year{top:2rem}.archive-year__number{position:relative;top:auto}.archive-stack{padding-top:1rem}.documents-deck{min-height:auto;display:flex;overflow-x:auto;gap:1rem;margin-inline:calc(var(--gutter)*-1);padding:2rem var(--gutter) 3rem;scroll-snap-type:x mandatory}.credential{position:relative;flex:0 0 82vw;width:auto;min-height:23rem;transform:rotate(var(--r));scroll-snap-align:center}.credential:nth-child(n){--x:0;--y:0}.about-hero{min-height:100svh}.about-hero__title{font-size:clamp(4rem,18vw,8rem)}.about-portrait{right:-12rem;top:26vh;width:42rem;opacity:.7}.sport-sticky{grid-template-columns:1fr;align-content:center}.sport-13{font-size:65vw;transform:translateX(-8vw)}.sport-copy{padding:0 var(--gutter);margin-top:-4rem}.tool-cloud{min-height:auto;display:flex;flex-wrap:wrap;gap:.7rem}.tool{position:relative;inset:auto!important;font-size:1.2rem}.tool:after{display:none}.contact-links{grid-template-columns:1fr}.contact-link,.contact-link:nth-child(2),.contact-link:last-child{padding:1rem 0;border-right:0;border-bottom:1px solid var(--line)}.quick-grid{grid-template-columns:1fr;gap:0}.quick-head{grid-template-columns:1fr}.case-meta{grid-template-columns:repeat(2,1fr)}.case-block__label{position:relative;top:auto}.process-sequence{grid-template-columns:1fr}.objective-result{grid-template-columns:1fr}.newsletter-pages,.bastarda-wall{opacity:.18;inset:18vh -8vw 5vh 35vw;width:auto;height:auto}.automation-visual{grid-template-columns:1fr}.automation-visual>span{transform:rotate(90deg);justify-self:center}}
@media(max-width:560px){.hero-meta{font-size:.58rem}.hero-title{line-height:.83}.hero-portrait{right:-11rem;width:27rem}.problem-piece{min-width:10rem;max-width:12rem;height:8rem;padding:.7rem}.problems__statement h2{font-size:3.2rem}.moment--auto .repeat{font-size:3.5rem}.brand-list{grid-template-columns:1fr}.page-hero{min-height:68svh}.page-hero h1{font-size:clamp(4rem,19vw,7rem)}.project-row{font-size:.85rem}.experience-role h2{font-size:3.4rem}.archive-item:nth-child(even){margin-left:0}.contact-main h1{font-size:21vw}.quick-entry{grid-template-columns:1fr}.case-hero h1{font-size:18vw}.case-meta{grid-template-columns:1fr}.media-spread{display:block}.media-spread figure{margin:0 0 1rem!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.manifesto-strip__track{animation:none}.reveal-mask,.reveal-line,.reveal-scale{opacity:1;transform:none;clip-path:none}.cursor-label{display:none}}
@media print{.site-header,.index-panel,.page-curtain,.back-top,.cursor-label{display:none!important}body{background:#fff}.quick-sheet{width:100%;margin:0;border:0;box-shadow:none}}

/* styles-fixes.css */
.credential:nth-child(6){--x:30vw;--y:38rem;--r:2.2deg;z-index:6}.documents-deck{min-height:66rem}

/* Recruiter route, readability and keyboard polish */
.site-header{mix-blend-mode:normal;color:var(--paper);background:linear-gradient(180deg,rgba(10,10,10,.92),rgba(10,10,10,.76));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.16)}
.site-header__actions{display:flex;align-items:center;gap:clamp(.55rem,1.4vw,1.25rem)}
.quick-access{pointer-events:auto;display:grid;gap:.12rem;min-width:10.6rem;padding:.46rem .66rem;border:1px solid rgba(255,255,255,.46);background:rgba(10,10,10,.5);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.quick-access small{font-size:.62rem;line-height:1;letter-spacing:.13em;opacity:.68}
.quick-access strong{font-size:.72rem;line-height:1.1;letter-spacing:.08em}
.quick-access:hover{color:var(--ink);background:var(--lime);border-color:var(--lime);transform:translateY(-2px)}
.quick-access:focus-visible,.index-trigger:focus-visible,.text-link:focus-visible,.btn:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}

.home-hero:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,8,.76) 0%,rgba(8,8,8,.48) 48%,rgba(8,8,8,.08) 82%),linear-gradient(0deg,rgba(8,8,8,.72),transparent 58%)}
.hero-title,.case-hero h1,.case-hero .lead,.work-tile--image h2,.work-tile--image p,.moment-copy{ text-shadow:0 2px 24px rgba(0,0,0,.72),0 1px 2px rgba(0,0,0,.85)}
.hero-bottom p{padding:.72rem .82rem;color:var(--paper);background:rgba(8,8,8,.82);border-left:2px solid var(--blue);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.4rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.68rem .9rem;border:1px solid currentColor;font-size:.7rem;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.hero-actions .btn--quick{color:var(--ink);background:var(--lime);border-color:var(--lime)}
.hero-actions .btn--quick:hover{color:var(--paper);background:var(--ink);border-color:var(--paper)}
.work-tile--image:before{background:linear-gradient(180deg,rgba(5,5,5,.14),rgba(5,5,5,.84))}
.case-hero__media:after{background:linear-gradient(90deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.68) 38%,rgba(8,8,8,.18) 76%),linear-gradient(0deg,rgba(8,8,8,.62),transparent 55%)}
.moment-copy{padding:.75rem;background:linear-gradient(90deg,rgba(8,8,8,.8),rgba(8,8,8,.18));border-left:2px solid var(--lime)}
.human-break{position:relative}
.about-hero:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,8,.86),rgba(8,8,8,.34) 58%,rgba(8,8,8,.08))}
.about-hero__title{position:relative;z-index:3;text-shadow:0 2px 24px rgba(0,0,0,.76)}.about-note{z-index:4;text-shadow:0 2px 24px rgba(0,0,0,.76)}
.case--newsletter .case-hero:before{background:linear-gradient(90deg,rgba(244,240,232,.98) 0%,rgba(244,240,232,.9) 42%,rgba(244,240,232,.12) 76%)}
.case--newsletter .case-hero h1,.case--newsletter .case-hero .lead{text-shadow:0 1px 16px rgba(244,240,232,.92)}
.newsletter-pages{z-index:0}.case--newsletter .case-hero__content{z-index:3}
.quick-reading{display:inline-block;margin-top:1rem;color:#666;font-size:.67rem;font-weight:700;letter-spacing:.12em}
.quick-sheet{margin:calc(var(--header) + 2rem) auto 2rem}
.case-nav,.chronology-rail{top:var(--header)}
.case-meta small,.case-nav a{font-size:.7rem}
.caps,.mark,.kicker,.meta,.chapter,.mini-label{font-size:.75rem}

@media(max-width:900px){
  .credential:nth-child(6){--x:0;--y:0}.documents-deck{min-height:auto}
  .quick-access{min-width:auto;padding:.42rem .52rem}
  .quick-access small{display:none}
  .quick-access strong{font-size:.64rem}
  .quick-actions{flex-wrap:wrap}
}
@media(max-width:520px){
  .site-header__actions{gap:.4rem}
  .quick-access strong{font-size:.58rem;letter-spacing:.04em}
  .hero-actions{align-items:stretch}
  .hero-actions .btn{width:100%;justify-content:center}
}
@media print{.quick-sheet{margin:0}.quick-actions{display:none!important}}

/* About, rebuilt as a structured editorial profile */
.about--editorial{background:var(--paper)}
.about-profile{min-height:100svh;padding:calc(var(--header) + 4rem) 0 3rem;color:var(--paper);background:var(--ink);overflow:hidden}
.about-profile__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);align-items:end}
.about-profile__copy{grid-column:1/8;position:relative;z-index:3;padding-bottom:2rem}
.about-profile__copy h2{max-width:10ch;margin:0 0 2rem;font-size:clamp(4rem,8.4vw,9rem);font-weight:500;line-height:.86}
.about-profile__copy h2 em{display:block;color:var(--blue-soft);font-family:var(--serif);font-weight:400}
.about-profile__lead{max-width:43rem;margin-bottom:2rem;color:rgba(242,239,232,.76);font-size:clamp(1.05rem,1.5vw,1.35rem)}
.about-profile__availability{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;width:min(35rem,100%);padding:1rem;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04)}
.about-profile__availability span{grid-row:1/3;color:var(--lime);font-size:.7rem;font-weight:700;letter-spacing:.14em}
.about-profile__availability strong{font-size:.95rem}.about-profile__availability small{color:#aeb1b2}
.about-profile__portrait{grid-column:8/13;position:relative;margin:0;min-height:39rem;background:var(--blue);overflow:hidden;transform:rotate(1.2deg)}
.about-profile__portrait:before{content:"PERFIL / 01";position:absolute;z-index:2;right:1.2rem;top:1.2rem;font-size:.72rem;font-weight:700;letter-spacing:.14em}
.about-profile__portrait img{position:absolute;inset:auto 0 0;width:100%;height:92%;object-fit:contain;object-position:center bottom;filter:grayscale(.12) contrast(1.04)}
.about-profile__portrait figcaption{position:absolute;z-index:3;inset:auto 0 0;display:flex;justify-content:space-between;padding:1rem;background:linear-gradient(transparent,rgba(0,0,0,.84));font-size:.68rem;letter-spacing:.12em}
.about-profile__facts{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1rem;background:rgba(255,255,255,.18)}
.about-profile__facts article{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;min-height:7.5rem;padding:1.2rem;background:var(--ink)}
.about-profile__facts strong{font:italic clamp(2.5rem,5vw,5rem)/1 var(--serif);color:var(--lime)}
.about-profile__facts span{max-width:18rem;color:#c4c7c8}
.about-statement__grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw}.about-statement__grid .lead{margin-top:0}
.about-method{color:var(--paper);background:#24292c}
.about-method__head{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;align-items:start}
.about-method__head h2{max-width:13ch;margin:0;font-size:clamp(3rem,6.5vw,7rem);font-weight:500}
.about-method__head em{color:var(--blue-soft);font-family:var(--serif);font-weight:400}
.about-method__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:5rem;background:rgba(255,255,255,.18)}
.about-method__steps article{min-height:22rem;padding:1.4rem;background:#24292c}
.about-method__steps span{font:italic 3rem/1 var(--serif);color:var(--lime)}
.about-method__steps h3{margin:6rem 0 1rem;font-size:clamp(1.5rem,2.4vw,2.3rem)}
.about-method__steps p{margin:0;color:#bec1c2}
.about-team{padding:clamp(5rem,10vw,10rem) 0;background:var(--blue);color:#fff;overflow:hidden}
.about-team__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center}
.about-team__number strong{display:block;font:italic clamp(12rem,28vw,29rem)/.65 var(--serif);letter-spacing:-.08em}
.about-team__number span{display:block;margin-top:3rem;font-size:.78rem;font-weight:700;letter-spacing:.14em}
.about-team__copy h2{max-width:12ch;font-size:clamp(2.8rem,5.5vw,6rem);font-weight:500}
.about-team__copy>p:not(.kicker){max-width:46rem;color:rgba(255,255,255,.8);font-size:1.08rem}
.about-team__terms{display:grid;grid-template-columns:1fr 1fr;margin-top:3rem;border-top:1px solid rgba(255,255,255,.35)}
.about-team__terms span{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.35);font-size:clamp(1.1rem,2vw,1.7rem)}
.about-capabilities{background:var(--paper)}
.about-capabilities__head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:5rem}
.about-capabilities__head h2{max-width:13ch;margin:0;font-size:clamp(3rem,6.3vw,6.8rem);font-weight:500}
.about-capabilities__head>p{color:#555b5e}
.about-capabilities__grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.about-capabilities__grid article{min-height:25rem;padding:1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-capabilities__grid article:nth-child(2),.about-capabilities__grid article:nth-child(3){background:var(--white)}
.about-capabilities__grid h3{max-width:10ch;margin:4rem 0 2rem;font-size:clamp(2rem,4vw,4rem);font-weight:500}
.about-capabilities__grid ul{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem;margin:0;padding:0;list-style:none}
.about-capabilities__grid li{padding:.55rem 0;border-bottom:1px solid var(--line)}
.about-final__grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.about-final h2{max-width:12ch;font-size:clamp(2.4rem,4.5vw,4.8rem);font-weight:500}
.about-final__current{padding-left:2rem;border-left:1px solid var(--line)}
.about-final__current p{color:#555b5e}

@media(max-width:900px){
  .about-profile__copy{grid-column:1/13}.about-profile__portrait{grid-column:4/13;min-height:34rem}.about-profile__facts{grid-template-columns:1fr}
  .about-statement__grid,.about-method__head,.about-team__grid,.about-capabilities__head,.about-final__grid{grid-template-columns:1fr}
  .about-method__steps{grid-template-columns:1fr 1fr}.about-method__steps article{min-height:18rem}.about-method__steps h3{margin-top:3rem}
  .about-team__number strong{font-size:55vw}.about-team__number span{margin-top:1.5rem}
  .about-capabilities__head>p{max-width:42rem}.about-final__current{padding:2rem 0 0;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:560px){
  .about-profile{padding-top:calc(var(--header) + 2.5rem)}.about-profile__copy h2{font-size:clamp(3.6rem,18vw,6rem)}
  .about-profile__portrait{grid-column:2/13;min-height:27rem}.about-profile__facts article{min-height:6rem}
  .about-method__steps,.about-capabilities__grid{grid-template-columns:1fr}
  .about-method__steps article,.about-capabilities__grid article{min-height:auto}
  .about-method__steps h3,.about-capabilities__grid h3{margin-top:2.5rem}
  .about-team__terms,.about-capabilities__grid ul{grid-template-columns:1fr}
}

/* Real evidence in Journey and Newsletter */
.archive-item--proof{padding:.65rem;overflow:hidden;background:var(--white)}
.archive-item--proof img{width:100%;height:auto}.archive-item--proof figcaption{padding:.8rem .35rem .3rem;font-size:.72rem}
.credential--image{overflow:hidden}
.credential--image>img{position:absolute;inset:0 0 auto;width:100%;height:9rem;object-fit:cover;object-position:center;background:#fff}
.credential--image:after{content:"";position:absolute;inset:6rem 0 auto;height:5rem;background:linear-gradient(transparent,var(--white));pointer-events:none}
.credential--image .credential__top,.credential--image h3,.credential--image p{position:relative;z-index:2}
.credential--image .credential__top{padding:.55rem;background:rgba(251,250,246,.9);backdrop-filter:blur(5px)}
.credential--image h3{margin-top:8.4rem}
.newsletter-case-hero{isolation:isolate}
.newsletter-case-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(251,250,246,.97) 42%,rgba(251,250,246,.35) 68%,rgba(251,250,246,.08))}
.newsletter-hero-proof{position:absolute;z-index:0;right:4vw;top:11vh;width:min(45rem,47vw);height:72vh}
.newsletter-hero-proof img{position:absolute;width:54%;height:auto;border:1px solid var(--line);box-shadow:0 28px 80px rgba(10,13,16,.22)}
.newsletter-hero-proof img:first-child{right:2%;top:0;transform:rotate(4deg)}
.newsletter-hero-proof img:last-child{left:0;bottom:-4%;transform:rotate(-3deg)}
.newsletter-proof{padding:clamp(5rem,9vw,9rem) 0;color:var(--paper);background:#181b1d;overflow:hidden}
.newsletter-proof__head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}
.newsletter-proof__head h2{max-width:13ch;margin:0;font-size:clamp(3rem,6.4vw,6.8rem);font-weight:500}
.newsletter-proof__head>p{color:#b8bbbc}
.newsletter-proof__spread{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);align-items:start;margin-top:6rem}
.newsletter-proof__page{margin:0}.newsletter-proof__page img{width:100%;height:auto;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.newsletter-proof__page figcaption{padding-top:.7rem;color:#aaaeb0;font-size:.72rem;letter-spacing:.06em}
.newsletter-proof__page--cover{grid-column:1/5}.newsletter-proof__page--index{grid-column:5/9;margin-top:8rem}.newsletter-proof__page--feature{grid-column:9/13;margin-top:2rem}
.newsletter-proof__page--campaign{grid-column:2/6;margin-top:-2rem}.newsletter-proof__page--overview{grid-column:6/10;margin-top:6rem}.newsletter-proof__page--article{grid-column:9/13;margin-top:1rem}
.newsletter-proof__page--close{grid-column:4/9;margin-top:-3rem}
@media(max-width:900px){
  .newsletter-hero-proof{right:-12vw;width:63vw;opacity:.46}.newsletter-proof__head{grid-template-columns:1fr}
  .newsletter-proof__spread{grid-template-columns:repeat(2,1fr)}
  .newsletter-proof__page[class*="newsletter-proof__page--"]{grid-column:auto;margin-top:0}.newsletter-proof__page--close{grid-column:1/3!important;width:55%;justify-self:center}
}
@media(max-width:560px){
  .newsletter-hero-proof{right:-22vw;top:19vh;width:83vw;opacity:.28}
  .newsletter-proof__spread{grid-template-columns:1fr}.newsletter-proof__page--close{grid-column:auto!important;width:100%}
}

/* Editorial motion system */
.scroll-progress{position:fixed;z-index:4200;inset:0 0 auto;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform}

.page-curtain{background:var(--curtain-color,var(--blue))}.page-curtain--light{color:var(--ink)}
.editorial-reveal{opacity:0;transform:translateY(2.4rem);filter:blur(5px);transition:opacity .85s var(--ease) var(--reveal-delay,0ms),transform .85s var(--ease) var(--reveal-delay,0ms),filter .85s var(--ease) var(--reveal-delay,0ms)}
.editorial-reveal.is-visible{opacity:1;transform:none;filter:none}
.hero-title span{opacity:0;transform:translateY(105%);animation:hero-line-in .95s var(--ease) forwards}
.hero-title span:nth-child(1){animation-delay:.25s}.hero-title span:nth-child(2){animation-delay:.38s}.hero-title span:nth-child(3){animation-delay:.52s}
@keyframes hero-line-in{to{opacity:1;transform:none}}
.hero-file{animation:file-enter .9s var(--ease) both}.hero-file--a{animation-delay:.65s}.hero-file--b{animation-delay:.78s}.hero-file--c{animation-delay:.9s}
@keyframes file-enter{from{opacity:0;translate:0 2.5rem}to{opacity:1;translate:none}}

.hero-portrait{right:clamp(-2rem,1vw,1rem);bottom:-1rem;width:clamp(19rem,31vw,34rem);height:min(77vh,50rem);overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#d8d7d2;box-shadow:0 30px 90px rgba(0,0,0,.38);filter:none;transform:translate3d(0,calc(var(--hero-scroll,0)*-3.5rem),0) rotate(calc(1.3deg + var(--hero-scroll,0)*-1.3deg))}
.hero-portrait:before{inset:1rem -1rem -1rem 1rem;z-index:-1;transform:none}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.hero-portrait figcaption{position:absolute;z-index:2;inset:auto 0 0;padding:2.5rem 1rem 1rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:.65rem;font-weight:700;letter-spacing:.14em}
.moment--newsletter>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:.42;filter:saturate(.9) contrast(1.04)}
.moment--newsletter:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(242,239,232,.18),rgba(242,239,232,.97) 74%);pointer-events:none}
.moment--newsletter>.mark,.moment--newsletter>h3,.moment--newsletter>.newsletter-lines{position:relative;z-index:2}
.work-tile--newsletter>img{opacity:.34;filter:saturate(.88) contrast(1.05)}
.work-tile--newsletter:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(216,213,204,.3),rgba(216,213,204,.96) 72%)}
.work-tile--newsletter .newsletter-lines{position:relative;z-index:2}
.about-profile__portrait{background:#d8d7d2;box-shadow:0 35px 90px rgba(0,0,0,.24)}
.about-profile__portrait img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:none}

.pointer-reactive{transition:box-shadow .45s var(--ease),border-color .45s var(--ease)}
.pointer-reactive:hover{box-shadow:0 28px 70px rgba(10,13,16,.18)}
.project-row.pointer-reactive:hover,.contact-link.pointer-reactive:hover{background-image:radial-gradient(circle 13rem at var(--pointer-x,50%) var(--pointer-y,50%),rgba(23,92,255,.18),transparent 72%)}
.credential.pointer-reactive:hover{box-shadow:0 30px 80px rgba(10,13,16,.22)}
.case-nav a{position:relative;opacity:.58;transition:opacity .3s ease,color .3s ease}
.case-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.45rem;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.case-nav a:hover,.case-nav a[aria-current="true"]{opacity:1}.case-nav a[aria-current="true"]:after{transform:scaleX(1)}
.media-spread img[role="button"],.newsletter-proof__page img[role="button"],.archive-item--proof img[role="button"]{cursor:zoom-in;transition:transform .7s var(--ease),filter .5s ease}
.media-spread img[role="button"]:hover,.newsletter-proof__page img[role="button"]:hover,.archive-item--proof img[role="button"]:hover,.experience-material img[role="button"]:hover{transform:scale(1.018);filter:brightness(1.04)}
.image-lightbox{position:fixed;z-index:4700;inset:0;display:grid;place-items:center;padding:clamp(1rem,4vw,4rem);background:rgba(6,8,10,.94);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.image-lightbox.open{opacity:1;visibility:visible}.image-lightbox button{position:absolute;z-index:2;right:1.4rem;top:1.2rem;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;background:transparent;font-size:1.8rem;cursor:pointer}
.image-lightbox figure{display:grid;gap:.8rem;max-width:min(84vw,76rem);max-height:88vh;margin:0}.image-lightbox img{width:auto;max-width:100%;height:auto;max-height:80vh;margin:auto;object-fit:contain;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.image-lightbox figcaption{color:#c8cbcc;font-size:.75rem;letter-spacing:.06em;text-align:center}

@media(max-width:900px){
  .hero-portrait{right:-5rem;bottom:0;width:25rem;height:66vh;opacity:.52}
  .about-profile__portrait{min-height:39rem}
}
@media(max-width:560px){
  .hero-portrait{right:-6rem;width:22rem;height:58vh;opacity:.44}
  .hero-portrait figcaption{display:none}
  .about-profile__portrait{grid-column:1/13;min-height:34rem;transform:none}
  .image-lightbox{padding:1rem}.image-lightbox button{right:.7rem;top:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .hero-title span,.hero-file{opacity:1;transform:none;animation:none}.editorial-reveal{opacity:1;transform:none;filter:none;transition:none}
  .manifesto-strip__track{animation-play-state:paused}.scroll-note:before{animation:none}
}

/* Legibility and contrast pass */
:root{--text-dark-muted:#454b4e;--text-light-muted:#d1d4d5}
.caps,.mark,.kicker,.meta,.chapter,.mini-label{font-size:.76rem}
.index-nav small,.index-side dt,.quick-access small,.hero-file .stamp,.problem-piece span,.moment-copy span,.work-tile:after,.chronology-rail span,.tool:after,.case-meta small,.case-nav a,.media-spread figcaption,.archive-item--image figcaption,.about-profile__portrait figcaption,.newsletter-proof__page figcaption,.contact-link small{font-size:.75rem}
.index-trigger,.quick-access strong,.scroll-note,.btn,.quick-action,.quick-section h2,.quick-tags span,.tile-process span,.cursor-label{font-size:.75rem}
.hero-meta{color:#d7d4cc}
.hero-bottom p,.selected-home .selected-head>p{color:#f2efe8}
.section--white .selected-head>p,.project-index .selected-head>p{color:var(--text-dark-muted)}
.index-side dt{color:#c7cbcc}
.quick-access small{opacity:.88}
.experience-role p,.experience-notes p{color:var(--text-light-muted)}
.experience-block--light .experience-role p,.experience-block--light .experience-notes p{color:var(--text-dark-muted)}
.experience-block--blue .experience-role p,.experience-block--blue .experience-notes p{color:rgba(255,255,255,.92)}
.archive-item p{color:var(--text-dark-muted)}
.archive-item--blue p{color:rgba(255,255,255,.92)}
.about-profile__lead{color:#d3d6d7}
.about-profile__availability small,.about-profile__facts span{color:#d1d4d5}
.about-method__steps p,.about-team__copy>p:not(.kicker){color:rgba(255,255,255,.9)}
.newsletter-proof__head>p,.newsletter-proof__page figcaption{color:#d0d3d4}
.case-meta small{color:#cbd0d1}
.case--automation .case-meta small{color:#30370f}
.case--newsletter .case-meta small{color:#4e5457}
.case-nav a{opacity:.78}
.case-next small{font-size:.75rem;font-weight:700}
.contact-link small,.quick-reading{color:#4b5154;font-size:.75rem}
.hero-portrait figcaption{font-size:.75rem}
.image-lightbox figcaption{color:#e0e2e3}
.sport-terms span{opacity:calc(.7 + var(--sport-progress,0)*.3)}

/* Keep copy readable whenever it sits over photography. */
.case-hero__content{isolation:isolate}
.case-hero .lead{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.82),0 1px 3px rgba(0,0,0,.95)}
.case--automation .case-hero .lead,.case--newsletter .case-hero .lead{color:var(--ink);text-shadow:none}
.work-tile--image p,.work-tile--image h2,.moment-copy{color:#fff}
.work-tile--image:before{background:linear-gradient(180deg,rgba(5,5,5,.08) 8%,rgba(5,5,5,.34) 48%,rgba(5,5,5,.94) 100%)}
.about-profile__portrait figcaption,.hero-portrait figcaption{text-shadow:0 1px 4px rgba(0,0,0,.9)}

/* Keyboard focus remains visible on every background. */
:where(a,button,[role="button"]):focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.section--paper :where(a,button,[role="button"]):focus-visible,.section--white :where(a,button,[role="button"]):focus-visible,.quick-sheet :where(a,button,[role="button"]):focus-visible{outline-color:var(--blue)}

/* Friendly local launcher shown only when automatic redirection is blocked. */
.local-launcher{min-height:100svh;display:grid;place-items:center;padding:2rem;background:var(--ink);color:var(--paper)}
.local-launcher__card{width:min(42rem,100%);padding:clamp(1.5rem,5vw,4rem);border:1px solid rgba(255,255,255,.28);background:#171b1e}
.local-launcher__card h1{margin:.8rem 0 1rem;font-size:clamp(2.8rem,8vw,6rem)}
.local-launcher__card p{color:var(--text-light-muted)}
.local-launcher__card a{display:inline-block;margin-top:1rem;padding:.8rem 1rem;color:var(--ink);background:var(--lime);font-weight:700}

/* Cleaner editorial hierarchy */
.kicker:before{width:.46rem;height:.46rem;border-radius:50%;background:currentColor;opacity:.72}
.problems{min-height:140svh;overflow:hidden;background:var(--paper);--problem-spread:1}
.problems__sticky{min-height:100svh;padding:calc(var(--header) + 2.5rem) var(--gutter) 3rem}
.problems__sticky:before,.problems__sticky:after{content:none}
.problems__statement{width:min(52rem,56vw);text-align:center}
.problems__statement h2{max-width:13ch;margin:0 auto;font-size:clamp(3rem,5.15vw,5.8rem);line-height:.91;letter-spacing:-.065em}
.problems__statement h2 span{display:block;margin-top:.12em}
.problems__statement>p:not(.kicker){margin:1.35rem auto 0;font-size:clamp(1rem,1.25vw,1.15rem)}
.problems__statement .kicker{justify-content:center}
.problem-piece{left:50%;top:50%;color:var(--ink);text-decoration:none;transform:translate(calc(-50% + var(--problem-spread)*var(--x)),calc(-50% + var(--problem-spread)*var(--y))) rotate(calc(var(--problem-spread)*var(--r))) scale(var(--card-scale,1));transition:transform 480ms cubic-bezier(.22,1,.36,1),box-shadow 320ms ease,border-color 240ms ease}
.problem-piece:after{content:"ABRIR ↗";position:absolute;right:1rem;top:1rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;opacity:0;transform:translateY(.35rem);transition:opacity 220ms ease,transform 280ms ease}
.problem-piece:hover,.problem-piece:focus-visible{--card-scale:1.035;z-index:9;border-color:var(--blue);box-shadow:0 1.3rem 3rem rgba(10,13,16,.14);outline:0}
.problem-piece:hover:after,.problem-piece:focus-visible:after{opacity:1;transform:none}
.problem-piece--2,.problem-piece--4{color:var(--paper)}
.problem-piece--1{--x:-37vw;--y:-25vh;--r:-8deg}
.problem-piece--2{--x:37vw;--y:-24vh;--r:7deg}
.problem-piece--3{--x:-38vw;--y:29vh;--r:5deg}
.problem-piece--4{--x:38vw;--y:29vh;--r:-6deg}
.problem-piece--5{--x:-18vw;--y:38vh;--r:-3deg}
.problem-piece--6{--x:27vw;--y:-40vh;--r:3deg}

.experience-statement{margin-top:clamp(3rem,7vw,7rem);padding-left:clamp(1rem,5vw,5rem)}
.experience-statement .display{margin:0;color:var(--ink);font-size:clamp(4rem,9vw,9rem);line-height:.78}
.experience-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(3rem,7vw,7rem);background:rgba(255,255,255,.28)}
.experience-flow span{position:relative;padding:clamp(1.5rem,4vw,3rem) 1rem;background:var(--blue);font-size:clamp(1.3rem,2.6vw,2.8rem);font-weight:600}
.experience-flow span:not(:last-child):after{content:"";position:absolute;right:-.45rem;top:50%;z-index:2;width:.85rem;height:.85rem;border-top:2px solid #fff;border-right:2px solid #fff;transform:translateY(-50%) rotate(45deg)}

.automation-visual{position:relative;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,4rem)}
.automation-visual:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--ink),var(--blue),var(--ink))}
.automation-visual div{position:relative;min-height:10rem;padding:1.4rem 0 0;border:0}
.automation-visual div:before{content:"";position:absolute;left:0;top:-.28rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--blue)}

/* Distinct section reveals */
.motion-reveal{opacity:0;transition:opacity .8s var(--ease) var(--reveal-delay,0ms),translate .95s var(--ease) var(--reveal-delay,0ms),scale .95s var(--ease) var(--reveal-delay,0ms),clip-path 1s var(--ease) var(--reveal-delay,0ms),filter .9s ease var(--reveal-delay,0ms)}
.motion-rise{translate:0 2.8rem}
.motion-shift{translate:-3rem 0}
.motion-drift{translate:3rem 1.5rem}
.motion-focus{scale:.96;filter:blur(7px)}
.motion-wipe{clip-path:inset(0 100% 0 0)}
.motion-reveal.is-visible{opacity:1;translate:0 0;scale:1;clip-path:inset(0);filter:none}
.process-sequence article.motion-reveal:nth-child(even),.objective-result article.motion-reveal:nth-child(even){--reveal-delay:90ms}
.archive-stack .archive-item.motion-reveal:nth-child(even){--reveal-delay:120ms}
.newsletter-proof__page.motion-reveal:nth-child(3n+2){--reveal-delay:90ms}
.newsletter-proof__page.motion-reveal:nth-child(3n){--reveal-delay:170ms}

/* A different transition rhythm for each chapter. */
.page-curtain[class*="curtain--"]{transform:none}
.page-curtain.curtain--work{clip-path:inset(0 100% 0 0)}
.page-curtain.curtain--work.is-leaving{animation:curtain-work-in .68s var(--ease) forwards}
.page-curtain.curtain--work.is-entering{animation:curtain-work-out .82s .05s var(--ease) both}
.page-curtain.curtain--experience{clip-path:inset(100% 0 0)}
.page-curtain.curtain--experience.is-leaving{animation:curtain-experience-in .7s var(--ease) forwards}
.page-curtain.curtain--experience.is-entering{animation:curtain-experience-out .82s .05s var(--ease) both}
.page-curtain.curtain--journey{clip-path:polygon(0 100%,0 100%,0 100%)}
.page-curtain.curtain--journey.is-leaving{animation:curtain-journey-in .72s var(--ease) forwards}
.page-curtain.curtain--journey.is-entering{animation:curtain-journey-out .84s .04s var(--ease) both}
.page-curtain.curtain--about{clip-path:circle(0 at 50% 50%)}
.page-curtain.curtain--about.is-leaving{animation:curtain-about-in .72s var(--ease) forwards}
.page-curtain.curtain--about.is-entering{animation:curtain-about-out .86s .04s var(--ease) both}
.page-curtain.curtain--contact{clip-path:inset(0 50%)}
.page-curtain.curtain--contact.is-leaving{animation:curtain-contact-in .68s var(--ease) forwards}
.page-curtain.curtain--contact.is-entering{animation:curtain-contact-out .82s .04s var(--ease) both}
.page-curtain.curtain--process{clip-path:inset(100% 0 0)}
.page-curtain.curtain--process.is-leaving{animation:curtain-experience-in .68s var(--ease) forwards}
.page-curtain.curtain--process.is-entering{animation:curtain-experience-out .82s .04s var(--ease) both}
@keyframes curtain-work-in{to{clip-path:inset(0)}}
@keyframes curtain-work-out{from{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}
@keyframes curtain-experience-in{to{clip-path:inset(0)}}
@keyframes curtain-experience-out{from{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}
@keyframes curtain-journey-in{to{clip-path:polygon(0 0,200% 0,0 200%)}}
@keyframes curtain-journey-out{from{clip-path:polygon(0 0,200% 0,0 200%)}to{clip-path:polygon(200% 0,200% 0,200% 0)}}
@keyframes curtain-about-in{to{clip-path:circle(150% at 50% 50%)}}
@keyframes curtain-about-out{from{clip-path:circle(150% at 50% 50%)}to{clip-path:circle(0 at 50% 50%)}}
@keyframes curtain-contact-in{to{clip-path:inset(0)}}
@keyframes curtain-contact-out{from{clip-path:inset(0)}to{clip-path:inset(50%)}}

@media(max-width:900px){
  .problems{min-height:auto}.problems__sticky{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-height:auto;padding:calc(var(--header) + 3rem) var(--gutter) 5rem}.problems__statement{order:-1;grid-column:1/-1;width:min(38rem,100%);margin:0 auto 3rem}.problems__statement h2{font-size:clamp(3.1rem,10vw,5.8rem)}.problem-piece{position:relative;left:auto;top:auto;width:auto;height:auto;min-height:11rem;transform:rotate(var(--r));}.problem-piece--1,.problem-piece--2,.problem-piece--3,.problem-piece--4,.problem-piece--5,.problem-piece--6{--x:0;--y:0}
  .experience-flow{grid-template-columns:1fr}.experience-flow span:not(:last-child):after{right:1rem;top:auto;bottom:-.45rem;transform:rotate(135deg)}
  .automation-visual{grid-template-columns:1fr}.automation-visual:before{bottom:0;right:auto;width:2px;height:auto}.automation-visual div{padding:0 0 1.5rem 1.5rem}.automation-visual div:before{left:-.28rem;top:.45rem}
}
@media(max-width:560px){
  .problems__sticky{grid-template-columns:1fr}.problems__statement h2{font-size:clamp(2.8rem,14vw,4.8rem)}.problem-piece{min-height:9rem}
}
@media(prefers-reduced-motion:reduce){
  .motion-reveal{opacity:1;translate:0;scale:1;clip-path:none;filter:none;transition:none}
  .problem-piece{transition:none}
  .page-curtain[class*="curtain--"].is-leaving,.page-curtain[class*="curtain--"].is-entering{animation-duration:.01ms!important}
}

/* Interações específicas por contexto */
.experience-notes article,.about-capabilities__grid article,.process-sequence article,.archive-item{transition:transform 320ms cubic-bezier(.22,1,.36,1),background-color 240ms ease,border-color 240ms ease,box-shadow 320ms ease}
.experience-notes article:hover,.experience-notes article:focus-within{transform:translateX(.45rem);border-color:rgba(24,92,255,.38)}
.about-capabilities__grid article:hover,.about-capabilities__grid article:focus-within{transform:translateY(-.35rem);background:var(--blue-soft);box-shadow:0 1.15rem 2.5rem rgba(13,18,28,.08)}
.process-sequence article:hover,.process-sequence article:focus-within{transform:translateY(-.4rem);border-color:var(--blue)}
.archive-item:hover,.archive-item:focus-within{transform:translateY(-.4rem) rotate(0deg);box-shadow:0 1.25rem 2.8rem rgba(13,18,28,.1)}
@media(prefers-reduced-motion:reduce){.experience-notes article,.about-capabilities__grid article,.process-sequence article,.archive-item{transition:none}}

/* Portfolio editorial system */
:root{--ink:#171411;--ink2:#211b22;--paper:#f3eee4;--white:#fffaf2;--blue:#334fc7;--blue-soft:#efbb4d;--lime:#ff684c;--coral:#ff684c;--plum:#5a2947;--teal:#116d67;--saffron:#efbb4d;--line:rgba(23,20,17,.18)}
.kicker:before,.scroll-note:before{content:none!important}
.kicker{gap:0}.scroll-note{gap:0;padding:.55rem .75rem;border:1px solid currentColor}
.home-hero{background:#1d1821}
.home-hero:before{opacity:.25;background-image:linear-gradient(90deg,transparent 0 49.8%,rgba(239,187,77,.12) 50%,transparent 50.2%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px)}
.hero-portrait:before{background:var(--coral)}
.manifesto-strip{background:#1d1821}.manifesto-strip__track b{color:var(--saffron)}
.problems__statement,.problems__statement *{opacity:1!important;translate:0!important;scale:1!important;clip-path:none!important;filter:none!important}
.problems__statement h2 .blue{color:var(--plum)}
.problem-piece--1{background:var(--white)}
.problem-piece--2{color:#171411;background:var(--coral)}
.problem-piece--3{background:#f7d97c}
.problem-piece--4{color:#fff;background:var(--plum)}
.problem-piece--5{color:#fff;background:var(--teal)}
.problem-piece--6{background:var(--saffron)}

/* Stable, asymmetric project grid with no clipping or overlap. */
.selected-home{background:#181419}
.selected-home .selected-head>p{color:#d7d0c8}
.work-composition{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.2rem,2.4vw,2.5rem);min-height:0}
.moment{position:relative;left:auto;right:auto;top:auto;width:auto;height:auto;min-height:24rem;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.3rem,2.3vw,2.2rem);isolation:isolate;border:1px solid rgba(255,255,255,.16);overflow:hidden;transform:none;rotate:var(--moment-rotate,0deg);transition:translate .55s var(--ease),rotate .55s var(--ease),box-shadow .55s var(--ease),border-color .35s ease}
.moment:hover,.moment:focus-visible{translate:0 -.55rem;rotate:0deg;border-color:rgba(255,255,255,.48);box-shadow:0 2rem 5rem rgba(0,0,0,.28)}
.moment>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.moment:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 25%,rgba(18,15,16,.9) 100%)}
.moment .mark,.moment-copy span{font-size:.76rem;letter-spacing:.13em}
.moment>.mark{position:relative;z-index:2;margin-bottom:auto}
.moment>h3{position:relative;z-index:2;max-width:10ch;margin:auto 0 .8rem;font-size:clamp(2.2rem,4.2vw,4.8rem);font-weight:500;line-height:.92}
.moment>p{position:relative;z-index:2;margin:0;max-width:34rem;font-size:1rem;line-height:1.5}
.moment-number{position:absolute;z-index:0;right:.6rem;bottom:-.18em;font:italic clamp(8rem,17vw,18rem)/.75 var(--serif);letter-spacing:-.08em;opacity:.13;pointer-events:none}
.moment-copy{inset:auto 0 0;padding:clamp(1.3rem,2.3vw,2.2rem);background:linear-gradient(transparent,rgba(18,15,16,.94) 45%);border:0;text-shadow:none}
.moment-copy h3{max-width:11ch;margin:.4rem 0 .45rem;font-size:clamp(2.2rem,4.4vw,5rem);line-height:.9}
.moment-copy p{margin:0;color:rgba(255,255,255,.82)}
.moment--hub{grid-column:1/8;grid-row:1;min-height:38rem;--moment-rotate:-.6deg}
.moment--auto{grid-column:9/13;grid-row:1;align-self:end;min-height:30rem;color:#171411;background:var(--coral);--moment-rotate:1deg}
.moment--auto:before,.moment--bastarda:before,.moment--insights:before,.moment--academic:before{content:none}
.moment--auto .mark,.moment--auto p{color:#2b1712}
.moment--newsletter{grid-column:1/5;grid-row:2;min-height:34rem;padding:0;background:#eee4d6;--moment-rotate:-1deg}
.moment--newsletter>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:1;filter:none}
.moment--newsletter:after{content:none}
.moment--bastarda{grid-column:5/13;grid-row:2;align-self:center;min-height:28rem;color:#fff;background:var(--plum);--moment-rotate:.65deg}
.moment--bastarda .mark,.moment--bastarda p{color:#f5e9f0}
.moment--insights{grid-column:2/8;grid-row:3;min-height:25rem;color:#fff;background:var(--teal);--moment-rotate:-.6deg}
.moment--insights .mark,.moment--insights p{color:#d9f0ec}
.moment--academic{grid-column:8/13;grid-row:3;align-self:end;min-height:29rem;color:#171411;background:var(--saffron);--moment-rotate:.85deg}
.moment--academic .mark,.moment--academic p{color:#3e3116}
.home-work-link{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;margin-top:clamp(4rem,8vw,8rem);padding:clamp(1.3rem,2.8vw,2.4rem);color:#171411;background:var(--saffron);transition:background .3s ease,translate .35s var(--ease)}
.home-work-link:hover,.home-work-link:focus-visible{background:var(--coral);translate:0 -.25rem}
.home-work-link span{font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.home-work-link strong{font-size:clamp(1.25rem,2.3vw,2.3rem)}.home-work-link b{font-size:2rem}

/* Honest process language replaces decorative pseudo-data. */
.insight-path{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 auto}
.insight-path span{padding:.55rem .75rem;border:1px solid rgba(255,255,255,.45);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Full evidence stays visible inside cards. */
.credential--image>img{height:11rem;padding:.5rem;object-fit:contain;object-position:center;background:#fff}
.credential--image:after{inset:8rem 0 auto;height:5rem}
.credential--image h3{margin-top:10.4rem}
.archive-item--proof img,.archive-item--image img{width:100%;height:auto;object-fit:contain;background:#fff}

/* A broader campaign-inspired palette across the remaining chapters. */
.experience-block--blue{background:var(--teal)}
.experience-block--blue .experience-notes article,.experience-flow span{background:var(--teal)}
.archive-item--blue{background:var(--plum)}
.about-team{background:var(--plum)}
.about-profile__facts strong,.about-profile__availability span,.about-method__steps span{color:var(--saffron)}
.case--automation .case-hero{background:var(--saffron)}
.case--automation .case-meta div{background:rgba(239,187,77,.78)}

/* Decorative typography remains fully framed at every viewport. */
.page-hero__ghost{right:var(--gutter);top:18%;font-size:clamp(8rem,24vw,24rem)}
.case-next__ghost{left:var(--gutter);bottom:0;font-size:clamp(8rem,24vw,24rem)}
.experience-year{right:var(--gutter);top:2rem;font-size:clamp(10rem,24vw,26rem)}
.automation-repeat{right:var(--gutter);top:18%;font-size:clamp(4rem,8vw,8rem)}

/* Academic work is presented as a concise editorial note, not a table. */
.academic-note{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-top:clamp(2rem,5vw,5rem);padding-top:clamp(1.5rem,3vw,3rem);border-top:1px solid var(--line)}
.academic-note p{max-width:42rem;margin:0;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.45}
.academic-note__award{padding:clamp(1.2rem,2.4vw,2rem);color:#fff;background:var(--plum);rotate:1deg}
.academic-note__award span{display:block;margin-bottom:1rem;font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.academic-note__award strong{display:block;font-size:clamp(1.4rem,2.6vw,2.6rem);line-height:1.05}

@media(max-width:900px){
  .work-composition{grid-template-columns:repeat(2,minmax(0,1fr))}
  .moment--hub,.moment--auto,.moment--newsletter,.moment--bastarda,.moment--insights,.moment--academic{grid-column:auto;grid-row:auto;align-self:stretch;min-height:26rem;rotate:0deg}
  .moment--hub{grid-column:1/-1;min-height:34rem}.moment--bastarda{grid-column:1/-1}
  .home-work-link{grid-template-columns:1fr auto}.home-work-link span{grid-column:1/-1}
  .academic-note{grid-template-columns:1fr}.academic-note__award{rotate:0deg}
}
@media(max-width:560px){
  .work-composition{grid-template-columns:1fr}.moment--hub,.moment--auto,.moment--newsletter,.moment--bastarda,.moment--insights,.moment--academic{grid-column:auto;min-height:24rem}
  .moment>h3,.moment-copy h3{font-size:clamp(2.25rem,12vw,4rem)}
  .home-work-link{grid-template-columns:1fr auto}.home-work-link strong{font-size:1.25rem}
}
@media(prefers-reduced-motion:reduce){.moment,.home-work-link{transition:none}}

/* Density, completeness and anti-clipping pass. */
:where(.work-tile,.moment,.case-meta>div,.process-sequence>article,.objective-result>article,.experience-notes>article,.archive-item,.credential,.about-method__steps>article,.about-capabilities__grid>article){min-width:0}
:where(.work-tile h2,.moment h3,.case-meta strong,.process-sequence h3,.objective-result h3,.experience-notes h3,.archive-item h3,.credential h3,.about-method__steps h3,.about-capabilities__grid h3){overflow-wrap:break-word}
.section{padding:clamp(4rem,7vw,7rem) 0}
.section--tight{padding:clamp(3rem,5vw,5rem) 0}
.page-hero{min-height:clamp(34rem,64svh,48rem);padding:calc(var(--header) + 4rem) 0 clamp(3rem,5vw,5rem)}
.page-hero h1{max-width:12ch;font-size:clamp(4rem,10vw,10rem);line-height:.94}
.problems{min-height:100svh}

/* Work cards carry complete information without decorative empty boxes. */
.work-wall{padding-bottom:clamp(4rem,7vw,7rem)}
.work-wall__grid{gap:clamp(1rem,2vw,2rem);align-items:stretch}
.work-tile{min-height:30rem;padding:clamp(1.2rem,2vw,1.8rem);overflow:clip}
.work-tile h2{max-width:10ch;margin:auto 0 .8rem;font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:.96}
.work-tile__proof{position:relative;z-index:2;display:block;max-width:28rem;margin:1.5rem 0 2rem;font-size:.76rem;font-weight:700;line-height:1.4;letter-spacing:.11em;text-transform:uppercase}
.work-tile--hub{grid-column:1/8;min-height:36rem}
.work-tile--auto{grid-column:8/13;margin-top:0;min-height:36rem}
.work-tile--newsletter{grid-column:1/5;min-height:30rem}
.work-tile--bastarda{grid-column:5/13;margin-top:0;min-height:30rem}
.work-tile--insights{grid-column:1/7;margin-top:0;min-height:28rem}
.work-tile--academic{grid-column:7/13;margin-top:0;min-height:28rem}
.work-tile--newsletter>img{opacity:.58}
.work-tile--newsletter:before{background:linear-gradient(180deg,rgba(216,213,204,.12),rgba(216,213,204,.98) 62%)}
.media-word{right:1rem;bottom:1rem;font-size:clamp(5rem,9vw,9rem);opacity:.16}

/* Long pages now use content-led height instead of empty viewport blocks. */
.experience-block{min-height:0;padding:clamp(5rem,8vw,7.5rem) 0;overflow:clip}
.experience-material{width:100%;margin-top:2rem}
.archive-year{min-height:0;padding:clamp(4.5rem,7vw,7rem) 0}
.archive-stack{gap:1.5rem;padding-top:1rem}
.archive-item{max-width:48rem}
.archive-item:nth-child(even){margin-left:4%}

/* Credentials form a readable archive; no card is hidden behind another. */
.documents-deck{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);min-height:0;margin-top:3rem}
.credential,.credential:nth-child(n){position:relative;width:auto;min-height:24rem;padding:1.4rem;z-index:auto;transform:none;text-align:left;overflow:hidden}
.credential:hover{z-index:auto;transform:translateY(-.45rem)}
.documents-deck:has(.credential:hover) .credential:not(:hover){filter:none;opacity:1}
.credential h3{margin:3rem 0 .7rem;font-size:clamp(1.55rem,2.2vw,2.3rem);line-height:1.05}
.credential--image>img{position:relative;inset:auto;width:calc(100% + 2.8rem);height:11rem;margin:-1.4rem -1.4rem 1rem;padding:.55rem;object-fit:contain;background:#fff}
.credential--image:after{content:none}
.credential--image h3{margin-top:2.5rem}

/* Case studies retain rhythm without oversized blank transitions. */
.case-hero{min-height:clamp(42rem,86svh,58rem);padding:calc(var(--header) + 3rem) 0 3rem}
.case-hero h1{font-size:clamp(4rem,9.5vw,10rem);line-height:.94}
.case-meta div{min-height:0;padding:1rem}
.case-block{padding:clamp(4.5rem,7vw,7rem) 0}
.case-block__content h2{max-width:14ch;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.98}
.case-quote{margin:3rem 0;font-size:clamp(2rem,4vw,4.2rem);line-height:1.02}
.process-sequence article{min-height:0;padding:1.4rem}
.process-sequence h3{margin:2rem 0 .7rem}
.objective-result h3{line-height:1.08}
.case-next{min-height:clamp(20rem,38svh,28rem);padding:4rem var(--gutter)}
.case-next strong{font-size:clamp(3.2rem,8vw,8rem);line-height:.95}
.case-next__ghost{left:var(--gutter);bottom:1rem;font-size:clamp(7rem,18vw,17rem)}
.media-spread{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.media-spread figure:nth-child(n){grid-column:auto;margin-top:0}
.media-spread figure:first-child{grid-column:1/-1}
.media-spread img{height:auto;object-fit:contain}

/* Real newsletter pages align in a compact gallery with no artificial gaps. */
.newsletter-proof{padding:clamp(4.5rem,7vw,7rem) 0}
.newsletter-proof__spread{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);margin-top:3rem}
.newsletter-proof__page[class*="newsletter-proof__page--"]{grid-column:auto;margin-top:0;width:auto;justify-self:stretch}
.newsletter-proof__page--close{grid-column:2/4!important}

/* About cards fit their information instead of simulating content with height. */
.about-profile{min-height:0;padding:calc(var(--header) + 3rem) 0 3rem}
.about-profile__copy h2{line-height:.94}
.about-profile__portrait{min-height:34rem}
.about-profile__facts article{min-height:6rem}
.about-method__steps{margin-top:3rem}
.about-method__steps article{min-height:0;padding:1.5rem}
.about-method__steps h3{margin:3rem 0 1rem}
.about-team{padding:clamp(4.5rem,7vw,7rem) 0}
.about-team__number strong{font-size:clamp(10rem,23vw,22rem);line-height:.72}
.about-capabilities__head{margin-bottom:3rem}
.about-capabilities__grid article{min-height:0;padding:1.5rem}
.about-capabilities__grid h3{margin:3rem 0 1.5rem;line-height:1}

/* Reveals never crop copy. Content also remains available if scripting fails. */
.reveal-mask,.reveal-line,.reveal-scale,.motion-reveal{opacity:1;transform:none;translate:0;scale:1;clip-path:none!important;filter:none;transition:opacity .75s var(--ease),translate .85s var(--ease),scale .85s var(--ease),filter .65s ease}
.js .reveal-mask:not(.is-visible),.js .reveal-line:not(.is-visible),.js .reveal-scale:not(.is-visible),.js .motion-reveal:not(.is-visible){opacity:0;translate:0 1.75rem;scale:.985;filter:blur(3px)}
.reveal-mask.is-visible,.reveal-line.is-visible,.reveal-scale.is-visible,.motion-reveal.is-visible{opacity:1;transform:none;translate:0;scale:1;clip-path:none!important;filter:none}
.moment>h3,.moment-copy h3{line-height:.98}
.moment-number{right:.8rem;bottom:.8rem;font-size:clamp(7rem,14vw,14rem);line-height:1}

@media(max-width:900px){
  .work-wall__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-tile--hub,.work-tile--auto,.work-tile--newsletter,.work-tile--bastarda,.work-tile--insights,.work-tile--academic{grid-column:auto;margin-top:0;min-height:27rem;transform:none}
  .work-tile--hub,.work-tile--bastarda{grid-column:1/-1}
  .documents-deck{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newsletter-proof__spread{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newsletter-proof__page--close{grid-column:1/3!important;width:60%!important;justify-self:center!important}
}
@media(max-width:560px){
  .section{padding:3.5rem 0}
  .page-hero{min-height:30rem;padding-bottom:3rem}
  .work-wall__grid,.documents-deck,.newsletter-proof__spread,.media-spread{grid-template-columns:1fr}
  .work-tile--hub,.work-tile--auto,.work-tile--newsletter,.work-tile--bastarda,.work-tile--insights,.work-tile--academic{grid-column:auto;min-height:24rem}
  .work-tile__proof{margin:1rem 0 1.5rem}
  .credential,.credential:nth-child(n){min-height:0}
  .newsletter-proof__page--close{grid-column:auto!important;width:100%!important}
  .media-spread figure:first-child{grid-column:auto}
  .case-hero{min-height:0;padding-top:calc(var(--header) + 4rem)}
  .case-meta{grid-template-columns:1fr 1fr}
  .case-next{min-height:18rem}.case-next__ghost{font-size:7rem}
  .about-profile__portrait{min-height:29rem}
}

/* Motion direction: editorial choreography without hiding or cropping content. */
.site-header{animation:header-settle .72s var(--ease) both}
@keyframes header-settle{from{opacity:0;translate:0 -100%}to{opacity:1;translate:0 0}}

.js .index-nav a{opacity:0;translate:-1.6rem 0}
.js .menu-open .index-nav a{opacity:1;translate:0 0;transition:opacity .46s ease calc(150ms + var(--nav-index)*65ms),translate .68s var(--ease) calc(150ms + var(--nav-index)*65ms),padding .4s var(--ease),color .4s}
.js .index-side{opacity:0;translate:0 1rem;transition:opacity .45s ease,translate .6s var(--ease)}
.js .menu-open .index-side{opacity:1;translate:0 0;transition-delay:.38s}

.motion-scene .motion-item,.motion-solo{opacity:1;translate:0 0;scale:1;filter:none;transition:opacity .72s ease var(--motion-delay,var(--reveal-delay,0ms)),translate .9s var(--ease) var(--motion-delay,var(--reveal-delay,0ms)),scale .9s var(--ease) var(--motion-delay,var(--reveal-delay,0ms)),filter .6s ease var(--motion-delay,var(--reveal-delay,0ms)),rotate .55s var(--ease),transform .4s var(--ease),padding .4s var(--ease),background-color .3s ease,border-color .3s ease,box-shadow .35s ease}
.js .motion-scene:not(.is-visible) .motion-item{opacity:0;translate:0 1.45rem;scale:.985;filter:blur(2px)}
.js .motion-scene--individual .motion-item:not(.is-visible){opacity:0;translate:0 1.45rem;scale:.985;filter:blur(2px)}
.js .motion-scene--individual.motion-scene--cards .motion-item:not(.is-visible):nth-child(odd){translate:-1.4rem 1.6rem;scale:.97}
.js .motion-scene--individual.motion-scene--cards .motion-item:not(.is-visible):nth-child(even){translate:1.4rem 1.6rem;scale:.97}
.js .motion-scene--individual.motion-scene--archive .motion-item:not(.is-visible):nth-child(odd){translate:-1.6rem .8rem;scale:1;filter:none}
.js .motion-scene--individual.motion-scene--archive .motion-item:not(.is-visible):nth-child(even){translate:1.6rem .8rem;scale:1;filter:none}
.js .motion-scene--individual.motion-scene--documents .motion-item:not(.is-visible){translate:0 2rem;scale:.95;filter:none}
.js .motion-scene--individual.motion-scene--evidence .motion-item:not(.is-visible){translate:0 1.5rem;scale:.955;filter:none}
.js .motion-scene--individual.motion-scene--steps .motion-item:not(.is-visible){translate:-1rem 1rem;scale:1;filter:none}
.js .motion-solo:not(.is-visible){opacity:0;translate:0 1.65rem;scale:.99;filter:blur(2px)}
.js .motion-solo--shift:not(.is-visible){translate:-2rem 0}
.motion-scene.is-visible .motion-item,.motion-solo.is-visible{opacity:1;translate:0 0;scale:1;filter:none}

.js .motion-scene--line:not(.is-visible) .motion-item{translate:-2rem 0;scale:1;filter:none}
.js .motion-scene--meta:not(.is-visible) .motion-item:nth-child(even){translate:0 1.8rem}
.js .motion-scene--meta:not(.is-visible) .motion-item:nth-child(odd){translate:0 -1.1rem}
.js .motion-scene--cards:not(.is-visible) .motion-item:nth-child(3n+1){translate:-1.6rem 2rem;scale:.965}
.js .motion-scene--cards:not(.is-visible) .motion-item:nth-child(3n+2){translate:0 2.7rem;scale:.965}
.js .motion-scene--cards:not(.is-visible) .motion-item:nth-child(3n){translate:1.6rem 2rem;scale:.965}
.js .motion-scene--archive:not(.is-visible) .motion-item:nth-child(odd){translate:-2.2rem 1rem}
.js .motion-scene--archive:not(.is-visible) .motion-item:nth-child(even){translate:2.2rem 1rem}
.js .motion-scene--documents:not(.is-visible) .motion-item{translate:0 2.3rem;scale:.94}
.js .motion-scene--metrics:not(.is-visible) .motion-item{translate:0 1rem;scale:.9;filter:none}
.js .motion-scene--evidence:not(.is-visible) .motion-item{translate:0 2rem;scale:.955;filter:none}
.js .motion-scene--process:not(.is-visible) .motion-item{translate:-1.5rem 0;scale:1;filter:none}
.js .motion-scene--compare:not(.is-visible) .motion-item:nth-child(odd){translate:-2rem 0;filter:none}
.js .motion-scene--compare:not(.is-visible) .motion-item:nth-child(even){translate:2rem 0;filter:none}
.js .motion-scene--quick:not(.is-visible) .motion-item{translate:0 .9rem;scale:1;filter:none}

.motion-scene--steps.is-visible .motion-item>span:first-child,.motion-scene--process.is-visible .motion-item>span:first-child{animation:number-settle .62s var(--ease) both;animation-delay:calc(var(--motion-delay,0ms) + 180ms)}
@keyframes number-settle{from{opacity:.2;translate:0 .65rem;scale:.82}to{opacity:1;translate:0 0;scale:1}}

.motion-parallax{translate:0 calc(var(--motion-scroll,0)*-1.1rem);transition:translate .12s linear;will-change:translate}
.case-hero__media.motion-parallax,.newsletter-hero-proof.motion-parallax{translate:0 calc(var(--motion-scroll,0)*-1.55rem)}
.page-hero__ghost.motion-parallax,.case-next__ghost.motion-parallax{translate:0 calc(var(--motion-scroll,0)*-1.9rem)}

.case-meta>div,.about-profile__facts>article,.language-row,.quick-entry{position:relative}
.case-meta>div:after,.about-profile__facts>article:after,.language-row:after,.quick-entry:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:.38;transition:transform .48s var(--ease)}
.case-meta>div:hover:after,.about-profile__facts>article:hover:after,.language-row:hover:after,.quick-entry:hover:after{transform:scaleX(1)}
.case-meta>div.pointer-reactive:hover,.about-profile__facts>article.pointer-reactive:hover,.about-capabilities__grid>article.pointer-reactive:hover{background-image:radial-gradient(circle 12rem at var(--pointer-x,50%) var(--pointer-y,50%),rgba(239,187,77,.18),transparent 72%)}
.motion-scene.is-visible.case-meta>div:hover{translate:0 -.22rem}
.about-profile__facts>article:hover strong{translate:.18rem 0;scale:1.04}
.about-profile__facts strong{transition:translate .35s var(--ease),scale .35s var(--ease)}
.language-row{transition:padding .42s var(--ease),background-color .28s ease}
.language-row:hover{padding-inline:.75rem;background:rgba(255,255,255,.045)}
.quick-entry{transition:padding .4s var(--ease),background-color .3s ease}
.quick-entry:hover{padding-inline:.65rem;background:rgba(51,79,199,.055)}
.quick-action.pointer-reactive:hover{background-image:radial-gradient(circle 7rem at var(--pointer-x,50%) var(--pointer-y,50%),rgba(239,187,77,.28),transparent 75%)}
.case-next a strong,.home-work-link b,.contact-link strong{transition:translate .42s var(--ease),letter-spacing .42s var(--ease)}
.case-next a:hover strong,.case-next a:focus-visible strong{translate:.5rem 0}
.home-work-link:hover b,.home-work-link:focus-visible b{translate:.4rem 0}
.contact-link:hover strong,.contact-link:focus-visible strong{translate:.35rem 0}
.case-details[open] .case-details__inner{animation:details-open .52s var(--ease) both}
.case-details summary:after{transition:rotate .35s var(--ease),scale .35s var(--ease)}
.case-details[open] summary:after{rotate:90deg;scale:1.08}
.image-lightbox figure{scale:.94;translate:0 1.2rem;transition:scale .5s var(--ease),translate .5s var(--ease)}
.image-lightbox.open figure{scale:1;translate:0 0}
@keyframes details-open{from{opacity:0;translate:0 -.65rem}to{opacity:1;translate:0 0}}

@media(max-width:900px){
  .motion-parallax{translate:0 calc(var(--motion-scroll,0)*-.55rem)}
  .case-hero__media.motion-parallax,.newsletter-hero-proof.motion-parallax,.page-hero__ghost.motion-parallax,.case-next__ghost.motion-parallax{translate:0 calc(var(--motion-scroll,0)*-.75rem)}
}
@media(prefers-reduced-motion:reduce){
  .site-header{animation:none}
  .js .index-nav a,.js .menu-open .index-nav a,.js .index-side,.js .menu-open .index-side,.motion-scene .motion-item,.motion-solo,.js .motion-scene:not(.is-visible) .motion-item,.js .motion-solo:not(.is-visible),.js .motion-solo--shift:not(.is-visible),.motion-parallax{opacity:1;translate:0;scale:1;filter:none;animation:none;transition:none}
  .js .motion-scene--individual .motion-item:not(.is-visible){opacity:1;translate:0;scale:1;filter:none}
  .js .motion-scene--individual.motion-scene--cards .motion-item:not(.is-visible),.js .motion-scene--individual.motion-scene--archive .motion-item:not(.is-visible),.js .motion-scene--individual.motion-scene--documents .motion-item:not(.is-visible),.js .motion-scene--individual.motion-scene--evidence .motion-item:not(.is-visible),.js .motion-scene--individual.motion-scene--steps .motion-item:not(.is-visible){opacity:1;translate:0;scale:1;filter:none}
  .motion-scene--steps.is-visible .motion-item>span:first-child,.motion-scene--process.is-visible .motion-item>span:first-child{animation:none}
  .case-details[open] .case-details__inner{animation:none}.image-lightbox figure,.image-lightbox.open figure{scale:1;translate:0;transition:none}
}
@media print{
  .motion-scene .motion-item,.motion-solo,.motion-parallax{opacity:1!important;translate:0!important;scale:1!important;filter:none!important;animation:none!important;transition:none!important}
}

/* Final layout pass: content-led sizes and breathing room at every breakpoint. */
.problems__statement{width:min(38rem,42vw)}
.problems__statement h2{max-width:13ch;font-size:clamp(2.6rem,4.2vw,4.65rem);line-height:.98}
.problems__statement>p:not(.kicker){max-width:30rem;line-height:1.5}
.problem-piece--5{--x:-37vw;--y:36vh}
.problem-piece--6{--x:35vw;--y:-37vh}
.selected-home{padding-block:clamp(3.5rem,6vw,6rem)}
.selected-head{gap:clamp(1.2rem,4vw,4rem);margin-bottom:clamp(2rem,4vw,3.5rem)}
.selected-head .section-title{margin-bottom:0;line-height:1.02}
.selected-head>p{max-width:31rem;margin:0;line-height:1.5}
.work-composition{gap:clamp(1.3rem,2.6vw,2.6rem);align-items:stretch}
.moment{min-width:0;height:auto;overflow:hidden;overflow-wrap:break-word}
.moment>h3{max-width:13ch;margin:clamp(3rem,6vw,6rem) 0 .8rem;font-size:clamp(2.1rem,3.5vw,4rem);line-height:1.02}
.moment>p{line-height:1.5}
.moment--hub,.moment--auto{min-height:clamp(29rem,39vw,35rem)}
.moment--newsletter,.moment--bastarda{min-height:clamp(26rem,33vw,31rem)}
.moment--insights,.moment--academic{min-height:clamp(23rem,29vw,27rem)}
.moment-copy{max-width:100%;padding:clamp(1.3rem,2.3vw,2.2rem);background:linear-gradient(180deg,transparent,rgba(18,15,16,.85) 23%,rgba(18,15,16,.98) 100%)}
.moment-copy h3{max-width:14ch;font-size:clamp(2rem,3.5vw,4rem);line-height:1.02}
.moment-copy p{max-width:30rem;line-height:1.45;color:#fff}
.moment--newsletter{justify-content:flex-end;padding:0;background:#eee4d6}
.moment--newsletter:before{content:none}
.moment--newsletter>img{position:relative;inset:auto;z-index:0;width:100%;height:clamp(16rem,25vw,22rem);flex:none;object-fit:contain;object-position:center top;opacity:1;filter:none;background:#eee4d6}
.moment--newsletter .moment-copy{position:relative;inset:auto;z-index:2;width:100%;margin-top:auto;color:#fff;background:#211b22;text-shadow:none}
.moment--newsletter:after{content:none}
.moment-number{opacity:.09}
.home-work-link{margin-top:clamp(2rem,4vw,3.5rem)}
.motion-scene.is-visible .moment:hover,.motion-scene.is-visible .moment:focus-visible{translate:0 -.4rem;rotate:0deg}
.motion-scene.is-visible .work-tile:hover,.motion-scene.is-visible .work-tile:focus-visible{translate:0 -.35rem}
.motion-scene.is-visible .credential:hover,.motion-scene.is-visible .credential:focus-visible{translate:0 -.4rem}
.motion-scene.is-visible .archive-item:hover,.motion-scene.is-visible .archive-item:focus-within{translate:0 -.3rem}
.motion-scene.is-visible .process-sequence article:hover,.motion-scene.is-visible .about-capabilities__grid article:hover{translate:0 -.25rem}
.motion-scene--evidence .motion-item img{transition:scale .75s var(--ease)}
.motion-scene--evidence .motion-item:hover img{scale:1.015}
.quick-sheet{width:min(1100px,calc(100% - 2rem));margin:calc(var(--header) + 1rem) auto 2rem;padding:clamp(1.4rem,3vw,3rem)}
.quick-head{gap:1.5rem;padding-bottom:1.5rem}
.quick-head h1{font-size:clamp(2.8rem,5.5vw,5.5rem);line-height:1.02}
.quick-head p{max-width:42rem;line-height:1.5}
.quick-actions{flex-wrap:wrap;justify-content:flex-end}
.quick-grid{gap:clamp(1.5rem,4vw,4rem);margin-top:2rem}
.quick-section{margin-bottom:1.8rem}
.quick-entry{grid-template-columns:6rem minmax(0,1fr);gap:.8rem;padding:.8rem 0}
.quick-entry strong,.quick-entry h3,.quick-entry p{overflow-wrap:anywhere}
.quick-entry p{font-size:.9rem}
.quick-tags span{line-height:1.3}
.case-block__content h2{max-width:19ch}
.case-block{padding-block:clamp(3.5rem,5.5vw,5.5rem)}
.newsletter-proof{padding-block:clamp(3.5rem,5.5vw,5.5rem)}
.newsletter-proof__page--close{grid-column:auto!important;width:auto!important;justify-self:stretch!important}
.archive-year{padding-block:clamp(3.5rem,5.5vw,5.5rem)}
.archive-item:nth-child(even){margin-left:0}
.hero-title{max-width:12ch;font-size:clamp(4rem,8.2vw,8.2rem);line-height:.88}
.hero-title .line-2{margin-left:10vw}
.hero-title .execution{margin-left:18vw}
.case-hero__media.motion-parallax{inset:-2rem}
.case-hero h1,.page-hero h1,.about-profile__copy h2,.contact-main h1{overflow-wrap:break-word}
.site-header{color:#f3eee4;background:rgba(29,24,33,.95);mix-blend-mode:normal;border-bottom:1px solid rgba(255,255,255,.2);backdrop-filter:blur(14px)}
.quick-access{background:transparent}
.case-next__ghost{display:none}
html{scroll-padding-top:calc(var(--header) + 3.5rem)}
:where(section,[id]){scroll-margin-top:calc(var(--header) + 3.5rem)}

/* Three cards on each side of the central statement, with room for the full labels. */
.problem-piece{height:auto;min-height:9.5rem;max-height:none;gap:1.5rem}
.problem-piece--1{--x:-37vw;--y:-26vh}
.problem-piece--3{--x:-38vw;--y:0vh}
.problem-piece--5{--x:-37vw;--y:29vh}
.problem-piece--6{--x:37vw;--y:-26vh}
.problem-piece--2{--x:37vw;--y:0vh;min-height:11rem}
.problem-piece--4{--x:38vw;--y:29vh;min-height:10rem}
.problems__statement{width:min(38rem,42vw)}
.problems__statement h2{font-size:clamp(2.5rem,4vw,4.4rem);line-height:1.03}
.problem-piece strong{line-height:1.2;overflow-wrap:anywhere}
.problem-piece span{line-height:1.35}
.work-tile,.moment{overflow-wrap:anywhere}
.work-tile h2,.moment h3{line-height:1.06}
.moment--academic>p{max-width:29rem}
.experience-material{width:min(22rem,100%);aspect-ratio:auto;overflow:visible;rotate:-1deg;transform:none}
.experience-material img{width:100%;height:auto;object-fit:contain;background:#fff}
.experience-material figcaption{padding:.6rem 0;color:#d1d4d5;font-size:.76rem}
.contact-main{justify-content:center;gap:clamp(2.5rem,6vw,5rem);padding-top:calc(var(--header) + 2rem)}
.contact-main h1{max-width:12ch;margin:1.5rem 0;font-size:clamp(4rem,10vw,9rem);line-height:.98}
.contact-footer{margin-top:2rem}
.quick .motion-scene .motion-item,.quick .motion-solo{opacity:1!important;translate:0!important;scale:1!important;filter:none!important;transition:none!important}
.document-modal__paper.has-image{width:min(900px,94vw);padding:clamp(1.25rem,3vw,2.5rem)}
.document-modal__paper.has-image h2{max-width:none;margin:1rem 0;font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.1}
.document-modal__image{display:block;width:100%;max-height:50svh;margin:1rem 0;object-fit:contain;background:#fff}
.document-modal__image[hidden]{display:none}
.document-modal__paper.has-image .lead{font-size:1rem;line-height:1.5}

@media(max-width:1100px){
  .problems__statement{width:min(33rem,44vw)}
  .problems__statement h2{font-size:clamp(2.5rem,4vw,3.8rem)}
  .problem-piece--1,.problem-piece--3,.problem-piece--5{max-width:20vw}
  .problem-piece--2,.problem-piece--4,.problem-piece--6{max-width:20vw}
}
@media(max-width:900px){
  .index-nav em{font-size:clamp(2rem,8.5vw,3.5rem);overflow-wrap:anywhere}
  .problem-piece,.problem-piece--1,.problem-piece--2,.problem-piece--3,.problem-piece--4,.problem-piece--5,.problem-piece--6{min-height:9rem;gap:1.5rem;transform:none}
  .problems__statement{width:min(38rem,100%)}
  .problems__statement h2{font-size:clamp(2.8rem,8vw,4.8rem)}
  .hero-title{font-size:clamp(3.5rem,9vw,7rem)}
  .hero-title .line-2{margin-left:4vw}
  .hero-title .execution{margin-left:8vw}
  .problems__statement{width:min(38rem,100%)}
  .problems__statement h2{font-size:clamp(2.8rem,8vw,4.8rem)}
  .problem-piece--1,.problem-piece--2,.problem-piece--3,.problem-piece--4,.problem-piece--5,.problem-piece--6{display:flex;max-width:none}
  .moment--hub,.moment--auto,.moment--newsletter,.moment--bastarda,.moment--insights,.moment--academic{min-height:25rem!important}
  .moment>h3{font-size:clamp(2rem,4.3vw,3.2rem)}
  .moment-copy h3{font-size:clamp(2rem,4.3vw,3.2rem)}
  .quick-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .case-meta>div:last-child{grid-column:1/-1}
  .contact-main h1{font-size:clamp(2.7rem,11vw,4.8rem);overflow-wrap:anywhere}
  .contact-footer{flex-wrap:wrap;gap:1rem}
  .hero-title{font-size:clamp(2.75rem,11.5vw,4rem);line-height:.92}
  .hero-title .line-2{margin-left:4vw}
  .hero-title .execution{margin-left:8vw}
  .case--automation .case-hero h1,.case--newsletter .case-hero h1{max-width:100%;font-size:clamp(2.85rem,14vw,4.8rem);overflow-wrap:anywhere}
  .problems__statement{margin-bottom:1.5rem}
  .problems__statement h2{font-size:clamp(2.65rem,12vw,4.2rem)}
  .problem-piece,.problem-piece--1,.problem-piece--2,.problem-piece--3,.problem-piece--4,.problem-piece--5,.problem-piece--6{width:auto;min-width:0;max-width:none;height:auto;min-height:9.5rem}
  .moment--hub,.moment--auto,.moment--newsletter,.moment--bastarda,.moment--insights,.moment--academic{min-height:23rem!important}
  .moment>h3,.moment-copy h3{font-size:clamp(2.2rem,9vw,3.7rem);line-height:1.03}
  .moment--hub,.moment--newsletter{min-height:27rem!important}
  .quick-sheet{width:calc(100% - 1rem);margin:calc(var(--header) + .5rem) auto 1rem;padding:1.2rem}
  .quick-head h1{font-size:clamp(2.5rem,11vw,4rem);overflow-wrap:anywhere}
  .quick-entry{grid-template-columns:1fr;gap:.2rem}
  .quick-actions{gap:.4rem}
  .quick-action{padding:.55rem .7rem}
}
@media print{
  .scroll-progress{display:none!important}
  .quick-sheet{width:100%;margin:0;padding:0;border:0;box-shadow:none}
  .quick-grid{grid-template-columns:1.4fr .6fr;gap:2rem}
  .quick-section{break-inside:avoid;margin-bottom:1.3rem}
  .quick-entry{break-inside:avoid}
  .quick-actions{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .js .motion-scene .motion-item,.js .motion-solo,.js .motion-parallax{opacity:1!important;translate:0!important;scale:1!important;filter:none!important;animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .page-curtain.is-entering,.page-curtain.is-leaving{animation:none!important;transform:translateY(-102%)!important}
}

/* One quiet visual thread follows the reader from chapter to chapter. */
.chapter-section{position:relative;isolation:isolate}
.chapter-section:not(:first-child):before{content:"";position:absolute;z-index:6;inset:0 auto auto 0;width:100%;height:2px;background:var(--coral,#ff684c);transform:scaleX(var(--chapter-progress,0));transform-origin:left center;pointer-events:none}
.chapter-section .kicker:before{transform:scaleX(.3);transform-origin:left center;transition:transform .7s var(--ease)}
.chapter-section.chapter-entered .kicker:before{transform:scaleX(1)}
.selected-home .home-work-link b,.case-next a strong{transition:translate .45s var(--ease),color .45s ease}
.selected-home .home-work-link:hover b,.selected-home .home-work-link:focus-visible b{translate:.25rem -.25rem}
.case-next a:hover strong,.case-next a:focus-visible strong{translate:0 -.25rem}
.hero-title .line-2{letter-spacing:-.055em;word-spacing:.1em}
.hero-title span{animation-duration:.72s}
.hero-title span:nth-child(1){animation-delay:.04s}
.hero-title span:nth-child(2){animation-delay:.12s}
.hero-title span:nth-child(3){animation-delay:.2s}
.index-panel{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.index-main{min-height:min(100svh,46rem)}
.case-nav{scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain}
.case-nav a{scroll-snap-align:start}
.case-nav a[aria-current="true"]{color:#153ba4}

@media(max-width:900px){
  .chapter-section:not(:first-child):before{height:1px}
  .index-main{min-height:100svh}
  .work-composition .moment{rotate:0deg;translate:0 0}
  .motion-scene.is-visible .moment:hover,.motion-scene.is-visible .moment:focus-visible{translate:0 0}
}
@media(max-width:560px){
  .hero-copy{min-height:max(100svh,41rem);padding:calc(var(--header) + 2rem) 0 2rem;gap:2rem}
  .hero-title{margin:0;line-height:1.02;letter-spacing:-.055em}
  .hero-title .line-2{letter-spacing:-.045em;word-spacing:.12em}
  .hero-bottom{gap:1.1rem}
  .hero-bottom p{font-size:1rem;line-height:1.5}
  .hero-portrait{height:min(53svh,29rem);right:-7rem;bottom:5rem;opacity:.42}
  .index-main{justify-content:flex-start;padding:calc(var(--header) + 2rem) var(--gutter) 2rem}
  .index-nav a{gap:.45rem;padding:.55rem 0}
  .index-nav em{font-size:clamp(1.9rem,9vw,3rem)}
  .case-nav{gap:1.1rem;padding-block:.8rem}
  .case-nav a{font-size:.75rem;white-space:nowrap}
  .chronology-rail{overflow-x:auto;gap:1rem;white-space:nowrap}
  .moment{padding:1.2rem}
  .moment--newsletter{padding:0}
  .moment-copy{padding:1.25rem}
  .moment>h3,.moment-copy h3{overflow-wrap:normal;hyphens:auto}
}
@media(max-width:380px){
  .site-header__actions{gap:.3rem}
  .quick-access{padding:.45rem .4rem}
  .quick-access strong{font-size:.62rem;letter-spacing:0}
  .index-trigger{gap:.35rem;font-size:.65rem}
  .index-trigger__bars{width:22px}
  .index-trigger__bars i:last-child{width:14px}
  .hero-title{font-size:clamp(2.55rem,11vw,3.3rem)}
}
@media(prefers-reduced-motion:reduce){
  .chapter-section:not(:first-child):before{transform:scaleX(1)}
  .chapter-section .kicker:before{transform:none;transition:none}
  .selected-home .home-work-link b,.case-next a strong{transition:none}
}
@media print{.chapter-section:before{display:none!important}}

/* A navigable timeline links the visible year to its place in the archive. */
.chronology-rail{position:sticky;isolation:isolate;align-items:center;min-height:3.7rem;padding-block:.5rem;background:rgba(243,238,228,.96)}
.chronology-rail a{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:2.75rem;padding:.25rem .5rem;color:#635d58;font-size:.77rem;font-weight:700;letter-spacing:.07em;transition:color .35s ease,transform .35s var(--ease)}
.chronology-rail a:hover,.chronology-rail a:focus-visible{color:var(--plum);transform:translateY(-2px)}
.chronology-rail a[aria-current="location"]{color:var(--plum)}
.chronology-rail.is-enhanced:before{content:"";position:absolute;left:var(--rail-start,0px);bottom:0;width:var(--rail-run,0px);height:2px;background:var(--plum);transition:width .55s var(--ease);pointer-events:none}
.chronology-rail__marker{display:none}
.chronology-rail.is-enhanced .chronology-rail__marker{position:absolute;z-index:3;display:block;left:var(--rail-point,0px);bottom:0;width:8px;height:8px;border-radius:50%;background:var(--plum);transform:translate(-50%,38%);transition:left .55s var(--ease);pointer-events:none}
.archive-year{scroll-margin-top:calc(var(--header) + 3.7rem)}
.archive-year__number{transition:color .55s ease}
.archive-year.is-current .archive-year__number{color:rgba(90,41,71,.32)}
/* Experience dates occupy the quiet top band, ahead of the content grid. */
.page-hero{align-items:center}
.experience-year{top:1rem;right:var(--gutter);font-size:clamp(4.5rem,6.2vw,6.5rem);line-height:1.1;white-space:nowrap;pointer-events:none;color:rgba(255,255,255,.62)}
.experience-block--light .experience-year{color:rgba(40,29,35,.62)}
.experience-block--blue .experience-year{color:rgba(255,255,255,.72)}
@media(max-width:900px){.experience-year{top:1rem;font-size:clamp(2.7rem,6vw,4.5rem)}}
@media(max-width:560px){.chronology-rail{gap:.3rem;padding-inline:var(--gutter)}.chronology-rail a{font-size:.7rem;padding-inline:.4rem}}
@media(prefers-reduced-motion:reduce){.chronology-rail a,.chronology-rail:before,.chronology-rail__marker,.archive-year__number{transition:none!important}}

/* Motion pass: existing compositions stay intact while important media lead the reading. */
.site-header{animation:none}
.home .site-header{animation:header-settle .6s var(--ease) both}
.scroll-note:before{animation-iteration-count:3}
.js .manifesto-strip__track{animation-play-state:paused}
.js .manifesto-strip.is-in-view .manifesto-strip__track{animation-play-state:running}
html.journey-document{scroll-behavior:auto}
.page-curtain[class*="curtain--"].is-leaving{animation-duration:.36s}
.page-curtain[class*="curtain--"].is-entering{animation-duration:.48s;animation-delay:0s}
.page-curtain.is-leaving span{animation-duration:.24s;animation-delay:.04s}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
  .feature-media>img{clip-path:inset(0);transition:clip-path .82s var(--ease),transform .85s var(--ease)}
  .js .feature-media:not(.is-visible)>img{clip-path:inset(0 0 8% 0);transform:scale(1.045)}
}
@media(max-width:900px){
  .motion-parallax{translate:0!important;transition:none!important;will-change:auto}
  .hero-portrait{transform:rotate(1.3deg)}
}
@media(prefers-reduced-motion:reduce){
  .feature-media>img{clip-path:none!important;transition:none!important;transform:none!important}
  .js .manifesto-strip__track{animation:none!important}
}

@media(max-width:900px){
  .case--automation .case-hero__content{width:min(var(--max),calc(100% - var(--gutter)*2))}
}
@media(max-width:560px){
  .page-hero h1{font-size:clamp(2.6rem,13vw,4.5rem)}
  .hero-actions .btn--quick{text-align:center}
  .back-top{display:none}
}
@media(max-width:360px){
  .case-meta{grid-template-columns:1fr}
}


/* 2026-09-29 — page-by-page legibility and anti-clipping QA
   Text/content containers must remain readable at intermediate desktop widths,
   browser zoom, font reflow and responsive breakpoints. */

/* Global text safety */
:where(
  .hero-copy,.page-hero,.case-hero__content,.selected-head,.problems__statement,
  .experience-role,.experience-notes article,.archive-item,.credential,
  .about-profile__copy,.about-statement,.about-method,.about-team__copy,
  .about-capabilities__grid article,.about-final__grid,
  .case-block__content,.process-sequence article,.objective-result article,
  .newsletter-proof__head,.quick-section,.contact-main,.case-next a
){min-width:0}

:where(
  .experience-role h2,.experience-notes h3,.archive-item h3,.credential h3,
  .about-capabilities__grid h3,.case-block__content h2,.process-sequence h3,
  .objective-result h3,.newsletter-proof__head h2,.quick-section h2,
  .case-next strong,.work-tile h2,.moment h3
){
  overflow-wrap:break-word;
  word-break:normal;
  text-wrap:pretty;
}

/* EXPERIENCE — the screenshots exposed two concrete failures:
   decorative years could leave the viewport and the Caetano title/content
   could be clipped by the section. */
.experience-block{
  overflow:visible!important;
  min-height:auto!important;
  padding:clamp(6rem,8vw,8rem) 0 clamp(6rem,9vw,9rem)!important;
}
.experience-block__grid{
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(3rem,7vw,7rem)!important;
  align-items:start!important;
}
.experience-role{
  min-width:0;
  padding-top:clamp(2.5rem,4vw,4rem);
}
.experience-role h2{
  max-width:9ch;
  margin:.75rem 0 1rem;
  font-size:clamp(3.35rem,5.5vw,6rem)!important;
  line-height:.9!important;
  letter-spacing:-.06em;
}
.experience-role .lead{
  max-width:24ch;
}
.experience-notes{
  min-width:0;
}
.experience-notes article{
  min-height:auto!important;
  overflow:visible!important;
}
.experience-material{
  max-width:min(30rem,100%);
  overflow:visible!important;
}
.experience-year{
  left:var(--gutter)!important;
  right:auto!important;
  top:clamp(.8rem,1.8vw,1.5rem)!important;
  max-width:calc(100% - (var(--gutter)*2));
  font-size:clamp(4rem,6.5vw,7rem)!important;
  line-height:.9!important;
  white-space:nowrap;
  translate:0 0!important;
  transform:none!important;
  scale:1!important;
  opacity:.16!important;
  z-index:1;
}
.experience-block--light .experience-year{opacity:.18!important}
.experience-block--blue .experience-year{opacity:.2!important}

/* HOME — cards are allowed to grow with copy instead of clipping it. */
.problem-piece{
  height:auto!important;
  min-height:9.5rem;
  overflow:visible;
}
.problem-piece--2{min-height:11rem}
.problem-piece--4{min-height:10rem}
.moment--auto,.moment--bastarda,.moment--insights,.moment--academic{
  height:auto!important;
  overflow:visible!important;
}
.moment--auto{min-height:25rem}
.moment--bastarda{min-height:28rem}
.moment--insights{min-height:21rem}
.moment--academic{min-height:23rem}

/* WORK */
.work-tile{
  height:auto;
  overflow:visible;
}
.work-tile--image{
  overflow:hidden;
}
.work-tile h2,.work-tile p{max-width:100%}

/* JOURNEY */
.archive-year,.learning-archive{
  overflow:visible;
}
.archive-item{
  height:auto;
  overflow:visible;
}
.archive-item--image,.archive-item--proof{overflow:hidden}
.documents-deck{align-items:stretch}
.credential{
  height:auto!important;
  overflow:visible!important;
}
.credential--image>img{max-width:100%}

/* ABOUT */
.about-profile,.about-statement,.about-method,.about-team,.about-capabilities,.about-final{
  overflow:visible;
}
.about-capabilities__grid article,.about-method__steps article{
  height:auto!important;
  overflow:visible!important;
}

/* CASE STUDIES */
.case-hero__content,.case-block__content,.process-sequence article,.objective-result article{
  overflow:visible!important;
}
.case-meta>div{
  height:auto!important;
  overflow:visible!important;
}
.case-next{
  overflow:visible!important;
  min-height:clamp(22rem,40svh,30rem)!important;
}
.case-next a{max-width:min(92vw,90rem)}
.case-next strong{
  max-width:100%;
  line-height:.92!important;
}

/* QUICK VIEW + CONTACT */
.quick-sheet,.quick-section,.quick-entry,.contact-main,.contact-links,.contact-link{
  overflow:visible;
}
.quick-entry,.contact-link{min-width:0}

/* Intermediate desktop widths are where the experience page was failing. */
@media (min-width:901px) and (max-width:1250px){
  .experience-block__grid{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;
    gap:clamp(2rem,5vw,4rem)!important;
  }
  .experience-role h2{
    font-size:clamp(3rem,5vw,4.8rem)!important;
  }
  .experience-year{
    font-size:clamp(3.7rem,6vw,5.5rem)!important;
  }
}

/* Mobile: no decorative object may compete with readable copy. */
@media(max-width:900px){
  .experience-block{padding:5rem 0!important}
  .experience-block__grid{grid-template-columns:1fr!important;gap:2.5rem!important}
  .experience-role{padding-top:3rem;position:relative!important;top:auto!important}
  .experience-role h2{max-width:none;font-size:clamp(3rem,12vw,5rem)!important}
  .experience-year{
    left:var(--gutter)!important;right:auto!important;top:1rem!important;
    font-size:clamp(2.8rem,10vw,4.5rem)!important;opacity:.14!important
  }
  .case-next{overflow:hidden!important}
}

/* editorial-v1.css */
/* Rodrigo Couto — Editorial Visual V1
   Direction derived from the approved visual mockups:
   dark cinematic surfaces, warm editorial accent, restrained borders,
   Manrope + Instrument Serif, content-led composition. */

:root{
  --ev-bg:#0d1113;
  --ev-bg-2:#13181b;
  --ev-panel:#171d20;
  --ev-panel-2:#1c2326;
  --ev-text:#f2eee6;
  --ev-muted:#a6adae;
  --ev-line:rgba(242,238,230,.14);
  --ev-line-strong:rgba(242,238,230,.24);
  --ev-accent:#d9a23b;
  --ev-accent-soft:#f0bf63;
  --ev-max:1500px;
}

body.home,
body.page--ink,
body.experience,
body.journey,
body.about,
body.contact,
body.case{
  background:var(--ev-bg);
  color:var(--ev-text);
}

body.home ::selection,
body.page--ink ::selection,
body.experience ::selection,
body.journey ::selection,
body.about ::selection,
body.contact ::selection,
body.case ::selection{
  color:var(--ev-bg);
  background:var(--ev-accent);
}

body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) .site-header{
  color:var(--ev-text);
  background:linear-gradient(180deg,rgba(13,17,19,.94),rgba(13,17,19,.72) 65%,transparent);
  backdrop-filter:blur(10px);
}

body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) :is(.mark,.kicker){
  color:var(--ev-accent);
  letter-spacing:.16em;
}

body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) :is(.kicker,.mark){
  font-weight:700;
}

body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) :is(.kicker,.mark)::before{
  background:currentColor!important;
}

body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) .link-line,
body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) .text-link{
  color:inherit;
}

body:is(.home,.page--ink,.experience,.journey,.about,.contact,.case) .link-line::after{
  background:var(--ev-accent);
}

/* HERO / HOME */
.home-hero{
  background:
    linear-gradient(90deg,rgba(13,17,19,.98) 0%,rgba(13,17,19,.92) 39%,rgba(13,17,19,.42) 67%,rgba(13,17,19,.78) 100%),
    var(--ev-bg);
}

.home-hero::before{
  opacity:.08!important;
  background-image:
    linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.16) 50%,transparent 50.2%),
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px)!important;
}

.hero-copy{
  width:min(var(--ev-max),calc(100% - var(--gutter)*2));
}

.hero-title{
  max-width:8.2ch;
  font-size:clamp(5rem,9.7vw,10.6rem);
  line-height:.82;
  letter-spacing:-.072em;
}

.hero-title .line-2{
  margin-left:0;
}

.hero-title .execution{
  margin-left:0;
  color:var(--ev-accent);
  font-size:1.04em;
}

.hero-title .execution::after{
  display:none;
}

.hero-portrait{
  right:clamp(-2rem,1vw,2rem);
  bottom:0;
  width:clamp(25rem,34vw,39rem);
  filter:saturate(.78) contrast(1.08) brightness(.82);
}

.hero-portrait::before{
  display:none;
}

.hero-portrait::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 50%,rgba(13,17,19,.82));
}

.hero-portrait figcaption{
  z-index:3;
  color:rgba(242,238,230,.78);
}

.hero-file{
  border:1px solid var(--ev-line);
  background:rgba(13,17,19,.82);
  box-shadow:0 1.5rem 4rem rgba(0,0,0,.26);
}

.hero-file img{
  opacity:.55;
  filter:saturate(.7);
}

.hero-meta,
.hero-bottom p{
  color:var(--ev-muted);
}

.hero-actions .scroll-note{
  color:var(--ev-text);
}

.btn--quick{
  color:var(--ev-text)!important;
  border-color:var(--ev-line-strong)!important;
  background:rgba(255,255,255,.025)!important;
}

/* MARQUEE */
.manifesto-strip{
  padding:.95rem 0;
  background:var(--ev-bg);
  border-color:var(--ev-line);
}

.manifesto-strip__track{
  font:500 clamp(1rem,1.65vw,1.75rem)/1 var(--sans);
  letter-spacing:-.03em;
  color:rgba(242,238,230,.46);
}

.manifesto-strip__track b{
  color:var(--ev-accent);
  font-family:var(--serif);
  font-style:italic;
}

/* HOME / PROBLEMS */
.problems{
  background:var(--ev-bg-2);
  color:var(--ev-text);
}

.problems__statement h2{
  max-width:10.5ch;
  font-size:clamp(3.6rem,7vw,7.4rem);
  line-height:.92;
}

.problems__statement .serif,
.problems__statement .blue{
  color:var(--ev-accent)!important;
}

.problems__statement>p:last-child{
  color:var(--ev-muted);
}

.problem-piece,
.problem-piece--2,
.problem-piece--4{
  color:var(--ev-text)!important;
  background:rgba(23,29,32,.94)!important;
  border:1px solid var(--ev-line)!important;
  box-shadow:0 1.4rem 3.8rem rgba(0,0,0,.22)!important;
  backdrop-filter:blur(10px);
}

.problem-piece span{
  color:var(--ev-accent);
}

.problem-piece strong{
  font-weight:600;
}

/* HOME / SELECTED WORK — cleaner editorial grid */
.selected-home{
  background:var(--ev-bg);
  color:var(--ev-text);
}

.selected-head{
  margin-bottom:4.5rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--ev-line);
}

.selected-head .section-title{
  max-width:11ch;
  font-size:clamp(3rem,5.4vw,5.6rem);
  line-height:.94;
  letter-spacing:-.055em;
}

.selected-head>p{
  color:var(--ev-muted);
  max-width:34rem;
}

.work-composition{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1rem;
}

.work-composition .moment{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  min-height:23rem!important;
  transform:none!important;
  border:1px solid var(--ev-line);
  background:var(--ev-panel)!important;
  color:var(--ev-text)!important;
  overflow:hidden!important;
}

.work-composition .moment--hub{grid-column:span 7;min-height:32rem!important}
.work-composition .moment--auto{grid-column:span 5}
.work-composition .moment--newsletter{grid-column:span 5}
.work-composition .moment--bastarda{grid-column:span 7}
.work-composition .moment--insights{grid-column:span 6}
.work-composition .moment--academic{grid-column:span 6}

.work-composition .moment:not(:has(img)){
  padding:clamp(1.5rem,2.2vw,2.3rem);
}

.work-composition .moment .mark,
.work-composition .moment-copy span{
  color:var(--ev-accent);
}

.work-composition .moment h3{
  font-size:clamp(1.75rem,2.7vw,3.1rem);
  line-height:1;
  letter-spacing:-.04em;
}

.work-composition .moment p{
  color:var(--ev-muted);
  max-width:34rem;
}

.work-composition .moment-number{
  color:rgba(242,238,230,.15)!important;
  font-family:var(--serif);
  font-style:italic;
}

.work-composition .moment img{
  filter:saturate(.75) contrast(1.04);
}

.home-work-link{
  margin-top:1rem;
  padding:3rem 0;
  border-block:1px solid var(--ev-line);
}

.home-work-link strong{
  font:italic clamp(3rem,5vw,5.6rem)/.9 var(--serif);
  color:var(--ev-accent);
}

/* SHARED PAGE HERO */
body:is(.page--ink,.experience,.journey,.about) .page-hero{
  min-height:64svh;
  color:var(--ev-text);
  background:var(--ev-bg);
  border-bottom:1px solid var(--ev-line);
}

body:is(.page--ink,.experience,.journey,.about) .page-hero--paper{
  color:var(--ev-text);
  background:var(--ev-bg);
}

body:is(.page--ink,.experience,.journey,.about) .page-hero h1{
  max-width:10ch;
  font-size:clamp(4.6rem,8vw,8rem);
  line-height:.9;
  letter-spacing:-.065em;
}

body:is(.page--ink,.experience,.journey,.about) .page-hero h1 em{
  color:var(--ev-accent);
}

/* WORK — turn tile wall into premium project index */
.page--ink .section--paper,
.page--ink .section--white{
  color:var(--ev-text);
  background:var(--ev-bg);
}

.page--ink .page-intro{
  border-bottom:1px solid var(--ev-line);
}

.page--ink .page-intro .lead{
  color:var(--ev-muted);
}

.page--ink .work-wall__grid{
  display:block!important;
}

.page--ink .work-tile{
  display:grid!important;
  grid-template-columns:minmax(12rem,30%) minmax(0,1fr) auto;
  grid-template-rows:auto auto 1fr;
  gap:.35rem clamp(1.5rem,3vw,3.5rem);
  align-items:start;
  width:100%!important;
  min-height:13rem!important;
  margin:0!important;
  padding:1.5rem 0!important;
  color:var(--ev-text)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--ev-line)!important;
  overflow:hidden!important;
}

.page--ink .work-tile img{
  grid-column:1;
  grid-row:1 / span 3;
  width:100%;
  height:11rem;
  object-fit:cover;
  filter:saturate(.72) contrast(1.05);
}

.page--ink .work-tile:not(:has(img))::before{
  content:attr(data-transition);
  grid-column:1;
  grid-row:1 / span 3;
  display:grid;
  place-items:center;
  min-height:11rem;
  color:rgba(242,238,230,.13);
  border:1px solid var(--ev-line);
  font:italic clamp(2.4rem,4vw,4.4rem)/1 var(--serif);
}

.page--ink .work-tile .tile-number{
  grid-column:3;
  grid-row:1;
  color:var(--ev-accent);
  font-family:var(--serif);
  font-style:italic;
  font-size:1.4rem;
}

.page--ink .work-tile .work-tile__proof,
.page--ink .work-tile .mark{
  grid-column:2;
  grid-row:1;
  color:var(--ev-muted);
}

.page--ink .work-tile h2{
  grid-column:2;
  grid-row:2;
  margin:.35rem 0;
  font:400 clamp(2rem,3.6vw,3.9rem)/.95 var(--serif);
  letter-spacing:-.025em;
}

.page--ink .work-tile p{
  grid-column:2;
  grid-row:3;
  margin:0;
  max-width:50rem;
  color:var(--ev-muted);
}

.page--ink .work-tile :is(.tile-process,.media-word,.insight-path){
  display:none!important;
}

.page--ink #academic-work{
  background:var(--ev-bg-2);
  color:var(--ev-text);
}

.page--ink .academic-note{
  border-color:var(--ev-line);
}

.page--ink .academic-note__award{
  background:var(--ev-panel);
  color:var(--ev-text);
}

/* EXPERIENCE — dark chronological editorial timeline */
.experience .page-hero{
  min-height:58svh;
}

.experience-block,
.experience-block--light,
.experience-block--blue{
  position:relative;
  min-height:auto!important;
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
  border-bottom:1px solid var(--ev-line);
}

.experience-block::before{
  content:"";
  position:absolute;
  left:calc(var(--gutter) + clamp(4rem,8vw,8rem));
  top:0;
  bottom:0;
  width:1px;
  background:var(--ev-line);
}

.experience-year,
.experience-block--light .experience-year,
.experience-block--blue .experience-year{
  position:absolute!important;
  left:var(--gutter)!important;
  top:clamp(5.5rem,8vw,8rem)!important;
  font:400 clamp(2.4rem,4vw,4.4rem)/1 var(--serif)!important;
  font-style:italic!important;
  color:rgba(242,238,230,.18)!important;
  opacity:1!important;
}

.experience-block__grid{
  grid-template-columns:minmax(17rem,.78fr) minmax(0,1.35fr)!important;
  gap:clamp(4rem,8vw,9rem)!important;
  padding-left:clamp(5rem,10vw,10rem);
}

.experience-role{
  padding-top:0!important;
}

.experience-role h2{
  max-width:8ch!important;
  font:500 clamp(3.5rem,6vw,6.5rem)/.88 var(--sans)!important;
  letter-spacing:-.065em!important;
  color:var(--ev-text);
}

.experience-role .lead{
  color:var(--ev-muted);
}

.experience-notes article{
  padding:1.4rem 0!important;
  color:var(--ev-text)!important;
  border-color:var(--ev-line)!important;
  background:transparent!important;
}

.experience-notes article h3{
  color:var(--ev-text);
}

.experience-notes article p{
  color:var(--ev-muted);
}

.experience-material{
  margin-top:2rem;
  border:1px solid var(--ev-line);
}

.experience-material img{
  filter:saturate(.7);
}

/* JOURNEY — vertical timeline */
.journey .page-hero{
  min-height:58svh;
}

.chronology-rail{
  color:var(--ev-muted)!important;
  background:rgba(13,17,19,.9)!important;
  border-color:var(--ev-line)!important;
  backdrop-filter:blur(12px);
}

.chronology-rail a[aria-current="step"],
.chronology-rail a:hover{
  color:var(--ev-accent)!important;
}

.chronology{
  background:var(--ev-bg);
  color:var(--ev-text);
}

.archive-year{
  border-bottom:1px solid var(--ev-line);
}

.archive-year__grid{
  grid-template-columns:minmax(7rem,.24fr) minmax(0,1fr)!important;
  gap:clamp(2rem,5vw,5rem)!important;
}

.archive-year__number{
  position:sticky!important;
  top:calc(var(--header) + 6rem)!important;
  align-self:start;
  color:rgba(242,238,230,.16)!important;
  font:italic clamp(3.6rem,7vw,7rem)/.85 var(--serif)!important;
}

.archive-stack{
  position:relative;
  padding-left:2.5rem;
}

.archive-stack::before{
  content:"";
  position:absolute;
  left:0;
  top:1rem;
  bottom:1rem;
  width:1px;
  background:var(--ev-line);
}

.archive-item,
.archive-item--blue{
  position:relative!important;
  width:auto!important;
  margin:0 0 1rem!important;
  padding:1.35rem 1.5rem!important;
  transform:none!important;
  color:var(--ev-text)!important;
  background:var(--ev-panel)!important;
  border:1px solid var(--ev-line)!important;
  box-shadow:none!important;
}

.archive-item::before{
  content:"";
  position:absolute;
  left:-2.8rem;
  top:1.8rem;
  width:.6rem;
  height:.6rem;
  border-radius:50%;
  background:var(--ev-accent);
  box-shadow:0 0 0 .4rem var(--ev-bg);
}

.archive-item .mark{
  color:var(--ev-accent);
}

.archive-item p,
.archive-item figcaption{
  color:var(--ev-muted);
}

.archive-item--proof{
  overflow:hidden!important;
  padding:0!important;
}

.archive-item--proof figcaption{
  padding:1rem 1.2rem;
}

.learning-archive{
  background:var(--ev-bg-2)!important;
  color:var(--ev-text)!important;
}

/* ABOUT */
.about-profile,
.about-statement,
.about-method,
.about-team,
.about-capabilities,
.about-final{
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}

.about-profile{
  min-height:100svh;
  display:flex;
  align-items:center;
}

.about-profile__copy h2{
  max-width:10ch;
  font-size:clamp(3.9rem,6.6vw,7rem);
  line-height:.92;
  letter-spacing:-.058em;
}

.about-profile__copy h2 em{
  color:var(--ev-accent);
}

.about-profile__lead,
.about-statement,
.about-capabilities__head>p,
.about-final p{
  color:var(--ev-muted);
}

.about-profile__portrait{
  border:1px solid var(--ev-line);
  overflow:hidden;
}

.about-profile__portrait img{
  filter:saturate(.72) contrast(1.05) brightness(.88);
}

.about-profile__facts article{
  padding:1rem 0;
  border-bottom:1px solid var(--ev-line);
}

.about-profile__facts strong{
  color:var(--ev-accent);
  font:400 clamp(2.8rem,4vw,4.4rem)/1 var(--serif);
  font-style:italic;
}

.about-statement{
  border-block:1px solid var(--ev-line);
}

/* HOW I WORK — preserve favourite motion but match new look */
.about-method{
  background:var(--ev-bg-2)!important;
}

.about-method__head h2{
  max-width:13ch;
  margin-inline:auto;
  text-align:center;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.9;
  letter-spacing:-.06em;
}

.about-method__head h2 em{
  display:inline;
  color:var(--ev-accent);
}

.about-method__steps{
  border-top:1px solid var(--ev-line);
}

.about-method__steps article{
  padding:2.2rem 1.4rem 2rem!important;
  border-right:1px solid var(--ev-line);
  color:var(--ev-text);
  background:transparent!important;
}

.about-method__steps article:last-child{
  border-right:0;
}

.about-method__steps article>span{
  color:var(--ev-accent);
  font:italic 2.2rem/1 var(--serif);
}

.about-method__steps h3{
  font-size:clamp(1.8rem,2.4vw,2.6rem);
}

.about-method__steps p{
  color:var(--ev-muted);
}

.about-team{
  border-block:1px solid var(--ev-line);
}

.about-team__number strong{
  color:var(--ev-accent);
  font-family:var(--serif);
  font-style:italic;
}

.about-team__terms span{
  border-color:var(--ev-line)!important;
}

.about-capabilities__grid article{
  color:var(--ev-text)!important;
  background:var(--ev-panel)!important;
  border:1px solid var(--ev-line)!important;
}

.about-capabilities__grid li{
  color:var(--ev-muted);
  border-color:var(--ev-line)!important;
}

.about-final{
  border-top:1px solid var(--ev-line);
}

.language-row{
  border-color:var(--ev-line)!important;
}

/* CONTACT */
.contact{
  overflow:hidden;
}

.contact-main{
  position:relative;
  min-height:100svh;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:calc(var(--header) + 5rem) var(--gutter) 4rem!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(18rem,.65fr)!important;
  align-items:end!important;
  gap:clamp(3rem,7vw,8rem)!important;
  background:
    linear-gradient(90deg,var(--ev-bg) 0 57%,rgba(13,17,19,.78) 72%,rgba(13,17,19,.25) 100%),
    url("assets/rodrigo-couto-professional.webp") right 15% center/42% auto no-repeat;
}

.contact-main h1{
  max-width:7ch;
  color:var(--ev-text);
  font-size:clamp(5rem,9vw,9rem);
  line-height:.84;
}

.contact-main h1 em{
  color:var(--ev-accent);
}

.contact-main .lead{
  color:var(--ev-muted);
}

.contact-links{
  grid-template-columns:1fr!important;
  border-top:1px solid var(--ev-line);
}

.contact-link,
.contact-link:nth-child(2),
.contact-link:last-child{
  padding:1.25rem 0!important;
  color:var(--ev-text)!important;
  border-right:0!important;
  border-bottom:1px solid var(--ev-line)!important;
  background:transparent!important;
}

.contact-link small{
  color:var(--ev-accent);
}

.contact-link strong{
  font-size:1rem!important;
}

.contact-footer{
  color:var(--ev-muted);
  border-color:var(--ev-line)!important;
}

/* CASE STUDIES — carry the same cinematic editorial language */
.case .case-hero,
.case .case-block,
.case .case-next,
.case .newsletter-proof{
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}

.case .case-hero{
  border-bottom:1px solid var(--ev-line);
}

.case .case-hero h1 em,
.case .section-title em{
  color:var(--ev-accent);
}

.case .case-meta{
  border-color:var(--ev-line)!important;
}

.case .case-meta>div{
  border-color:var(--ev-line)!important;
}

.case .case-meta small,
.case .case-block__content p,
.case .process-sequence p,
.case .objective-result p{
  color:var(--ev-muted)!important;
}

.case .case-block{
  border-bottom:1px solid var(--ev-line);
}

.case .case-block__label{
  color:var(--ev-accent);
}

.case .process-sequence article,
.case .objective-result article{
  background:var(--ev-panel)!important;
  color:var(--ev-text)!important;
  border:1px solid var(--ev-line)!important;
}

/* END OF PAGE */
.case-next,
.about .case-next,
.experience .case-next,
.page--ink .case-next{
  color:var(--ev-text)!important;
  background:var(--ev-bg-2)!important;
  border-top:1px solid var(--ev-line);
}

.case-next small{
  color:var(--ev-accent);
}

.case-next strong{
  color:var(--ev-text);
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
}

/* HOVER */
@media(hover:hover) and (pointer:fine){
  .problem-piece:hover,
  .work-composition .moment:hover,
  .about-capabilities__grid article:hover,
  .archive-item:hover{
    border-color:var(--ev-line-strong)!important;
    background:var(--ev-panel-2)!important;
  }

  .page--ink .work-tile:hover h2,
  .home-work-link:hover strong,
  .contact-link:hover strong{
    color:var(--ev-accent);
  }
}

/* INTERMEDIATE */
@media(max-width:1100px){
  .hero-title{font-size:clamp(4.6rem,10vw,8rem)}
  .work-composition .moment--hub,
  .work-composition .moment--auto,
  .work-composition .moment--newsletter,
  .work-composition .moment--bastarda,
  .work-composition .moment--insights,
  .work-composition .moment--academic{grid-column:span 6}

  .page--ink .work-tile{
    grid-template-columns:minmax(10rem,34%) minmax(0,1fr) auto;
  }

  .experience-block__grid{
    padding-left:7rem!important;
    gap:4rem!important;
  }
}

/* MOBILE */
@media(max-width:900px){
  .hero-title{
    margin-top:14vh;
    font-size:clamp(4rem,17vw,7rem);
  }

  .hero-title .line-2,
  .hero-title .execution{
    margin-left:0!important;
  }

  .hero-portrait{
    right:-9rem;
    width:31rem;
    opacity:.46;
  }

  .hero-file{display:none}

  .manifesto-strip__track{
    font-size:1rem;
  }

  .problems{
    min-height:145vh;
  }

  .problem-piece{
    background:rgba(23,29,32,.96)!important;
  }

  .work-composition{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .work-composition .moment{
    grid-column:1!important;
    min-height:22rem!important;
  }

  .selected-head{
    grid-template-columns:1fr;
  }

  .page--ink .work-tile{
    display:grid!important;
    grid-template-columns:1fr auto;
    min-height:0!important;
    padding:1.4rem 0!important;
  }

  .page--ink .work-tile img,
  .page--ink .work-tile:not(:has(img))::before{
    grid-column:1 / -1;
    grid-row:auto;
    height:13rem;
    margin-bottom:1rem;
  }

  .page--ink .work-tile .work-tile__proof,
  .page--ink .work-tile .mark,
  .page--ink .work-tile h2,
  .page--ink .work-tile p{
    grid-column:1;
  }

  .page--ink .work-tile .tile-number{
    grid-column:2;
    grid-row:2;
  }

  .experience-block::before{
    left:var(--gutter);
  }

  .experience-year{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    margin:0 var(--gutter) 2rem!important;
  }

  .experience-block__grid{
    padding-left:0!important;
    grid-template-columns:1fr!important;
    gap:2.5rem!important;
  }

  .archive-year__grid{
    grid-template-columns:1fr!important;
  }

  .archive-year__number{
    position:relative!important;
    top:auto!important;
  }

  .archive-stack{
    padding-left:1.75rem;
  }

  .about-profile{
    min-height:auto;
  }

  .about-method__head h2{
    text-align:left;
  }

  .about-method__steps{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .about-method__steps article{
    border-right:0!important;
    border-bottom:1px solid var(--ev-line);
  }

  .contact-main{
    grid-template-columns:1fr!important;
    align-content:end!important;
    background:
      linear-gradient(180deg,rgba(13,17,19,.24),var(--ev-bg) 55%),
      url("assets/rodrigo-couto-professional.webp") top center/cover no-repeat;
  }
}

@media(max-width:560px){
  .hero-title{font-size:clamp(3.7rem,18vw,5.8rem)}
  .problems__statement h2{font-size:clamp(2.9rem,12vw,4.7rem)}
  .selected-head .section-title{font-size:clamp(2.8rem,12vw,4.6rem)}
  .contact-main h1{font-size:clamp(4rem,19vw,6rem)}
}



/* Editorial Visual V1.1 — alternating HOME surfaces + page-by-page legibility QA */

/* HOME rhythm: dark hero -> light working method -> dark selected work.
   The light section is intentional breathing room, not a theme switch. */
.home .problems{
  background:var(--paper)!important;
  color:var(--ink)!important;
  border-block:1px solid rgba(10,13,16,.12);
}
.home .problems .kicker{
  color:#8b6423!important;
}
.home .problems__statement .serif,
.home .problems__statement .blue{
  color:#8b6423!important;
}
.home .problems__statement>p:last-child{
  color:#5e6466!important;
}
.home .problem-piece,
.home .problem-piece--2,
.home .problem-piece--4{
  color:var(--ink)!important;
  background:rgba(251,250,246,.96)!important;
  border-color:rgba(10,13,16,.16)!important;
  box-shadow:0 1.25rem 3.2rem rgba(10,13,16,.08)!important;
  backdrop-filter:blur(8px);
}
.home .problem-piece span{
  color:#8b6423!important;
}
.home .problem-piece:hover{
  color:var(--ink)!important;
  background:#fff!important;
  border-color:rgba(10,13,16,.3)!important;
}
.home .selected-home{
  border-top:0;
}

/* HOME: text-led cards must never crop copy. Image cards retain intentional crop. */
.home .work-composition .moment:not(:has(img)){
  overflow:visible!important;
  min-height:0!important;
}
.home .work-composition .moment:not(:has(img)) :is(h3,p,.mark){
  max-width:100%;
}
.home .work-composition .moment:has(img){
  min-height:clamp(27rem,36vw,34rem)!important;
}
.home .work-composition .moment-copy{
  min-height:0;
  padding:clamp(1.15rem,2vw,2rem);
}
.home :is(.problem-piece,.moment) :is(strong,h3,p,span){
  overflow-wrap:anywhere;
  word-break:normal;
}
.home .problem-piece{
  min-width:0!important;
}

/* WORK: the image is allowed to crop; project copy is not. */
.page--ink .work-tile{
  height:auto!important;
  overflow:visible!important;
}
.page--ink .work-tile img{
  overflow:hidden;
}
.page--ink .work-tile :is(h2,p,.work-tile__proof,.mark){
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.page--ink .work-tile h2{
  text-wrap:balance;
}
.page--ink .academic-note,
.page--ink .academic-note__award{
  height:auto!important;
  overflow:visible!important;
}

/* EXPERIENCE: protect long employer names and note copy at every desktop width. */
.experience .experience-block{
  overflow:visible!important;
}
.experience .experience-block__grid,
.experience .experience-role,
.experience .experience-notes,
.experience .experience-notes article{
  min-width:0;
}
.experience .experience-role h2{
  max-width:none!important;
  width:min(100%,9ch);
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.experience #caetano .experience-role h2{
  width:min(100%,10ch);
  font-size:clamp(3rem,5.2vw,5.7rem)!important;
}
.experience .experience-notes article{
  height:auto!important;
  min-height:0!important;
}
.experience .experience-notes :is(h3,p){
  max-width:100%;
  overflow-wrap:anywhere;
}
.experience .experience-material{
  width:min(100%,30rem);
}
.experience .experience-material img{
  width:100%;
  height:auto!important;
  object-fit:contain!important;
}

/* JOURNEY: evidence images may remain framed, but chronology copy must expand. */
.journey .archive-year,
.journey .archive-year__grid,
.journey .archive-stack,
.journey .archive-item{
  min-width:0;
}
.journey .archive-item{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.journey .archive-item--proof,
.journey .archive-item--image{
  overflow:hidden!important;
}
.journey .archive-item :is(h3,p,figcaption){
  max-width:100%;
  overflow-wrap:anywhere;
}
.journey .archive-item--proof img,
.journey .archive-item--image img{
  width:100%;
  height:auto!important;
  object-fit:contain!important;
}

/* ABOUT: no text card is allowed to inherit a visual fixed height. */
.about :is(
  .about-profile__copy,.about-profile__facts,.about-statement__grid,
  .about-method__head,.about-method__steps,.about-method__steps article,
  .about-team__copy,.about-capabilities__head,.about-capabilities__grid,
  .about-capabilities__grid article,.about-final__grid
){
  min-width:0;
}
.about .about-method__steps article,
.about .about-capabilities__grid article{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.about :is(.about-method__steps,.about-capabilities__grid) :is(h2,h3,p,li){
  overflow-wrap:anywhere;
}
.about .about-profile__portrait{
  overflow:hidden!important;
}
.about .about-profile__portrait img{
  object-fit:cover!important;
}

/* CONTACT: vertical content must remain scrollable on short screens. */
.contact{
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.contact .contact-main{
  height:auto!important;
  min-height:100svh!important;
}
.contact .contact-main>div,
.contact .contact-links,
.contact .contact-link{
  min-width:0;
}
.contact .contact-link strong,
.contact .contact-main .lead{
  max-width:100%;
  overflow-wrap:anywhere;
}

/* CASE STUDIES: only actual media crops. Copy/process/meta blocks always grow. */
.case :is(
  .case-hero__content,.case-meta,.case-meta>div,.case-block__grid,.case-block__content,
  .process-sequence,.process-sequence article,.objective-result,.objective-result article,
  .newsletter-proof__head,.case-next a
){
  min-width:0;
}
.case :is(.case-meta>div,.case-block__content,.process-sequence article,.objective-result article){
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.case :is(h1,h2,h3,p,small,strong){
  overflow-wrap:anywhere;
}
.case .media-spread figure,
.case .newsletter-proof__page,
.case .case-hero__media{
  overflow:hidden!important;
}
.case .media-spread img,
.case .newsletter-proof__page img{
  width:100%;
  height:auto!important;
  object-fit:contain!important;
}

/* QUICK VIEW / SKILLS: recruiter-facing sheets must never hide copy. */
.quick .quick-sheet,
.quick .quick-head,
.quick .quick-section,
.quick .quick-grid,
.quick .quick-entry,
.quick .quick-action{
  min-width:0;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.quick :is(h1,h2,h3,p,strong,span,a){
  overflow-wrap:anywhere;
}

/* Intermediate desktop: reduce aggressive type before layout becomes tablet. */
@media(min-width:901px) and (max-width:1180px){
  .home .hero-title{
    font-size:clamp(4.4rem,9vw,7.2rem);
  }
  .home .problem-piece{
    max-width:min(22rem,30vw);
  }
  .page--ink .work-tile{
    grid-template-columns:minmax(9rem,28%) minmax(0,1fr) auto;
  }
  .experience .experience-block__grid{
    grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr)!important;
    padding-left:5rem!important;
    gap:3rem!important;
  }
  .experience .experience-role h2{
    font-size:clamp(2.9rem,5vw,4.6rem)!important;
  }
  .about .about-profile__copy h2{
    font-size:clamp(3.4rem,6vw,5.5rem);
  }
}

/* Mobile: preserve the dark/light HOME rhythm and never trap copy inside a visual crop. */
@media(max-width:900px){
  .home .problems{
    background:var(--paper)!important;
    color:var(--ink)!important;
  }
  .home .problem-piece{
    min-height:9.5rem!important;
  }
  .home .work-composition .moment,
  .home .work-composition .moment:has(img){
    min-height:22rem!important;
  }
  .page--ink .work-tile{
    overflow:visible!important;
  }
  .experience #caetano .experience-role h2{
    width:100%;
    font-size:clamp(2.8rem,12vw,4.8rem)!important;
  }
  .journey .archive-stack{
    min-width:0;
  }
  .case .case-next{
    overflow:hidden!important;
  }
}



/* Editorial Visual V1.2 — alternating light/dark rhythm across long pages */

/* Shared light-surface palette. */
:where(
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block:nth-of-type(1),
  .experience .experience-block:nth-of-type(3),
  .journey .archive-year:nth-of-type(1),
  .journey .archive-year:nth-of-type(3),
  .journey .learning-archive,
  .page--ink main > .section:nth-of-type(1),
  .page--ink main > .section:nth-of-type(3),
  .case main > .case-block:nth-of-type(2),
  .case main > .case-block:nth-of-type(4)
){
  color:var(--ink)!important;
  background:var(--paper)!important;
}

/* Shared dark-surface palette. */
:where(
  .about .about-profile,
  .about .about-method,
  .about .about-capabilities,
  .about .case-next,
  .experience .page-hero,
  .experience .experience-block:nth-of-type(2),
  .experience .case-next,
  .journey .page-hero,
  .journey .archive-year:nth-of-type(2),
  .journey .archive-year:nth-of-type(4),
  .journey .case-next,
  .page--ink .page-hero,
  .page--ink main > .section:nth-of-type(2),
  .page--ink .case-next,
  .case .case-hero,
  .case main > .case-block:nth-of-type(1),
  .case main > .case-block:nth-of-type(3),
  .case .newsletter-proof,
  .case .case-next
){
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}

/* ABOUT — portrait left, text right, no overlap. */
.about .about-profile{
  background:var(--ev-bg)!important;
  color:var(--ev-text)!important;
}
.about .about-profile__grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  column-gap:clamp(2rem,4vw,5rem)!important;
  row-gap:2rem!important;
  align-items:center!important;
}
.about .about-profile__portrait{
  grid-column:1/6!important;
  grid-row:1!important;
  min-height:clamp(36rem,62vh,48rem)!important;
  margin:0!important;
  transform:none!important;
  border:1px solid var(--ev-line)!important;
  background:#d8d7d2!important;
  box-shadow:0 2rem 5rem rgba(0,0,0,.24);
}
.about .about-profile__portrait::before{
  display:none!important;
}
.about .about-profile__portrait img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 38%!important;
  filter:saturate(.78) contrast(1.04) brightness(.9)!important;
}
.about .about-profile__copy{
  grid-column:6/13!important;
  grid-row:1!important;
  padding:0!important;
  min-width:0;
}
.about .about-profile__copy h2{
  max-width:9.5ch!important;
  margin:0 0 1.8rem!important;
  font-size:clamp(3.8rem,6vw,6.8rem)!important;
  line-height:.91!important;
  overflow-wrap:normal!important;
}
.about .about-profile__copy h2 em{
  display:block;
  color:var(--ev-accent)!important;
}
.about .about-profile__lead{
  max-width:39rem;
  color:var(--ev-muted)!important;
}
.about .about-profile__availability{
  width:min(38rem,100%)!important;
  border-color:var(--ev-line)!important;
  background:rgba(255,255,255,.035)!important;
}
.about .about-profile__availability span{
  color:var(--ev-accent)!important;
}
.about .about-profile__facts{
  grid-column:1/13!important;
  grid-row:2!important;
  margin-top:1rem!important;
  background:var(--ev-line)!important;
}
.about .about-profile__facts article{
  color:var(--ev-text)!important;
  background:var(--ev-bg-2)!important;
}
.about .about-profile__facts strong{
  color:var(--ev-accent)!important;
}
.about .about-profile__facts span{
  color:var(--ev-muted)!important;
}

/* ABOUT light sections. */
.about .about-statement{
  border-color:rgba(10,13,16,.14)!important;
}
.about .about-statement :is(h2,h3,p,.lead){
  color:var(--ink)!important;
}
.about .about-statement .kicker{
  color:#8b6423!important;
}
.about .about-team{
  overflow:visible!important;
  border-color:rgba(10,13,16,.14)!important;
}
.about .about-team__number strong{
  color:#8b6423!important;
}
.about .about-team__number span,
.about .about-team__copy>p:not(.kicker){
  color:#555b5e!important;
}
.about .about-team__copy h2,
.about .about-team__terms span{
  color:var(--ink)!important;
}
.about .about-team__terms,
.about .about-team__terms span{
  border-color:rgba(10,13,16,.18)!important;
}
.about .about-team .kicker{
  color:#8b6423!important;
}
.about .about-final{
  border-color:rgba(10,13,16,.14)!important;
}
.about .about-final :is(h2,h3,strong,a){
  color:var(--ink)!important;
}
.about .about-final p{
  color:#555b5e!important;
}
.about .about-final .kicker{
  color:#8b6423!important;
}
.about .about-final__current,
.about .language-row{
  border-color:rgba(10,13,16,.18)!important;
}

/* ABOUT dark sections remain cinematic. */
.about .about-method,
.about .about-capabilities{
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}
.about .about-method__steps{
  border-color:var(--ev-line)!important;
  background:transparent!important;
}
.about .about-method__steps article{
  color:var(--ev-text)!important;
  border-color:var(--ev-line)!important;
}
.about .about-method__steps p,
.about .about-capabilities__head>p,
.about .about-capabilities__grid li{
  color:var(--ev-muted)!important;
}
.about .about-capabilities__grid{
  border-color:var(--ev-line)!important;
}
.about .about-capabilities__grid article,
.about .about-capabilities__grid article:nth-child(2),
.about .about-capabilities__grid article:nth-child(3){
  color:var(--ev-text)!important;
  background:var(--ev-panel)!important;
  border-color:var(--ev-line)!important;
}

/* EXPERIENCE — dark hero, then light/dark/light chronological chapters. */
.experience .experience-block:nth-of-type(1),
.experience .experience-block:nth-of-type(3){
  border-color:rgba(10,13,16,.14)!important;
}
.experience .experience-block:nth-of-type(1)::before,
.experience .experience-block:nth-of-type(3)::before{
  background:rgba(10,13,16,.14)!important;
}
.experience .experience-block:nth-of-type(1) .experience-year,
.experience .experience-block:nth-of-type(3) .experience-year{
  color:rgba(10,13,16,.22)!important;
}
.experience .experience-block:nth-of-type(1) :is(.experience-role h2,.experience-notes h3),
.experience .experience-block:nth-of-type(3) :is(.experience-role h2,.experience-notes h3){
  color:var(--ink)!important;
}
.experience .experience-block:nth-of-type(1) :is(.experience-role p,.experience-notes p),
.experience .experience-block:nth-of-type(3) :is(.experience-role p,.experience-notes p){
  color:#555b5e!important;
}
.experience .experience-block:nth-of-type(1) .experience-notes article,
.experience .experience-block:nth-of-type(3) .experience-notes article{
  color:var(--ink)!important;
  border-color:rgba(10,13,16,.16)!important;
}
.experience .experience-block:nth-of-type(1) .kicker,
.experience .experience-block:nth-of-type(3) .kicker{
  color:#8b6423!important;
}

/* JOURNEY — light/dark years for clearer chronology. */
.journey .archive-year:nth-of-type(1),
.journey .archive-year:nth-of-type(3),
.journey .learning-archive{
  border-color:rgba(10,13,16,.14)!important;
}
.journey .archive-year:nth-of-type(1) .archive-year__number,
.journey .archive-year:nth-of-type(3) .archive-year__number{
  color:rgba(10,13,16,.18)!important;
}
.journey .archive-year:nth-of-type(1) .archive-stack::before,
.journey .archive-year:nth-of-type(3) .archive-stack::before{
  background:rgba(10,13,16,.16)!important;
}
.journey .archive-year:nth-of-type(1) .archive-item,
.journey .archive-year:nth-of-type(3) .archive-item{
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.14)!important;
}
.journey .archive-year:nth-of-type(1) .archive-item p,
.journey .archive-year:nth-of-type(1) .archive-item figcaption,
.journey .archive-year:nth-of-type(3) .archive-item p,
.journey .archive-year:nth-of-type(3) .archive-item figcaption{
  color:#555b5e!important;
}
.journey .archive-year:nth-of-type(1) .archive-item::before,
.journey .archive-year:nth-of-type(3) .archive-item::before{
  background:#8b6423!important;
  box-shadow:0 0 0 .4rem var(--paper)!important;
}
.journey .learning-archive{
  color:var(--ink)!important;
}
.journey .learning-archive :is(h2,h3,p,strong){
  color:var(--ink)!important;
}
.journey .learning-archive .kicker{
  color:#8b6423!important;
}
.journey .learning-archive .credential{
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.14)!important;
}

/* WORK — hero dark, intro light, portfolio index dark, academic light. */
.page--ink main > .section:nth-of-type(1){
  border-color:rgba(10,13,16,.14)!important;
}
.page--ink main > .section:nth-of-type(1) :is(h2,h3,p,strong){
  color:var(--ink)!important;
}
.page--ink main > .section:nth-of-type(1) .kicker,
.page--ink main > .section:nth-of-type(1) .mark{
  color:#8b6423!important;
}
.page--ink main > .section:nth-of-type(2){
  border-color:var(--ev-line)!important;
}
.page--ink main > .section:nth-of-type(3){
  color:var(--ink)!important;
  background:var(--paper)!important;
}
.page--ink main > .section:nth-of-type(3) :is(h2,h3,p,strong){
  color:var(--ink)!important;
}
.page--ink main > .section:nth-of-type(3) .kicker,
.page--ink main > .section:nth-of-type(3) .mark{
  color:#8b6423!important;
}

/* CASE STUDIES — alternate reading chapters while preserving media. */
.case main > .case-block:nth-of-type(2),
.case main > .case-block:nth-of-type(4){
  border-color:rgba(10,13,16,.14)!important;
}
.case main > .case-block:nth-of-type(2) :is(h2,h3,p,strong,summary),
.case main > .case-block:nth-of-type(4) :is(h2,h3,p,strong,summary){
  color:var(--ink)!important;
}
.case main > .case-block:nth-of-type(2) .case-block__label,
.case main > .case-block:nth-of-type(4) .case-block__label{
  color:#8b6423!important;
}
.case main > .case-block:nth-of-type(2) .process-sequence,
.case main > .case-block:nth-of-type(2) .objective-result,
.case main > .case-block:nth-of-type(4) .process-sequence,
.case main > .case-block:nth-of-type(4) .objective-result{
  background:rgba(10,13,16,.12)!important;
}
.case main > .case-block:nth-of-type(2) :is(.process-sequence article,.objective-result article),
.case main > .case-block:nth-of-type(4) :is(.process-sequence article,.objective-result article){
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.14)!important;
}
.case main > .case-block:nth-of-type(2) :is(.process-sequence p,.objective-result p),
.case main > .case-block:nth-of-type(4) :is(.process-sequence p,.objective-result p){
  color:#555b5e!important;
}

/* Newsletter proof remains dark as a deliberate media interlude. */
.case--newsletter .newsletter-proof{
  color:var(--ev-text)!important;
  background:var(--ev-bg-2)!important;
}

/* Motion section hairlines follow the local surface instead of forcing dark contrast. */
.rc-motion-v3 .rc-handoff::before{
  opacity:.12!important;
}

/* Responsive ABOUT portrait placement. */
@media(max-width:1100px) and (min-width:901px){
  .about .about-profile__portrait{
    grid-column:1/5!important;
    min-height:36rem!important;
  }
  .about .about-profile__copy{
    grid-column:5/13!important;
  }
  .about .about-profile__copy h2{
    font-size:clamp(3.4rem,5.5vw,5.4rem)!important;
  }
}
@media(max-width:900px){
  .about .about-profile__grid{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .about .about-profile__portrait{
    order:1;
    width:min(100%,34rem);
    min-height:38rem!important;
  }
  .about .about-profile__copy{
    order:2;
    width:100%;
  }
  .about .about-profile__facts{
    order:3;
    width:100%;
  }
  .about .about-profile__copy h2{
    max-width:11ch!important;
  }
}
@media(max-width:560px){
  .about .about-profile__portrait{
    width:100%;
    min-height:31rem!important;
  }
}



/* V1.2.1 — case-study rhythm starts light immediately after the dark hero. */
.case main > .case-block:nth-of-type(1),
.case main > .case-block:nth-of-type(3){
  color:var(--ink)!important;
  background:var(--paper)!important;
  border-color:rgba(10,13,16,.14)!important;
}
.case main > .case-block:nth-of-type(2),
.case main > .case-block:nth-of-type(4){
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
  border-color:var(--ev-line)!important;
}

.case main > .case-block:nth-of-type(1) :is(h2,h3,p,strong,summary),
.case main > .case-block:nth-of-type(3) :is(h2,h3,p,strong,summary){
  color:var(--ink)!important;
}
.case main > .case-block:nth-of-type(1) .case-block__label,
.case main > .case-block:nth-of-type(3) .case-block__label{
  color:#8b6423!important;
}
.case main > .case-block:nth-of-type(1) :is(.process-sequence,.objective-result),
.case main > .case-block:nth-of-type(3) :is(.process-sequence,.objective-result){
  background:rgba(10,13,16,.12)!important;
}
.case main > .case-block:nth-of-type(1) :is(.process-sequence article,.objective-result article),
.case main > .case-block:nth-of-type(3) :is(.process-sequence article,.objective-result article){
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.14)!important;
}
.case main > .case-block:nth-of-type(1) :is(.process-sequence p,.objective-result p),
.case main > .case-block:nth-of-type(3) :is(.process-sequence p,.objective-result p){
  color:#555b5e!important;
}

.case main > .case-block:nth-of-type(2) :is(h2,h3,strong,summary),
.case main > .case-block:nth-of-type(4) :is(h2,h3,strong,summary){
  color:var(--ev-text)!important;
}
.case main > .case-block:nth-of-type(2) p,
.case main > .case-block:nth-of-type(4) p{
  color:var(--ev-muted)!important;
}
.case main > .case-block:nth-of-type(2) .case-block__label,
.case main > .case-block:nth-of-type(4) .case-block__label{
  color:var(--ev-accent)!important;
}
.case main > .case-block:nth-of-type(2) :is(.process-sequence,.objective-result),
.case main > .case-block:nth-of-type(4) :is(.process-sequence,.objective-result){
  background:var(--ev-line)!important;
}
.case main > .case-block:nth-of-type(2) :is(.process-sequence article,.objective-result article),
.case main > .case-block:nth-of-type(4) :is(.process-sequence article,.objective-result article){
  color:var(--ev-text)!important;
  background:var(--ev-panel)!important;
  border-color:var(--ev-line)!important;
}



/* V1.3 — semantic text contrast by local surface
   Every long-form section defines its own text, muted, accent and line colors.
   This prevents dark-text rules leaking into dark sections and vice versa. */

:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block:nth-of-type(1),
  .experience .experience-block:nth-of-type(3),
  .journey .archive-year:nth-of-type(1),
  .journey .archive-year:nth-of-type(3),
  .journey .learning-archive,
  .page--ink main > .section:nth-of-type(1),
  .page--ink main > .section:nth-of-type(3),
  .case main > .case-block:nth-of-type(1),
  .case main > .case-block:nth-of-type(3)
){
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-soft:#777d80;
  --surface-accent:#8b6423;
  --surface-line:rgba(10,13,16,.16);
  --surface-panel:var(--white);
}

:where(
  .home .home-hero,
  .home .selected-home,
  .about .about-profile,
  .about .about-method,
  .about .about-capabilities,
  .about .case-next,
  .experience .page-hero,
  .experience .experience-block:nth-of-type(2),
  .experience .case-next,
  .journey .page-hero,
  .journey .archive-year:nth-of-type(2),
  .journey .archive-year:nth-of-type(4),
  .journey .case-next,
  .page--ink .page-hero,
  .page--ink main > .section:nth-of-type(2),
  .page--ink .case-next,
  .case .case-hero,
  .case main > .case-block:nth-of-type(2),
  .case main > .case-block:nth-of-type(4),
  .case .newsletter-proof,
  .case .case-next,
  .contact .contact-main
){
  --surface-text:var(--ev-text);
  --surface-muted:var(--ev-muted);
  --surface-soft:#7f8789;
  --surface-accent:var(--ev-accent);
  --surface-line:var(--ev-line);
  --surface-panel:var(--ev-panel);
}

/* Primary copy always follows the local surface. */
:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block:nth-of-type(1),
  .experience .experience-block:nth-of-type(3),
  .journey .archive-year:nth-of-type(1),
  .journey .archive-year:nth-of-type(3),
  .journey .learning-archive,
  .page--ink main > .section:nth-of-type(1),
  .page--ink main > .section:nth-of-type(3),
  .case main > .case-block:nth-of-type(1),
  .case main > .case-block:nth-of-type(3)
) :is(h1,h2,h3,h4,strong,a:not(.btn)){
  color:var(--surface-text)!important;
}

:where(
  .home .home-hero,
  .home .selected-home,
  .about .about-profile,
  .about .about-method,
  .about .about-capabilities,
  .about .case-next,
  .experience .page-hero,
  .experience .experience-block:nth-of-type(2),
  .experience .case-next,
  .journey .page-hero,
  .journey .archive-year:nth-of-type(2),
  .journey .archive-year:nth-of-type(4),
  .journey .case-next,
  .page--ink .page-hero,
  .page--ink main > .section:nth-of-type(2),
  .page--ink .case-next,
  .case .case-hero,
  .case main > .case-block:nth-of-type(2),
  .case main > .case-block:nth-of-type(4),
  .case .newsletter-proof,
  .case .case-next,
  .contact .contact-main
) :is(h1,h2,h3,h4,strong,a:not(.btn)){
  color:var(--surface-text)!important;
}

/* Secondary copy is visibly subordinate but never low-contrast. */
:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block:nth-of-type(1),
  .experience .experience-block:nth-of-type(3),
  .journey .archive-year:nth-of-type(1),
  .journey .archive-year:nth-of-type(3),
  .journey .learning-archive,
  .page--ink main > .section:nth-of-type(1),
  .page--ink main > .section:nth-of-type(3),
  .case main > .case-block:nth-of-type(1),
  .case main > .case-block:nth-of-type(3)
) :is(p:not(.kicker):not(.mark),.lead,small,figcaption){
  color:var(--surface-muted)!important;
}

:where(
  .home .home-hero,
  .home .selected-home,
  .about .about-profile,
  .about .about-method,
  .about .about-capabilities,
  .about .case-next,
  .experience .page-hero,
  .experience .experience-block:nth-of-type(2),
  .experience .case-next,
  .journey .page-hero,
  .journey .archive-year:nth-of-type(2),
  .journey .archive-year:nth-of-type(4),
  .journey .case-next,
  .page--ink .page-hero,
  .page--ink main > .section:nth-of-type(2),
  .page--ink .case-next,
  .case .case-hero,
  .case main > .case-block:nth-of-type(2),
  .case main > .case-block:nth-of-type(4),
  .case .newsletter-proof,
  .case .case-next,
  .contact .contact-main
) :is(p:not(.kicker):not(.mark),.lead,small,figcaption){
  color:var(--surface-muted)!important;
}

/* Labels and editorial emphasis use the warmer accent appropriate to each surface. */
:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block:nth-of-type(1),
  .experience .experience-block:nth-of-type(3),
  .journey .archive-year:nth-of-type(1),
  .journey .archive-year:nth-of-type(3),
  .journey .learning-archive,
  .page--ink main > .section:nth-of-type(1),
  .page--ink main > .section:nth-of-type(3),
  .case main > .case-block:nth-of-type(1),
  .case main > .case-block:nth-of-type(3)
) :is(.kicker,.mark,.tile-number,.case-block__label,.work-tile__proof,.credential__top){
  color:var(--surface-accent)!important;
}

:where(
  .home .home-hero,
  .home .selected-home,
  .about .about-profile,
  .about .about-method,
  .about .about-capabilities,
  .about .case-next,
  .experience .page-hero,
  .experience .experience-block:nth-of-type(2),
  .experience .case-next,
  .journey .page-hero,
  .journey .archive-year:nth-of-type(2),
  .journey .archive-year:nth-of-type(4),
  .journey .case-next,
  .page--ink .page-hero,
  .page--ink main > .section:nth-of-type(2),
  .page--ink .case-next,
  .case .case-hero,
  .case main > .case-block:nth-of-type(2),
  .case main > .case-block:nth-of-type(4),
  .case .newsletter-proof,
  .case .case-next,
  .contact .contact-main
) :is(.kicker,.mark,.tile-number,.case-block__label,.work-tile__proof,.credential__top){
  color:var(--surface-accent)!important;
}

/* Links inherit readable copy; the rule/hover carries the accent. */
:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block,
  .journey .archive-year,
  .journey .learning-archive,
  .page--ink main > .section,
  .case .case-block,
  .contact .contact-main
) .link-line{
  color:var(--surface-text,currentColor)!important;
}
:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block,
  .journey .archive-year,
  .journey .learning-archive,
  .page--ink main > .section,
  .case .case-block,
  .contact .contact-main
) .link-line::after{
  background:var(--surface-accent,var(--ev-accent))!important;
}
@media(hover:hover) and (pointer:fine){
  :where(
    .home .problems,
    .about .about-statement,
    .about .about-team,
    .about .about-final,
    .experience .experience-block,
    .journey .archive-year,
    .journey .learning-archive,
    .page--ink main > .section,
    .case .case-block,
    .contact .contact-main
  ) a:hover{
    color:var(--surface-accent,var(--ev-accent))!important;
  }
}

/* Borders and separators also adapt to the surface. */
:where(
  .home .problems,
  .about .about-statement,
  .about .about-team,
  .about .about-final,
  .experience .experience-block,
  .journey .archive-year,
  .journey .learning-archive,
  .page--ink main > .section,
  .case .case-block,
  .contact .contact-main
) :is(.language-row,.about-team__terms,.about-team__terms span,.experience-notes article,.academic-note,.case-meta,.case-meta>div,.contact-link){
  border-color:var(--surface-line,var(--ev-line))!important;
}

/* Home light cards need explicit ink because their base rules were originally dark. */
.home .problems .problem-piece{
  color:var(--ink)!important;
}
.home .problems .problem-piece strong{
  color:var(--ink)!important;
}
.home .problems .problem-piece span{
  color:#8b6423!important;
}

/* WORK dark index: ensure all tile copy remains bright enough against transparent rows. */
.page--ink main > .section:nth-of-type(2) .work-tile h2{
  color:var(--ev-text)!important;
}
.page--ink main > .section:nth-of-type(2) .work-tile p,
.page--ink main > .section:nth-of-type(2) .work-tile__proof{
  color:var(--ev-muted)!important;
}
.page--ink main > .section:nth-of-type(2) .work-tile .tile-number{
  color:var(--ev-accent)!important;
}
.page--ink main > .section:nth-of-type(2) .work-tile:not(:has(img))::before{
  color:rgba(242,238,230,.18)!important;
  border-color:var(--ev-line)!important;
}

/* Experience dark middle chapter: explicit contrast after alternating surfaces. */
.experience .experience-block:nth-of-type(2) .experience-role h2,
.experience .experience-block:nth-of-type(2) .experience-notes h3{
  color:var(--ev-text)!important;
}
.experience .experience-block:nth-of-type(2) .experience-role p,
.experience .experience-block:nth-of-type(2) .experience-notes p{
  color:var(--ev-muted)!important;
}
.experience .experience-block:nth-of-type(2) .experience-year{
  color:rgba(242,238,230,.22)!important;
}

/* Journey dark years: cards and captions stay readable. */
.journey .archive-year:nth-of-type(2) .archive-item,
.journey .archive-year:nth-of-type(4) .archive-item{
  color:var(--ev-text)!important;
  background:var(--ev-panel)!important;
  border-color:var(--ev-line)!important;
}
.journey .archive-year:nth-of-type(2) .archive-item :is(h3,strong),
.journey .archive-year:nth-of-type(4) .archive-item :is(h3,strong){
  color:var(--ev-text)!important;
}
.journey .archive-year:nth-of-type(2) .archive-item :is(p,figcaption),
.journey .archive-year:nth-of-type(4) .archive-item :is(p,figcaption){
  color:var(--ev-muted)!important;
}

/* ABOUT dark capability cards. */
.about .about-capabilities__grid article :is(h3,strong){
  color:var(--ev-text)!important;
}
.about .about-capabilities__grid article :is(p,li){
  color:var(--ev-muted)!important;
}

/* Case-study process cards always match their parent chapter. */
.case main > .case-block:nth-of-type(1) :is(.process-sequence article,.objective-result article),
.case main > .case-block:nth-of-type(3) :is(.process-sequence article,.objective-result article){
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-accent:#8b6423;
}
.case main > .case-block:nth-of-type(2) :is(.process-sequence article,.objective-result article),
.case main > .case-block:nth-of-type(4) :is(.process-sequence article,.objective-result article){
  --surface-text:var(--ev-text);
  --surface-muted:var(--ev-muted);
  --surface-accent:var(--ev-accent);
}

/* Contact keeps all essential copy light over the portrait/gradient. */
.contact .contact-main :is(h1,h2,h3,strong,a){
  color:var(--ev-text)!important;
}
.contact .contact-main :is(p,.lead,small){
  color:#c0c5c6!important;
}
.contact .contact-main :is(.kicker,.mark,.contact-link small){
  color:var(--ev-accent)!important;
}



/* V1.4 — ABOUT lightened + CONTACT portrait moved left */

/* ABOUT: lighter editorial rhythm.
   Most long-reading surfaces are now light; HOW I WORK remains the intentional dark chapter. */
.about .about-profile{
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-accent:#8b6423;
  --surface-line:rgba(10,13,16,.16);
  --surface-panel:var(--white);
  color:var(--ink)!important;
  background:var(--paper)!important;
  border-bottom:1px solid rgba(10,13,16,.14)!important;
}
.about .about-profile__copy :is(h1,strong){
  color:var(--ink)!important;
}
.about .about-profile__copy h2 em,
.about .about-profile__copy .kicker,
.about .about-profile__availability span{
  color:#8b6423!important;
}
.about .about-profile__lead,
.about .about-profile__availability small{
  color:#596063!important;
}
.about .about-profile__availability{
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.16)!important;
}
.about .about-profile__facts{
  background:rgba(10,13,16,.12)!important;
}
.about .about-profile__facts article{
  color:var(--ink)!important;
  background:var(--white)!important;
}
.about .about-profile__facts strong{
  color:#8b6423!important;
}
.about .about-profile__facts span{
  color:#596063!important;
}
.about .about-profile__portrait{
  border-color:rgba(10,13,16,.16)!important;
  box-shadow:0 2rem 5rem rgba(10,13,16,.14)!important;
}

/* Statement remains light but shifts to clean white for visible chapter separation. */
.about .about-statement{
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-accent:#8b6423;
  --surface-line:rgba(10,13,16,.16);
  color:var(--ink)!important;
  background:var(--white)!important;
}
.about .about-statement :is(.lead,p){
  color:#596063!important;
}
.about .about-statement .mark{
  color:#8b6423!important;
}

/* HOW I WORK is the deliberate dark anchor on the page. */
.about .about-method{
  --surface-text:var(--ev-text);
  --surface-muted:var(--ev-muted);
  --surface-accent:var(--ev-accent);
  --surface-line:var(--ev-line);
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}
.about .about-method :is(h2,h3,strong){
  color:var(--ev-text)!important;
}
.about .about-method p:not(.kicker){
  color:var(--ev-muted)!important;
}
.about .about-method :is(.kicker,.about-method__steps article>span){
  color:var(--ev-accent)!important;
}

/* Team chapter: white. */
.about .about-team{
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-accent:#8b6423;
  --surface-line:rgba(10,13,16,.16);
  color:var(--ink)!important;
  background:var(--white)!important;
}
.about .about-team :is(h2,strong,.about-team__terms span){
  color:var(--ink)!important;
}
.about .about-team :is(.about-team__number span,.about-team__copy>p:not(.kicker)){
  color:#596063!important;
}
.about .about-team :is(.kicker,.about-team__number strong){
  color:#8b6423!important;
}

/* Capabilities: light paper section with light cards, not another large black block. */
.about .about-capabilities{
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-accent:#8b6423;
  --surface-line:rgba(10,13,16,.16);
  --surface-panel:var(--white);
  color:var(--ink)!important;
  background:var(--paper)!important;
  border-block:1px solid rgba(10,13,16,.12)!important;
}
.about .about-capabilities__head :is(h2,strong){
  color:var(--ink)!important;
}
.about .about-capabilities__head>p{
  color:#596063!important;
}
.about .about-capabilities__grid{
  border-color:rgba(10,13,16,.16)!important;
}
.about .about-capabilities__grid article,
.about .about-capabilities__grid article:nth-child(2),
.about .about-capabilities__grid article:nth-child(3),
.about .about-capabilities__grid article:nth-child(4){
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.16)!important;
  box-shadow:0 .8rem 2.2rem rgba(10,13,16,.035);
}
.about .about-capabilities__grid article :is(h3,strong){
  color:var(--ink)!important;
}
.about .about-capabilities__grid article :is(p,li){
  color:#596063!important;
}
.about .about-capabilities__grid article .mark{
  color:#8b6423!important;
}
.about .about-capabilities__grid li{
  border-color:rgba(10,13,16,.12)!important;
}

/* Final chapter: clean white before the dark transition to Contact. */
.about .about-final{
  --surface-text:var(--ink);
  --surface-muted:#596063;
  --surface-accent:#8b6423;
  --surface-line:rgba(10,13,16,.16);
  color:var(--ink)!important;
  background:var(--white)!important;
}
.about .about-final :is(h2,h3,strong,a){
  color:var(--ink)!important;
}
.about .about-final p,
.about .about-final .language-row span{
  color:#596063!important;
}
.about .about-final .kicker{
  color:#8b6423!important;
}

/* Contact: portrait on the LEFT, all copy safely on the RIGHT.
   The gradient protects legibility without covering the subject. */
.contact .contact-main{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;
  align-content:end!important;
  align-items:end!important;
  column-gap:clamp(1rem,2.2vw,2.5rem)!important;
  row-gap:clamp(1.5rem,3vw,3rem)!important;
  background:
    linear-gradient(
      90deg,
      rgba(13,17,19,.10) 0%,
      rgba(13,17,19,.24) 33%,
      rgba(13,17,19,.78) 52%,
      rgba(13,17,19,.97) 66%,
      var(--ev-bg) 100%
    ),
    url("assets/rodrigo-couto-professional.webp") left 7% center / 42% auto no-repeat!important;
}
.contact .contact-main>div:first-child{
  grid-column:7/13!important;
  grid-row:1!important;
  min-width:0;
}
.contact .contact-main>div:nth-child(2){
  grid-column:7/13!important;
  grid-row:2!important;
  min-width:0;
}
.contact .contact-main h1{
  max-width:6.5ch!important;
}
.contact .contact-main .lead{
  max-width:36rem!important;
}
.contact .contact-links,
.contact .contact-footer{
  width:100%;
}
.contact .contact-link{
  background:rgba(13,17,19,.18)!important;
}
.contact .contact-link:hover{
  background:rgba(255,255,255,.035)!important;
}

/* At medium widths the image remains left, but copy gets more horizontal room. */
@media(max-width:1180px) and (min-width:901px){
  .contact .contact-main{
    background:
      linear-gradient(
        90deg,
        rgba(13,17,19,.10) 0%,
        rgba(13,17,19,.34) 30%,
        rgba(13,17,19,.90) 48%,
        var(--ev-bg) 63%,
        var(--ev-bg) 100%
      ),
      url("assets/rodrigo-couto-professional.webp") left -4rem center / 48% auto no-repeat!important;
  }
  .contact .contact-main>div:first-child,
  .contact .contact-main>div:nth-child(2){
    grid-column:6/13!important;
  }
}

/* Mobile keeps the portrait above/behind the top-left area and copy below it. */
@media(max-width:900px){
  .contact .contact-main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    min-height:100svh!important;
    padding-top:calc(var(--header) + 18rem)!important;
    background:
      linear-gradient(
        180deg,
        rgba(13,17,19,.10) 0%,
        rgba(13,17,19,.34) 24%,
        rgba(13,17,19,.94) 48%,
        var(--ev-bg) 64%,
        var(--ev-bg) 100%
      ),
      url("assets/rodrigo-couto-professional.webp") left top / min(34rem,96vw) auto no-repeat!important;
  }
  .contact .contact-main>div:first-child,
  .contact .contact-main>div:nth-child(2){
    width:100%;
  }
}



/* V1.5 — cross-browser QA hardening after Playwright run */

/* EXPERIENCE: explicit chapter backgrounds with real specificity.
   The previous :where() rules had zero specificity and were losing against
   the original .experience-block / --blue rules. */
body.experience #nissan{
  color:var(--ink)!important;
  background:var(--paper)!important;
  border-color:rgba(10,13,16,.14)!important;
}
body.experience #bastarda{
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
  border-color:var(--ev-line)!important;
}
body.experience #caetano{
  color:var(--ink)!important;
  background:var(--white)!important;
  border-color:rgba(10,13,16,.14)!important;
}
body.experience #nissan::before,
body.experience #caetano::before{
  background:rgba(10,13,16,.14)!important;
}
body.experience #bastarda::before{
  background:var(--ev-line)!important;
}
body.experience #nissan .experience-year,
body.experience #caetano .experience-year{
  color:rgba(10,13,16,.18)!important;
  text-shadow:none!important;
}
body.experience #bastarda .experience-year{
  color:rgba(242,238,230,.20)!important;
  text-shadow:none!important;
}
body.experience #nissan :is(.experience-role h2,.experience-notes h3,.link-line),
body.experience #caetano :is(.experience-role h2,.experience-notes h3,.link-line){
  color:var(--ink)!important;
}
body.experience #nissan :is(.experience-role p,.experience-notes p,figcaption),
body.experience #caetano :is(.experience-role p,.experience-notes p,figcaption){
  color:#596063!important;
}
body.experience #nissan :is(.mark,.kicker),
body.experience #caetano :is(.mark,.kicker){
  color:#8b6423!important;
}
body.experience #bastarda :is(.experience-role h2,.experience-notes h3,.link-line){
  color:var(--ev-text)!important;
}
body.experience #bastarda :is(.experience-role p,.experience-notes p){
  color:var(--ev-muted)!important;
}
body.experience #bastarda :is(.mark,.kicker){
  color:var(--ev-accent)!important;
}
body.experience #nissan .experience-notes,
body.experience #caetano .experience-notes{
  background:rgba(10,13,16,.14)!important;
}
body.experience #nissan .experience-notes article,
body.experience #caetano .experience-notes article{
  color:var(--ink)!important;
  background:var(--white)!important;
}
body.experience #bastarda .experience-notes{
  background:var(--ev-line)!important;
}
body.experience #bastarda .experience-notes article{
  color:var(--ev-text)!important;
  background:var(--ev-panel)!important;
}
body.experience .experience-block{
  min-height:0!important;
  overflow:visible!important;
  padding:clamp(5.5rem,8vw,8rem) 0!important;
}
body.experience .experience-role{
  top:calc(var(--header) + 2.5rem)!important;
}
body.experience .experience-material{
  transform:none!important;
  margin-top:2.5rem!important;
  overflow:hidden!important;
  background:var(--white);
  border:1px solid rgba(10,13,16,.14)!important;
}
body.experience .experience-material figcaption{
  padding:.8rem 0 0;
}

/* JOURNEY: explicit light/dark chronology instead of zero-specificity :where rules. */
body.journey .archive-year:nth-child(1),
body.journey .archive-year:nth-child(3){
  color:var(--ink)!important;
  background:var(--paper)!important;
}
body.journey .archive-year:nth-child(2),
body.journey .archive-year:nth-child(4){
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}
body.journey .archive-year:nth-child(2) .archive-stack::before,
body.journey .archive-year:nth-child(4) .archive-stack::before{
  background:var(--ev-line)!important;
}
body.journey .archive-year:nth-child(2) .archive-year__number,
body.journey .archive-year:nth-child(4) .archive-year__number{
  color:rgba(242,238,230,.16)!important;
}
body.journey .archive-year{
  overflow:visible!important;
}

/* WORK and CASE STUDIES: make the intended light/dark surfaces explicit. */
body.page--ink main > .section:nth-of-type(1),
body.page--ink main > .section:nth-of-type(3){
  color:var(--ink)!important;
  background:var(--paper)!important;
}
body.page--ink main > .section:nth-of-type(2){
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}
body.case main > .case-block:nth-of-type(1),
body.case main > .case-block:nth-of-type(3){
  color:var(--ink)!important;
  background:var(--paper)!important;
}
body.case main > .case-block:nth-of-type(2),
body.case main > .case-block:nth-of-type(4){
  color:var(--ev-text)!important;
  background:var(--ev-bg)!important;
}

/* Global cross-browser guardrails. */
html,
body{
  max-width:100%;
  overflow-x:clip;
}
main,
section,
header,
footer,
.shell{
  min-width:0;
}
img,
video,
svg,
canvas{
  max-width:100%;
}

/* Mobile EXPERIENCE must never inherit legacy translated coordinates. */
@media(max-width:900px){
  body.experience .experience-block{
    margin:0!important;
    translate:0!important;
    transform:none!important;
  }
  body.experience .experience-block__grid{
    width:100%;
    padding-inline:var(--gutter)!important;
    margin:0!important;
  }
  body.experience .experience-role,
  body.experience .experience-notes,
  body.experience .experience-notes article{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    translate:0!important;
    transform:none!important;
  }
  body.experience .experience-role{
    position:relative!important;
    top:auto!important;
    padding-top:0!important;
  }
  body.experience .experience-year{
    margin:0 var(--gutter) 1.5rem!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    max-width:calc(100% - (var(--gutter)*2))!important;
    white-space:normal!important;
  }
}

/* Reduced motion is a first-class rendering mode, not a fallback accident. */
@media(prefers-reduced-motion:reduce){
  .motion-surface,
  .motion-coin-scene,
  .motion-signature,
  .gsap-section-transition,
  .gsap-section-wipe{
    display:none!important;
  }
  :where(
    .experience-role,.experience-notes article,.archive-item,.credential,
    .about-profile__copy,.about-statement__grid,.about-method__steps article,
    .about-team__copy,.about-capabilities__grid article,.about-final__grid,
    .work-tile,.moment,.case-block__content,.process-sequence article,
    .objective-result article,.contact-link,.quick-entry
  ){
    opacity:1!important;
    visibility:visible!important;
    translate:0!important;
    transform:none!important;
    clip-path:none!important;
    filter:none!important;
  }
}



/* V1.5.1 — HOME mobile containment from cross-browser QA.
   The Electric Hub card inherited a 4/3 aspect ratio plus a tall min-height,
   which could force its min-content width beyond a 390px viewport. */
@media(max-width:560px){
  .home .work-composition{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
  }
  .home .work-composition .moment,
  .home .work-composition .moment--hub,
  .home .work-composition .moment--newsletter{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .home .work-composition .moment--hub{
    aspect-ratio:auto!important;
  }
  .home .work-composition .moment-copy{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .home .work-composition .moment-copy :is(span,h3,p){
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
}


/* V1.5.2 — desktop problem-card safe area.
   Keep the editorial scatter, but leave a real visual margin so no rotated
   card/text can drift outside WebKit's viewport. */
@media(min-width:901px){
  .home .problem-piece--1{--x:-35vw!important}
  .home .problem-piece--2{--x:35vw!important}
  .home .problem-piece--3{--x:-36vw!important}
  .home .problem-piece--4{--x:35vw!important}
}



/* V1.6 — final visual QA polish */

/* Keep all global motion accents inside the portfolio palette.
   Motion can vary by geometry/timing; colour should not become decorative noise. */
.scroll-progress{
  background:var(--ev-accent)!important;
}
.chapter-section:not(:first-child)::before{
  background:var(--ev-accent)!important;
}
.page-curtain{
  --curtain-color:var(--ev-bg)!important;
  color:var(--ev-accent)!important;
}
.page-curtain.page-curtain--light{
  color:var(--ev-accent)!important;
}
.page-curtain__slice{
  background:var(--ev-bg)!important;
}
:where(a,button,[role="button"]):focus-visible{
  outline-color:var(--ev-accent)!important;
}

/* The accessibility skip link is completely outside the visual canvas unless
   a keyboard user explicitly focuses it. */
.skip-link{
  top:0!important;
  transform:translateY(calc(-100% - 1rem))!important;
  background:var(--ev-accent)!important;
  color:var(--ev-bg)!important;
  transition:transform .18s ease;
}
.skip-link:focus,
.skip-link:focus-visible{
  top:0!important;
  transform:translateY(1rem)!important;
}

/* CONTACT mobile/tablet: portrait becomes its own visual block instead of
   sitting behind copy. No text can overlap the face or body. */
@media(max-width:900px){
  .contact .contact-main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    min-height:auto!important;
    padding:calc(var(--header) + 1.25rem) var(--gutter) 3.5rem!important;
    background:var(--ev-bg)!important;
  }
  .contact .contact-main::before{
    content:"";
    order:-1;
    display:block;
    width:100%;
    min-height:clamp(25rem,58svh,36rem);
    margin-bottom:2rem;
    background:
      linear-gradient(180deg,rgba(13,17,19,0) 64%,rgba(13,17,19,.08) 100%),
      url("assets/rodrigo-couto-professional.webp") center 28% / cover no-repeat;
    border:1px solid var(--ev-line)!important;
  }
  .contact .contact-main>div:first-child,
  .contact .contact-main>div:nth-child(2){
    width:100%!important;
    max-width:100%!important;
  }
  .contact .contact-main h1{
    max-width:7ch!important;
  }
}
@media(max-width:560px){
  .contact .contact-main::before{
    min-height:30rem;
    background-position:center 24%;
  }
}




/* Release microtypography — mobile labels stay editorial without becoming
   optically too small on 390px screens. */
@media(max-width:560px){
  body.home :is(
    .home-entry__bar-meta,.home-entry__cover-copy>span,.home-entry__cover-copy>p,
    .home-entry__midcopy>span,.home-entry__midcopy>p,.home-entry__hint,
    .home-room__frame span,.home-entry__eyebrow
  ),
  body.experience-moto :is(
    .xm-hero__meta,.xm-gallery__top,.xm-context-card__num,
    .xm-statement__copy>span,.xm-feature__small,.xm-index__head,
    .xm-access__copy>span,.xm-next>span,.xm-ticker
  ),
  body.about :is(
    .about-gateway__meta,.about-id-card span,.about-id-card small,
    .about-team__number small,.about-capabilities__grid article small
  ),
  body.contact-modular :is(
    .ct-meta,.ct-portrait__label,.ct-specs,.ct-rail,.ct-kicker,
    .ct-channel small,.ct-next span
  ),
  body.journey-3d :is(
    .j3d-world__top,.j3d-kicker,.j3d-card__meta,.j3d-card__open,
    .j3d-controls,.j3d-controls__mobile,.j3d-detail__kicker,.j3d-entry>span
  ){
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.095em!important;
  }

  body.about .about-team__number small,
  body.about .about-capabilities__grid article small{
    font-size:11px!important;
  }
}


/* VFINAL.5 — palette lock.
   The published visual language is black / paper / amber. Legacy blue, coral,
   plum and teal values remain in old component definitions for compatibility,
   but none may leak into shared chrome, focus states or route transitions. */
:root{
  --rc-release-ink:#0d1113;
  --rc-release-paper:#f2efe8;
  --rc-release-white:#fbfaf6;
  --rc-release-accent:#d9a23b;
  --rc-release-accent-dark:#8b6423;
}
::selection{
  color:var(--rc-release-ink)!important;
  background:var(--rc-release-accent)!important;
}
.rc-signature span{
  color:currentColor!important;
}
.index-nav a:hover,
.index-nav a:focus-visible{
  color:var(--rc-release-accent)!important;
}
.quick-access:hover,
.quick-access:focus-visible{
  color:var(--rc-release-ink)!important;
  background:var(--rc-release-accent)!important;
  border-color:var(--rc-release-accent)!important;
}
.quick-access:focus-visible,
.index-trigger:focus-visible,
.text-link:focus-visible,
.btn:focus-visible,
button:focus-visible,
a:focus-visible{
  outline-color:var(--rc-release-accent)!important;
}
.skip-link{
  color:var(--rc-release-ink)!important;
  background:var(--rc-release-accent)!important;
}
.scroll-progress{
  background:var(--rc-release-accent)!important;
}
.quick-entry:hover,
.quick-entry:focus-within{
  background:rgba(217,162,59,.055)!important;
}
.page-curtain{
  --curtain-color:var(--rc-release-ink)!important;
  color:var(--rc-release-accent)!important;
  background:transparent!important;
}
.page-curtain__slice{
  background:var(--rc-release-ink)!important;
}
.page-curtain.page-curtain--light .page-curtain__slice{
  background:var(--rc-release-paper)!important;
}
.page-curtain.page-curtain--light{
  color:var(--rc-release-accent-dark)!important;
}


/* VFINAL.5.5 — release legibility floor.
   Any text that is intentionally readable on mobile stays at or above ~11px.
   Decorative hidden text is unaffected. */
@media(max-width:760px){
  main :is(
    small,.kicker,.mark,
    [class*="__meta"],[class*="__meta"] span,
    [class*="__kicker"],[class*="__label"],
    [class*="__open"],[class*="__return"],
    .home-entry__bar-meta,.home-entry__cover-copy>span,.home-entry__cover-copy>p,
    .home-entry__hint,.xm-hero__meta,.xm-gallery__top,.xm-context-card__num,
    .xm-context-card small,.xm-context-card a,.xm-index__rows a,
    .j3d-world__top,.j3d-controls,.j3d-progress button,
    .j3d-card__meta,.j3d-card__open,.j3d-detail__kicker,.j3d-detail__return,
    .about-gateway__meta,.about-gateway__copy>span,.about-team__number span,
    .ct-meta,.ct-readouts span,.ct-panel>small,.ct-kicker,.ct-channel span,
    .case-meta small,.case-block__label,.case-nav a,.quick-kicker
  ){
    font-size:max(.69rem,11px)!important;
  }
}

/* Rodapé comum com contactos (site.js) */
.site-footer{position:relative;z-index:5;background:#0d1113;color:var(--paper,#f2efe8);border-top:1px solid rgba(255,255,255,.14);padding:clamp(2.4rem,5vw,3.6rem) 0 clamp(2rem,4vw,2.8rem)}
.site-footer__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(1.6rem,4vw,4rem);align-items:end}
.site-footer__lead{margin:0;display:grid;gap:.7rem}
.site-footer__lead span{font-size:.68rem;font-weight:700;letter-spacing:.16em;opacity:.62}
.site-footer__lead strong{font-size:clamp(1.15rem,1.9vw,1.6rem);font-weight:500;line-height:1.2;letter-spacing:-.02em;max-width:22ch}
.site-footer__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.2)}
.site-footer__links a{display:grid;gap:.35rem;padding:1rem 1rem 0 0;font-size:.92rem;font-weight:600;overflow-wrap:anywhere;transition:color .25s ease}
.site-footer__links a small{font-size:.62rem;font-weight:700;letter-spacing:.16em;opacity:.6}
.site-footer__links a:hover{color:var(--lime,#d7ff43)}
@media (max-width:760px){
  .site-footer__inner{grid-template-columns:1fr}
  .site-footer__links{grid-template-columns:1fr}
  .site-footer__links a{padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
}
@media print{.site-footer{display:none}}
