@font-face{font-family:'LF HeadingNow';src:local('HeadingNow 35 Comp Medium'),local('HeadingNow 35 Comp'),local('HeadingNow');font-display:swap}
@font-face{font-family:'LF Nohemi';src:local('Nohemi Semi Bold'),local('Nohemi');font-display:swap}
:root{--paper:#f7f6f3;--paper-2:#eeece7;--white:#ffffff;--ink:#101112;--muted:#686a6b;--line:#d8d7d2;--red:#e6223d;--red-deep:#be1831;--dark:#131416;--dark-2:#1e2022;--dark-line:#393a3d;--font:'Mozilla Text','Inter Display',Arial,sans-serif;--display:'Geist','Inter Display','Arial',sans-serif;--heading-now:'LF HeadingNow','Anton','Arial Narrow',sans-serif;--font-body:'Mozilla Text',Arial,sans-serif;--font-display:'LF HeadingNow','Anton',Impact,sans-serif;--identity:'LF Nohemi','Geist','Inter Display',Arial,sans-serif;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--gutter:clamp(20px,4.3vw,72px);--shell:1560px;--nav-h:86px}
:root[data-theme=dark]{--paper:#171819;--paper-2:#252628;--white:#212224;--ink:#f4f3ef;--muted:#aba9a8;--line:#434345}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 18px)}body.v02-page{margin:0;background:var(--paper);color:var(--ink);min-width:320px;font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}img,svg{display:block;max-width:100%}::selection{background:var(--red);color:#fff}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:3px}.shell{width:min(100%,var(--shell));margin-inline:auto;padding-inline:var(--gutter)}.mono{font:550 11px/1.4 var(--font);letter-spacing:.11em}.kicker{font-size:11px;letter-spacing:.13em;display:inline-flex;align-items:center;gap:11px;font-weight:650}.red-bullet{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red);flex:none}.skip-link{position:fixed;left:12px;top:-100px;padding:12px 16px;background:var(--red);color:#fff;z-index:1000}.skip-link:focus{top:12px}
/* Header: quiet and functional; card rhythm belongs in the content. */
.v02-header{height:var(--nav-h);position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 87%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.header-flex{display:flex;align-items:center;justify-content:space-between;gap:20px;height:100%}.v02-logo{display:flex;align-items:center;gap:11px;font:700 18px/.93 var(--identity);letter-spacing:-.045em;flex-shrink:0}.v02-logo-symbol{font:700 13px/.9 var(--display);display:grid;place-items:center;width:29px;height:29px;background:var(--red);color:#fff;letter-spacing:-.08em}.v02-logo-symbol span{margin-left:-2px}.brand-period{color:var(--red)}.v02-nav{display:flex;gap:clamp(14px,2.5vw,45px);align-items:center;margin-left:auto}.v02-nav a{font:650 11px/1.5 var(--font);letter-spacing:.065em;transition:color 180ms ease}.v02-nav a:last-child{display:flex;align-items:center;gap:8px}.header-controls{display:flex;align-items:center;gap:13px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:100px;cursor:pointer;font:600 10px var(--font);letter-spacing:.06em;transition:background 180ms ease}.theme-moon{font-size:17px;line-height:1}.v02-menu-toggle{display:none;background:var(--ink);color:var(--paper);border:0;border-radius:50px;padding:10px 14px;font-weight:700;font-size:11px;gap:9px;align-items:center}.mobile-nav{display:none}
/* Hero — deliberately uses a wider sans, with HeadingNow kept as an accent only. */
.v02-hero{position:relative;min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;isolation:isolate;padding-top:clamp(36px,5vw,75px);padding-bottom:20px;overflow:hidden}.hero-preamble{display:flex;justify-content:space-between;align-items:center;gap:15px;position:relative;z-index:2}.hero-preamble-r{color:var(--muted)}.v02-hero-title{position:relative;z-index:3;font:720 clamp(58px,9.8vw,166px)/.96 var(--display);letter-spacing:-.059em;margin-top:auto;margin-bottom:auto;padding-block:clamp(55px,8vh,115px);max-width:1460px}.title-line{display:block;white-space:nowrap;width:fit-content}.title-line--red{color:var(--red)}.title-line--last{font-size:.74em;letter-spacing:-.058em}.last-dot{color:var(--ink)}.asterisk{display:inline-block;font:550 .64em/1 var(--font);color:var(--red);vertical-align:top;margin-left:.08em}.hero-poster{position:absolute;width:clamp(195px,26vw,420px);height:clamp(210px,29vw,460px);right:calc(var(--gutter) + 1.8%);top:20%;z-index:1;opacity:.9;transform:rotate(14deg);pointer-events:none}.poster-rotator{height:100%;display:flex;flex-direction:column;justify-content:space-between;background:var(--red);padding:clamp(15px,2.3vw,32px);border-radius:3px;box-shadow:12px 18px 0 color-mix(in srgb,var(--ink) 8%,transparent),0 24px 58px rgba(0,0,0,.11);color:#fff}.poster-rotator>span{font:550 clamp(10px,.95vw,14px)/1.25 var(--font);letter-spacing:.09em}.poster-rotator strong{font:700 clamp(110px,19vw,270px)/.68 var(--heading-now);letter-spacing:.05em;white-space:nowrap}.poster-rotator small{font:600 clamp(9px,1vw,12px)/1.4 var(--font);letter-spacing:.13em}.v02-hero-bottom{display:grid;grid-template-columns:minmax(240px,630px) auto;justify-content:space-between;align-items:end;gap:30px;position:relative;z-index:3;padding-bottom:clamp(26px,5vh,60px)}.hero-intro{font:430 clamp(19px,1.8vw,29px)/1.36 var(--font);letter-spacing:-.035em;max-width:640px}.hero-intro strong{font-weight:750}.hero-right{display:flex;align-items:end;gap:24px;color:var(--muted);font-size:11px;line-height:1.8;text-align:right}.round-link{width:68px;height:68px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:29px;flex:0 0 68px;transition:transform 200ms var(--ease-out),background-color 200ms ease}.hero-baseline{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:10px}.hero-baseline span:last-child span{font-size:17px;vertical-align:middle;color:var(--red)}
/* Selected projects: materially larger editorial cards, not a thumbnail grid. */
.v02-work{background:var(--paper-2);padding-block:clamp(95px,11vw,165px) clamp(85px,9vw,130px)}.v02-section-head{display:grid;grid-template-columns:1fr 280px;column-gap:34px;align-items:end;margin-bottom:clamp(46px,6vw,95px)}.v02-section-head .kicker{grid-column:1/-1;margin-bottom:27px;color:var(--muted)}.v02-section-head h2{font:650 clamp(50px,6.4vw,104px)/1.03 var(--display);letter-spacing:-.055em;max-width:1070px}.v02-section-head h2 span{color:var(--red)}.section-deck{max-width:290px;line-height:1.55;font-size:15px;color:var(--muted);padding-bottom:10px}.case-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(23px,3vw,45px)}.case-card{display:block;position:relative;padding:clamp(17px,2.2vw,35px);background:var(--white);border:1px solid var(--line);border-radius:clamp(21px,2.5vw,40px);overflow:hidden;box-shadow:0 6px 38px rgba(22,22,19,.025);transition:box-shadow 220ms ease,transform 220ms var(--ease-out)}.case-card__meta{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);padding:0 3px 19px;font-size:10px}.case-card__content{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(20px,2.5vw,42px);min-height:clamp(435px,43vw,620px)}.case-card__copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(12px,3vw,42px) 10px clamp(15px,2vw,30px)}.case-card__eyebrow{font-size:12px;font-weight:700;letter-spacing:.075em;display:flex;align-items:center;gap:10px;margin-bottom:clamp(26px,4vw,70px)}.case-card__eyebrow .dot{width:8px;height:8px;border-radius:100%;background:var(--red)}.case-card__copy h3{font:700 clamp(58px,6.5vw,112px)/.98 var(--display);letter-spacing:-.06em;max-width:600px;overflow-wrap:normal}.case-card__copy>p{max-width:460px;font-size:clamp(15px,1.15vw,19px);letter-spacing:-.014em;line-height:1.55;margin-top:clamp(24px,3vw,42px);color:var(--muted)}.case-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.case-card__tags span{font:580 10px/1.3 var(--font);border-radius:50px;border:1px solid var(--line);padding:9px 13px;white-space:nowrap}.case-card__view{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:20px;font:700 11px var(--font);letter-spacing:.075em}.case-card__view b{height:43px;width:43px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:400;transition:transform 210ms var(--ease-out)}.case-card__media{position:relative;min-width:0;border-radius:clamp(14px,1.8vw,26px);overflow:hidden;background:#222;isolation:isolate;min-height:390px}.case-card__media .scene{inset:0;position:absolute;transition:transform 650ms var(--ease-out)}.media-corner{position:absolute;right:20px;bottom:18px;color:#fff;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:8px 12px;z-index:15;font:600 10px var(--font);letter-spacing:.08em}.case-item:nth-child(even) .case-card__content{grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr)}.case-item:nth-child(even) .case-card__media{grid-column:1;grid-row:1}.case-item:nth-child(even) .case-card__copy{grid-column:2;grid-row:1}.work-tail{display:flex;justify-content:space-between;padding-top:21px;margin-top:50px;border-top:1px solid var(--line);color:var(--muted)}
/* Large typographic statement plus compact cards */
.v02-statement{padding-block:clamp(105px,12vw,190px);background:var(--paper)}.v02-statement .kicker{color:var(--muted)}.statement-title{font:660 clamp(48px,7vw,112px)/1.08 var(--display);letter-spacing:-.057em;max-width:1450px;margin-top:42px}.statement-title span{color:var(--red)}.statement-note{font:600 11px var(--font);letter-spacing:.1em;color:var(--muted);margin-top:32px}.value-cards{margin-top:clamp(80px,11vw,170px);display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.value-card{min-height:390px;padding:clamp(24px,2.9vw,43px);background:var(--paper-2);border:1px solid var(--line);border-radius:clamp(18px,2vw,30px);display:flex;flex-direction:column;position:relative;overflow:hidden}.value-number{color:var(--muted)}.value-glyph{position:absolute;right:25px;top:12px;font:400 92px/.9 var(--display);color:var(--red);opacity:.9}.value-card h3{font:650 clamp(28px,3.1vw,52px)/1.1 var(--display);letter-spacing:-.05em;margin-top:auto;margin-bottom:28px}.value-card p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.55}
/* Scroll-pinned method inspired by reference's pattern; own brand/style and text. */
.v02-method{background:#e6223d;color:#19070b;height:250vh;position:relative}.method-pin{position:sticky;top:var(--nav-h);height:calc(100svh - var(--nav-h));min-height:650px;overflow:hidden}.method-pin>.shell{height:100%;display:flex;flex-direction:column;padding-top:clamp(27px,3.3vw,48px);padding-bottom:26px}.method-heading{display:flex;justify-content:space-between;align-items:end;gap:28px}.method-heading .kicker{color:#53131e}.method-heading .red-bullet{background:#19070b}.method-heading h2{font:680 clamp(49px,5.8vw,91px)/.98 var(--display);letter-spacing:-.055em;margin-top:18px}.method-heading h2 span{color:#fff}.method-heading>p{max-width:275px;font-size:14px;line-height:1.5;margin-bottom:5px}.method-rail{overflow:visible;flex:1;display:flex;align-items:center;outline-offset:-5px;min-height:0}.method-track{display:flex;align-items:stretch;gap:18px;will-change:transform;transition:none}.method-card{flex:0 0 clamp(320px,31vw,540px);height:clamp(310px,38vh,380px);padding:clamp(24px,2.6vw,38px);background:#fff7f2;border-radius:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;position:relative}.method-n{font:650 13px var(--font);letter-spacing:.13em}.method-icon{position:absolute;right:24px;top:16px;font:550 78px/.9 var(--display);color:var(--red)}.method-card h3{font:690 clamp(40px,4.1vw,69px)/1 var(--display);letter-spacing:-.05em;margin-top:auto}.method-card p{max-width:330px;font-size:15px;line-height:1.5;margin-top:21px}.method-progress{height:2px;background:rgba(24,7,11,.24);width:100%;margin-bottom:16px}.method-progress span{display:block;height:2px;width:100%;background:#230c11;transform:scaleX(0);transform-origin:left}.method-hint{display:flex;justify-content:space-between;gap:12px}.method-hint span{font-size:21px;line-height:10px}
/* Experience and CV timeline */
.v02-experience{background:#121416;color:#f5f4f1;padding-block:clamp(110px,12vw,190px) clamp(110px,10vw,165px)}.exp-heading .kicker{color:#a7a9a9}.exp-heading h2{font:660 clamp(58px,7.4vw,124px)/1.03 var(--display);letter-spacing:-.06em;max-width:1330px;margin-top:32px}.exp-heading h2 span{color:var(--red)}.exp-heading>p{font-size:18px;color:#a5a7a8;margin-top:33px;max-width:550px;line-height:1.5}.exp-table{margin-top:clamp(65px,8vw,135px);border-top:1px solid #505152}.exp-row{display:grid;grid-template-columns:minmax(115px,.6fr) minmax(270px,2.1fr) minmax(120px,.6fr);gap:18px;padding:clamp(27px,4vw,62px) 0;border-bottom:1px solid #44474a;position:relative;align-items:start}.exp-row::before{content:'';position:absolute;left:0;top:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 800ms var(--ease-out)}.exp-row.is-visible::before{transform:scaleX(1)}.exp-kind{color:#989b9d;padding-top:8px}.exp-main h3{font:650 clamp(30px,3.6vw,62px)/1.1 var(--display);letter-spacing:-.052em}.exp-main p{margin-top:11px;color:#a5a7a8;font-size:14px}.exp-status{color:#d2d4d4;text-align:right;padding-top:12px}.exp-status i{width:6px;height:6px;border-radius:50%;background:var(--red);display:inline-block;margin-left:8px;vertical-align:middle}.cv-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(65px,8vw,120px)}.cv-panel{background:#202224;border:1px solid #37383a;border-radius:clamp(21px,2.2vw,36px);padding:clamp(25px,3.6vw,54px);min-height:440px;display:flex;flex-direction:column}.cv-panel-head{display:flex;justify-content:space-between;color:#a6a8a9}.cv-panel h3{font:630 clamp(35px,4.5vw,74px)/1.04 var(--display);letter-spacing:-.06em;margin:45px 0 37px}.red-punct{color:var(--red)}.skill-lines,.tool-rows{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-start}.skill-lines span,.tool-rows span{border:1px solid #505252;border-radius:100px;padding:9px 14px;font-size:13px;color:#f1f1ee}.cv-email{margin-top:auto;padding-top:45px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center}.cv-email span{width:42px;height:42px;background:var(--red);border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:400}.cv-note{color:#929597;margin-top:26px;font-size:10px}
/* Final CTA */
.v02-contact{background:var(--red);color:#16080c;padding-top:clamp(110px,12vw,200px);padding-bottom:23px}.v02-contact h2{font:660 clamp(66px,10.5vw,170px)/1.01 var(--display);letter-spacing:-.065em;margin:38px 0 clamp(48px,7vw,105px)}.v02-contact h2 span{color:#fff}.contact-spark{font-size:.6em;color:#fff;display:inline-block;vertical-align:top;margin-left:.08em}.contact-email{font:650 clamp(18px,2.3vw,34px)/1.4 var(--display);border-bottom:2px solid #3f141a;display:flex;justify-content:space-between;align-items:center;padding-block:22px;gap:18px;overflow-wrap:anywhere;max-width:960px}.contact-email span{font-size:42px;font-weight:400}.foot-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(0,0,0,.45);margin-top:clamp(90px,10vw,150px);padding-top:22px;flex-wrap:wrap}.foot-bottom a{text-decoration:underline;text-underline-offset:4px}
/* Motion: exits and button interactions are small; big editorial scroll sections can be slower. */
@media (hover:hover) and (pointer:fine){.v02-nav a:hover{color:var(--red)}.theme-toggle:hover{background:var(--paper-2)}.round-link:hover{background:var(--red);transform:translateY(-4px)}.case-card:hover{transform:translateY(-4px);box-shadow:0 25px 70px rgba(18,18,16,.1)}.case-card:hover .case-card__media .scene{transform:scale(1.045)}.case-card:hover .case-card__view b{transform:rotate(45deg)}.value-card:hover .value-glyph{opacity:.6}.cv-email:hover{color:var(--red)}}
.js [data-reveal]{opacity:0;transform:translateY(27px);transition:opacity 720ms var(--ease-out),transform 720ms var(--ease-out)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}.js [data-enter]{opacity:0;transform:translateY(15%);transition:opacity 780ms var(--ease-out),transform 780ms var(--ease-out)}.js.is-ready [data-enter]{opacity:1;transform:translateY(0)}.js.is-ready [data-enter]:nth-child(2){transition-delay:70ms}.js.is-ready [data-enter]:nth-child(3){transition-delay:140ms}
@media (max-width:1100px){.v02-nav{gap:15px}.v02-nav a{font-size:10px}.case-card__content{min-height:490px}.case-card__copy h3{font-size:clamp(49px,5.5vw,77px)}.case-card__copy{padding:15px 4px}.v02-hero-title{font-size:clamp(67px,9.3vw,130px)}.hero-poster{top:23%;right:6%;opacity:.65}.method-card{flex-basis:420px}}
@media (max-width:780px){:root{--nav-h:70px}.v02-nav,.theme-label{display:none}.v02-menu-toggle{display:inline-flex}.v02-header{position:sticky}.mobile-nav{display:flex;flex-direction:column;gap:0;position:fixed;top:var(--nav-h);left:0;right:0;height:calc(100svh - var(--nav-h));background:var(--paper);padding:30px var(--gutter) 50px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),visibility 200ms;z-index:95;overflow:auto}.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-nav a{display:flex;justify-content:space-between;gap:10px;padding:24px 0;font:670 clamp(30px,7vw,60px)/1.1 var(--display);letter-spacing:-.055em;border-bottom:1px solid var(--line)}.mobile-nav span{font:600 12px var(--font);letter-spacing:0;color:var(--red)}.v02-hero{min-height:min(850px,calc(100svh - var(--nav-h)))}.v02-hero-title{font-size:clamp(58px,10.3vw,94px)}.v02-hero-bottom{grid-template-columns:1fr auto}.hero-poster{opacity:.22;top:24%;width:32vw;height:35vw}.hero-preamble-r{font-size:8px}.hero-intro{font-size:18px}.hero-right>p{display:none}.v02-section-head{grid-template-columns:1fr}.v02-section-head h2{font-size:clamp(45px,8vw,70px)}.section-deck{max-width:540px;margin-top:25px}.case-card__content,.case-item:nth-child(even) .case-card__content{display:flex;flex-direction:column-reverse;gap:0;min-height:0}.case-item:nth-child(even) .case-card__copy,.case-item:nth-child(even) .case-card__media{grid-row:auto;grid-column:auto}.case-card__media{height:420px;min-height:0}.case-card__copy{padding:30px 10px 18px}.case-card__eyebrow{margin-bottom:22px}.case-card__copy h3{font-size:clamp(48px,8vw,72px)}.case-card__copy>p{margin-top:19px}.case-card__view{padding-top:27px}.value-cards{grid-template-columns:1fr;gap:13px}.value-card{min-height:300px}.value-card h3{margin-top:100px}.v02-method{height:auto}.method-pin{position:static;height:auto;min-height:0;overflow:visible}.method-pin>.shell{padding-top:75px;padding-bottom:65px}.method-heading{display:block}.method-heading>p{margin-top:22px;max-width:520px}.method-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#1d0d10 transparent;margin-top:40px;touch-action:pan-x pan-y}.method-track{transform:none!important;will-change:auto;padding-bottom:14px}.method-card{flex-basis:min(77vw,410px);height:320px;scroll-snap-align:start}.method-progress{display:none}.method-hint{margin-top:10px}.exp-row{grid-template-columns:120px 1fr;gap:14px}.exp-status{grid-column:2;text-align:left;padding-top:0}.cv-cards{grid-template-columns:1fr}.cv-panel{min-height:360px}.v02-contact h2{font-size:clamp(55px,9.2vw,100px)}}
@media (max-width:540px){:root{--gutter:20px}.v02-logo{font-size:16px}.v02-logo-symbol{width:27px;height:27px}.v02-hero{min-height:calc(100svh - var(--nav-h));padding-top:25px;padding-bottom:16px}.hero-preamble-r{display:none}.v02-hero-title{font-size:clamp(48px,11.8vw,70px);line-height:1;letter-spacing:-.058em;padding-block:55px 35px}.title-line--last{font-size:.73em}.hero-poster{top:25%;right:10%;height:44vw;width:39vw;opacity:.22}.poster-rotator{padding:9px}.poster-rotator strong{font-size:29vw}.hero-intro{font-size:17px}.v02-hero-bottom{grid-template-columns:1fr;gap:22px;padding-bottom:28px}.hero-right{justify-content:flex-start}.round-link{width:54px;height:54px;flex-basis:54px;font-size:23px}.hero-baseline{font-size:8px;line-height:1.5}.hero-baseline span:first-child{max-width:180px}.v02-work,.v02-statement,.v02-experience,.v02-contact{padding-top:86px}.v02-section-head h2{font-size:clamp(40px,10vw,60px)}.v02-section-head{margin-bottom:43px}.case-card{padding:10px;border-radius:23px}.case-card__meta{padding:13px 9px 15px;font-size:9px}.case-card__meta span:last-child{font-size:8px}.case-card__media{height:auto;aspect-ratio:1/0.94;border-radius:15px}.case-card__copy{padding:25px 12px 17px}.case-card__copy h3{font-size:clamp(43px,10.9vw,63px)}.case-card__copy>p{font-size:14px}.case-card__tags span{font-size:9px}.work-tail{font-size:8px}.statement-title{font-size:clamp(39px,10vw,65px)}.value-card{padding:25px;min-height:285px}.value-card h3{font-size:39px}.method-heading h2{font-size:clamp(43px,11vw,61px)}.method-card{flex-basis:78vw;height:325px;padding:25px}.method-card h3{font-size:46px}.exp-heading h2{font-size:clamp(49px,10.4vw,72px)}.exp-heading>p{font-size:16px}.exp-row{grid-template-columns:1fr;gap:14px;padding:30px 0}.exp-kind,.exp-status{grid-column:auto}.exp-kind{font-size:10px}.exp-main h3{font-size:36px}.exp-status{text-align:left}.cv-panel h3{font-size:45px}.cv-panel{padding:25px;min-height:340px}.cv-note{font-size:9px}.v02-contact h2{font-size:clamp(48px,11.6vw,72px)}.contact-email{font-size:17px}.contact-email span{font-size:26px}.foot-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transform:none;transition:none}.js [data-enter]{opacity:1;transform:none;transition:none}.js.is-ready [data-enter]{opacity:1;transform:none;transition:none}.method-track{transform:none!important;will-change:auto}.case-card,.case-card__media .scene,.case-card__view b,.round-link{transition-property:color,background-color,opacity;transform:none!important}}

/* ===== v03 refinement: more faithful typography, more breathing room, hero image, and SVG logo slot ===== */
.v02-logo{gap:0;display:flex;align-items:center}
.v02-logo img{width:auto;height:38px;display:block}
.v02-logo-symbol,.brand-period{display:none}

.v02-hero{padding-top:clamp(52px,6vw,96px);padding-bottom:28px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(44px,5vw,98px);align-items:end;flex:1;padding-block:clamp(54px,7vh,112px)}
.hero-copy{display:flex;flex-direction:column;gap:clamp(34px,3vw,58px);min-width:0}
.v02-hero-title{font:650 clamp(60px,10.1vw,176px)/.88 var(--heading-now);letter-spacing:.018em;text-transform:uppercase;max-width:none;margin:0;padding:0}
.title-line{white-space:normal}
.title-line--red{color:var(--red)}
.title-line--last{font-size:.88em;letter-spacing:.022em;max-width:12ch}
.last-dot{color:var(--ink)}
.asterisk{display:none}
.v02-hero-bottom{grid-template-columns:minmax(280px,650px) auto;gap:clamp(26px,2vw,48px);padding-bottom:0}
.hero-intro{font-size:clamp(19px,1.45vw,26px);line-height:1.45;max-width:760px}
.hero-image{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;margin:0;min-height:clamp(420px,58vw,760px)}
.hero-image img{width:100%;height:min(100%,760px);object-fit:cover;border-radius:clamp(18px,2vw,28px);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.06);background:#111}
.hero-image figcaption{color:var(--muted);padding-inline:2px}
.hero-baseline{margin-top:clamp(34px,3vw,46px)}

.v02-work{padding-block:clamp(120px,13vw,220px) clamp(100px,10vw,155px)}
.v02-statement,.v02-experience,.v02-contact{padding-top:clamp(128px,14vw,225px)}
.v02-statement{padding-bottom:clamp(108px,11vw,180px)}
.v02-experience{padding-bottom:clamp(118px,10vw,170px)}
.v02-section-head{margin-bottom:clamp(60px,7vw,116px)}
.case-list{gap:clamp(32px,4vw,56px)}
.case-card{padding:clamp(20px,2.4vw,38px)}

@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;align-items:start}
  .hero-image{min-height:340px;max-width:min(100%,760px)}
  .v02-hero-title{font-size:clamp(62px,11vw,136px)}
}

@media (max-width:780px){
  .v02-logo img{height:32px}
  .hero-grid{gap:28px;padding-block:36px 18px}
  .v02-hero-title{font-size:clamp(56px,14vw,104px);line-height:.9;letter-spacing:.016em}
  .title-line--last{max-width:10ch;font-size:.84em}
  .hero-image{order:-1;min-height:0}
  .hero-image img{aspect-ratio:4/4.8;height:auto}
  .v02-hero-bottom{grid-template-columns:1fr;gap:26px}
}

@media (max-width:540px){
  .v02-logo img{height:28px}
  .v02-hero{padding-top:24px}
  .hero-grid{padding-block:24px 10px;gap:24px}
  .v02-hero-title{font-size:clamp(46px,15.2vw,74px);letter-spacing:.017em}
  .title-line--last{font-size:.8em;max-width:11ch}
  .hero-intro{font-size:17px}
  .hero-image img{border-radius:18px}
}


/* ===== v04 premium / futuristic refinements ===== */
:root{--paper:#f5f3ef;--paper-2:#f0ece6;--white:#ffffff;--ink:#0e0e0f;--dark:#0e0e0f;--dark-2:#151516;--dark-line:#2a2a2c;--red:#E6223D;--red-glow:rgba(230,34,61,.24)}
body.v02-page{background:var(--paper);color:var(--ink)}
.v02-header{background:color-mix(in srgb,var(--dark) 88%,transparent);border-bottom:1px solid rgba(255,255,255,.08)}
.v02-logo img{height:31px}.v02-nav a,.theme-toggle{color:#f3f3f3}.theme-toggle{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.03)}.theme-toggle:hover{background:rgba(255,255,255,.08)}
.theme-moon{color:#f3f3f3}.v02-menu-toggle{background:#f3f3f3;color:var(--dark)}
.mobile-nav{background:var(--dark);color:#f3f3f3}.mobile-nav a{border-bottom-color:rgba(255,255,255,.1)}

.v02-hero{position:relative;background:radial-gradient(circle at 78% 25%, rgba(230,34,61,.14), transparent 26%), radial-gradient(circle at 25% 78%, rgba(255,255,255,.07), transparent 20%), linear-gradient(180deg,#0e0e0f 0%, #111114 72%, #141417 100%);color:#f3f3f3;min-height:calc(100svh - var(--nav-h));overflow:hidden}
.hero-shell{position:relative;display:flex;flex-direction:column;min-height:calc(100svh - var(--nav-h));padding-top:clamp(44px,5vw,90px);padding-bottom:24px}
.hero-preamble{position:relative;z-index:5}.hero-preamble-r,.hero-baseline{color:rgba(243,243,243,.58)}
.hero-stage{position:relative;display:flex;flex:1;align-items:flex-end;justify-content:flex-start;padding-top:clamp(48px,8vw,120px);padding-bottom:clamp(48px,7vw,86px)}
.hero-copy{position:relative;z-index:4;max-width:min(1200px,100%)}
.v02-hero-title{font:650 clamp(72px,11vw,204px)/.84 var(--heading-now);letter-spacing:.035em;text-transform:uppercase;color:#f3f3f3;max-width:10.5ch;text-wrap:balance}
.title-line{display:block;white-space:normal}.title-line--red{color:var(--red);filter:drop-shadow(0 0 18px rgba(230,34,61,.14))}.title-line--last{font-size:.86em;max-width:9ch;color:#f3f3f3}.last-dot{display:none}
.hero-meta-row{display:grid;grid-template-columns:minmax(260px,670px) auto;gap:clamp(24px,3vw,54px);margin-top:clamp(42px,4vw,72px);align-items:end}
.hero-intro{font:400 clamp(18px,1.45vw,25px)/1.56 var(--font);max-width:760px;color:rgba(243,243,243,.92)}
.hero-right{color:rgba(243,243,243,.6)} .round-link{background:#f3f3f3;color:#0e0e0f;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 16px 48px rgba(0,0,0,.26)} .round-link:hover{background:var(--red);color:#fff}
.hero-image{position:absolute;right:max(-2vw,-24px);bottom:clamp(96px,7vw,120px);width:min(42vw,720px);z-index:1;margin:0;pointer-events:none;opacity:.8;transform:translate3d(0,0,0)}
.hero-image::before{content:'';position:absolute;inset:-6% -6% 8% 6%;border-radius:32px;background:radial-gradient(circle at 70% 20%, rgba(230,34,61,.28), transparent 28%), linear-gradient(180deg,rgba(255,255,255,.12), rgba(255,255,255,.02));filter:blur(40px);z-index:-1;opacity:.9}
.hero-image img{width:100%;height:auto;display:block;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:#131416;box-shadow:0 40px 100px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.04);filter:grayscale(1) contrast(1.05) brightness(.92)}
.hero-abstract{position:absolute;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(8px)}.orb--red{width:36vw;height:36vw;max-width:600px;max-height:600px;right:-10vw;top:16vh;background:radial-gradient(circle, rgba(230,34,61,.2) 0%, rgba(230,34,61,.06) 38%, transparent 68%)}.orb--white{width:22vw;height:22vw;max-width:300px;max-height:300px;left:-4vw;bottom:11vh;background:radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 68%)}
.grid-fade{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);background-size:52px 52px;mask-image:radial-gradient(circle at 68% 36%, black 20%, transparent 74%);opacity:.16}
.abstract-card{position:absolute;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.02));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 20px 60px rgba(0,0,0,.22)}
.abstract-card--a{width:min(22vw,280px);height:min(11vw,140px);right:20vw;top:18vh;transform:rotate(-12deg)}
.abstract-card--b{width:min(18vw,220px);height:min(18vw,220px);right:7vw;top:38vh;transform:rotate(14deg)}
.hero-marquee{position:relative;z-index:3;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:13px 0;background:linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.06), rgba(255,255,255,.02));margin-top:clamp(20px,2vw,30px)}
.hero-marquee-track{display:flex;gap:34px;min-width:max-content;animation:marquee 18s linear infinite}.hero-marquee-track span{font:650 11px/1 var(--font);letter-spacing:.18em;color:rgba(243,243,243,.74)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-baseline{border-top:0;padding-top:16px;position:relative;z-index:3}

.v02-work{background:linear-gradient(180deg, #f6f4ef 0%, #f2eee8 100%)}
.case-card,.value-card,.cv-panel{position:relative;overflow:hidden}
.case-card::before,.value-card::before,.cv-panel::before{content:'';position:absolute;inset:auto -10% -30% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(230,34,61,.12), transparent 66%);pointer-events:none;z-index:0}
.case-card__content,.value-card>*,.cv-panel>*{position:relative;z-index:1}
.case-card{box-shadow:0 12px 38px rgba(15,15,17,.035),0 40px 120px rgba(15,15,17,.05)}
.value-card{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,247,243,.96));border-color:#dbd7d0}
.v02-experience{background:radial-gradient(circle at 85% 18%, rgba(230,34,61,.16), transparent 22%), linear-gradient(180deg, #0e0e0f 0%, #121316 100%)}
.exp-table{border-top-color:rgba(255,255,255,.16)}.exp-row{border-bottom-color:rgba(255,255,255,.12)}.cv-panel{background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));border-color:rgba(255,255,255,.12)}
.v02-contact{background:linear-gradient(180deg,#dd1e39 0%, #c81b33 100%)}

.case-card__media .scene{will-change:transform}
[data-parallax]{will-change:transform}
@media (max-width:1100px){.hero-image{width:min(52vw,620px);right:-4vw;bottom:96px}.v02-hero-title{font-size:clamp(64px,12vw,150px)}.hero-meta-row{grid-template-columns:minmax(240px,1fr) auto}}
@media (max-width:780px){.v02-header{background:rgba(14,14,15,.92)}.hero-shell{min-height:calc(100svh - var(--nav-h))}.hero-stage{padding-top:30px;padding-bottom:44px}.v02-hero-title{font-size:clamp(58px,15vw,108px);max-width:9.8ch}.hero-meta-row{grid-template-columns:1fr;gap:24px}.hero-image{position:relative;right:auto;bottom:auto;width:100%;max-width:460px;margin:22px 0 0 auto;opacity:.75}.hero-marquee{margin-top:12px}.abstract-card--a{right:38vw;top:17vh;width:160px;height:84px}.abstract-card--b{right:4vw;top:36vh;width:160px;height:160px}}
@media (max-width:540px){.v02-logo img{height:27px}.v02-hero-title{font-size:clamp(50px,14.8vw,78px)}.hero-intro{font-size:17px}.hero-image{max-width:86vw}.hero-marquee-track{gap:24px}}
