/* Tobi Alao — Edge portfolio review 008. No remote assets, libraries or tracking. */
:root{color-scheme:dark;--bg:#0d1014;--surface:#151a21;--surface2:#1b2027;--ink:#e9edf1;--muted:#aab5c0;--light:#c8d0d7;--line:#46515d;--red:#ba4654;--mono:Consolas,"Liberation Mono",monospace;--sans:"Helvetica Neue",Arial,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}img,video{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #e6818b;outline-offset:4px}.container{width:min(1500px,calc(100% - 9vw));margin:0 auto}.micro,.eyebrow,.fine-print,.media-credit{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a6b0bb}.eyebrow{display:block}.red-rule{display:inline-block;vertical-align:middle;width:28px;height:2px;background:var(--red);margin-right:12px}.punct{color:#bd5460}.soft{color:#7f8995}.global-nav{position:relative;z-index:99;background:#0d1014;border-bottom:1px solid #26303a}.nav-inner{width:min(1500px,calc(100% - 9vw));margin:auto;min-height:67px;display:flex;justify-content:space-between;align-items:center}.mark{display:inline-flex;align-items:center;gap:12px;font:12px var(--mono);letter-spacing:.14em}.mark>span:first-child{font-weight:bold;letter-spacing:-.06em;font-size:19px}.mark i{display:block;width:1px;height:20px;background:#a63c4a}.mark-name{color:#b8c1c9}.nav-links{display:flex;align-items:center;gap:35px}.nav-links a{font:11px var(--mono);color:#9eaab6;letter-spacing:.05em;transition:color .15s}.nav-links a:hover,.nav-links a[aria-current="page"]{color:#f2f4f6}.nav-links a[aria-current="page"]{border-bottom:1px solid #bd5660;padding-bottom:8px}.nav-links .cv-nav{color:#e9edf1;border:1px solid #54606d;padding:11px 16px}.nav-toggle{display:none}.home-intro{min-height:59vh;display:flex;flex-direction:column;justify-content:space-between;padding-top:10vh;padding-bottom:38px}.home-intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:end;padding:35px 0 60px}.home-intro h1{font-size:clamp(54px,7vw,104px);font-weight:340;line-height:.95;letter-spacing:-.075em;margin:0 0 24px}.home-subline{font-size:clamp(20px,2.1vw,35px);letter-spacing:-.045em;font-weight:300;margin:0;color:#c5cdd6}.home-subline em{font-style:normal;color:#8a949f}.intro-aside{max-width:440px}.intro-aside p{line-height:1.68;color:#bbc4cf;font-size:15px;margin:14px 0 32px}.inline-arrow,.line-link{display:inline-flex;align-items:center;gap:26px;padding-bottom:12px;border-bottom:1px solid #5e6a76;color:#e2e7eb;font:11px var(--mono);letter-spacing:.09em}.inline-arrow span,.line-link span{color:#db737f;font-size:18px}.intro-foot{display:flex;justify-content:space-between;border-top:1px solid #303b46;padding-top:15px}.featured-header{padding:60px 0 28px;display:grid;grid-template-columns:.35fr .7fr 1fr;align-items:end;gap:30px}.featured-header h2{margin:0;font-size:clamp(32px,3vw,51px);letter-spacing:-.06em;font-weight:390}.featured-header p{margin:0;color:#aeb8c4;line-height:1.6;font-size:14px;max-width:490px}.after-motion{padding-top:105px;padding-bottom:125px;display:grid;grid-template-columns:1.1fr .9fr;gap:12%;border-bottom:1px solid #323b45}.after-motion h2{font-weight:350;letter-spacing:-.055em;line-height:1.08;font-size:clamp(37px,4vw,62px);margin:18px 0}.after-motion h2 span{color:#7e8994}.after-motion-copy p{font-size:16px;line-height:1.8;color:#b6c0ca;margin:16px 0 30px;max-width:550px}.site-section{padding-top:115px;padding-bottom:115px}.section-top{display:grid;grid-template-columns:.5fr 1fr;gap:8%;align-items:center;margin-bottom:30px}.section-top h2{font-size:clamp(30px,3.3vw,52px);font-weight:360;letter-spacing:-.055em;margin:0}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.work-card{border:1px solid #46505b;display:block;background:#141920;transition:border-color .18s}.work-card:hover{border-color:#a9b4c0}.work-art{height:310px;background:#222631;position:relative;overflow:hidden}.work-art img{width:100%;height:100%;object-fit:cover}.work-counter{position:absolute;top:15px;left:16px;background:#10151ce5;border:1px solid #6c7885;padding:8px 10px;font:10px var(--mono);letter-spacing:.09em}.work-description{padding:28px 30px 24px}.work-description h3{font-size:clamp(24px,2vw,34px);font-weight:380;letter-spacing:-.04em;margin:0 0 12px}.work-description p{color:#aeb8c4;line-height:1.65;font-size:14px;min-height:72px;max-width:520px}.work-action{display:block;color:#d06b76;font:10px var(--mono);letter-spacing:.09em;border-top:1px solid #43505d;padding-top:16px;margin-top:30px}.workflow-preview{display:grid;place-items:center;background:linear-gradient(155deg,#1f232a,#10151b)}.workflow-graphic{min-width:65%;max-width:90%;text-align:center;color:#c8d0d8;font:10px var(--mono)}.flow-user,.workflow-branches>span,.workflow-bottom{padding:16px 8px;border:1px solid #71808c}.flow-user{background:#232730;border-color:#ad4957}.workflow-arrows{display:flex;justify-content:space-around;color:#bf5965;font-size:22px;margin:7px auto}.workflow-branches{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:9px}.workflow-line{height:18px;border-left:1px solid #ad4957;margin:0 auto;width:1px}.workflow-bottom{background:#111820}.quote-section{border-top:1px solid #323b45;padding:95px 0 125px}.quote-grid{display:grid;grid-template-columns:1fr .75fr;gap:14%;align-items:end}.quote-grid h2{font-size:clamp(48px,6vw,90px);font-weight:300;letter-spacing:-.065em;line-height:.98;margin:25px 0 0}.quote-grid p{font-size:17px;line-height:1.78;color:#b0bbc6}.site-footer{border-top:1px solid #3b4651;background:#0a0e12}.footer-content{padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font:10px var(--mono);letter-spacing:.08em;color:#94a0ac}.footer-mark{color:#e2e7eb}.footer-content>div{display:flex;gap:30px}.footer-content a:hover{color:#d97984}
/* Subpages */
.page-top{padding-top:12vh;padding-bottom:72px}.page-top-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:end;margin-top:34px}.page-top h1{font-size:clamp(54px,6vw,93px);font-weight:340;letter-spacing:-.072em;line-height:.98;margin:0}.page-top-grid>div p{font-size:16px;line-height:1.8;color:#b7c1cb;margin:0 0 26px;max-width:590px}.page-facts{display:flex;gap:12px;flex-wrap:wrap}.page-facts span{font:9px var(--mono);letter-spacing:.08em;padding:9px 11px;border:1px solid #4e5b68;color:#b5c0c9}.feature-cover{padding-bottom:45px}.feature-cover img{display:block;width:100%;max-height:730px;object-fit:cover;border:1px solid #737b8a}.cover-caption{display:flex;justify-content:space-between;margin-top:13px;color:#a9b4be;font:10px var(--mono);letter-spacing:.1em}.case-chapter{display:grid;grid-template-columns:1fr 1.32fr;gap:9%;padding-top:76px;padding-bottom:83px;border-top:1px solid #323d48}.case-index>span{font:11px var(--mono);color:#c05b67;letter-spacing:.12em}.case-index h2{font-size:clamp(33px,3.6vw,61px);letter-spacing:-.055em;line-height:1.1;font-weight:340;margin:24px 0 0;position:sticky;top:35px}.case-body>p,.case-body .case-note p{font-size:16px;line-height:1.8;color:#b9c3cc;margin:0 0 25px}.case-body strong{color:#f0f1f3;font-weight:500}.case-note{border:1px solid #586371;background:#171d24;padding:26px 30px;margin:34px 0}.case-note>span,.media-credit{font:10px var(--mono);color:#d2737c;letter-spacing:.1em}.case-note p{margin:18px 0 0 !important}.metric-strip{border-top:1px solid #53606e;border-bottom:1px solid #53606e;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:23px 0;margin:25px 0 10px}.metric-strip div{border-right:1px solid #414b57;padding-left:12px}.metric-strip div:last-child{border:0}.metric-strip b{display:block;font-size:clamp(28px,3.1vw,48px);font-weight:330;letter-spacing:-.055em}.metric-strip span{display:block;font:9px var(--mono);color:#afb9c4;letter-spacing:.06em;margin-top:10px}.fine-print{font-size:10px!important;line-height:1.6!important}.case-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#100f19;border:1px solid #8b97a1;margin-top:25px}.media-credit{display:block;margin-top:11px}.case-image-frame{position:relative;border:1px solid #75818b;background:#190b67;overflow:hidden}.case-image-frame img{display:block;width:100%;max-height:500px;object-fit:contain}.case-image-frame span{display:block;padding:10px 13px;border-top:1px solid #6e7984;font:10px var(--mono);letter-spacing:.08em}.pipeline-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:6%;padding-bottom:90px}.pipeline-map{border:1px solid #677481;background:#131920;padding:35px;display:flex;flex-direction:column;align-items:center}.pipeline-node{border:1px solid #60707f;background:#1b222b;text-align:center;width:100%;padding:18px}.pipeline-node.leading,.pipeline-node.outcome{width:60%;min-width:210px}.pipeline-node.leading{border-color:#c05a66}.pipeline-node>span,.pipeline-node>small{display:block;font:10px var(--mono);color:#a6b3c0;letter-spacing:.05em}.pipeline-node>span{color:#d06c76}.pipeline-node>strong{display:block;font-weight:400;font-size:19px;margin:9px 0}.pipeline-down{width:100%;display:flex;justify-content:space-around;color:#c65a67;align-items:center;margin:9px 0;font-size:23px}.pipeline-down span{font:9px var(--mono);color:#aab4be}.pipeline-twins{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:14px}.pipeline-caption{padding:30px 0}.pipeline-caption h2{font-size:clamp(28px,2.8vw,49px);letter-spacing:-.055em;line-height:1.1;font-weight:350}.pipeline-caption p{color:#b5c0c9;line-height:1.8}.failure-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:30px 0}.failure-grid article{border:1px solid #596571;padding:22px;background:#171c23}.failure-grid article>span,.review-spec span{font:10px var(--mono);color:#cb6471;letter-spacing:.1em}.failure-grid h3{font-weight:420;font-size:23px;letter-spacing:-.035em}.failure-grid p{line-height:1.7;color:#b5c0cb;font-size:13px}.failure-grid small{display:block;border-top:1px solid #44505d;padding-top:15px;color:#e0e3e7;font:9px/1.6 var(--mono)}.review-spec{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:28px}.review-spec>div{border:1px solid #596571;background:#192028;padding:14px}.review-spec strong,.review-spec small{display:block}.review-spec strong{margin:12px 0;font-weight:450;font-size:13px}.review-spec small{font-size:11px;color:#aeb9c4}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;padding-top:35px;padding-bottom:120px}.about-statement h2,.contact-panel h2{font-size:clamp(36px,3.8vw,65px);font-weight:350;letter-spacing:-.06em;line-height:1.1}.about-statement>p{font-size:16px;line-height:1.8;color:#b8c2cc;max-width:530px;margin-bottom:34px}.about-credentials>div{padding:24px 0;border-top:1px solid #46525f}.about-credentials span{font:10px var(--mono);letter-spacing:.1em;color:#c5616e}.about-credentials h3{font-size:25px;font-weight:400;margin:12px 0}.about-credentials p{font-size:14px;color:#b5bfca;line-height:1.7;max-width:670px}.contact-panel{border-top:1px solid #54616f;padding-top:80px;padding-bottom:120px}.contact-panel>div{display:flex;align-items:end;justify-content:space-between;gap:20px}.email-link{font-size:clamp(18px,2vw,32px);letter-spacing:-.05em;color:#e6e9ed;border-bottom:1px solid #ad4d59;padding-bottom:10px}.email-link span{color:#cc6876}.contact-panel>p{font:11px var(--mono);color:#aab5c0;letter-spacing:.05em}
@media(min-width:1800px){.work-art{height:385px}} 
@media(max-width:1100px){.nav-links{gap:18px}.home-intro-grid,.page-top-grid{grid-template-columns:1fr 1fr;gap:5%}.section-top{grid-template-columns:1fr}.pipeline-feature{grid-template-columns:1fr}.pipeline-caption{max-width:700px}.case-chapter{gap:5%}.work-art{height:240px}}
@media(max-width:750px){.container,.nav-inner{width:calc(100% - 36px)}.nav-toggle{display:block;background:transparent;border:1px solid #536171;color:#e9edf1;padding:9px 12px;font:11px var(--mono);cursor:pointer}.nav-links{display:none;position:absolute;top:67px;left:0;right:0;background:#141a21;border-bottom:1px solid #586572;padding:24px 18px;flex-direction:column;align-items:flex-start;gap:22px}.nav-links.open{display:flex}.home-intro{min-height:65vh;padding-top:9vh}.home-intro-grid,.page-top-grid,.after-motion,.quote-grid,.about-grid,.case-chapter{grid-template-columns:1fr;gap:30px}.home-intro h1{font-size:clamp(49px,12vw,80px)}.home-intro-grid{align-items:start}.intro-foot{font-size:9px}.featured-header{grid-template-columns:1fr;padding-top:55px;gap:15px}.work-grid,.failure-grid{grid-template-columns:1fr}.work-art{height:260px}.after-motion,.site-section,.quote-section{padding-top:65px;padding-bottom:75px}.quote-grid h2{font-size:60px}.section-top{margin-bottom:25px}.page-top{padding-top:70px;padding-bottom:40px}.page-top h1{font-size:clamp(50px,11vw,76px)}.page-top-grid>div p{font-size:15px}.case-chapter{padding-top:53px;padding-bottom:70px}.case-index h2{position:static}.case-body>p{font-size:15px}.pipeline-map{padding:18px}.review-spec{grid-template-columns:repeat(2,1fr)}.contact-panel>div{display:block}.email-link{display:inline-block;margin-bottom:20px}.footer-content{flex-direction:column;align-items:flex-start}.cover-caption{font-size:8px}.metric-strip b{font-size:25px}.metric-strip span{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Release-candidate editorial refinements */
.home-intro{min-height:49vh;padding-top:7vh;padding-bottom:25px}
.home-intro-grid{padding:22px 0 38px;align-items:center}
.home-intro h1{font-size:clamp(54px,6.2vw,90px)}
.home-subline{font-size:clamp(20px,1.75vw,29px);line-height:1.25;max-width:580px}
.featured-header{padding:35px 0 22px}
.about-personal{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:5%;align-items:stretch;margin-top:4px;margin-bottom:90px}
.about-portrait{min-height:315px;border:1px solid #52606e;background:linear-gradient(145deg,#191f28,#0e1218);display:flex;flex-direction:column;justify-content:space-between;padding:22px;position:relative;overflow:hidden}
.about-portrait:after{content:'';position:absolute;left:28%;bottom:17%;width:48%;height:1px;background:#a33d4b;transform:rotate(-37deg);opacity:.65}
.about-portrait span{position:relative;z-index:2;font:10px var(--mono);letter-spacing:.12em;color:#c9d1d8}
.about-portrait strong{position:relative;z-index:2;font-size:clamp(35px,5vw,68px);font-weight:300;letter-spacing:-.08em;color:#485460}
.about-life{border:1px solid #52606e;padding:28px 34px;display:flex;flex-direction:column;justify-content:center}
.about-life h2{font-size:clamp(25px,2.7vw,40px);font-weight:370;letter-spacing:-.055em;margin:18px 0 12px}
.about-life p{color:#b8c4ce;font-size:15px;line-height:1.75;max-width:610px}
.about-life .life-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}
.about-life .life-tags span{font:10px var(--mono);color:#ced5dd;border:1px solid #4c5965;padding:10px 12px}
.pipeline-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:28px auto 75px}
.pipeline-stages article{border:1px solid #4c5965;padding:23px 18px;min-height:160px;position:relative}
.pipeline-stages article+article{border-left:0}
.pipeline-stages article span{display:block;color:#c75e6b;font:10px var(--mono);letter-spacing:.1em}
.pipeline-stages article h3{font-size:19px;font-weight:400;letter-spacing:-.04em;margin:19px 0 8px}
.pipeline-stages article p{color:#abb7c1;font-size:12px;line-height:1.6;margin:0}
@media(max-width:750px){.home-intro{min-height:58vh}.home-intro-grid{padding:20px 0 28px}.about-personal{grid-template-columns:1fr;gap:16px}.about-portrait{min-height:215px}.about-life{padding:24px}.pipeline-stages{grid-template-columns:1fr 1fr}.pipeline-stages article+article{border-left:1px solid #4c5965}.pipeline-stages article:nth-child(n+3){border-top:0}}

/* Candidate 5.2: quieter opening with one transition into interactive work. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-intro{min-height:0;padding-top:clamp(38px,5vw,78px);padding-bottom:clamp(38px,4vw,62px);justify-content:flex-start}
.home-intro-grid{padding:clamp(22px,3vw,50px) 0 0;gap:clamp(32px,7vw,110px);align-items:center}
.home-intro h1{font-size:clamp(52px,5.6vw,86px)}
.intro-aside p{margin:12px 0 20px}
.featured-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);padding:24px 0 22px;align-items:center;border-top:1px solid #303b46}
.featured-header h2{font-size:clamp(28px,2.8vw,44px)}
.featured-header p{font-size:13px;max-width:410px}
@media(max-width:750px){.home-intro{min-height:0;padding:35px 0 43px}.home-intro-grid{grid-template-columns:1fr;padding:25px 0 0;gap:21px}.home-intro h1{font-size:clamp(50px,12vw,72px)}.intro-aside{max-width:100%}.featured-header{grid-template-columns:1fr;gap:8px;padding:23px 0 18px}}

/* Archive 006: current practice and early work */
.archive-begin,.archive-legacy{padding-top:clamp(56px,7vw,100px);padding-bottom:clamp(55px,7vw,95px);border-top:1px solid #303b45}
.archive-kicker{font:10px var(--mono);letter-spacing:.14em;color:var(--red);margin-bottom:19px}
.archive-title{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}
.archive-title h2{font-size:clamp(29px,3.1vw,49px);font-weight:380;letter-spacing:-.06em;margin:0}
.archive-title p{max-width:400px;color:#aeb9c5;font-size:14px;line-height:1.65;margin:0}
.archive-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.archive-card{display:block;border:1px solid #485361;background:#131820;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
.archive-card:hover{border-color:#c16a76;transform:translateY(-3px)}
.archive-image{height:clamp(180px,21vw,310px);overflow:hidden;background:#202631}
.archive-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.archive-card-info{padding:24px 26px 25px;min-height:206px;display:flex;flex-direction:column}
.archive-card-info small,.archive-small-grid small{color:#d06975;font:10px var(--mono);letter-spacing:.07em}
.archive-card-info h3{font-size:clamp(22px,2.4vw,34px);font-weight:400;letter-spacing:-.05em;margin:13px 0}
.archive-card-info p,.archive-small-grid p{color:#b0bbc5;font-size:13px;line-height:1.6;margin:0}
.archive-card-info>span{font:10px var(--mono);color:#e6d1d4;letter-spacing:.08em;border-top:1px solid #3c4753;margin-top:auto;padding-top:22px}
.archive-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.archive-small-grid>a{display:grid;grid-template-columns:130px 1fr 24px;align-items:center;gap:18px;border:1px solid #485361;text-decoration:none;color:inherit;padding:13px;min-width:0;background:#131820}
.archive-small-grid img{width:130px;height:96px;object-fit:cover;object-position:center}
.archive-small-grid h3{font-size:20px;font-weight:400;letter-spacing:-.04em;margin:9px 0 5px}
.archive-small-grid>a>span{color:#c95965}
.back-top{position:fixed;right:20px;bottom:22px;z-index:80;background:#151b22;color:#e8edf2;border:1px solid #687583;padding:12px 13px;font:10px var(--mono);letter-spacing:.09em;cursor:pointer;display:flex;gap:10px;align-items:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
.back-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-top:hover{border-color:#d25d6a}
.project-archive-hero{padding:70px 0 36px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.project-archive-hero h1{font-weight:400;font-size:clamp(46px,5vw,83px);letter-spacing:-.07em;margin:18px 0 15px}
.project-archive-hero p{font-size:16px;color:#b9c4cf;line-height:1.7;max-width:550px}
.project-archive-hero img{width:100%;max-height:370px;object-fit:cover;border:1px solid #5c6671}
.project-archive-body{padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.project-archive-body>article{border-top:1px solid #596471;padding:24px 0}
.project-archive-body h2{font-size:clamp(24px,2.3vw,36px);font-weight:400;letter-spacing:-.045em}
.project-archive-body p{color:#b2bfcb;line-height:1.75;font-size:14px}
.project-archive-body img{width:100%;max-height:360px;object-fit:contain;background:#181e27;margin-top:16px;border:1px solid #3b4651}
.archive-disclosure{font-size:12px;color:#8997a6;line-height:1.5;padding-bottom:40px}
@media(max-width:750px){.archive-title{display:block}.archive-title p{margin-top:14px}.archive-feature-grid,.archive-small-grid,.project-archive-hero,.project-archive-body{grid-template-columns:1fr}.archive-small-grid>a{grid-template-columns:104px 1fr 18px}.archive-small-grid img{width:104px;height:92px}.archive-card-info{min-height:180px}.archive-image{height:215px}.back-top{right:12px;bottom:12px}}

/* Archive integration: selected real media, legibility and focused editorial cards. */
.archive-image img{object-fit:cover;object-position:center 43%;image-rendering:auto}
.archive-feature-grid .archive-card:nth-child(2) .archive-image img{object-position:center 48%}
.archive-small-grid a:nth-child(1) img{object-fit:cover;object-position:center}
.archive-small-grid a:nth-child(2) img{object-fit:cover;object-position:center 49%}
.archive-card-info p,.archive-small-grid p{font-size:15px;line-height:1.65}
.archive-card-info small,.archive-small-grid small{font-size:11px}
.archive-index{padding-top:76px;padding-bottom:130px;min-height:65vh}
.archive-index h1{font-size:clamp(40px,5vw,66px);font-weight:370;margin:18px 0}
.archive-index>p{max-width:62ch;line-height:1.65;color:#b2bdc8}
.archive-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:40px 0}
.archive-index-grid a{padding:25px;border:1px solid #52606c}
.archive-index-grid a:hover{border-color:#ca6c77}
@media(max-width:660px){.archive-index-grid{grid-template-columns:1fr}}

/* Media pass 01 review: show the entire approved 16:9 gameplay image on the home gallery. */
.archive-feature-grid .archive-image{height:auto;aspect-ratio:16/9}
.archive-feature-grid .archive-image img{object-fit:cover;object-position:center}
.archive-small-grid>a{grid-template-columns:155px minmax(0,1fr) 24px}
.archive-small-grid img{width:155px;height:92px;object-fit:cover}
.archive-small-grid a:last-child img{object-position:center}
@media(max-width:700px){.archive-small-grid>a{grid-template-columns:124px minmax(0,1fr) 18px;gap:12px}.archive-small-grid img{width:124px;height:70px}.archive-feature-grid .archive-image{aspect-ratio:16/9;height:auto}}
/* Ravia's original frame includes diegetic text at its top edge; preserve the whole screenshot. */
.archive-feature-grid .archive-card:first-child .archive-image img{object-fit:contain;background:#131820}

/* V7.2 bounded release pass — Featured Work / hierarchy / archive weighting */
html{scroll-behavior:auto!important}
.home-intro{padding-top:clamp(48px,5.5vw,86px);padding-bottom:clamp(30px,3vw,54px)}
.home-intro-grid{gap:clamp(35px,6vw,110px);align-items:center;padding-top:clamp(18px,2.5vw,36px);padding-bottom:clamp(18px,2vw,38px)}
.home-intro h1{font-size:clamp(62px,7vw,108px)}
.home-subline{font-size:clamp(22px,2.1vw,36px);line-height:1.2;max-width:680px}
.intro-aside{max-width:505px}.intro-aside p{font-size:clamp(16px,1.14vw,19px);line-height:1.6}
.intro-aside .micro{font-size:11px}.inline-arrow{font-size:12px}
.feature-intro-actions{display:flex;gap:clamp(14px,3vw,38px);flex-wrap:wrap;justify-content:flex-end}
.feature-anchor{font:11px var(--mono);letter-spacing:.07em;border-bottom:1px solid #8b98a5;padding-bottom:10px;white-space:nowrap}
.feature-anchor.subdued{color:#aeb7bf;border-color:#53606d}
.feature-anchor:hover{color:#fff;border-color:#d56876}
.featured-header{gap:20px}.featured-header h2{font-size:clamp(28px,2.65vw,42px)}
.archive-feature-grid .archive-card-info h3{margin-top:14px}
.archive-small-grid>a{min-height:clamp(230px,23vw,365px);grid-template-columns:minmax(180px,45%) minmax(0,1fr) 20px;align-items:center;gap:24px;padding:18px}
.archive-small-grid img{width:100%;height:100%;min-height:200px;max-height:325px;object-fit:cover}
.archive-small-grid a:last-child img{object-fit:contain;background:#23272b}
.archive-small-grid h3{font-size:clamp(21px,1.75vw,29px);margin:13px 0 12px}
.archive-small-grid p{font-size:15px;max-width:300px}
.archive-small-grid>a>span{align-self:end;margin-bottom:6px;font-size:23px}
.archive-small-grid>a:focus-visible,.archive-feature-grid .archive-card:focus-visible{outline-offset:5px}
.back-top{right:clamp(20px,3vw,52px);bottom:clamp(26px,3vw,44px);z-index:65;background:#151b22f5;border-color:#778694;border-left:2px solid #cb5f6c;padding:13px 17px;font-size:11px;box-shadow:0 9px 28px #05090cc0}
@media(max-width:850px){.feature-intro-actions{justify-content:flex-start}.archive-small-grid>a{grid-template-columns:40% minmax(0,1fr) 18px;min-height:240px}.archive-small-grid img{min-height:185px;max-height:240px}}
@media(max-width:750px){.home-intro h1{font-size:clamp(56px,12vw,82px)}.home-subline{font-size:clamp(21px,5.6vw,27px)}.intro-aside p{font-size:16px}.featured-header{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.archive-small-grid>a{min-height:200px;grid-template-columns:37% minmax(0,1fr) 20px;padding:12px;gap:12px}.archive-small-grid img{min-height:165px;height:190px}.archive-small-grid h3{font-size:20px}.archive-small-grid p{font-size:14px}.back-top{bottom:22px;right:15px}}

/* V7.2.1 readability: readable baseline for feature, controls and cards */
.archive-kicker,.archive-card-info small,.archive-small-grid small{font-size:12px}
.archive-card-info>span,.work-counter,.work-action{font-size:12px}
.archive-card-info p,.archive-small-grid p{font-size:16px}
.feature-anchor,.inline-arrow{font-size:13px}
.archive-title p{font-size:16px}
@media(max-width:750px){.archive-small-grid p{font-size:15px}}
/* Keep the site's ordinary navigation and context labels above tiny-caption sizing. */
.nav-links a{font-size:12px}
.micro,.eyebrow,.fine-print{font-size:12px}

/* V8 Projects page: approved current-work and early-work cards moved, not redesigned. */
.projects-page-heading{padding:clamp(56px,7vw,104px) 0 46px;border-bottom:1px solid #38434d}
.projects-page-heading h1{font-size:clamp(48px,6vw,88px);font-weight:350;letter-spacing:-.07em;line-height:1.05;margin:10px 0 18px}
.projects-page-heading p{max-width:670px;font-size:clamp(15px,1.2vw,18px);line-height:1.65;color:#bdc6d0;margin:0}
.projects-page-heading + .archive-begin{border-top:0;padding-top:clamp(38px,4vw,65px)}
@media(max-width:750px){.projects-page-heading{padding:48px 0 34px}.projects-page-heading + .archive-begin{padding-top:32px}}

/* Tiny release polish: float the Back to Top control above the footer boundary. */
.back-top{bottom:calc(clamp(26px,3vw,44px) + var(--footer-lift,0px))}
@media(max-width:750px){.back-top{bottom:calc(22px + var(--footer-lift,0px))}}

/* Public candidate: user-supplied real portrait replaces placeholder. */
.about-portrait.about-portrait-real{padding:0;margin:0;min-height:clamp(325px,35vw,490px);display:block;background:#10151b;position:relative;overflow:hidden}
.about-portrait.about-portrait-real::after{display:none}
.about-portrait-real>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 28%}
.about-portrait-real figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(7,12,18,.85));font:10px/1.5 var(--mono);letter-spacing:.09em;padding:44px 20px 15px;color:#edf0f5}
@media(max-width:750px){.about-portrait.about-portrait-real{min-height:clamp(310px,93vw,440px)}}
