/* Shared scene: one continuous object, no section-level clipping or canvas swap. */
.intro{isolation:isolate;overflow:clip}.intro-background{position:absolute;inset:25px 0 0;z-index:0;pointer-events:none}.intro-background .hero-art{position:sticky;top:0;inset-block-end:auto;inset-inline:auto;width:100%;height:100svh;z-index:0}.intro-background .ribbon-fallback{inset:-10%;width:120%;height:120%;object-fit:contain}.intro .topline{position:relative;z-index:2}.intro .hero,.intro .showcase,.intro .manifesto{position:relative;z-index:1;isolation:auto;overflow:visible}.hero h1{position:relative}.showcase{margin-top:-45px;padding-top:90px}.phone-pair{position:relative;z-index:2}.manifesto{padding-top:85px}.showcase-caption{position:relative;z-index:2}

/* Author: original portrait frame and three clear principles. */
.profile-about{padding:100px 4% 75px}.about-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:8%;align-items:center}.profile-about .display{font-size:clamp(80px,10.2vw,158px);line-height:.84;margin:0}.about-copy .statement{font-size:clamp(25px,2.6vw,38px);line-height:1.19;letter-spacing:-.035em;max-width:680px;margin-top:42px}.body-copy{font-size:17px;line-height:1.6;max-width:590px;margin-top:26px}.mini-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.mini-tags>span{border:var(--line);border-radius:100px;font-size:10px;padding:8px 12px}.portrait-composition{position:relative;max-width:430px;margin:0 9px 0 auto;width:100%;transform:rotate(3deg)}.portrait-frame{position:relative;border:var(--line);border-radius:26px;background:var(--lavender);aspect-ratio:.76;overflow:hidden}.portrait-coordinate{position:absolute;top:22px;left:22px;font-size:9px;letter-spacing:.06em}.portrait-orbit{width:100%;height:100%;position:absolute;inset:0}.portrait-frame>img{width:83%;height:90%;position:absolute;left:6%;bottom:0;object-fit:contain;object-position:bottom}.portrait-caption{position:absolute;bottom:0;left:0;right:0;border-top:var(--line);background:white;display:flex;justify-content:space-between;padding:18px 22px;font-size:12px;font-weight:650}.portrait-caption>span:last-child{text-align:right;font-size:9px;line-height:1.45}.portrait-sticker{position:absolute;top:33%;left:-58px;border:var(--line);border-radius:16px;background:var(--yellow);transform:rotate(-13deg);font-size:11px;font-weight:650;line-height:1.4;padding:17px;display:flex;align-items:center;gap:18px}.portrait-sticker>span{font-size:30px}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:85px}.principle{border:var(--line);border-radius:23px;padding:27px 26px 32px;min-width:0}.principle-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:35px}.tiny-label{font-size:11px;letter-spacing:.045em;font-weight:600;line-height:1.35}.principle-top svg{width:48px;height:48px;fill:none;stroke:var(--ink);stroke-width:1.4;flex-shrink:0}.principle h3{font-size:29px;line-height:1.12;font-weight:500;letter-spacing:-.035em;margin-bottom:18px}.principle p{font-size:15px;line-height:1.6}.principle:nth-child(2){background:var(--sky)}.principle:nth-child(3){background:var(--mint)}

/* All tools are visible in a grid. No carousel, no inner scroll area. */
.toolbox{padding:55px 4% 75px;margin:0 0 7px;background:var(--lavender)}.section-top{display:flex;justify-content:space-between;gap:25px;align-items:center}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:7%;margin:60px 0 55px}.section-heading .display{font-size:clamp(85px,11.5vw,176px);line-height:.84}.section-heading>p{font-size:18px;line-height:1.5;max-width:300px;padding-bottom:6px}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{border:var(--line);border-radius:25px;padding:27px;display:flex;flex-direction:column;min-height:355px;min-width:0;justify-content:space-between;transition:translate .35s,box-shadow .35s}.tool-card:hover{translate:0 -5px;box-shadow:0 8px 0 #000}.tool-card-top{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:35px}.tool-card-top .tiny-label{font-size:10px}.app-monogram{font-size:42px;line-height:1;font-weight:500;letter-spacing:-.04em}.tool-card h3{font-size:26px;line-height:1.2;font-weight:500;letter-spacing:-.035em;margin-bottom:15px}.tool-card p{font-size:15px;line-height:1.5;max-width:360px}.tool-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;gap:15px;font-size:9px;letter-spacing:.06em}.tool-bottom>span:last-child{font-size:25px;transition:translate .3s}.tool-card:hover .tool-bottom>span:last-child{translate:3px -3px}.tool-ps{background:var(--blue)}.tool-ai{background:var(--yellow)}.tool-figma{background:white}.tool-resolve{background:var(--mint)}.tool-ae{background:var(--violet);color:white}.tool-id{background:var(--orange)}.figma-mark{height:50px;width:33px;overflow:visible}.resolve-mark{width:46px;height:46px;fill:currentColor;stroke-width:1.7}

/* A complete view of the five portfolio directions. */
.work{padding:85px 4%}.work-heading{text-align:left;margin-bottom:55px;display:grid;grid-template-columns:1.35fr .75fr;gap:25px 8%;align-items:end}.work-heading>.eyebrow{grid-column:1/-1}.work-heading .display{margin:0;font-size:clamp(85px,10.5vw,160px)}.work-heading>p{margin:0;font-size:18px;line-height:1.5;max-width:330px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;align-items:stretch}.project-panel{display:flex;flex-direction:column;gap:0;min-height:0;min-width:0;border:var(--line);border-radius:26px;overflow:hidden}.project-picture{width:100%;aspect-ratio:800/450;border:0;border-bottom:var(--line);border-radius:0;align-self:auto;flex-shrink:0}.project-picture>img{object-fit:cover}.project-copy{padding:30px;display:flex;align-items:start;flex-direction:column;flex:1;min-width:0}.project-copy .display,.project-copy .long-name{font-family:Body,sans-serif;font-weight:500;font-size:30px;line-height:1.15;letter-spacing:-.04em;margin:17px 0 23px}.project-copy .display br{display:none}.project-copy .display br:after{content:' '}.project-copy>p{max-width:none;font-size:16px;line-height:1.55}.project-copy .eyebrow{font-size:10px}.project-tags{margin:22px 0 5px}.project-copy .pill{margin-top:26px}.project-panel:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.project-panel:last-child .project-picture{aspect-ratio:auto;min-height:450px;height:100%;border-bottom:0;border-right:var(--line)}.project-panel:last-child .project-picture>img{object-fit:contain}.project-panel:last-child .project-copy{padding:38px}.project-copy .print-intro{font-size:19px}.print-results{gap:45px;margin-top:25px}.project-stamp{left:20px;bottom:20px}

/* Independent micro-motion: the original scroll transforms of the phones remain intact. */
.icon-pen{animation:pen-float 6.5s ease-in-out infinite}.icon-eye{animation:icon-float 7.6s ease-in-out infinite}.icon-cursor{animation:cursor-tap 5.8s ease-in-out infinite}.icon-star{animation:star-turn 9s ease-in-out infinite}.icon-layers{animation:icon-float 8s ease-in-out infinite}.eye-pupil{transform-box:fill-box;transform-origin:center;animation:eye-look 8s ease-in-out infinite}.stack-back,.stack-middle,.stack-front{transform-box:view-box;transform-origin:80px 80px}.stack-back{animation:stack-back-open 5.6s cubic-bezier(.45,0,.2,1) infinite}.stack-front{animation:stack-front-open 5.6s cubic-bezier(.45,0,.2,1) infinite}.system-layers .stack-front,.interlude-layers .stack-front{animation-delay:-2s}.system-layers .stack-back,.interlude-layers .stack-back{animation-delay:-2s}.principle-top svg{animation:icon-float 7s ease-in-out infinite}.principle:nth-child(2) svg{animation-delay:-2s}.principle:nth-child(3) svg{animation-delay:-4s}.figma-mark{animation:icon-float 6s ease-in-out infinite}.resolve-mark{animation:resolve-turn 16s linear infinite}.portrait-sticker{animation:profile-label 8s ease-in-out infinite}
@keyframes icon-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes pen-float{0%,100%{translate:0 2px;rotate:-4deg}50%{translate:0 -8px;rotate:5deg}}
@keyframes cursor-tap{0%,45%,100%{translate:0 0;rotate:0deg}55%,65%{translate:-5px -6px;rotate:-7deg}60%{translate:-2px -2px;rotate:-3deg}}
@keyframes star-turn{0%,100%{rotate:-7deg;translate:0 2px}50%{rotate:12deg;translate:0 -6px}}
@keyframes eye-look{0%,25%,100%{transform:translateX(0) scaleY(1)}35%,55%{transform:translateX(7px) scaleY(1)}72%,76%{transform:translateX(-5px) scaleY(1)}74%{transform:translateX(-5px) scaleY(.08)}}
@keyframes stack-back-open{0%,15%,90%,100%{transform:none}40%,65%{transform:translate(6px,4px) rotate(8deg)}}
@keyframes stack-front-open{0%,15%,90%,100%{transform:none}40%,65%{transform:translate(-5px,-3px) rotate(-8deg)}}
@keyframes resolve-turn{to{rotate:360deg}}
@keyframes profile-label{0%,100%{rotate:0deg}50%{rotate:3deg}}
.motion-paused .tool-card:hover{translate:none;box-shadow:none}
.brand{background:#000}.brand>img{width:70%;height:70%;margin:15%;object-fit:contain}.app-monogram{display:inline-block;animation:monogram-rock 8s ease-in-out infinite}.tool-ai .app-monogram{animation-delay:-2s}.tool-ae .app-monogram{animation-delay:-4s}.tool-id .app-monogram{animation-delay:-6s}@keyframes monogram-rock{0%,100%{rotate:-2deg;translate:0 0}50%{rotate:3deg;translate:0 -4px}}
@media(min-width:1700px){.profile-about,.toolbox,.work{padding-left:max(4%,calc((100vw - 1650px)/2));padding-right:max(4%,calc((100vw - 1650px)/2))}}
@media(max-width:1050px){.about-grid{grid-template-columns:1.15fr .85fr;gap:7%}.profile-about .display{font-size:9.5vw}.portrait-sticker{left:-24px;padding:13px;gap:12px;font-size:9px}.portrait-sticker>span{font-size:26px}.about-copy .statement{font-size:26px}.body-copy{font-size:16px}.principle{padding:24px 20px}.principle h3{font-size:25px}.principle p{font-size:14px}.tool-card{padding:24px;min-height:370px}.tool-card h3{font-size:24px}.tool-card p{font-size:14px}.project-copy{padding:25px}.project-copy .display,.project-copy .long-name{font-size:27px}.project-copy>p{font-size:15px}}
@media(max-width:760px){.intro-background{top:25px}.profile-about{padding:70px 6% 55px}.about-grid{grid-template-columns:1fr;gap:50px}.profile-about .display{font-size:16.5vw}.about-copy .statement{font-size:29px;max-width:590px;margin-top:32px}.portrait-composition{max-width:370px;width:75%;margin:auto}.principles{grid-template-columns:1fr;margin-top:65px;gap:12px}.principle{padding:26px}.principle-top{margin-bottom:25px}.principle h3{font-size:28px}.principle p{font-size:16px}.toolbox{padding:40px 6% 55px}.section-heading{margin:45px 0 40px;gap:30px}.section-heading .display{font-size:14vw}.section-heading>p{font-size:15px;max-width:220px}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool-card{min-height:355px;padding:22px}.section-top .tiny-label{font-size:9px}.work{padding:65px 6%}.work-heading{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.work-heading .display{font-size:15vw}.work-heading>p{font-size:16px}.projects{gap:20px 14px}.project-picture{aspect-ratio:1.2}.project-copy{padding:23px}.project-copy .display,.project-copy .long-name{font-size:24px}.project-copy .eyebrow{font-size:8px}.project-copy .pill{font-size:10px;padding:12px 15px}.project-panel:last-child{grid-template-columns:1fr}.project-panel:last-child .project-picture{aspect-ratio:800/450;min-height:0;border-right:0;border-bottom:var(--line)}.project-panel:last-child .project-copy{padding:26px}.project-panel:last-child .project-picture>img{object-fit:cover}}
@media(max-width:520px){.intro-background{top:22px}.intro-background .hero-art{width:180%;margin-left:-40%;height:100svh}.showcase{margin-top:-20px;padding-top:65px}.profile-about{padding:52px 7%}.profile-about .display{font-size:16vw}.about-copy .statement{font-size:26px;margin-top:29px}.body-copy{font-size:16px;margin-top:23px}.portrait-composition{width:88%;max-width:340px}.portrait-coordinate{font-size:8px;top:18px;left:18px}.portrait-sticker{left:-21px;font-size:9px;padding:13px;top:32%}.portrait-caption{font-size:11px;padding:17px}.portrait-caption>span:last-child{font-size:8px}.principles{margin-top:55px}.principle{padding:24px}.principle-top svg{width:42px;height:42px}.principle h3{font-size:27px}.principle p{font-size:15px}.toolbox{padding:34px 7% 50px;margin-bottom:5px}.section-top{align-items:start;gap:20px}.section-top>.tiny-label:last-child{text-align:right;max-width:140px;font-size:8px}.section-heading{display:block;margin:40px 0 34px}.section-heading .display{font-size:22vw}.section-heading>p{font-size:16px;margin-top:25px;max-width:none}.section-heading>p br{display:none}.tools-grid{grid-template-columns:1fr;gap:13px}.tool-card{min-height:325px;padding:26px}.tool-card-top{margin-bottom:32px}.tool-card h3{font-size:27px}.tool-card p{font-size:16px}.tool-card-top .tiny-label{font-size:10px}.tool-bottom{font-size:9px;padding-top:28px}.work{padding:55px 7%}.work-heading .display{font-size:21vw}.work-heading>.eyebrow{font-size:9px}.projects{grid-template-columns:1fr;gap:24px}.project-panel:last-child{grid-column:auto}.project-picture{aspect-ratio:1.4}.project-copy,.project-panel:last-child .project-copy{padding:25px}.project-copy .display,.project-copy .long-name{font-size:28px}.project-copy>p{font-size:16px}.project-copy .eyebrow{font-size:9px}.project-copy .pill{font-size:11px;min-height:44px}.project-tags{gap:6px;margin:20px 0 0}.project-tags>span{font-size:9px}.print-results{gap:30px}.project-panel:last-child .project-picture{aspect-ratio:1.4}.project-stamp{font-size:9px;left:15px;bottom:16px}.project-copy .print-intro{font-size:18px}}
@media(prefers-reduced-motion:reduce){.stack-back{transform:translate(6px,4px) rotate(8deg)}.stack-front{transform:translate(-5px,-3px) rotate(-8deg)}.tool-card:hover{translate:none;box-shadow:none}}

/* Supplied newspaper portrait, presented as an irregular paper clipping. */
.portrait-cutout{position:absolute;width:108%;left:-4%;bottom:36px;transform:rotate(-5deg);filter:drop-shadow(2px 3px 0 #10101022)}
.portrait-cutout img{display:block;width:100%;height:auto;clip-path:polygon(26% 18%,30% 17%,32% 14%,40% 13%,43% 11%,52% 11%,55% 9%,62% 10%,66% 14%,67% 22%,73% 25%,76% 30%,80% 37%,81% 45%,85% 50%,83% 58%,84% 63%,79% 69%,81% 73%,86% 76%,90% 81%,96% 87%,99% 92%,100% 100%,0 100%,0 83%,5% 79%,10% 77%,14% 75%,22% 73%,25% 70%,24% 63%,25% 57%,23% 53%,24% 46%,23% 41%,25% 35%,23% 31%,26% 26%,24% 21%)}
.portrait-caption{z-index:2}
@media(max-width:520px){.portrait-cutout{bottom:34px}}

/* Keep the experience grid's row gap independent of its content height. */
.experience{row-gap:clamp(35px,5vw,72px)}
@font-face{font-family:"Bebas Neue Pro";src:url("assets/bebas-neue-pro-italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
.sticker-lane>span{font-family:"Bebas Neue Pro",Display,sans-serif;font-weight:400;font-style:italic;font-synthesis:none;letter-spacing:0}

/* The opening screen starts directly with its content, without a ticker. */
.intro-background{top:0}
.site-header{top:28px}
.hero{height:calc(100svh - 14px)}
@media(max-width:760px){.site-header{top:22px}.hero{height:calc(100svh - 10px)}}
@media(max-width:520px){.site-header{top:17px}}
