/* EÇ atelier — the visual layer over the original portfolio. */
:root{--brass:#b8955f;--ease:cubic-bezier(.22,1,.36,1)}
body{overflow-x:clip}.header{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px)}
.nav-shell{height:82px}.container{max-width:1320px}.hero{grid-template-columns:1fr 1.12fr;gap:32px;padding-top:57px;padding-bottom:42px;min-height:660px;position:relative}
.hero:before{content:'';position:absolute;left:-140px;top:-150px;width:700px;height:700px;background:radial-gradient(ellipse,#b2c59c18,transparent 65%);pointer-events:none;z-index:-1}
.hero .eyebrow{font-size:9px;letter-spacing:2.1px;margin-bottom:27px}.hero h1{font-size:clamp(58px,6.6vw,94px);letter-spacing:-5.6px;line-height:1.01}.hero h1 .serif{font-size:1.12em;line-height:1.09}.hero-asterisk{font-size:38px;bottom:8px;margin-left:10px}.hero-description{font-size:13px;max-width:410px;line-height:1.9;margin-top:27px}.hero-note{margin-top:30px;font-size:7px;letter-spacing:1.2px}.hero-buttons{gap:25px}.hero-buttons .button{border-radius:50px;padding:17px 24px}.hero-cv{font-size:10px}
.hero-art{height:580px;border-radius:0;isolation:isolate;margin-right:-25px;min-width:0;overflow:clip}
.hero-art>.art-grid,.hero-art>.orbit,.hero-art>.art-coordinates,.hero-art>.orbit-label,.hero-art>.central-tile,.hero-art>.robot-stage,.hero-art>.signal-card,.hero-art>.art-star,.hero-art>.art-caption{display:none}
.atelier{position:absolute;inset:0;isolation:isolate;--px:50%;--py:50%}
.atelier:before{content:'';position:absolute;inset:10% -5% 5%;border-radius:50%;background:radial-gradient(ellipse at var(--px) var(--py),#bad09c38,transparent 63%);z-index:-1}
.atelier:after{content:'';position:absolute;inset:17% 3% 12%;border:1px solid var(--line);border-radius:50%;transform:rotate(-24deg);z-index:-1;opacity:.65}
.atelier-canvas,.atelier-poster{position:absolute;inset:0;width:100%;height:100%;display:block}.atelier-canvas{opacity:0;transition:opacity .7s ease;touch-action:pan-y}.atelier[data-state=ready] .atelier-canvas{opacity:1}.atelier-poster{object-fit:contain;transition:opacity .7s ease;pointer-events:none}.atelier[data-state=ready] .atelier-poster{opacity:0}
.atelier-top{position:absolute;top:9px;left:20px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:2}.atelier-id{font:8px/1.8 'Courier New',monospace;letter-spacing:1.7px;color:var(--muted)}.atelier-id>strong{display:block;color:var(--green);font-size:9px;font-weight:400;letter-spacing:2px}.atelier-id .status-dot{width:4px;height:4px;margin-right:7px;vertical-align:middle}.atelier-motion{pointer-events:auto;background:transparent;border:1px solid var(--line);border-radius:50%;width:31px;height:31px;font-size:10px;color:var(--muted);padding:0}.atelier-motion:hover{background:var(--soft)}
.atelier-label{position:absolute;font:8px/1.5 'Courier New',monospace;letter-spacing:.4px;color:var(--muted);pointer-events:none}.atelier-label:before{content:'+';margin-right:7px;color:var(--brass)}.atelier-label.hardware{left:0;top:32%}.atelier-label.software{right:-5px;top:24%}.atelier-label.human{right:5%;bottom:28%}
.atelier-caption{position:absolute;bottom:57px;left:16px;right:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px;pointer-events:none}.atelier-caption>div{max-width:250px}.atelier-caption small{font:7px 'Courier New',monospace;letter-spacing:1.5px;color:var(--muted);display:block;margin-bottom:8px}.atelier-caption strong{font:italic 24px/1.1 var(--serif);font-weight:400;letter-spacing:-.8px;color:var(--green)}.atelier-greeting{pointer-events:auto;font-size:10px;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:8px 13px;white-space:nowrap;box-shadow:0 5px 20px #27422a06}.atelier-greeting span{margin-right:6px;color:var(--brass)}.atelier-greeting:hover{border-color:var(--green);transform:translateY(-2px)}
.atelier-controls{position:absolute;left:16px;right:12px;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px}.atelier-modes{display:flex;gap:4px}.atelier-mode{font-size:9px;padding:7px 12px;border-radius:20px;background:transparent;color:var(--muted)}.atelier-mode[aria-pressed=true]{color:var(--bg);background:var(--green)}.atelier-project{font:8px 'Courier New',monospace;letter-spacing:.4px;padding:6px 0;background:transparent;color:var(--green)}.atelier-project:hover{text-decoration:underline}
.scroll-invitation{display:flex;align-items:center;gap:12px;margin-bottom:28px;font:7px 'Courier New',monospace;letter-spacing:1.8px;color:var(--muted)}.scroll-invitation .scroll-line{position:relative;width:1px;height:35px;background:var(--line);overflow:hidden}.scroll-line:after{content:'';position:absolute;top:-35px;height:35px;width:1px;background:var(--green);animation:scroll-thread 2.5s ease-in-out infinite}
.discipline-strip{overflow:hidden;background:var(--soft)}.discipline-strip>.container{min-height:70px}.discipline-strip>.container>span{flex:none}.discipline-strip>.container>div{font-size:12px;gap:25px;white-space:nowrap}.discipline-strip i{color:var(--brass)}
.section{padding-block:105px}.section h2,.lab-section h2{font-size:clamp(34px,3.8vw,52px);letter-spacing:-2.6px}.section-kicker{font-family:'Courier New',monospace;font-size:8px;letter-spacing:1.7px}.section-intro{font-size:12px;line-height:1.95}.section-top{margin-bottom:42px}
.project-toolbar{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:36px}.filter{border-radius:30px;border-color:transparent;padding:8px 14px}.filter:not(.active):hover{border-color:var(--line)}.projects-grid{gap:50px 32px}.project-card{--tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:50%;perspective:1000px}.project-art-button{border-radius:13px;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .5s var(--ease),box-shadow .5s;will-change:auto}.project-art-button:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--shine-x) var(--shine-y),#fff5,transparent 58%);opacity:0;transition:opacity .4s;pointer-events:none}.project-card.is-hovered .project-art-button{transition:transform .12s linear,box-shadow .4s;box-shadow:0 20px 45px #24432b15}.project-card.is-hovered .project-art-button:after{opacity:.5}.project-title{font-size:23px;letter-spacing:-.8px}.project-description{font-size:12px}.project-index{color:var(--brass);font-size:11px}.tags>span{border-radius:20px;font-size:8px;padding:4px 10px}.art-open{opacity:1;transform:none;backdrop-filter:blur(10px)}
.projects-grid:not(.filtered)>.project-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;background:var(--soft);padding:25px;border:1px solid var(--line);border-radius:18px;margin-bottom:5px}.projects-grid:not(.filtered)>.project-card:first-child .project-art{aspect-ratio:1.55}.projects-grid:not(.filtered)>.project-card:first-child .card-body{padding:10px 20px 10px 0}.projects-grid:not(.filtered)>.project-card:first-child .card-meta{padding-top:0}.projects-grid:not(.filtered)>.project-card:first-child .project-title{font-size:35px;line-height:1.15;max-width:290px;letter-spacing:-1.5px}.projects-grid:not(.filtered)>.project-card:first-child .project-description{margin-block:18px 24px;max-width:330px}.projects-grid:not(.filtered)>.project-card:first-child .card-bottom{align-items:flex-start;flex-direction:column;gap:18px}.projects-grid:not(.filtered)>.project-card:first-child .project-label{margin-bottom:14px}.github-banner{border-radius:12px;padding:28px 30px}
.lab-shell{border-radius:18px;box-shadow:0 15px 60px #25462907}.lab-controls{background:linear-gradient(145deg,var(--soft),var(--bg))}.lab-overline{font-family:'Courier New',monospace}.lab-results strong{font-family:var(--serif);font-style:italic;font-size:31px}.phasor-diagram{filter:drop-shadow(0 6px 12px #294f3b08)}
.about-section{padding-block:100px;background:linear-gradient(135deg,var(--soft),var(--bg))}.about-grid{gap:110px;grid-template-columns:.9fr 1.05fr}.portrait-card{transform:rotate(-3deg);max-width:465px;border-radius:14px;box-shadow:var(--shadow);transition:transform .8s var(--ease)}.portrait-card:hover{transform:rotate(0deg)}.portrait-frame{border-radius:8px}.portrait-signature{font-size:74px}.about-copy h2{font-size:46px;letter-spacing:-2.2px}.about-copy>p{font-size:13px;line-height:2}.education-line{margin-top:26px;padding-top:23px}
.expertise-grid{gap:14px;border:0}.expertise-item,.expertise-item:first-child,.expertise-item:last-child{padding:30px;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:background .3s,transform .5s var(--ease)}.expertise-item+.expertise-item{border:1px solid var(--line)}.expertise-item:hover{background:var(--soft);transform:translateY(-7px)}.expertise-item:last-child .expertise-number{right:27px}.expertise-icon{font-size:34px}.expertise-item h3{font-size:20px;margin-top:31px}.expertise-item:after{content:'';position:absolute;right:-20px;bottom:-45px;width:140px;height:140px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 13px color-mix(in srgb,var(--line) 30%,transparent),0 0 0 27px color-mix(in srgb,var(--line) 15%,transparent);pointer-events:none}
.contact-section{padding:65px 70px;border-radius:20px;background:radial-gradient(ellipse at 90% 15%,#42664b,#193e2c 75%);box-shadow:0 25px 70px #153c2310}.contact-section h2{font-size:59px;letter-spacing:-2.7px}.contact-content{position:relative;z-index:2}.contact-art>span{font-size:225px}.contact-orbit{width:310px;height:310px;border-style:dashed}.contact-art:after{content:'';position:absolute;inset:-60px;background-image:linear-gradient(#b9cf9e0d 1px,transparent 1px),linear-gradient(90deg,#b9cf9e0d 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.contact-button{border-radius:30px;padding:15px 22px}
.chapter-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:19;display:flex;flex-direction:column;gap:16px}.chapter-rail a{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.3;transition:transform .3s,opacity .3s}.chapter-rail a:hover,.chapter-rail a[aria-current]{opacity:1;transform:scale(1.5);background:var(--green)}
.scene-toast{position:absolute;left:50%;top:22%;transform:translate(-50%,10px);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:10px;color:var(--green);box-shadow:var(--shadow);opacity:0;transition:.3s;pointer-events:none;z-index:3;white-space:nowrap}.scene-toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes scroll-thread{0%{transform:translateY(0)}70%,100%{transform:translateY(70px)}}
@media(prefers-reduced-motion:no-preference){.contact-art>span{animation:studio-star 55s linear infinite}.atelier-label{animation:studio-drift 7s ease-in-out infinite}.atelier-label.software{animation-delay:-2.3s}.atelier-label.human{animation-delay:-4.2s}@keyframes studio-star{to{transform:rotate(350deg)}}@keyframes studio-drift{50%{translate:0 -6px}}}
@media(min-width:1500px){.hero-art{height:640px}.hero{min-height:750px}.hero h1{font-size:99px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero{grid-template-columns:1fr 1fr;gap:12px;min-height:590px;padding-top:45px}.hero h1{font-size:70px;letter-spacing:-4px}.hero-art{height:530px;margin-right:0}.hero-description{font-size:12px}.hero-buttons{gap:20px}.hero-cv{display:none}.atelier-label{font-size:7px}.atelier-label.hardware{left:2px}.atelier-label.software{right:0}.atelier-caption strong{font-size:21px}.atelier-greeting{font-size:9px;padding:7px 10px}.atelier-mode{font-size:8px;padding:6px 9px}.atelier-project{font-size:7px}.about-grid{gap:65px}.about-copy h2{font-size:38px}.contact-section h2{font-size:48px}.chapter-rail{right:13px}.projects-grid:not(.filtered)>.project-card:first-child{gap:30px}.projects-grid:not(.filtered)>.project-card:first-child .project-title{font-size:29px}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.nav-shell{height:76px}.hero{grid-template-columns:1fr;gap:24px;padding-top:46px;padding-bottom:32px}.hero-copy{max-width:560px}.hero h1{font-size:clamp(61px,9.7vw,84px);letter-spacing:-4.7px}.hero-description{max-width:460px;font-size:13px}.hero-art{height:570px;max-width:630px;width:100%;margin-inline:auto}.hero h1 br:nth-of-type(2){display:none}.hero h1>.hero-ending{margin-left:.14em;font-size:.95em}.hero-asterisk{display:none}.hero-note{margin-top:23px}.hero .eyebrow{margin-bottom:22px}.atelier-label.hardware{left:3%}.atelier-label.software{right:4%}.chapter-rail{display:none}.projects-grid:not(.filtered)>.project-card:first-child{padding:20px;gap:24px}.projects-grid:not(.filtered)>.project-card:first-child .project-title{font-size:26px}.projects-grid:not(.filtered)>.project-card:first-child .project-description{font-size:11px;margin-block:13px 18px}.projects-grid:not(.filtered)>.project-card:first-child .card-body{padding-right:0}.about-grid{gap:35px}.about-copy h2{font-size:32px}.expertise-item,.expertise-item:first-child,.expertise-item:last-child{padding:23px}.contact-section{padding:43px 38px}.contact-section h2{font-size:41px}.contact-art>span{font-size:170px}.contact-orbit{width:240px;height:240px}.section{padding-block:75px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.nav-shell{height:72px}.brand-name{font-size:12px}.hero{padding-top:36px;gap:20px}.hero h1{font-size:clamp(52px,12.5vw,72px);letter-spacing:-3.8px}.hero h1 br:nth-of-type(2){display:block}.hero h1>.hero-ending{margin-left:0;font-size:1em}.hero-description{font-size:12px;max-width:360px;margin-block:22px}.hero-buttons .button{padding:14px 20px;font-size:11px}.hero-buttons{gap:28px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.hero-note{font-size:6px;margin-top:23px}.hero-art{height:440px;margin-top:5px}.atelier-top{left:4px;right:4px}.atelier-id{font-size:6px}.atelier-id>strong{font-size:8px}.atelier-motion{height:28px;width:28px}.atelier-label{font-size:6px}.atelier-label.hardware{left:0;top:29%}.atelier-label.software{right:0;top:25%}.atelier-label.human{bottom:29%;right:0}.atelier-caption{left:4px;right:4px;bottom:56px}.atelier-caption strong{font-size:21px}.atelier-caption small{font-size:6px}.atelier-greeting{font-size:8px}.atelier-controls{left:4px;right:4px;padding-top:12px}.atelier-mode{padding:7px 10px;font-size:8px}.atelier-project{max-width:100px;font-size:7px}.scroll-invitation{font-size:6px;gap:9px;margin-top:0;margin-bottom:18px}.discipline-strip>.container{min-height:61px;gap:18px}.discipline-strip>.container>span{display:none}.discipline-strip>.container>div{font-size:10px;gap:17px;margin-inline:auto}.section{padding-block:60px}.section h2,.lab-section h2{font-size:34px;letter-spacing:-1.8px}.section-top{gap:17px;margin-bottom:27px}.project-toolbar{padding-bottom:16px;margin-bottom:25px}.filter{font-size:9px;padding:7px 10px;gap:7px}.filter-count{font-size:7px}.projects-grid{gap:34px}.projects-grid:not(.filtered)>.project-card:first-child{display:block;padding:14px;border-radius:14px}.projects-grid:not(.filtered)>.project-card:first-child .project-art{aspect-ratio:1.7}.projects-grid:not(.filtered)>.project-card:first-child .card-body{padding:20px 7px 8px}.projects-grid:not(.filtered)>.project-card:first-child .project-title{font-size:28px;max-width:none}.projects-grid:not(.filtered)>.project-card:first-child .project-description{font-size:12px;margin-block:12px 16px}.projects-grid:not(.filtered)>.project-card:first-child .project-label{margin-bottom:8px}.projects-grid:not(.filtered)>.project-card:first-child .card-bottom{flex-direction:row;align-items:center;gap:10px}.project-title{font-size:23px}.project-description{font-size:12px}.github-banner{padding:22px 20px}.about-section{padding-block:57px}.about-grid{grid-template-columns:1fr;gap:39px}.portrait-card{max-width:430px;width:100%;margin-inline:auto;transform:rotate(-2deg)}.portrait-signature{font-size:61px}.about-copy h2{font-size:36px}.about-copy>p{font-size:12px}.expertise-grid{grid-template-columns:1fr;gap:12px}.expertise-item,.expertise-item:first-child,.expertise-item:last-child{padding:25px}.expertise-item h3{margin-top:22px}.expertise-item>p{max-width:100%;min-height:0}.expertise-item .tags{max-width:75%}.contact-section{padding:35px 28px;margin-bottom:37px}.contact-section h2{font-size:39px;letter-spacing:-1.9px}.contact-art{display:none}.contact-section{grid-template-columns:1fr}.footer{padding-bottom:26px}.lab-results strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){.atelier-label,.contact-art>span,.scroll-line:after{animation:none!important}.project-art-button,.portrait-card,.expertise-item,.atelier-canvas,.atelier-poster{transition:none!important;transform:none!important}}
@media(max-width:800px){.hero:before{left:0;width:100%}.hero-art{transform:none;margin-bottom:0;overflow:clip}.atelier:after{inset:20% 12% 15%}}
@media(max-width:600px){.hero{row-gap:0}.hero-copy{display:contents}.hero .eyebrow{grid-row:1}.hero h1{grid-row:2}.hero-art{grid-row:3;height:370px;margin:14px 0 0}.hero-description{grid-row:4;margin:24px 0 20px}.hero-buttons{grid-row:5}.hero-note{grid-row:6}.atelier-caption{bottom:52px}.atelier-controls{padding-top:10px}.atelier-label.human{bottom:31%}.atelier-caption strong{font-size:20px}}
@media(max-width:360px){.hero h1{font-size:46px;letter-spacing:-3.3px}.atelier-caption strong{font-size:18px}.atelier-greeting{font-size:7px;padding:7px 9px}.hero-art{height:340px}.atelier-controls{gap:5px}.atelier-mode{padding:7px 8px}.atelier-project{max-width:85px;font-size:6px}}
@media(max-width:600px){.atelier-mode{min-height:32px}.atelier-project{font-size:8px;line-height:1.5;max-width:110px;min-height:32px;text-align:right}}
@media print{.atelier,.scroll-invitation,.chapter-rail{display:none!important}.hero-art{display:none}.hero{display:block;min-height:0}.hero h1{font-size:45px}.projects-grid:not(.filtered)>.project-card:first-child{display:block;background:transparent;padding:0}.header{backdrop-filter:none}}
