:root{--bg:#0d0c0c;--paper:#ebe8e4;--red:#b80005;--red-bright:#da040b;--line:#383030;--muted:#a69d9b;--cond:'Barlow Condensed','Roboto Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:#f6f2ef;font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #fe3e42;outline-offset:5px}img{display:block;max-width:100%}::selection{background:#e21b25;color:white}.accent,.red-punct{color:var(--red-bright)}.dim{opacity:.45}.display{font-family:var(--cond);font-weight:900;letter-spacing:-.032em;line-height:.82;margin:0;text-transform:uppercase}.wide{width:min(100%,1620px);padding-inline:clamp(24px,6vw,108px);margin-inline:auto}.section{padding-block:clamp(115px,13vw,230px)}.overline,.small-heading,.mini-label{font-size:11px;font-weight:800;letter-spacing:.18em}.section-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:800;font-size:11px;letter-spacing:.17em;border-top:1px solid currentColor;padding-top:18px;margin-bottom:clamp(65px,8vw,140px);opacity:.9}.section-eyebrow>span:last-child{opacity:.5}#scrollProgress{position:fixed;left:0;top:0;height:3px;background:var(--red-bright);width:0;z-index:1001}
/* Full-screen entry — close visual direction to supplied screenshot, original content and branding */
.entry-screen{position:fixed;inset:0;z-index:999;background:radial-gradient(ellipse at 16% 2%,#656565 0%,#282222 45%,#1a1515 100%);padding:clamp(10px,1.1vh,22px) clamp(10px,4.2vw,80px);display:grid;place-items:center;transition:opacity .85s cubic-bezier(.2,.7,.3,1),visibility .85s}.entry-screen::after{content:'';position:absolute;inset:auto 0 0 0;height:16vh;background:linear-gradient(0deg,#101010a8,transparent);pointer-events:none}.entry-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.entry-glow{position:absolute;inset:12% 0 0;background:radial-gradient(ellipse at 25% 45%,#aa000055,transparent 55%);filter:blur(48px);pointer-events:none;animation:ambient 9s ease-in-out infinite alternate}.entry-panel{isolation:isolate;position:relative;height:min(95vh,800px);min-height:530px;width:min(100%,1200px);border:1px solid #7b717135;border-radius:clamp(20px,2.4vw,32px);background:radial-gradient(ellipse at 45% 56%,#351314 0%,#1b1011 35%,#211f1f 75%,#141212 100%);box-shadow:0 35px 85px #0009, inset 0 0 45px #0005;overflow:hidden;display:grid;place-items:center}.entry-panel-light{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,#fefefe13,transparent 34%),radial-gradient(ellipse at 80% 70%,#d3afaf0d,transparent 44%)}.entry-content{width:100%;padding:55px 20px 40px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:1}.entry-kicker{font-size:clamp(9px,1vw,12px);letter-spacing:.4em;color:#968d8d;font-weight:800;margin:0 0 28px}.entry-heading{font-family:var(--cond);font-weight:900;letter-spacing:-.045em;font-size:clamp(74px,12.4vw,185px);line-height:.77;white-space:nowrap;margin:0 0 40px;transform:scaleX(.95);transform-origin:center}.entry-heading span{display:block}.entry-heading .entry-red{color:var(--red);margin-top:7px}.entry-caption{font-size:clamp(13px,1.3vw,16px);color:#a9a0a0;margin:0 0 38px}.entry-cta{border:1px solid #675555;background:transparent;min-width:min(310px,85%);border-radius:99px;padding:22px 34px;color:white;letter-spacing:.13em;font-size:13px;font-weight:800;cursor:pointer;transition:background .3s,transform .3s,border-color .3s}.entry-cta span{margin-left:20px}.entry-cta:hover{background:#bb0009;border-color:#c4070e;transform:translateY(-4px)}.entry-sound{background:none;border:0;color:#776d6e;letter-spacing:.18em;font-weight:800;font-size:10px;margin-top:20px;cursor:pointer;padding:8px}.entry-sound i{display:inline-block;width:4px;height:4px;background:var(--red-bright);vertical-align:middle;margin-right:8px}.entry-sound[aria-pressed=false] i{background:#888}
/* Header */
.site-header{height:84px;position:relative;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(24px,6vw,108px);border-bottom:1px solid #382c2d;background:#0b0a0af5}.wordmark{font-weight:900;font-size:30px;letter-spacing:-.07em}.header-middle,.desktop-nav,.mobile-menu{font-size:11px;letter-spacing:.13em;font-weight:800}.header-middle{color:#a69e9e;display:flex;align-items:center;gap:10px}.availability-dot{width:7px;height:7px;border-radius:50%;background:#d83e36;box-shadow:0 0 12px #d93a35aa}.desktop-nav{display:flex;gap:25px}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:#f34b53}.mobile-menu{display:none;color:white;background:transparent;border:1px solid #443537;border-radius:50px;padding:10px 14px}.mobile-nav{position:fixed;z-index:79;inset:84px 0 auto;background:#161111;border-bottom:1px solid #523839;padding:25px;display:grid;gap:5px}.mobile-nav[hidden]{display:none}.mobile-nav a{font-family:var(--cond);font-weight:800;font-size:35px;border-bottom:1px solid #483738;padding:10px}
/* Hero */
.hero{position:relative;min-height:min(870px,calc(100svh - 84px));background:radial-gradient(ellipse at 64% 50%,#381718 0%,#100d0e 45%,#0b0a0a 78%);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero:after{position:absolute;content:'AAG';right:-5vw;top:2%;font:900 37vw/1 var(--cond);color:#ffffff03;pointer-events:none}.hero-noise{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0px,transparent 11px,#fff1 12px,transparent 13px);opacity:.11}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;gap:20px;font-weight:800;font-size:10px;letter-spacing:.15em;position:relative;z-index:2}.hero-topline{padding-top:35px;color:#aea3a3}.hero-bottom{border-top:1px solid #594446;padding-block:19px 30px;align-items:center;color:#9a8c8c}.hero-bottom a{color:#eee}.hero-bottom a span{font-size:22px;margin-left:12px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);gap:2vw;align-items:center;flex:1;position:relative;z-index:1;padding-block:40px 60px}.hero-copy{position:relative;z-index:2}.hero-copy .overline{color:#c7a9a9;margin:0 0 20px}.hero-display{font-size:clamp(100px,12.8vw,205px);white-space:nowrap}.hero-indent{margin-left:7vw}.hero-display em{font-style:normal;color:var(--red-bright)}.hero-subrow{display:flex;align-items:start;gap:23px;margin-top:34px;margin-left:7vw}.hero-line{width:64px;height:1px;background:#c3adad;margin-top:14px;flex-shrink:0}.hero-subrow p{font-size:clamp(14px,1.4vw,18px);line-height:1.65;max-width:390px;color:#c4b9b9;margin:0}.hero-portrait-block{position:relative;max-width:520px;justify-self:end;width:100%;margin-top:46px}.hero-portrait-label{font-size:10px;letter-spacing:.15em;color:#a89797;position:absolute;left:-2px;top:-25px}.portrait-frame{width:100%;aspect-ratio:4/5.2;overflow:hidden;border:1px solid #6c3938;position:relative;transform:rotate(3deg);box-shadow:16px 22px 0 #9b0008,40px 60px 90px #0006;background:#471313}.profile-image{height:100%;width:100%;object-fit:cover;object-position:center 15%;filter:saturate(.75) contrast(1.06)}.portrait-stamp{position:absolute;right:-6%;bottom:10%;z-index:3;background:#f3eee6;color:#0d0b0b;width:clamp(110px,10vw,180px);aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-around;align-items:center;transform:rotate(-11deg);padding:15px 8px;text-align:center;font:800 10px/1 var(--body);letter-spacing:.09em}.portrait-stamp strong{font:900 clamp(24px,3vw,43px)/.85 var(--cond);letter-spacing:-.025em}.intro-rise{animation:introUp 1s both}.delay-one{animation-delay:.12s}.delay-two{animation-delay:.22s}
.ticker{background:var(--red);color:#f5e7e6;overflow:hidden;white-space:nowrap;border-block:1px solid #c12525}.ticker-track{width:max-content;font:900 clamp(20px,3.3vw,50px)/1.05 var(--cond);letter-spacing:.025em;padding:17px 0;animation:marquee 32s linear infinite}.ticker-track span{color:#260304;margin:0 30px}
/* Work */
.work-section{background:var(--paper);color:#161212}.section-intro{display:flex;justify-content:space-between;align-items:start;gap:40px}.section-intro .mini-label{max-width:210px;line-height:1.7;padding-top:17px}.split-title h2{font-size:clamp(90px,10.8vw,174px);text-align:right;flex:1}.type-outline{-webkit-text-stroke:1.5px #262021;color:transparent}.work-intro{max-width:410px;color:#52494a;font-size:15px;line-height:1.8;margin:40px 0 90px auto}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,95px);align-items:start}.work-card{min-width:0}.work-card:nth-child(even){margin-top:165px}.work-visual{width:100%;aspect-ratio:4/3.7;position:relative;overflow:hidden;background:#251a1a;color:white;display:grid;place-items:center}.work-card:nth-child(2n) .work-visual{background:#b40007}.work-card:nth-child(3n) .work-visual{background:#333033}.work-card:nth-child(4n) .work-visual{background:#adaba7}.work-visual img,.work-visual video{width:100%;height:100%;object-fit:cover}.work-fallback{background:radial-gradient(circle at 65% 40%,#852128,#2a171a 63%,#140f0f)}.work-visual-type{position:absolute;bottom:-.1em;right:.1em;font:900 clamp(180px,24vw,410px)/1 var(--cond);opacity:.13;letter-spacing:-.07em}.work-visual>span{z-index:1;font-weight:800;letter-spacing:.16em;font-size:10px;border:1px solid #ffffff5b;border-radius:30px;padding:12px 18px}.work-card:hover .work-visual img{transform:scale(1.04)}.work-visual img{transition:transform .7s}.work-details{padding:22px 0}.work-tag{display:block;font-size:10px;letter-spacing:.15em;font-weight:800;color:#615859}.work-details h3{font:900 clamp(46px,6vw,93px)/.86 var(--cond);letter-spacing:-.025em;margin:17px 0 10px;text-transform:uppercase;overflow-wrap:anywhere}.work-details>span:last-child{font-size:13px;line-height:1.6;color:#5b5151}.work-details .project-description{max-width:530px;font-size:14px;line-height:1.7;color:#5b5151}.project-visit{display:inline-block;font-size:11px;letter-spacing:.13em;font-weight:800;border-bottom:1px solid #292121;margin-top:12px;padding-bottom:6px}.section-jump{display:flex;justify-content:space-between;margin-top:100px;padding:26px 0;border-top:1px solid #b8aaa8;font-size:12px;letter-spacing:.12em;font-weight:800}.section-jump span{font-size:22px}
/* About */
.about-section{background:#151111}.about-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,135px)}.about-left>h2{font-size:clamp(88px,8.1vw,140px);margin-bottom:80px}.about-left>h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #c7b9b9}.about-photo-wrap{width:min(92%,580px);position:relative;aspect-ratio:4/4.5;background:#4c1819;overflow:hidden}.about-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.58)}.about-image-sticker{position:absolute;right:18px;bottom:18px;background:var(--red-bright);padding:11px 14px;font-size:10px;letter-spacing:.12em;font-weight:800}.about-right{padding-top:clamp(15px,9vw,165px)}.about-asterisk{display:block;color:var(--red-bright);font-size:70px;line-height:1}.about-right h3{font:900 clamp(63px,7vw,115px)/.87 var(--cond);letter-spacing:-.035em;margin:45px 0 60px}.about-lead{font-size:clamp(20px,2vw,29px)!important;color:#f4eeee!important;line-height:1.5!important}.about-right p{line-height:1.95;font-size:15px;color:#afa4a4;margin:0 0 28px;max-width:565px}.about-signoff{border-top:1px solid #4f4040;margin-top:65px;display:flex;justify-content:space-between;padding-top:20px;font-size:10px;font-weight:800;letter-spacing:.13em}
/* Service cards */
.services-section{background:#d9d4cf;color:#180e0e}.services-section .section-eyebrow{margin-bottom:90px}.service-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:50px;margin-bottom:80px}.service-heading h2{font-size:clamp(87px,9vw,154px)}.service-heading p{font-size:16px;line-height:1.75;max-width:380px;color:#615454}.service-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;isolation:isolate}.service-card{background:#170f10;color:#fff;text-align:left;border:1px solid #241010;min-height:270px;padding:clamp(22px,2.5vw,37px);cursor:grab;display:flex;flex-direction:column;align-items:flex-start;position:relative;touch-action:none;transform:translate3d(var(--dx,0px),var(--dy,0px),0);box-shadow:0 8px 0 #bdb3b0;transition:background .25s,box-shadow .25s,filter .25s;z-index:1}.service-card:nth-child(2),.service-card:nth-child(5){background:#b9000a}.service-card:nth-child(3),.service-card:nth-child(6){background:#352023}.service-card:hover{box-shadow:0 20px 35px #7c5e5e55;z-index:2}.service-card.dragging{z-index:30;cursor:grabbing;box-shadow:0 30px 70px #4b262688}.service-card strong{display:block;font:900 clamp(43px,4.1vw,76px)/.89 var(--cond);letter-spacing:-.02em;text-transform:uppercase;margin:37px 0 10px;max-width:100%;overflow-wrap:break-word}.service-number{font-size:10px;font-weight:800;letter-spacing:.17em;color:#d5c5c5}.service-desc{font-size:12px;color:#cbbfbe;line-height:1.55;max-width:250px;margin-top:auto;padding-top:25px}.service-arrow{position:absolute;right:25px;top:22px;font-size:28px;line-height:1}.service-footnote{margin:28px 0 0;color:#695c5c;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.11em;font-weight:800}.service-footnote span{color:var(--red)}.service-stage.burst .service-card{animation:burstIn .7s cubic-bezier(.18,1.25,.24,1) both;animation-delay:calc(var(--card-i)*95ms)}
/* Process */
.process-section{background:#100e0e}.process-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:110px}.process-intro h2{font-size:clamp(85px,9.6vw,162px)}.process-intro h2 em{font-style:normal;color:var(--red-bright)}.process-intro p{font-size:15px;line-height:1.75;color:#b2a5a5;max-width:300px}.process-row{display:grid;grid-template-columns:70px 1fr minmax(170px,.45fr) 35px;align-items:center;gap:40px;border-top:1px solid #4a3d3c;padding:33px 0}.process-row:last-child{border-bottom:1px solid #4a3d3c}.process-row>span:first-child{color:var(--red-bright);font-size:12px;font-weight:800}.process-row h3{font:900 clamp(50px,5vw,90px)/.9 var(--cond);margin:0}.process-row p{font-size:14px;line-height:1.6;color:#a99b9b;max-width:360px}.process-arrow{font-size:28px;text-align:right;color:var(--red-bright)}
/* Experience */
.experience-section{background:#dedad6;color:#150e0e}.experience-title{font-size:clamp(84px,9.9vw,161px);margin-bottom:125px}.exp-story{display:grid;gap:90px}.exp-scene{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,110px);min-height:580px;border-top:1px solid #b0a6a1;padding-top:70px}.exp-scene:nth-child(even) .exp-copy{order:2}.exp-scene:nth-child(even) .exp-visual{order:1}.exp-date{font-size:11px;font-weight:800;letter-spacing:.14em;color:#675959}.exp-copy h3{font:900 clamp(68px,6.5vw,113px)/.85 var(--cond);letter-spacing:-.03em;margin:35px 0}.exp-copy p{font-size:15px;line-height:1.8;max-width:430px;color:#695c5c}.exp-visual{position:relative;height:520px}.float-shot{position:absolute;background:#21171a;color:#b9aaac;border:9px solid #f9f4f0;box-shadow:18px 25px 60px #35252535;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:.12em;text-align:center;padding:12px;overflow:hidden}.float-shot img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.shot-a{left:3%;top:2%;width:58%;height:68%;transform:rotate(-7deg)}.shot-b{right:0;top:20%;width:54%;height:56%;transform:rotate(6deg);background:#ac080d}.shot-c{left:28%;bottom:0;width:42%;height:41%;transform:rotate(2deg);background:#403033}.education-panel{margin-top:140px;background:#191112;color:#fff;padding:clamp(30px,5vw,70px);display:grid;grid-template-columns:1.3fr .7fr;gap:50px}.education-panel .small-heading{color:#ac8d8d}.education-panel h3{font:900 clamp(42px,4vw,70px)/.96 var(--cond);margin:35px 0 22px}.education-panel h3 span{color:#f14c54}.education-panel p{color:#b9a7a6;line-height:1.6;font-size:13px}.education-right{display:grid;gap:0}.education-right>div{padding:18px 0;border-bottom:1px solid #584242}.education-right span{display:block;font-size:10px;letter-spacing:.12em;color:#ab9999;margin-bottom:11px}.education-right strong{font:800 25px/1.1 var(--cond)}
/* Certificates */
.cert-section{background:#151010}.certificate-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:80px}.certificate-heading h2{font-size:clamp(86px,9.4vw,157px)}.certificate-heading p{max-width:310px;line-height:1.85;font-size:15px;color:#aea0a0}.certs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.cert{border:1px solid #4d3838;background:#201718}.cert-img{aspect-ratio:1.32;background:#342020;display:grid;place-items:center;color:#b5a6a6;font-size:10px;font-weight:800;letter-spacing:.1em}.cert-img img{width:100%;height:100%;object-fit:cover}.cert-info{padding:25px}.cert-info h3{margin:0 0 10px;font:800 27px/1 var(--cond)}.cert-info p{color:#b7a7a7;font-size:12px}.certificate-empty{border:1px dashed #725252;grid-column:1/-1;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.certificate-empty>span{font-size:50px;color:#d00a12}.certificate-empty strong{font:900 clamp(40px,7vw,85px)/1 var(--cond)}.certificate-empty p{color:#998b8b;font-size:13px}
/* Contact */
.contact-section{background:var(--red);padding:clamp(105px,13vw,230px) 0 clamp(65px,7vw,135px);color:#fff}.contact-section .section-eyebrow{margin-bottom:130px}.contact-small{font-size:12px;letter-spacing:.15em;font-weight:800}.contact-title{font-size:clamp(120px,17vw,290px);letter-spacing:-.05em;margin:32px 0 100px}.contact-title span{color:transparent;-webkit-text-stroke:2px #fff}.contact-lower{display:flex;justify-content:space-between;align-items:end;gap:45px}.contact-link{min-width:300px;max-width:550px;width:100%;border:1px solid #ffffff9b;border-radius:100px;padding:26px 32px;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:12px;letter-spacing:.13em;transition:background .25s,color .25s}.contact-link:hover{background:#fff;color:#ad0007}.contact-link span{font-size:22px}.contact-lower p{font-size:11px;letter-spacing:.12em;line-height:2;color:#f6d7d7}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px;color:#9f9090;font-size:10px;font-weight:800;letter-spacing:.1em}.site-footer>a{font-size:27px;font-weight:900;color:white;letter-spacing:-.08em}.site-footer>div{display:flex;gap:25px}.site-footer a:hover{color:white}
/* Proof modal */
.proof-modal{position:fixed;inset:0;z-index:500;background:#080404dd;backdrop-filter:blur(13px);display:none;place-items:center;padding:20px}.proof-modal.open{display:grid;animation:fadeIn .25s both}.proof-dialog{position:relative;width:min(1100px,100%);max-height:min(90svh,1000px);overflow:auto;padding:clamp(25px,5vw,65px);background:#171010;color:#fff;box-shadow:0 40px 100px #000c;border:1px solid #655050;animation:proofPop .4s cubic-bezier(.2,1.25,.35,1) both}.proof-dialog-top,.proof-modal-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;letter-spacing:.15em;color:#c8b3b3;font-weight:800}.proof-dialog-top button{background:transparent;color:#fff;border:1px solid #654747;border-radius:100px;padding:10px 16px;cursor:pointer;font-weight:800;font-size:10px}.proof-dialog h2{font-size:clamp(66px,10vw,130px);max-width:90%;margin:50px 0 18px}.proof-dialog>p{color:#b5a3a3;font-size:15px;line-height:1.7}.proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:45px 0}.proof-item{border:1px solid #493434;min-width:0}.proof-media{aspect-ratio:16/10;background:#322021;display:grid;place-items:center;color:#bfa6a6;text-align:center;font-size:12px}.proof-media img,.proof-media video{width:100%;height:100%;object-fit:cover}.proof-meta{padding:20px;display:grid;gap:7px}.proof-meta b{font-size:16px}.proof-meta span{font-size:13px;color:#b19f9f}.proof-empty{grid-column:1/-1;border:1px dashed #775454;padding:55px 20px;text-align:center;color:#b5a2a2;line-height:1.7}.proof-modal-bottom{border-top:1px solid #5b4141;padding-top:22px}.proof-modal-bottom a{color:#f44a54}.site-sound{position:fixed;z-index:100;right:22px;bottom:22px;border:1px solid #8b5d5d;background:#171010e8;color:white;border-radius:100px;padding:13px 18px;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.12em;backdrop-filter:blur(12px)}.site-sound[hidden]{display:none}
/* Animation */
.reveal{opacity:0;transform:translateY(45px);filter:blur(6px);transition:opacity .85s cubic-bezier(.2,.7,.25,1),transform .85s cubic-bezier(.2,.7,.25,1),filter .85s}.reveal.is-visible{opacity:1;transform:none;filter:none}@keyframes introUp{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes ambient{to{transform:translate(5%,8%)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes burstIn{0%{opacity:0;scale:.68;filter:blur(9px)}65%{opacity:1;scale:1.05;filter:blur(0)}100%{opacity:1;scale:1}}@keyframes proofPop{from{opacity:0;transform:translateY(35px) scale(.92)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:1200px){.entry-heading{font-size:clamp(75px,13.3vw,160px)}.hero-display{font-size:clamp(95px,12vw,155px)}.about-left>h2{font-size:clamp(75px,9vw,125px)}.service-card strong{font-size:clamp(40px,4.5vw,65px)}}
@media(max-width:900px){.wide{padding-inline:clamp(20px,5vw,45px)}.site-header{padding-inline:clamp(20px,5vw,45px)}.header-middle,.desktop-nav{display:none}.mobile-menu{display:block}.hero{min-height:0}.hero-topline{padding-top:22px}.hero-layout{grid-template-columns:1fr;padding-block:60px 90px;gap:90px}.hero-display{font-size:clamp(95px,18vw,190px)}.hero-portrait-block{max-width:540px;justify-self:center;margin-right:35px}.hero-subrow{margin-left:0}.hero-bottom{font-size:9px}.projects-grid{gap:30px}.work-card:nth-child(even){margin-top:110px}.section-intro{flex-direction:column}.split-title h2{text-align:left}.work-intro{margin-left:0}.about-layout{grid-template-columns:1fr;gap:35px}.about-left>h2{margin-bottom:50px}.about-photo-wrap{max-width:430px}.about-right{padding-top:20px}.about-right h3{margin:24px 0 35px}.service-heading{grid-template-columns:1fr;gap:20px}.service-heading h2{font-size:clamp(80px,12vw,120px)}.service-stage{grid-template-columns:repeat(2,1fr)}.service-card strong{font-size:clamp(44px,6vw,65px)}.process-intro{display:block}.process-intro p{margin-top:30px}.process-row{gap:20px;grid-template-columns:45px 1fr minmax(150px,.6fr) 20px}.exp-scene{grid-template-columns:1fr;min-height:0}.exp-scene:nth-child(even) .exp-copy,.exp-scene:nth-child(even) .exp-visual{order:initial}.exp-visual{height:480px;max-width:640px}.certificate-heading{display:block}.certificate-heading p{margin-top:30px}.contact-title{font-size:clamp(100px,16vw,175px)}}
@media(max-width:620px){.entry-screen{padding:10px}.entry-panel{min-height:490px;height:calc(100svh - 20px);border-radius:24px}.entry-kicker{font-size:8px;letter-spacing:.22em;margin-bottom:35px}.entry-heading{font-size:clamp(62px,15.5vw,110px);white-space:nowrap;margin-bottom:45px}.entry-caption{font-size:13px;margin-bottom:35px}.entry-cta{min-width:0;width:min(315px,94%);padding:20px 15px;font-size:11px}.site-header{height:70px}.mobile-nav{top:70px}.section{padding-block:95px}.section-eyebrow{font-size:9px;letter-spacing:.11em;gap:10px;margin-bottom:60px}.section-eyebrow>span:last-child{text-align:right}.hero-topline{font-size:8px}.hero-topline>span:last-child{text-align:right}.hero-layout{padding-top:70px;gap:75px}.hero-display{font-size:clamp(84px,21vw,130px)}.hero-indent{margin-left:5vw}.hero-subrow p{font-size:14px}.hero-portrait-block{width:82%;margin:0 15px 0 0}.portrait-stamp{right:-18%;bottom:10%}.hero-bottom{font-size:8px;line-height:1.8}.hero-bottom span{max-width:60%}.ticker-track{font-size:24px}.split-title h2,.about-left>h2,.service-heading h2,.process-intro h2,.experience-title,.certificate-heading h2{font-size:clamp(65px,17vw,110px)}.work-intro{margin:20px 0 50px}.projects-grid{grid-template-columns:1fr;gap:55px}.work-card:nth-child(even){margin-top:0}.work-visual{aspect-ratio:4/3.3}.work-details h3{font-size:60px}.section-jump{margin-top:60px}.about-left>h2{font-size:clamp(61px,14.5vw,95px)}.about-photo-wrap{width:100%}.about-right h3{font-size:clamp(63px,14vw,90px)}.service-stage{grid-template-columns:1fr;gap:14px}.service-card{min-height:205px;padding:25px;touch-action:pan-y;cursor:pointer}.service-stage.burst .service-card{animation:burstIn .5s ease-out both;animation-delay:calc(var(--card-i)*65ms)}.service-card strong{font-size:clamp(54px,13vw,85px);margin:25px 0 8px}.service-footnote{font-size:9px;line-height:1.5}.process-intro{margin-bottom:65px}.process-row{grid-template-columns:35px 1fr 20px;gap:12px;padding:26px 0}.process-row h3{font-size:58px}.process-row p{grid-column:2;grid-row:2;margin:0}.process-row .process-arrow{grid-column:3;grid-row:1}.exp-story{gap:60px}.exp-scene{padding-top:40px}.exp-copy h3{font-size:clamp(66px,17vw,100px)}.exp-visual{height:315px}.float-shot{border-width:5px;font-size:8px}.education-panel{grid-template-columns:1fr;gap:20px;margin-top:70px}.certs{grid-template-columns:1fr}.contact-section{padding-top:115px}.contact-title{font-size:clamp(79px,19vw,145px);margin-bottom:85px}.contact-lower{flex-direction:column;align-items:start}.contact-link{min-width:0}.site-footer{flex-wrap:wrap;padding-block:30px;line-height:1.8}.site-footer>span{order:3;width:100%}.proof-dialog{padding:25px 20px}.proof-grid{grid-template-columns:1fr}.proof-dialog h2{font-size:clamp(65px,17vw,95px);max-width:100%}.proof-dialog-top{font-size:9px}.proof-modal-bottom{font-size:9px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}}


/* 2026 • Anna Alexia P. Gabot personal brand system. These overrides intentionally take precedence over the base responsive layout. */
.wordmark{display:inline-flex;align-items:baseline;gap:.16em;white-space:nowrap;font-family:var(--cond);font-size:clamp(21px,2.1vw,31px);font-weight:900;letter-spacing:-.028em;line-height:1;flex-shrink:0}
.wordmark .brand-last{color:#eee4e2}.wordmark .brand-last .red-punct{color:var(--red-bright)}
.hero{background:radial-gradient(ellipse at 73% 56%,#42191b 0%,#160e0f 39%,#0b0a0a 78%)}
.hero-layout{grid-template-columns:minmax(0,1.17fr) minmax(300px,.83fr);gap:clamp(20px,2.3vw,45px);padding-top:clamp(42px,5vw,80px)}
.hero-copy{min-width:0}
.hero-copy .hero-kicker{display:flex;align-items:center;gap:13px;letter-spacing:.23em;font-size:clamp(11px,1.05vw,15px);margin-bottom:clamp(22px,3vw,45px);color:#f1e4e1}
.mini-red-line{width:29px;height:3px;background:var(--red-bright);display:inline-block;flex-shrink:0}
.hero-display{font-size:clamp(91px,10.4vw,178px);line-height:.80;letter-spacing:-.045em;white-space:nowrap;width:max-content;max-width:none;position:relative;text-shadow:0 1px 1px #0003}
.hero-name-line{display:block}.hero-name-middle{padding-left:clamp(18px,2.65vw,46px)}
.hero-name-last{color:#ea0a14;letter-spacing:-.048em}.hero-name-period{color:#f6f1ee}
.hero-identity{display:flex;align-items:center;gap:16px;margin-top:clamp(28px,3vw,52px)}
.hero-identity-rule{display:block;background:var(--red-bright);width:4px;height:49px;flex-shrink:0}
.hero-identity strong{display:block;color:#fff;font-size:clamp(16px,1.45vw,23px);font-weight:800;letter-spacing:.12em}
.hero-identity small{display:block;margin-top:7px;font-size:10px;letter-spacing:.17em;font-weight:700;color:#c8abaa}
.hero-subrow{margin:20px 0 0;gap:12px}.hero-line{width:27px;background:#cf4b4f;margin-top:12px}.hero-subrow p{font-size:clamp(13px,1.1vw,16px);line-height:1.65;max-width:430px;color:#cbbebd}
.hero-specialties{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:27px;max-width:670px}
.hero-specialties a{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.06em;border:1px solid #664242;background:#1a1011;color:#fff;padding:13px 14px;border-radius:2px;transition:border-color .2s,background .2s,transform .2s}
.hero-specialties a span{color:#fa5158;font-size:10px}.hero-specialties a:hover{background:#b6050c;border-color:#b6050c;transform:translateY(-3px)}.hero-specialties a:hover span{color:white}
.hero-portrait-block{z-index:1;margin-top:38px}.hero-portrait-label{font-size:9px;letter-spacing:.12em}
.portrait-stamp strong{font-size:clamp(18px,2.25vw,32px);line-height:.85}
.ticker-track{letter-spacing:.033em}.ticker-track span{color:#430608}
.skills-intro-strong{display:block;font-size:11px;letter-spacing:.17em;color:#b9000a;margin-bottom:17px}
.service-card{border-top:5px solid #e50a17}.service-card:nth-child(2),.service-card:nth-child(5){border-top-color:#1b0c0c}
.service-card strong{letter-spacing:-.035em}.service-card:hover strong,.service-card:focus-visible strong{color:#ff6570}.service-card:nth-child(2):hover strong,.service-card:nth-child(5):hover strong{color:#fff9f6}
.service-card .service-number{font-weight:900}.service-card .service-arrow{color:#ff565e}.service-card:nth-child(2) .service-arrow,.service-card:nth-child(5) .service-arrow{color:white}
.footer-brand{font-size:clamp(20px,2vw,27px)!important;letter-spacing:-.035em!important}
@media(max-width:1320px) and (min-width:901px){
  .hero-display{font-size:clamp(82px,9.6vw,145px)}
  .hero-portrait-block{max-width:465px}
  .header-middle{font-size:9px}
  .desktop-nav{gap:17px}
}
@media(max-width:900px){
  .hero-layout{grid-template-columns:1fr;gap:65px;padding-top:55px}
  .hero-copy{max-width:100%}
  .hero-display{font-size:clamp(90px,17vw,157px)}
  .hero-name-middle{padding-left:clamp(10px,3vw,28px)}
  .hero-portrait-block{max-width:490px}
  .hero-specialties{margin-top:25px}
  .wordmark{font-size:clamp(22px,3vw,28px)}
}
@media(max-width:620px){
  .wordmark{font-size:clamp(19px,5.15vw,27px);letter-spacing:-.035em}
  .site-header{gap:10px}
  .hero-layout{padding-top:56px;gap:65px}
  .hero-display{font-size:clamp(72px,17.6vw,108px);letter-spacing:-.048em;line-height:.83}
  .hero-copy .hero-kicker{font-size:11px;letter-spacing:.16em;margin-bottom:32px}
  .hero-name-middle{padding-left:12px}
  .hero-identity{margin-top:37px}.hero-identity strong{font-size:15px;letter-spacing:.09em}
  .hero-identity small{font-size:9px;letter-spacing:.11em}
  .hero-subrow{margin-top:17px}
  .hero-specialties{gap:7px}.hero-specialties a{font-size:9px;padding:11px 10px}
  .hero-portrait-block{width:85%}
  .service-heading h2{font-size:clamp(62px,14vw,99px)}
  .service-card strong{font-size:clamp(54px,13vw,85px)}
}
@media(max-width:390px){
  .wordmark{font-size:19px}
  .hero-display{font-size:clamp(68px,16.9vw,77px)}
  .hero-specialties a{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.hero-specialties a:hover{transform:none}}
/* Keep the full-name wordmark present as readers navigate the portfolio. */
.site-header{position:sticky;top:0}
.exp-scene,.exp-copy,.exp-visual{min-width:0}
@media(max-width:390px){
 .exp-scene{grid-template-columns:minmax(0,1fr)}
 .exp-copy h3{font-size:clamp(52px,15.7vw,65px)}
 .exp-date{font-size:9px;letter-spacing:.08em}
 .exp-visual{max-width:100%}
 .exp-copy p{overflow-wrap:break-word}
}
/* PROJECT ARCHIVE / visual reference inspired gallery — 2026 */
.work-section{background:#151010;color:#f8f7f6;position:relative;padding-block:clamp(90px,10vw,155px)}
.work-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 68% 32%,#3a070914,transparent 65%)}
.archive-wide{max-width:1540px;position:relative}
.archive-topline{display:flex;justify-content:space-between;gap:20px;align-items:center;font-weight:900;font-size:clamp(10px,1.2vw,14px);letter-spacing:-.025em;margin-bottom:clamp(35px,4vw,64px)}
.archive-topline em{font-style:normal;color:#e4000b}.archive-topline>span:last-child{font-size:12px}
.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:clamp(45px,5.2vw,84px)}
.archive-heading h2{font:900 clamp(64px,8.5vw,137px)/.8 var(--body);letter-spacing:-.085em;margin:0;max-width:100%;text-transform:lowercase}
.archive-heading h2 span{color:#cd000a}.archive-heading p{font-size:clamp(12px,1vw,15px);line-height:1.8;color:#c2aeb0;text-align:right;margin:0 0 6px}.archive-heading p strong{display:block;color:#f1e7e8;margin-top:17px;font-size:10px;letter-spacing:.12em}
.archive-shell{position:relative;padding-top:42px}
.archive-tab{position:absolute;top:0;left:0;z-index:2;height:43px;min-width:clamp(245px,26vw,356px);padding:0 47px 0 27px;display:flex;align-items:center;gap:9px;background:#b7000a;color:white;clip-path:polygon(0 0,89% 0,100% 100%,0 100%);font:900 12px/1 var(--body);white-space:nowrap;letter-spacing:-.01em}
.archive-light{width:6px;height:6px;border-radius:50%;background:#ff858d;box-shadow:0 0 13px #f90;flex-shrink:0}.archive-file-count{font-size:10px;margin-left:auto;color:#ffd7d7}
.archive-window{border:1px solid #44383a;border-radius:0 22px 22px 22px;padding:12px;background:#0f0b0c;box-shadow:0 22px 68px #0005;position:relative}
.archive-window:before{content:"";position:absolute;inset:7px;border:1px solid #2d2426;border-radius:0 16px 16px 16px;pointer-events:none}
.archive-scroll{position:relative;overflow-x:hidden;overflow-y:auto;max-height:clamp(560px,57vw,910px);padding:8px 14px 14px 8px;overscroll-behavior:contain;scrollbar-color:#d7000c #221819;scrollbar-width:thin}
.archive-scroll::-webkit-scrollbar{width:7px}.archive-scroll::-webkit-scrollbar-track{background:#251819}.archive-scroll::-webkit-scrollbar-thumb{background:#d8000d;border-radius:10px}
.work-section .projects-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px;align-items:stretch}
.work-section .archive-project{grid-column:span 2;min-width:0;margin:0!important;border:1px solid #514548;border-radius:14px;background:linear-gradient(145deg,#1b1012,#070505);overflow:hidden;position:relative;isolation:isolate;transition:border-color .25s,box-shadow .25s,transform .3s}
.work-section .archive-project.archive-featured{grid-column:span 3}
.archive-project:not(.archive-next):hover{border-color:#a52b32;box-shadow:0 12px 28px #0006;transform:translateY(-3px)}
.archive-card-button{display:block;border:0;background:transparent;color:inherit;width:100%;padding:0;text-align:left;cursor:pointer}
.archive-media{height:clamp(215px,27vw,392px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 48% 73%,#560b11 0%,#21090d 35%,#0b0708 76%)}
.archive-regular .archive-media{height:clamp(205px,20vw,270px)}
.archive-project:nth-child(2n) .archive-media{background:radial-gradient(ellipse at 68% 80%,#3a121b,#180a0c 53%,#060505 90%)}
.archive-project:nth-child(3n) .archive-media{background:radial-gradient(ellipse at 15% 80%,#4b1219,#160a0c 57%,#060505 92%)}
.archive-big-number{position:absolute;left:5%;top:-6%;font:900 clamp(130px,18.5vw,300px)/1 var(--cond);letter-spacing:-.08em;color:#b900151c;user-select:none;pointer-events:none;z-index:-0}
.archive-media-metadata{position:absolute;right:4%;top:6%;max-width:48%;display:flex;flex-direction:column;gap:3px;text-align:right;color:#938384;letter-spacing:.09em;font-size:clamp(6px,.57vw,9px);font-weight:800;text-transform:uppercase;line-height:1.25}
.archive-media-metadata span:first-child{color:#df999b}
.archive-device{position:absolute;left:8%;right:8%;bottom:5%;height:63%;filter:drop-shadow(4px 22px 14px #000d);transition:transform .4s;transform:translateY(0) perspective(1000px) rotateX(2deg)}
.archive-project:hover .archive-device{transform:translateY(-5px) perspective(1000px) rotateX(1deg) scale(1.025)}
.archive-device-screen{width:88%;height:91%;margin:auto;background:#080608;border:7px solid #17191f;border-radius:12px 12px 5px 5px;box-shadow:0 0 0 1px #52535a,inset 0 0 20px #000;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}
.archive-device-screen:before{content:"";position:absolute;top:1px;left:50%;width:24px;height:2px;background:#51535b;z-index:1;border-radius:5px}
.archive-device-screen.has-image img,.archive-device-screen.has-image video{height:100%;width:100%;object-fit:contain;background:#080608}
.archive-screen-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:13px;padding:22px;background:linear-gradient(145deg,#7f0713,#18090c 62%,#101010)}
.archive-screen-placeholder span{color:#f2b9b9;font-size:clamp(6px,.62vw,9px);letter-spacing:.19em;font-weight:800}.archive-screen-placeholder strong{font:900 clamp(25px,3.6vw,62px)/.83 var(--cond);text-transform:uppercase;max-width:90%;overflow-wrap:anywhere}.archive-screen-placeholder small{font-size:9px;font-weight:700;letter-spacing:.15em;color:#d2b7b7}
.archive-device-base{height:8%;width:100%;border-radius:0 0 45% 45%;background:linear-gradient(#73737a,#24242c 34%,#0c0c10 70%);box-shadow:0 4px 3px #0008}
.archive-view-chip{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%);padding:12px 17px;background:#f7f5f3;color:#130f0f;font-size:11px;font-weight:900;white-space:nowrap;border-radius:80px;box-shadow:0 8px 18px #0005;opacity:0;transition:opacity .25s,top .25s}
.archive-card-button:focus-visible .archive-view-chip,.archive-project:hover .archive-view-chip{opacity:1;top:65%}
.archive-card-label{min-height:112px;padding:17px 18px 21px;display:flex;flex-direction:column;justify-content:center;gap:9px;background:#0a0809}
.archive-card-label b{font:900 clamp(29px,3vw,48px)/1 var(--body);letter-spacing:-.075em;text-transform:lowercase;overflow-wrap:anywhere}
.archive-regular .archive-card-label b{font-size:clamp(24px,2.4vw,36px)}
.archive-card-label small{font-size:9px;color:#af9a9d;letter-spacing:.11em;font-weight:800;line-height:1.6;text-transform:uppercase}
.archive-next{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:clamp(280px,29vw,385px);border:1px dashed #4f3439!important;background:linear-gradient(140deg,#1b1113,#0e090b)!important;gap:10px;color:#a88c90;padding:22px}
.archive-next-number{position:absolute;top:9px;left:19px;font:900 82px/1 var(--cond);color:#75101935}.archive-next-plus{font-size:34px;color:#bb2a38}.archive-next strong{font:900 27px/1 var(--cond);color:#eee4e5}.archive-next small{max-width:150px;font-size:10px;line-height:1.6;letter-spacing:.08em}
.archive-no-projects{grid-column:1/-1;text-align:center;padding:16px;color:#b7a9a9}
.archive-bottom{display:flex;justify-content:space-between;gap:25px;padding:20px 5px 2px;font-size:10px;letter-spacing:.1em;color:#9e8689;font-weight:700}.archive-bottom i{display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:50%;background:#db0711}
.archive-outro{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #4c3338;margin-top:70px;padding-top:22px;font-size:13px;font-weight:800;letter-spacing:.035em}.archive-outro span{color:#d50b16}.archive-outro a{border-bottom:1px solid #c80009;padding-bottom:9px;white-space:nowrap}
.project-modal{position:fixed;inset:0;z-index:1003;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,38px);background:#080506ed;backdrop-filter:blur(12px);overflow:auto}.project-modal.open{display:flex}.project-modal-open{overflow:hidden}.project-modal-dialog{width:min(980px,100%);max-height:92svh;overflow:auto;background:#171011;border:1px solid #6f333b;border-radius:18px;color:#fff;box-shadow:0 30px 90px #000e;padding:clamp(18px,3.4vw,42px)}
.project-modal-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;letter-spacing:.13em;color:#a59a9a;font-weight:800;margin-bottom:22px}.project-modal-top button{border:1px solid #765b5d;border-radius:50px;padding:9px 15px;color:white;background:none;cursor:pointer}.project-modal-preview{width:100%;min-height:220px;max-height:48vh;aspect-ratio:16/9;background:radial-gradient(circle,#48141b,#150c0e);display:flex;align-items:center;justify-content:center;color:#bca8a9;font-size:11px;letter-spacing:.15em;overflow:hidden}.project-modal-preview img,.project-modal-preview video{width:100%;height:100%;object-fit:contain}.project-modal-copy{display:flex;gap:20px;justify-content:space-between;align-items:end;margin-top:25px}.project-modal-copy h2{font:900 clamp(45px,6vw,90px)/.94 var(--cond);text-transform:uppercase;margin:10px 0 15px}.project-modal-tag{color:#eb505c;font-size:11px;font-weight:800;letter-spacing:.1em}.project-modal-copy p{max-width:620px;color:#c3afb1;line-height:1.7;font-size:14px}.project-modal-copy a{white-space:nowrap;border-radius:90px;padding:14px 20px;border:1px solid #b73842;font-size:11px;font-weight:900}.project-modal-copy a[hidden]{display:none}
@media(max-width:900px){.archive-heading h2{font-size:clamp(58px,9.5vw,90px)}.archive-media{height:clamp(220px,30vw,320px)}.archive-regular .archive-media{height:205px}.archive-device-screen{border-width:5px}.archive-card-label{min-height:90px}.archive-card-label b{font-size:clamp(27px,3.4vw,40px)}.archive-regular .archive-card-label b{font-size:24px}}
@media(max-width:620px){.work-section{padding-block:82px}.archive-topline{font-size:10px;margin-bottom:42px}.archive-topline>span:last-child{font-size:9px;max-width:45%;text-align:right}.archive-heading{display:block;margin-bottom:50px}.archive-heading h2{font-size:clamp(48px,12vw,83px);line-height:.92;letter-spacing:-.075em}.archive-heading p{text-align:left;margin-top:20px;font-size:12px}.archive-heading p br{display:none}.archive-heading p strong{margin-top:5px}.archive-shell{padding-top:37px}.archive-tab{height:38px;min-width:230px;padding-inline:16px 32px;font-size:10px}.archive-file-count{font-size:9px}.archive-window{padding:7px;border-radius:0 15px 15px 15px}.archive-scroll{max-height:650px;padding:6px 5px 7px 2px}.work-section .projects-grid{grid-template-columns:1fr 1fr;gap:9px}.work-section .archive-project.archive-featured{grid-column:span 2}.work-section .archive-project.archive-regular{grid-column:span 1}.archive-media{height:260px}.archive-regular .archive-media{height:150px}.archive-regular .archive-big-number{font-size:93px}.archive-regular .archive-device{left:5%;right:5%}.archive-media-metadata{font-size:6px}.archive-screen-placeholder{gap:5px;padding:9px}.archive-screen-placeholder strong{font-size:27px}.archive-regular .archive-screen-placeholder strong{font-size:17px}.archive-regular .archive-screen-placeholder span,.archive-regular .archive-screen-placeholder small{font-size:5px}.archive-device-screen{border-width:4px;border-radius:5px 5px 3px 3px}.archive-card-label{min-height:75px;padding:14px}.archive-card-label b{font-size:31px}.archive-regular .archive-card-label{min-height:78px;padding:11px}.archive-regular .archive-card-label b{font-size:17px}.archive-card-label small{font-size:8px}.archive-regular .archive-card-label small{font-size:7px}.archive-view-chip{opacity:1;top:auto;bottom:10%;transform:translateX(-50%);font-size:9px;padding:8px 11px}.archive-next{min-height:220px}.archive-next-number{font-size:55px}.archive-next strong{font-size:21px}.archive-next small{font-size:8px}.archive-bottom{font-size:8px;line-height:1.6;flex-wrap:wrap}.archive-outro{margin-top:55px;font-size:10px;flex-wrap:wrap;line-height:1.5}.project-modal-copy{display:block}.project-modal-preview{min-height:170px}.project-modal-copy a{display:inline-block;margin-top:15px}}
@media(prefers-reduced-motion:reduce){.archive-project,.archive-device,.archive-view-chip{transition:none!important}}

/* Portfolio consolidation: skills describe capabilities; tangible outputs live in the archive. */
.archive-filters{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:2;padding:14px 12px 16px;border-bottom:1px solid #453137;margin-bottom:9px}
.archive-filter{background:#24181a;color:#d7c5c7;border:1px solid #4d393c;border-radius:5px;padding:12px 15px;cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.07em;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.archive-filter:hover,.archive-filter:focus-visible{border-color:#e0131e;color:white}
.archive-filter.is-active{background:#c5000b;border-color:#e50613;color:white}
.archive-empty-category{grid-column:1/-1;min-height:350px;border:1px dashed #66343a;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:16px;padding:35px;color:#ddd0d0;background:linear-gradient(140deg,#1e1013,#120c0c)}
.archive-empty-symbol{color:#e00717;font-size:42px}.archive-empty-category strong{font:900 clamp(32px,5vw,65px)/1 var(--cond);text-transform:uppercase}.archive-empty-category p{max-width:520px;color:#bda7aa;line-height:1.65;font-size:13px}.archive-add-link{border:1px solid #7b4a4d;border-radius:100px;padding:14px 20px;font-weight:900;letter-spacing:.08em;font-size:11px}
.services-section .service-stage{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.services-section .service-card{min-height:330px;touch-action:manipulation;cursor:pointer;transform:none;transition:transform .22s,box-shadow .22s,background .22s}
.services-section .service-card:hover{transform:translateY(-12px);box-shadow:0 22px 35px #28111744}
.services-section .service-card strong{font-size:clamp(40px,4.3vw,76px);margin:45px 0 15px}
.services-section .service-card:nth-child(2){background:#b9000a}.services-section .service-card:nth-child(3){background:#352023}
.services-section .service-card:nth-child(2) .service-desc{color:#ffdcdf}
.services-section .service-heading h2{font-size:clamp(89px,11vw,160px)}
.proof-grid{display:block;margin:40px 0}.capability-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid #593d41}
.capability-list li{padding:19px 0 19px 29px;border-bottom:1px solid #593d41;position:relative;font-weight:650;font-size:clamp(14px,1.5vw,20px)}.capability-list li:before{content:'↗';position:absolute;left:0;color:#ff3544}
.proof-modal-bottom a{background:#cc0010;color:#fff;border-radius:100px;padding:15px 19px;font-size:11px;font-weight:900;white-space:nowrap}
@media(max-width:900px){.services-section .service-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.services-section .service-card{min-height:270px}.archive-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}}
@media(max-width:620px){.services-section .service-stage{grid-template-columns:1fr}.services-section .service-card{min-height:228px}.services-section .service-card strong{margin:35px 0 13px;font-size:clamp(43px,12vw,69px)}.services-section .service-heading h2{font-size:clamp(77px,17vw,110px)}.archive-filter{padding:11px 12px;font-size:9px}.proof-dialog h2{font-size:clamp(55px,17vw,85px)}.proof-modal-bottom{align-items:flex-start;flex-direction:column}.services-section .service-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.services-section .service-card{transition:none}}


/* Mobile branding, compact cinematic entry, and native page-scrolling archive (Oct 2026). */
.brand-short{display:none}
/* Archive is part of the document, not a nested scroll container: a wheel or swipe anywhere
   in the cards now scrolls naturally to the next website section. */
#projects .archive-scroll{max-height:none!important;height:auto;overflow:visible!important;overscroll-behavior:auto!important;padding:8px 11px 13px 7px;scrollbar-width:none}
#projects .archive-window{overflow:visible}
#projects .archive-media{height:clamp(175px,22vw,295px)}
#projects .archive-regular .archive-media{height:clamp(160px,18vw,225px)}
#projects .archive-card-label{min-height:82px;padding:15px 16px}
#projects .archive-card-label b{font-size:clamp(26px,2.6vw,41px)}
#projects .archive-regular .archive-card-label b{font-size:clamp(21px,2.2vw,32px)}
#projects .archive-next{min-height:280px}
.entry-panel{height:min(78svh,660px);min-height:0}
.entry-content{padding:clamp(18px,3vh,35px) 20px}
.entry-heading{font-size:clamp(62px,10.2vw,145px);margin-bottom:clamp(18px,3.4vh,30px)}
.entry-kicker{margin-bottom:clamp(16px,2.5vh,25px)}
.entry-caption{margin-bottom:clamp(20px,3.1vh,32px)}
.entry-cta{padding:16px 24px;min-width:260px}
.entry-sound{margin-top:11px}
@media (max-width:900px){
  .site-header{display:flex;justify-content:space-between;align-items:center}
  .site-header .mobile-menu{order:1}
  .site-header .wordmark{order:2;font-size:29px;letter-spacing:-.025em}
  .wordmark .brand-first,.wordmark .brand-last{display:none}
  .wordmark .brand-short{display:inline}
  .hero-copy{text-align:center;justify-self:center;width:100%;max-width:650px}
  .hero-copy .hero-kicker{justify-content:center}
  .hero-display{width:100%;max-width:100%;white-space:normal;font-size:clamp(64px,12.4vw,112px);letter-spacing:-.048em;line-height:.86;text-align:center}
  .hero-name-line{display:block;white-space:nowrap}
  .hero-name-middle{padding-left:0}
  .hero-identity{justify-content:center;text-align:left}
  .hero-subrow{justify-content:center;margin-inline:auto}
  .hero-specialties{justify-content:center;margin-inline:auto}
  .hero-portrait-block{margin-inline:auto}
  #projects .archive-scroll{padding:7px 5px 10px 3px}
  #projects .archive-media{height:clamp(165px,26vw,240px)}
  #projects .archive-regular .archive-media{height:clamp(145px,22vw,185px)}
  .entry-panel{height:min(76svh,610px)}
  .entry-heading{font-size:clamp(57px,10.8vw,100px)}
}
@media (max-width:620px){
  .site-header .wordmark{font-size:25px}
  .hero-layout{gap:42px;padding-top:38px}
  .hero-copy .hero-kicker{margin-bottom:23px}
  .hero-display{font-size:clamp(55px,14.2vw,85px);letter-spacing:-.047em;line-height:.91}
  .hero-name-middle{padding-left:0}
  .hero-identity{margin-top:25px}
  .hero-specialties{max-width:100%}
  .hero-specialties a{font-size:9px}
  .hero-portrait-block{width:min(82%,380px)}
  .hero-subrow{max-width:365px}
  .hero-subrow p{text-align:left}
  #projects .archive-shell{padding-top:36px}
  #projects .archive-scroll{max-height:none!important;overflow:visible!important}
  #projects .archive-media{height:clamp(155px,43vw,215px)}
  #projects .archive-regular .archive-media{height:clamp(112px,31vw,155px)}
  #projects .archive-card-label{min-height:65px;padding:11px}
  #projects .archive-regular .archive-card-label{min-height:61px;padding:10px}
  #projects .archive-card-label b{font-size:clamp(23px,7vw,31px)}
  #projects .archive-regular .archive-card-label b{font-size:clamp(15px,4.5vw,19px)}
  #projects .archive-next{min-height:155px}
  .entry-screen{padding:clamp(12px,3vh,22px)}
  .entry-panel{height:min(74svh,550px);min-height:0;border-radius:22px}
  .entry-content{padding:18px 12px}
  .entry-kicker{font-size:8px;letter-spacing:.14em;margin-bottom:21px}
  .entry-heading{font-size:clamp(49px,14.3vw,86px);line-height:.82;white-space:nowrap;margin-bottom:23px;transform:none}
  .entry-caption{font-size:12px;margin-bottom:21px}
  .entry-cta{width:min(260px,94%);min-width:0;font-size:10px;letter-spacing:.095em;padding:14px 15px}
  .entry-cta span{margin-left:8px}
  .entry-sound{font-size:9px;margin-top:9px}
}
@media (max-width:360px){.hero-display{font-size:clamp(48px,13.5vw,56px)}.entry-heading{font-size:clamp(45px,13.8vw,51px)}}
@media (max-height:550px){.entry-panel{height:calc(100svh - 22px)}.entry-content{padding:10px}.entry-kicker{margin-bottom:10px}.entry-heading{font-size:clamp(45px,10vh,85px);margin-bottom:12px}.entry-caption{margin-bottom:12px}.entry-cta{padding:11px}.entry-sound{margin-top:4px}}


/* Experience timeline: scroll-driven progress and layered photo drift.
   Entirely passive; it never captures wheel/touch events or changes page scrolling. */
#experience .exp-story{
  position:relative;
  padding-left:clamp(22px,3vw,37px);
  --exp-progress:0%;
}
#experience .exp-scroll-rail{
  position:absolute;
  z-index:2;
  pointer-events:none;
  left:1px;
  top:0;
  bottom:0;
  width:3px;
  border-radius:12px;
  background:linear-gradient(to bottom,#a99c9845,#ad9d9959);
}
#experience .exp-rail-fill{
  display:block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:var(--exp-progress,0%);
  border-radius:inherit;
  background:linear-gradient(180deg,#ff293a,#cc0010 55%,#7b0611);
  box-shadow:0 0 17px #e5072140;
  will-change:height;
}
#experience .exp-rail-indicator{
  position:absolute;
  top:var(--exp-progress,0%);
  left:50%;
  width:13px;
  height:13px;
  background:#dd0011;
  border:3px solid #dedad6;
  border-radius:50%;
  box-shadow:0 0 0 1px #cf091f,0 0 16px #c8072d55;
  transform:translate(-50%,-50%);
  will-change:top;
}
#experience .exp-copy{position:relative}
#experience .exp-date{transition:color .3s ease}
#experience .exp-scene.is-in-focus .exp-date{color:#b60013}
#experience .exp-copy::before{
  content:"";
  position:absolute;
  left:-17px;
  top:4px;
  width:2px;
  height:clamp(48px,7vw,95px);
  transform-origin:top;
  transform:scaleY(var(--scene-progress,0));
  background:#d10013;
  opacity:.85;
}
#experience .float-shot{
  translate:0 var(--motion-y,0px);
  will-change:translate;
}
#experience .shot-a{--motion-y:var(--drift-a,0px)}
#experience .shot-b{--motion-y:var(--drift-b,0px)}
#experience .shot-c{--motion-y:var(--drift-c,0px)}
@media(max-width:620px){
  #experience .exp-story{padding-left:19px}
  #experience .exp-copy::before{left:-11px;height:56px}
  #experience .exp-copy h3{font-size:clamp(54px,15vw,91px)}
  #experience .exp-scroll-rail{width:2px}
  #experience .exp-rail-indicator{width:11px;height:11px;border-width:2px}
  #experience .float-shot{will-change:auto}
}
@media(prefers-reduced-motion:reduce){
  #experience .exp-rail-fill{height:100%!important;will-change:auto}
  #experience .exp-rail-indicator{display:none}
  #experience .exp-copy::before{transform:none!important}
  #experience .float-shot{translate:none!important;will-change:auto}
  #experience .exp-date{transition:none}
}


/* Project archive: compact touch CTA; prevent sticky hover from stretching the pill.
   Old mobile rules assigned bottom:10% while the hover rule also assigned top:65%,
   causing an absolutely positioned span to stretch vertically after a tap. */
@media (max-width:900px), (hover:none), (pointer:coarse){
  #projects .archive-card-button{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  #projects .archive-project .archive-view-chip,
  #projects .archive-project:hover .archive-view-chip,
  #projects .archive-card-button:focus-visible .archive-view-chip{
    position:absolute;
    inset:auto auto 13px 50%;
    top:auto !important;
    bottom:13px !important;
    left:50%;
    transform:translateX(-50%) !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    width:max-content;
    max-width:calc(100% - 26px);
    height:auto;
    min-height:0;
    margin:0;
    padding:9px 14px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.015em;
    text-align:center;
    white-space:nowrap;
    opacity:1;
    box-shadow:0 5px 14px #0007;
    transition:none;
  }
  #projects .archive-project:hover,
  #projects .archive-project:active{
    transform:none;
    box-shadow:none;
  }
  #projects .archive-project:hover .archive-device{
    transform:translateY(0) perspective(1000px) rotateX(2deg);
  }
}
@media(max-width:620px){
  #projects .archive-project .archive-view-chip,
  #projects .archive-project:hover .archive-view-chip,
  #projects .archive-card-button:focus-visible .archive-view-chip{
    bottom:10px !important;
    padding:8px 12px;
    font-size:9px;
  }
  #projects .archive-regular .archive-view-chip{
    padding:6px 9px;
    font-size:8px;
    max-width:calc(100% - 10px);
  }
}


/* 2026-10 Project archive: centered, screenshot-sized layout and cursor-follow CTA.
   Archive remains in the page scroll (no nested wheel trap). */
@media (min-width:901px){
  #projects .archive-wide{
    width:min(100%,880px);
    max-width:880px;
    padding-inline:clamp(18px,2.4vw,35px);
    margin-inline:auto;
  }
  #projects .archive-topline{
    font-size:11px;
    margin-bottom:25px;
  }
  #projects .archive-topline>span:last-child{font-size:11px}
  #projects .archive-heading{margin-bottom:31px;gap:22px;align-items:end}
  #projects .archive-heading h2{
    font-size:clamp(44px,4.7vw,68px);
    line-height:.88;
    letter-spacing:-.067em;
  }
  #projects .archive-heading p{font-size:11px;line-height:1.5;max-width:200px}
  #projects .archive-heading p strong{font-size:8px}
  #projects .archive-shell{padding-top:32px}
  #projects .archive-tab{height:33px;min-width:210px;padding:0 32px 0 17px;font-size:10px}
  #projects .archive-window{padding:9px;border-radius:0 17px 17px 17px}
  #projects .archive-scroll{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    scrollbar-width:none;
    padding:7px 5px 8px 5px;
  }
  #projects .projects-grid{gap:12px}
  #projects .archive-project{border-radius:10px}
  #projects .archive-featured .archive-media{height:clamp(190px,19vw,230px)}
  #projects .archive-regular .archive-media{height:clamp(135px,13vw,167px)}
  #projects .archive-card-label{min-height:69px;padding:11px 13px 13px;gap:5px}
  #projects .archive-card-label b{font-size:clamp(22px,2.2vw,31px);line-height:1.05}
  #projects .archive-regular .archive-card-label{min-height:58px;padding:9px 11px}
  #projects .archive-regular .archive-card-label b{font-size:clamp(17px,1.8vw,25px)}
  #projects .archive-card-label small{font-size:8px}
  #projects .archive-next{min-height:215px}
  #projects .archive-next-number{font-size:57px}
  #projects .archive-next strong{font-size:22px}
  #projects .archive-big-number{font-size:clamp(110px,13vw,170px)}
  #projects .archive-regular .archive-big-number{font-size:clamp(75px,9vw,112px)}
  #projects .archive-bottom{padding-block:12px 0;font-size:9px}
  #projects .archive-outro{margin-top:40px}
}
/* A mouse moves the project chip with the pointer rather than activating a fixed hover position. */
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  #projects .archive-card-button{cursor:none}
  #projects .archive-project .archive-view-chip{
    left:var(--cursor-x,50%);
    top:var(--cursor-y,50%);
    bottom:auto;
    width:max-content;
    height:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transform:translate(-50%,-50%);
    opacity:0;
    pointer-events:none;
    z-index:7;
    padding:11px 15px;
    font-size:10px;
    line-height:1.2;
    transition:opacity .17s ease;
    will-change:left,top;
  }
  #projects .archive-project:hover .archive-view-chip,
  #projects .archive-card-button:focus-visible .archive-view-chip{
    opacity:1;
    top:var(--cursor-y,50%);
  }
  #projects .archive-card-button:focus-visible{cursor:pointer}
  #projects .archive-card-button:focus-visible .archive-view-chip{
    left:50%;top:50%;
  }
}
/* Keyboard focus remains clear; touch retains a compact stationary chip. */
@media (max-width:900px), (hover:none), (pointer:coarse){
  #projects .archive-card-button{cursor:pointer}
}
@media (prefers-reduced-motion:reduce){
  #projects .archive-project .archive-view-chip{transition:none!important}
}
