:root{--navy:#0b1a21;--ink:#0e2028;--ink-soft:#24363e;--lime:#b7f780;--lime-dark:#91d15f;--paper:#f3f2eb;--paper2:#ecebe4;--muted:#64747a;--line:#d9ded9;--lav:#bba7ed;--orange:#ffc19a;--font-head:'Space Grotesk',sans-serif;--font-body:'DM Sans',sans-serif;--font-mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}body.curtain-lock{overflow:hidden}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}svg{width:1.05em;height:1.05em;vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ff9f70;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--lime);color:var(--navy);z-index:999}.skip-link:focus{top:12px}.shell{width:min(100% - 92px,1320px);margin-inline:auto}.section-pad{padding:130px 0}.mini-overline{font:500 11px/1.7 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 25px}.section-heading{font:600 clamp(3.2rem,6.75vw,7.7rem)/.93 var(--font-head);letter-spacing:-.085em;margin:0}.section-heading em,.big-statement em{font-weight:400;color:#496c57;font-style:italic}.section-top{display:flex;justify-content:space-between;align-items:end;gap:6%;margin-bottom:58px}.section-aside{max-width:330px;line-height:1.65;color:#58676b;font-size:15px;margin:0 0 8px}.text-link{font-weight:700;display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link:hover{color:#4a8155}.text-link svg{transition:transform .25s}.text-link:hover svg{transform:translate(3px,-3px)}
/* NAV */
.header{position:fixed;z-index:50;left:0;right:0;top:0;color:#fff;transition:background .25s,border .25s}.header.scrolled{background:#0b1a21f2;border-bottom:1px solid #ffffff18;backdrop-filter:blur(18px)}.nav{min-height:89px;display:flex;justify-content:space-between;align-items:center;gap:22px}.wordmark{display:flex;align-items:center;gap:13px;flex:none}.mark{width:45px;height:45px;border:1px solid #ffffff38;border-radius:50%;display:grid;place-items:center;color:var(--lime);font:700 29px/1 var(--font-head);letter-spacing:-.15em;padding-right:6px}.mark-dot{color:var(--orange)}.wordmark-meta{font:700 20px/1 var(--font-head);letter-spacing:-.07em}.wordmark-sub{display:block;font:400 9px/1.4 var(--font-mono);letter-spacing:.07em;color:#a1afaa;margin-top:4px}.nav-links{display:flex;gap:25px;align-items:center}.nav-link{font:500 12px var(--font-body);color:#c8d0ce;transition:color .2s}.nav-link:hover{color:var(--lime)}.nav-actions{display:flex;gap:14px;align-items:center}.nav-cta{display:flex;align-items:center;gap:12px;color:var(--ink);background:var(--lime);border-radius:3px;padding:12px 17px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.nav-cta:hover{transform:translateY(-2px);background:#d2ffad}.nav-menu{display:none;background:none;border:0;padding:8px}.nav-menu span{display:block;background:white;width:24px;height:2px;margin:5px 0}
/* HERO */
.hero{min-height:820px;height:min(940px,100svh);background:var(--navy);color:#f5f7f1;position:relative;overflow:hidden;isolation:isolate}.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(90deg,transparent 3%,black 70%);transform:perspective(900px) rotateX(8deg) scale(1.1)}.noise{position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.hero-inner{min-height:inherit;height:100%;display:flex;flex-direction:column;position:relative;z-index:3}.hero-topline{margin-top:132px;display:flex;align-items:center;justify-content:space-between}.status-pill{display:inline-flex;align-items:center;gap:10px;font:500 10px var(--font-mono);letter-spacing:.08em;color:#c8ddd2;border:1px solid #45624f;border-radius:99px;padding:10px 13px;background:#2b493428}.status-led{background:var(--lime);box-shadow:0 0 13px #a4fa72a6;width:7px;height:7px;border-radius:50%;animation:breathe 2s infinite}.issue{font:10px var(--font-mono);color:#86979a}.hero-copy{margin:auto 0;max-width:1020px;padding:18px 0 45px}.kicker{font:500 11px var(--font-mono);letter-spacing:.08em;color:#b3c4bf;margin:0 0 33px}.asterisk{color:var(--lime);font-size:24px;vertical-align:middle;margin-right:9px}.hero h1{font:600 clamp(4.4rem,9.3vw,10.4rem)/.95 var(--font-head);letter-spacing:-.092em;margin:0;max-width:1180px}.hero h1 em{font-style:normal;color:var(--lime)}.h1-outline{color:transparent;-webkit-text-stroke:1.4px #dbe7dd}.hero-desc{font-size:17px;line-height:1.65;color:#a5b8b7;max-width:650px;margin:30px 0 34px}.hero-desc strong{font-weight:600;color:#e5efe8}.hero-buttons{display:flex;flex-wrap:wrap;gap:13px}.btn{padding:17px 24px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:53px;border:1px solid transparent;transition:background .25s,transform .25s,border .25s;border-radius:3px}.btn svg{font-size:17px}.btn:hover{transform:translateY(-3px)}.btn-lime{background:var(--lime);color:var(--ink)}.btn-lime:hover{background:#d5ffb6}.btn-ghost{border-color:#536268;color:#f1f6f0}.btn-ghost:hover{border-color:#dcffb7}.hero-bottom{display:flex;justify-content:space-between;font:500 10px var(--font-mono);letter-spacing:.11em;color:#9cadab;margin-bottom:39px}.scroll-note{display:flex;gap:15px;align-items:center}.scroll-arrow{font-size:26px;color:var(--lime)}.hero-decoration{width:400px;height:400px;position:absolute;right:-95px;top:24%;opacity:.6;z-index:1;pointer-events:none}.decoration-ring{border:1px solid #93f4a256;border-radius:50%;position:absolute;inset:0}.ring-b{inset:60px;transform:rotate(-17deg);border-style:dashed}.decoration-ring:before,.decoration-ring:after{content:'+';color:var(--lime);position:absolute;font-size:32px}.ring-a:before{top:-22px;left:47%}.ring-a:after{bottom:-23px;right:47%}.decoration-label{font:10px var(--font-mono);letter-spacing:.1em;color:var(--lime);position:absolute;left:80px}.decoration-label.top{top:45%}.decoration-label.bottom{top:52%}.decoration-spark{color:var(--lime);font-size:80px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:rotateSlow 30s linear infinite}
/* TICKER + INTRO */
.ticker{height:80px;background:var(--lime);overflow:hidden;color:var(--ink);display:flex;align-items:center}.ticker-track{display:flex;align-items:center;gap:29px;white-space:nowrap;min-width:max-content;animation:ticker 37s linear infinite}.ticker span{font:700 20px var(--font-head);letter-spacing:-.04em}.ticker b{font:28px var(--font-head)}.intro-strip{display:grid;grid-template-columns:1fr 3.3fr 65px;align-items:center;gap:30px;padding-top:87px;padding-bottom:92px;border-bottom:1px solid var(--line)}.intro-strip>p:nth-child(2){font:500 clamp(1.5rem,3.2vw,3.3rem)/1.23 var(--font-head);letter-spacing:-.055em;max-width:940px;margin:0}.intro-strip em{font-style:normal;color:#7b8b84}.circle-link{height:62px;width:62px;background:var(--ink);color:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:27px;transition:transform .3s}.circle-link:hover{transform:rotate(45deg)}
/* PROJECTS */
.projects-section{background:var(--paper)}.rail-control{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.drag-instruction,.rail-counter{font:10px var(--font-mono);letter-spacing:.09em;color:var(--muted)}.rail-arrows{display:flex;gap:8px}.arrow-btn{width:48px;height:48px;border:1px solid #cfd5ce;background:transparent;border-radius:50%;font-size:22px;transition:.25s}.arrow-btn:hover{background:var(--ink);color:white}.project-viewport{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 max(46px,calc((100vw - 1320px)/2)) 15px;cursor:grab;touch-action:pan-y}.project-viewport:focus-visible{outline-offset:-3px}.project-viewport::-webkit-scrollbar{display:none}.project-viewport.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.project-track{display:flex;gap:22px;width:max-content}.project-card{width:clamp(300px,32vw,410px);scroll-snap-align:center;display:block;user-select:none}.project-cover{height:365px;background:#263b32;border:1px solid #ffffff1c;padding:21px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;transition:filter .25s}.project-card:hover .project-cover{filter:brightness(1.08)}.project-orange .project-cover{background:#f0b691}.project-lavender .project-cover{background:#c6b5e6}.project-blue .project-cover{background:#b1c6e3}.project-yellow .project-cover{background:#e4d9a1}.project-pink .project-cover{background:#eab5c0}.project-cyan .project-cover{background:#b2dddf}.project-green .project-cover{background:#153e35}.cover-top,.cover-bottom{display:flex;justify-content:space-between;align-items:center;z-index:1;font:500 10px var(--font-mono);color:#1a3331}.project-green .cover-top,.project-green .cover-bottom{color:#d5f3e1}.cover-top svg{width:25px;height:25px;transition:transform .25s}.project-card:hover .cover-top svg{transform:translate(4px,-4px)}.cover-center{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.cover-orbit{width:255px;height:255px;position:absolute;border:1px solid currentColor;border-radius:50%;opacity:.3;transform:rotate(20deg)}.orbit-two{width:188px;height:188px;border-style:dashed;transform:rotate(-40deg)}.project-green .cover-orbit{color:#b9e9b8}.cover-glyph{font:600 145px/.8 var(--font-head);letter-spacing:-.12em;position:relative;z-index:1;color:#15372d;transform:rotate(-9deg);transition:transform .6s}.project-green .cover-glyph{color:#bbef87}.project-card:hover .cover-glyph{transform:rotate(0deg) scale(1.11)}.cover-cross{font-size:38px;position:absolute;color:#ffffffb8}.cover-cross-1{top:60px;left:54px}.cover-cross-2{bottom:40px;right:50px}.tiny-pulse{width:8px;height:8px;background:#a5f27d;border-radius:50%;box-shadow:0 0 10px #b5f799}.card-description{padding:18px 1px 12px}.card-info{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font:10px var(--font-mono);letter-spacing:.02em}.card-status{color:#437257}.card-description h3{font:600 clamp(1.7rem,2.5vw,2.3rem)/1.07 var(--font-head);letter-spacing:-.065em;margin:18px 0 12px}.card-description p{font-size:14px;color:#66736f;line-height:1.55;margin:0 0 20px;min-height:67px}.card-view{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:700;border-bottom:1px solid #849084;padding-bottom:6px}.card-view svg{transition:transform .2s}.project-card:hover .card-view svg{transform:translateX(5px)}.rail-counter{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:33px;padding-top:18px}
/* ABOUT */
.about-section{background:#e7e9e1}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:start}.big-statement{font:600 clamp(3.8rem,6.5vw,7.8rem)/.93 var(--font-head);letter-spacing:-.09em;margin:0}.spark-highlight{display:inline-block;color:#a6b97e;vertical-align:top;font-size:.45em;margin-left:12px;animation:rotateSlow 28s linear infinite}.about-stamp{display:flex;gap:16px;margin-top:105px;align-items:flex-end;transform:rotate(-6deg);width:max-content;border:2px solid #8a9e88;border-radius:50%;padding:25px;color:#42624d}.about-stamp span{font:10px var(--font-mono)}.about-stamp strong{font:700 24px/1.05 var(--font-head);letter-spacing:-.06em}.about-copy{font-size:16px;line-height:1.77;color:#54625c}.about-copy p{margin:0 0 24px}.about-copy .lead-copy{font:500 clamp(1.4rem,2.1vw,2rem)/1.35 var(--font-head);letter-spacing:-.035em;color:var(--ink)}.about-copy .disclaimer{border-left:3px solid #639265;padding:11px 0 11px 18px;font-size:13px;color:#5d715f}.about-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:38px}
/* SKILLS */
.skills-section{background:var(--paper)}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.skill-card{background:#e7e9e1;border:1px solid #d9ddd4;transition:background .2s}.skill-card[open]{background:#dbe8d2}.skill-card summary{list-style:none;cursor:pointer;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.skill-card summary::-webkit-details-marker{display:none}.skill-no{font:10px var(--font-mono);letter-spacing:.04em;color:#68776a}.skill-card h3{font:600 clamp(2.6rem,4vw,4.7rem)/1 var(--font-head);letter-spacing:-.07em;margin:13px 0 0}.skill-asterisk{font-size:25px;display:inline-block;margin-left:7px;vertical-align:top;color:#8baf6d}.skill-plus{font:500 30px var(--font-head);border:1px solid #a3b19c;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;flex:none}.skill-card[open] .skill-plus{transform:rotate(45deg)}.skill-card ul{list-style:none;padding:3px 32px 29px;margin:0;display:flex;gap:9px;flex-wrap:wrap}.skill-card li{font:12px var(--font-body);border:1px solid #a9bba4;border-radius:100px;padding:8px 13px}
/* TERMINAL */
.play-section{background:#0d1e24;color:#f4f6eb;position:relative;overflow:hidden}.play-section:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 2% 10%,#a5f18d11,transparent 35%),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:cover,90px 100%;pointer-events:none}.play-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center;position:relative}.play-copy .section-heading em{color:var(--lime)}.play-copy>p:not(.mini-overline){line-height:1.7;color:#a9bbba;max-width:430px;margin:30px 0}.command-chips{display:flex;gap:9px;flex-wrap:wrap}.command-chips button{background:transparent;border:1px solid #65716c;border-radius:100px;padding:9px 15px;color:#c9d8cf;font:12px var(--font-mono);transition:.2s}.command-chips button:hover{background:var(--lime);color:var(--navy);border-color:var(--lime)}.terminal{border:1px solid #3f5354;border-radius:13px;overflow:hidden;background:#071114;box-shadow:0 25px 90px #0005;min-height:395px;display:flex;flex-direction:column;transform:rotate(1.2deg);transition:transform .25s}.terminal:hover{transform:rotate(0deg)}.terminal-bar{background:#1e3237;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#92a8a7;font:10px var(--font-mono);padding:16px}.terminal-dots{display:flex;gap:5px}.terminal-dots i{width:9px;height:9px;background:#ff9883;border-radius:50%}.terminal-dots i:nth-child(2){background:#f4d18c}.terminal-dots i:nth-child(3){background:#aaf1a2}.terminal-screen{padding:22px 23px;overflow:auto;white-space:pre-wrap;word-break:break-word;flex:1;max-height:430px;font:12px/1.8 var(--font-mono);color:#d6eae0}.terminal-screen p{margin:0 0 10px}.terminal-muted{color:#688b86}.terminal-green,.terminal-prompt{color:var(--lime)}.terminal-response{color:#bdd2ca}.terminal-input{display:flex;align-items:center;border-top:1px solid #27393e;padding:14px 20px;gap:11px;font:12px var(--font-mono)}.terminal-input label{color:var(--lime);white-space:nowrap}.terminal-input input{min-width:0;flex:1;border:0;color:white;background:transparent;outline:none;font:12px var(--font-mono)}.terminal-input button{border:0;color:var(--lime);font-size:24px;background:transparent;padding:0 6px}
/* JOURNEY */
.journey-section{background:#eeeae1}.timeline{border-top:1px solid #c7cdc2}.timeline-row{display:grid;grid-template-columns:.75fr 2.5fr 40px;align-items:start;gap:4%;border-bottom:1px solid #c7cdc2;padding:35px 5px}.timeline-date{font:500 12px var(--font-mono);color:#566960}.timeline-badge{display:inline-block;font:10px var(--font-mono);padding:6px 10px;border:1px solid #87a28e;background:#dbead9;color:#3c6950;border-radius:90px}.badge-planned{background:#e5e1ee;color:#6d5c90;border-color:#bcb2d8}.badge-progress{background:#f2e4ce;color:#845a32;border-color:#d8be91}.timeline-detail h3{font:600 clamp(1.5rem,2.6vw,2.7rem)/1.12 var(--font-head);letter-spacing:-.055em;margin:14px 0}.timeline-detail p{font-size:14px;color:#65736b;line-height:1.7;max-width:670px;margin:0}.timeline-star{color:#9caf7d;font-size:27px}.cert-note{border-left:3px solid #719d75;padding:13px 18px;margin-top:37px;font-size:13px;color:#677067;max-width:840px;line-height:1.6}
/* CLOUD */
.cloud-section{background:#dfe8df}.cloud-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.cloud-star{color:#659f79;font-size:54px;margin-left:15px;vertical-align:top}.cloud-description{max-width:440px;font-size:15px;line-height:1.8;color:#596c64;margin:33px 0}.roadmap{background:#f1f3eb;border:1px solid #bfcec3;padding:21px 25px;box-shadow:12px 12px 0 #c3d6c4}.roadmap-heading{display:flex;justify-content:space-between;border-bottom:1px solid #cad7ce;padding-bottom:15px;font:10px var(--font-mono);color:#587267}.roadmap-item{width:100%;background:transparent;display:grid;grid-template-columns:40px 1fr auto 20px;align-items:center;gap:13px;border:0;border-bottom:1px solid #cdd9d0;padding:20px 0;text-align:left}.roadmap-item:hover .roadmap-text strong{color:#3e8550}.roadmap-num{font:12px var(--font-mono);color:#637d68}.roadmap-text strong{display:block;font:600 21px var(--font-head);letter-spacing:-.045em}.roadmap-text small{display:block;font-size:11px;color:#76877b;margin-top:3px;max-height:0;overflow:hidden;transition:max-height .25s}.roadmap-item.is-active .roadmap-text small{max-height:42px}.roadmap-status{font:9px var(--font-mono);white-space:nowrap;color:#6e8972}.roadmap-marker{font-size:19px}.roadmap-detail{font-size:12px;color:#496b54;line-height:1.6;background:#e0ecdf;padding:15px;margin-top:18px;border-left:3px solid #77b977}
/* CONTACT + FOOTER */
.contact-section{background:var(--lime);position:relative;overflow:hidden}.contact-section:after{content:'✳';position:absolute;right:-3%;top:0;font:400 420px var(--font-head);line-height:1;color:#8ed05a57;pointer-events:none}.contact-section>.shell{position:relative;z-index:1}.contact-section h2{font:600 clamp(4.7rem,9.5vw,10.5rem)/.93 var(--font-head);letter-spacing:-.095em;margin:15px 0 29px}.contact-section h2 em{font-style:normal;-webkit-text-stroke:2px var(--navy);color:transparent}.contact-section p:not(.mini-overline){font-size:17px;line-height:1.65;max-width:570px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:#344c42}.btn-transparent{background:transparent;color:var(--ink);border-color:#638d56}.contact-links{display:flex;flex-wrap:wrap;gap:26px;border-top:1px solid #80bd60;margin-top:100px;padding-top:22px;font:12px var(--font-mono)}.contact-links span{margin-left:auto}.footer{background:var(--navy);color:#e9f3e7;padding:70px 0 25px}.footer-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.footer-logo{font:700 58px var(--font-head);letter-spacing:-.09em}.footer-logo span{color:var(--lime)}.footer-middle{font-size:14px;line-height:1.5;padding-top:14px}.footer-middle span{font-size:12px;color:#8daba4}.footer-social{display:flex;gap:22px;align-items:start;justify-content:flex-end;padding-top:14px;font-size:12px}.footer-social a:hover{color:var(--lime)}.footer-bottom{grid-column:1/-1;border-top:1px solid #32454a;padding-top:24px;margin-top:20px;color:#75908c;font:10px var(--font-mono)}.toast{position:fixed;bottom:25px;right:25px;z-index:80;background:var(--navy);color:var(--lime);padding:15px 20px;box-shadow:0 12px 30px #0004;font-size:13px;opacity:0;pointer-events:none;transform:translateY(15px);transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translateY(0)}
/* CURTAIN: ported from Lovable's tactile two-panel entrance concept */
.curtain{position:fixed;inset:0;z-index:100;background:#081218;color:#f2f6ef;overflow:hidden;touch-action:none;user-select:none;cursor:grab}.curtain:active{cursor:grabbing}.curtain-panel{position:absolute;top:0;bottom:0;width:51%;background-color:#16352d;background-image:repeating-linear-gradient(90deg,#ffffff08 0px,#ffffff08 2px,transparent 3px,transparent 26px,#00000030 30px,#00000030 45px,transparent 52px,transparent 70px),linear-gradient(120deg,#295442,#071d19);box-shadow:inset 0 0 50px #0005;transition:transform .25s cubic-bezier(.2,.8,.2,1);will-change:transform}.curtain-left{left:0;border-right:4px solid #071a17}.curtain-right{right:0;border-left:4px solid #071a17}.curtain-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;transition:opacity .25s;pointer-events:none}.curtain-content button{pointer-events:auto}.curtain-overline{font:11px var(--font-mono);letter-spacing:.15em;color:#c0dfc9}.curtain-logo{font:700 clamp(3rem,8vw,6rem) var(--font-head);letter-spacing:-.09em;margin-top:20px}.curtain-logo span{color:var(--lime);margin-left:8px;font-size:.6em}.curtain h2{font:600 clamp(3.8rem,8vw,8.5rem)/.94 var(--font-head);letter-spacing:-.09em;margin:15px 0}.curtain h2 em{font-style:normal;color:var(--lime)}.curtain p{color:#c0d4ca;font-size:15px}.curtain-button{background:var(--lime);border:0;padding:17px 25px;display:inline-flex;gap:20px;align-items:center;font-size:12px;font-weight:800;margin-top:22px;color:var(--navy)}.curtain-button:hover{background:#d2ffb4}.curtain-hint{font:10px var(--font-mono);color:#a9c1af;margin-top:30px;letter-spacing:.14em}.curtain-skip{position:absolute;top:30px;right:32px;color:#c2d4cd;border:0;background:transparent;font:11px var(--font-mono);cursor:pointer}.curtain-opening .curtain-panel{transition:transform .85s cubic-bezier(.2,.8,.15,1)}.curtain-opening .curtain-content{transition:opacity .3s}
/* DETAILS */
.detail-page{background:var(--paper);min-height:100vh;padding:140px 0 90px}.detail-page .back-link{font:13px var(--font-mono);display:inline-flex;gap:10px;align-items:center;color:#566a60;border-bottom:1px solid #a5b2a8;padding-bottom:10px}.detail-header{margin-top:85px}.detail-header h1{font:600 clamp(4rem,9vw,10rem)/.95 var(--font-head);letter-spacing:-.085em;max-width:1100px;margin:20px 0 30px}.detail-header h1 .detail-asterisk{font-size:.4em;margin-left:18px;color:#84b766}.detail-header>p{font-size:20px;line-height:1.5;max-width:730px;color:#596b62}.detail-tags{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0}.detail-tags span{font:11px var(--font-mono);border:1px solid #aabbb0;padding:10px 14px;border-radius:40px}.detail-tags .detail-status{background:#d4e9ce}.detail-art{height:min(520px,53vw);min-height:260px;position:relative;background:#b8d4b4;overflow:hidden;display:grid;place-items:center}.project-orange .detail-art{background:#f0b691}.project-lavender .detail-art{background:#c6b5e6}.project-blue .detail-art{background:#b1c6e3}.project-yellow .detail-art{background:#e4d9a1}.project-pink .detail-art{background:#eab5c0}.project-cyan .detail-art{background:#b2dddf}.project-green .detail-art{background:#17473d}.detail-art-grid{position:absolute;inset:0;background:linear-gradient(90deg,#ffffff23 1px,transparent 1px),linear-gradient(#ffffff23 1px,transparent 1px);background-size:55px 55px}.art-orbit{border:1px solid #0b292f5c;border-radius:50%;width:360px;height:360px;position:absolute;transform:rotate(12deg)}.art-orbit.second{width:500px;height:500px;border-style:dashed;animation:rotateSlow 30s linear infinite}.art-number{font:600 clamp(9rem,30vw,25rem)/.8 var(--font-head);letter-spacing:-.1em;color:#153e3599;z-index:2;transform:rotate(-10deg)}.project-green .art-number{color:#b7f780}.art-caption{position:absolute;left:25px;bottom:20px;color:#1b4339;font:11px var(--font-mono);letter-spacing:.1em}.project-green .art-caption{color:#d8ffe1}.detail-meta{display:grid;grid-template-columns:1fr 2fr 1fr;gap:25px;border-bottom:1px solid var(--line);padding:30px 0}.detail-meta span{display:block;font:10px var(--font-mono);color:#6a7c72;margin-bottom:12px}.detail-meta strong{font:600 16px/1.5 var(--font-head)}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:100px 0;border-bottom:1px solid var(--line)}.detail-body h2,.detail-steps h2{font:600 clamp(3rem,5vw,6rem) var(--font-head);letter-spacing:-.07em;margin:0}.detail-body em,.detail-steps em{font-style:normal;color:#538065}.detail-body>p{font-size:22px;line-height:1.55;color:#51675a}.detail-steps{padding:100px 0}.detail-steps h2{margin-bottom:55px}.detail-step{border-top:1px solid #cbd5cc;padding:24px 0;display:grid;grid-template-columns:90px 1fr;gap:15px}.detail-step:last-child{border-bottom:1px solid #cbd5cc}.detail-step span{font:12px var(--font-mono);color:#70947a}.detail-step p{font:500 clamp(1.1rem,2.1vw,1.8rem)/1.5 var(--font-head);letter-spacing:-.03em;margin:0;max-width:900px}.detail-lessons{display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail-lessons>div{background:#e4ebe2;padding:38px}.detail-lessons>div:nth-child(2){background:#e8e3ef}.detail-lessons h3{font:500 clamp(1.4rem,2.5vw,2rem)/1.32 var(--font-head);letter-spacing:-.04em}.detail-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--navy);padding:30px;color:#e5efe7;margin-top:50px}.detail-cta p{line-height:1.5}.next-project{display:block;border-top:1px solid var(--line);margin-top:90px;padding-top:40px}.next-project>span{font:11px var(--font-mono);color:#698073}.next-project strong{display:flex;justify-content:space-between;align-items:center;font:600 clamp(2rem,5vw,5rem) var(--font-head);letter-spacing:-.06em;margin-top:20px}.next-project svg{color:#60986a}.not-found{min-height:60vh;padding-top:220px}.not-found h1{font:600 70px var(--font-head)}
/* SCROLL REVEALS */
.reveal-me{opacity:1;transform:none}.reveal-me.shown{animation:riseIn .68s both}@keyframes riseIn{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes breathe{50%{box-shadow:0 0 3px #b5f799;opacity:.65}}@keyframes rotateSlow{to{transform:rotate(360deg)}}
@media(max-width:1150px){.nav-links{gap:14px}.nav-link{font-size:11px}.nav-cta{padding:12px}.hero h1{font-size:clamp(4.4rem,8.8vw,8rem)}.hero-decoration{right:-200px;opacity:.3}}
@media(max-width:900px){.shell{width:min(100% - 42px,1320px)}.section-pad{padding:95px 0}.header{background:#0b1a21fa}.nav{min-height:75px}.nav-menu{display:block}.nav-links{display:none;position:absolute;top:75px;left:0;right:0;background:#102831;box-shadow:0 20px 35px #0005;padding:24px 22px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff24}.nav-links.nav-open{display:flex}.nav-link{padding:12px 0;font-size:15px}.hero{min-height:740px;height:90svh}.hero-topline{margin-top:115px}.hero-decoration{opacity:.22;right:-270px}.hero-copy{padding-bottom:20px}.hero h1{font-size:clamp(4rem,9vw,7.8rem)}.intro-strip{grid-template-columns:1fr 48px;gap:10px;padding-top:58px;padding-bottom:60px}.intro-strip .mini-overline{grid-column:1/-1}.intro-strip>p:nth-child(2){font-size:32px}.circle-link{width:46px;height:46px}.about-grid{gap:6%}.big-statement{font-size:clamp(3.3rem,6vw,6rem)}.play-layout{grid-template-columns:1fr;gap:50px}.terminal{max-width:690px}.cloud-layout{gap:5%}.footer-content{grid-template-columns:1fr 1fr}.footer-social{grid-column:2;justify-content:start}.footer-bottom{grid-column:1/-1}}
@media(max-width:650px){.shell{width:min(100% - 36px,1320px)}.section-pad{padding:78px 0}.nav-cta{font-size:11px;padding:11px 12px}.wordmark-meta{font-size:17px}.mark{height:40px;width:40px}.hero{height:auto;min-height:780px}.hero-topline{margin-top:116px}.issue{display:none}.status-pill{font-size:9px}.hero-copy{margin:110px 0 95px}.kicker{font-size:10px;line-height:1.6;max-width:250px}.hero h1{font-size:clamp(3.65rem,11.7vw,6.3rem);line-height:.96;letter-spacing:-.085em}.hero-desc{font-size:15px;line-height:1.7}.hero-buttons{gap:10px}.btn{padding:15px 17px;min-height:51px;font-size:12px}.hero-bottom{font-size:9px}.hero-decoration{top:29%;right:-300px}.ticker{height:66px}.ticker span{font-size:16px}.intro-strip>p:nth-child(2){font-size:clamp(1.6rem,7vw,2.3rem)}.section-heading{font-size:clamp(3.3rem,10vw,5rem)}.section-top{display:block;margin-bottom:32px}.section-aside{margin-top:24px}.project-viewport{padding-left:18px;padding-right:18px}.project-card{width:min(82vw,380px)}.project-cover{height:310px}.cover-glyph{font-size:124px}.rail-counter{font-size:9px}.drag-instruction{font-size:9px}.about-grid,.cloud-layout{grid-template-columns:1fr;gap:50px}.big-statement{font-size:clamp(3.8rem,10vw,6rem)}.about-stamp{margin:43px 0 10px}.skills-grid{grid-template-columns:1fr}.skill-card summary{padding:25px}.skill-card ul{padding:0 25px 25px}.skill-card h3{font-size:3.1rem}.play-copy .section-heading{font-size:clamp(3.1rem,10vw,5rem)}.terminal{min-height:330px;transform:none}.terminal-screen{font-size:11px}.terminal-input{padding:12px}.terminal-input label{font-size:9px}.timeline-row{grid-template-columns:90px 1fr;gap:15px}.timeline-star{display:none}.timeline-detail h3{font-size:24px}.roadmap{padding:17px;box-shadow:7px 7px 0 #c3d6c4}.roadmap-item{grid-template-columns:25px 1fr 15px;gap:10px}.roadmap-status{display:none}.roadmap-text strong{font-size:18px}.contact-section h2{font-size:clamp(4rem,12vw,7rem)}.contact-section:after{font-size:280px;right:-80px}.contact-links{margin-top:65px;gap:19px}.contact-links span{margin-left:0;flex-basis:100%}.footer{padding-top:50px}.footer-content{grid-template-columns:1fr}.footer-middle,.footer-social{grid-column:1}.footer-social{justify-content:start}.footer-logo{font-size:48px}.footer-bottom{margin-top:8px;font-size:9px;line-height:1.6}.curtain h2{font-size:clamp(3.2rem,12vw,5.5rem)}.curtain-logo{font-size:50px}.curtain-overline{font-size:9px}.detail-page{padding:110px 0 60px}.detail-header{margin-top:55px}.detail-header h1{font-size:clamp(3.4rem,11vw,5.4rem)}.detail-header>p{font-size:16px}.detail-art{min-height:290px}.art-number{font-size:11rem}.detail-meta{grid-template-columns:1fr 1fr}.detail-meta>div:nth-child(2){grid-column:1/-1;grid-row:2}.detail-body{grid-template-columns:1fr;padding:70px 0;gap:15px}.detail-body h2,.detail-steps h2{font-size:3.7rem}.detail-body>p{font-size:18px}.detail-steps{padding:70px 0}.detail-steps h2{margin-bottom:35px}.detail-step{grid-template-columns:32px 1fr}.detail-lessons{grid-template-columns:1fr}.detail-lessons>div{padding:25px}.detail-cta{flex-direction:column;align-items:start}.next-project{margin-top:60px}.next-project strong{font-size:2.7rem}.about-links{gap:14px}}
@media(max-width:380px){.hero h1{font-size:3.5rem}.nav-cta{display:none}.status-pill{font-size:8px}.terminal-input input{font-size:11px}.terminal-input label{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-me{opacity:1;transform:none}.curtain{display:none}}
