@font-face{font-family:Bricolage;src:url('./assets/fonts/bricolage-grotesque-latin.woff2') format('woff2');font-weight:500 800;font-display:swap}
@font-face{font-family:DMSans;src:url('./assets/fonts/dm-sans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#111b1d;--ink-soft:#1d2a2a;--paper:#e8eadf;--paper-dark:#d7dacf;--line:#405052;--pale:#f5f5ed;--muted:#b1bfbb;--acid:#d6fa71;--coral:#ff765c;--blue:#334ac7;--display:Bricolage,Arial,sans-serif;--body:DMSans,'Segoe UI',sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--pale);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
::selection{background:var(--acid);color:var(--ink)}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:#5c6b61;border:3px solid var(--ink);border-radius:8px}
.skip-link{position:absolute;z-index:50;left:18px;top:-80px;padding:14px 20px;background:var(--acid);color:var(--ink);font-weight:700}.skip-link:focus{top:14px}
.site-shell{max-width:1800px;margin:auto;overflow:hidden}
.arrow-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.site-header{height:88px;padding:0 clamp(24px,4.2vw,76px);display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:15px;margin-right:auto}.brand-mark{font-family:var(--display);font-size:38px;font-weight:800;letter-spacing:-.09em;line-height:1}.brand-mark span{color:var(--acid)}.brand-caption{font-size:10px;letter-spacing:.16em;font-weight:700;max-width:74px;line-height:1.35;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{font-size:12px;font-weight:700;letter-spacing:.04em;transition:color .2s}.site-nav a:hover,.header-link:hover{color:var(--acid)}
.header-link{display:flex;align-items:center;gap:16px;border:1px solid #667776;padding:12px 15px;font-size:12px;font-weight:700;transition:color .2s,border-color .2s}.header-link:hover{border-color:var(--acid)}
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.83fr);padding:46px clamp(24px,4.2vw,76px) 0;column-gap:clamp(30px,4vw,75px)}
.hero-copy{align-self:center;padding:65px 0 95px}.hero-intro{font-size:12px;font-weight:700;letter-spacing:.025em;display:flex;align-items:center;gap:13px;margin:0 0 43px;color:var(--acid);flex-wrap:wrap}.intro-line{height:1px;width:34px;background:#6d8078}
h1,h2,h3,p{margin-top:0}.hero h1,.work-heading h2,.studio-main h2,.experience-heading h2,.contact-section h2{font-family:var(--display);font-weight:700;letter-spacing:-.04em}
.hero h1{font-size:clamp(63px,5.8vw,95px);line-height:1.01;margin:0 0 31px;max-width:900px}.hero h1 span{color:var(--acid)}
.hero-description{max-width:540px;color:#c9d5cf;font-size:clamp(17px,1.45vw,20px);line-height:1.65;margin:0 0 37px}.hero-description strong{color:var(--pale)}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-width:220px;padding:18px 21px;font-size:13px;font-weight:700;transition:background .2s,color .2s,transform .2s}.button-primary{background:var(--acid);color:var(--ink)}.button-primary:hover{background:var(--pale);transform:translateY(-3px)}.text-action{font-size:13px;font-weight:700;border-bottom:1px solid #80918b;padding-bottom:6px}.text-action:hover{color:var(--acid);border-color:var(--acid)}
.portrait-poster{height:600px;max-height:min(600px,70vw);background:var(--acid);color:var(--ink);position:relative;overflow:hidden;isolation:isolate;align-self:center;display:flex;flex-direction:column;justify-content:space-between;padding:22px;border-radius:2px}
.portrait-poster:before{content:'';position:absolute;width:78%;height:60%;left:13%;top:18%;border:1px solid #111b1d66;border-radius:48% 52% 39% 61%/53% 37% 63% 47%;transform:rotate(-21deg)}
.portrait-poster:after{content:'';position:absolute;right:-6%;bottom:10%;width:64%;height:35%;background:var(--coral);border-radius:50% 50% 8% 70%;transform:rotate(-18deg);mix-blend-mode:multiply;z-index:-1}
.poster-top,.poster-bottom{display:flex;justify-content:space-between;gap:12px;position:relative;z-index:2;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.poster-top span{white-space:nowrap}.poster-bottom{border-top:1px solid #111b1d80;padding-top:13px}
.poster-monogram{font-family:var(--display);font-size:clamp(150px,17vw,275px);font-weight:800;line-height:.72;letter-spacing:-.18em;white-space:nowrap;position:absolute;left:-8%;top:40%;transform:rotate(-13deg);z-index:2}.poster-monogram span{color:var(--blue);mix-blend-mode:multiply}
.poster-orbit{position:absolute;display:block;border:1px solid #111b1d8c;border-radius:50%;transform:rotate(28deg)}.orbit-one{width:64%;height:58%;right:-17%;top:7%}.orbit-two{width:42%;height:36%;left:-14%;bottom:10%}
.poster-stamp{position:absolute;right:9%;top:28%;width:90px;height:90px;border-radius:50%;background:var(--ink);color:var(--acid);display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:800;font-size:12px;line-height:1.05;letter-spacing:-.02em;transform:rotate(15deg);z-index:3}
.hero-index{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);min-height:88px;margin-top:46px;color:var(--muted);font-size:12px}.hero-index>a{display:flex;align-items:center;gap:12px;color:var(--pale);font-weight:700}.hero-index a:hover{color:var(--acid)}
.work-section{padding:110px clamp(24px,4.2vw,76px) 125px;background:var(--paper);color:var(--ink)}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:58px}.section-side-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#52615a;margin:0 0 14px}.work-heading h2,.experience-heading h2{font-size:clamp(65px,8vw,118px);line-height:.96;margin:0}.period{color:var(--coral)}.work-heading>p{max-width:345px;color:#4b5954;line-height:1.55;font-size:16px;margin:0 0 5px}
.work-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #9fa99e;padding-bottom:19px;margin-bottom:27px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{cursor:pointer;background:transparent;color:#4a5953;border:1px solid #a5b2a4;padding:9px 14px;font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.filter span{margin-left:7px}.filter:hover{border-color:var(--ink);color:var(--ink)}.filter.is-active{background:var(--ink);border-color:var(--ink);color:var(--pale)}.github-note{display:flex;align-items:center;gap:9px;color:#52615a;font-size:11px;margin:0;white-space:nowrap}.status-light{height:6px;width:6px;border-radius:50%;background:#496e44}
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:70px 28px}.project-card{grid-column:span 6;min-width:0;animation:project-enter .3s ease-out both}.project-fieldcrm{grid-column:span 12;display:grid;grid-template-columns:7fr 5fr;background:var(--ink);color:var(--pale);gap:0}.project-sabi,.project-kflite,.project-event{grid-column:span 7}.project-scholar,.project-ticket,.project-haven{grid-column:span 5}
.project-visual{height:320px;position:relative;overflow:hidden;transition:filter .3s ease}.project-visual:before{pointer-events:none}.project-card:hover .project-visual{filter:saturate(1.12)}.project-card:focus-within .project-visual{filter:saturate(1.12)}
.visual-caption,.visual-footnote{position:absolute;z-index:4;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.visual-caption{top:23px;left:24px;right:24px;display:flex;justify-content:space-between;gap:10px}.visual-footnote{bottom:21px;left:24px;opacity:.75}
.project-content{padding:22px 0 0}.project-fieldcrm .project-content{padding:45px 43px;display:flex;flex-direction:column;justify-content:center}.project-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:20px;margin-bottom:14px;font-size:11px;font-weight:700;color:#536159}.project-fieldcrm .project-topline{color:#b5c3ba}.repo-meta{font-weight:500;text-align:right}.project-card h3{font-family:var(--display);font-size:clamp(36px,3.5vw,53px);letter-spacing:-.035em;line-height:1.06;font-weight:700;margin:0 0 14px;overflow-wrap:anywhere}.project-fieldcrm h3{font-size:clamp(52px,5.5vw,82px)}.project-content>p{font-size:15px;line-height:1.6;color:#495650;max-width:57ch;margin:0 0 23px}.project-fieldcrm .project-content>p{color:#cbd6cf;font-size:17px;max-width:37ch}.project-bottom{display:flex;justify-content:space-between;gap:15px;align-items:end;flex-wrap:wrap;margin-top:auto}.stack{display:flex;flex-wrap:wrap;gap:7px}.stack span{font-size:10px;font-weight:700;border:1px solid #9fa99e;padding:6px 8px}.project-fieldcrm .stack span{border-color:#51645a;color:#cbd6cf}.source-link{display:flex;align-items:center;gap:8px;border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:800;font-size:12px;white-space:nowrap}.source-link:hover{color:#3559bd}.project-fieldcrm .source-link:hover{color:var(--acid)}.source-link .arrow-icon{width:15px;height:15px}
.visual-fieldcrm{height:480px;background:#3650d4;color:#f5f5ed}.visual-fieldcrm:before{content:'F';position:absolute;font-family:var(--display);font-size:500px;font-weight:800;line-height:1;left:-60px;top:55px;color:#5571e8;letter-spacing:-.1em}.field-visual{position:absolute;inset:76px 28px 42px;display:flex;align-items:center;justify-content:center;gap:clamp(30px,5vw,90px)}.field-phone{width:180px;height:310px;background:#131d48;border:8px solid #101736;border-radius:29px;box-shadow:22px 25px 28px #10217755;transform:rotate(-7deg);padding:40px 16px 16px;position:relative;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.project-fieldcrm:hover .field-phone,.project-fieldcrm:focus-within .field-phone{transform:rotate(-2deg) translateY(-8px)}.phone-notch{position:absolute;top:8px;left:50%;width:56px;height:8px;background:#070e29;border-radius:0 0 8px 8px;transform:translateX(-50%)}.phone-label{font-family:var(--display);font-weight:800;font-size:16px;color:var(--acid);display:block;margin-bottom:25px}.phone-line{display:block;height:7px;width:72%;background:#6a78bc;border-radius:10px;margin:0 0 10px}.phone-line.long{width:95%;height:10px;background:#e7ecfa}.phone-line.short{width:52%}.phone-chart{display:flex;align-items:end;gap:8px;height:84px;margin-top:22px}.phone-chart i{background:#d6fa71;display:block;width:20px;height:40%}.phone-chart i:nth-child(2){height:62%}.phone-chart i:nth-child(3){height:43%}.phone-chart i:nth-child(4){height:88%}.phone-footer{display:block;background:#334ac7;width:100%;height:23px;border-radius:5px;margin-top:24px}.field-steps{display:grid;gap:12px;min-width:155px}.field-steps span{border-bottom:1px solid #e3eafd85;padding:10px 0;font-size:12px;font-weight:700;letter-spacing:.04em}
.visual-sabi{background:#ff7d5f;color:#182124}.visual-sabi:before{content:'';position:absolute;width:390px;height:390px;border:45px solid #e8644c;right:-70px;top:-115px;border-radius:50%}.sabi-type{position:absolute;top:81px;left:25px;right:25px;font-family:var(--display);font-size:clamp(54px,7vw,100px);font-weight:800;line-height:.77;letter-spacing:-.09em;transform:rotate(-4deg);transition:transform .35s}.sabi-type span{display:block;color:#f9e2b0;margin-left:8%}.project-sabi:hover .sabi-type,.project-sabi:focus-within .sabi-type{transform:rotate(0deg) translateY(-5px)}.sabi-lanes{display:flex;gap:8px;position:absolute;bottom:48px;left:25px}.sabi-lanes span{background:#182124;color:#f9e2b0;font-size:10px;font-weight:800;letter-spacing:.08em;padding:9px 13px}
.visual-scholar{background:#ab9def;color:#171d45}.visual-scholar:before{content:'';position:absolute;inset:54px 0 0;background:repeating-linear-gradient(90deg,transparent,transparent 63px,#fff5 64px)}.scholar-sheet{position:absolute;right:13%;top:65px;background:#f2eeff;width:min(265px,70%);height:218px;box-shadow:14px 16px 0 #6f63b9;transform:rotate(5deg);padding:19px;transition:transform .35s}.project-scholar:hover .scholar-sheet,.project-scholar:focus-within .scholar-sheet{transform:rotate(0deg) translateY(-5px)}.sheet-heading{font-family:var(--display);font-weight:800;font-size:26px;display:flex;justify-content:space-between}.sheet-days{display:flex;justify-content:space-between;border-top:1px solid #bbb4d6;border-bottom:1px solid #bbb4d6;margin:14px 0;padding:7px 0;font-size:10px;font-weight:800}.sheet-bars{display:grid;gap:7px}.sheet-bars i{height:8px;background:#b7aae9;width:79%}.sheet-bars i:nth-child(2){width:52%;background:#ff8f7e}.sheet-bars i:nth-child(3){width:66%}.sheet-check{font-size:16px;font-weight:700;margin-top:14px}.sheet-check span{font-size:10px;margin-left:5px}
.visual-ticket{background:#e6f3a6;color:#1b2825}.ticket-stack{position:absolute;left:13%;top:78px;width:74%;transform:rotate(-6deg)}.ticket-stack>div{background:#fffef2;border:1px solid #172522;display:flex;justify-content:space-between;align-items:center;height:58px;padding:0 18px;box-shadow:7px 7px 0 #172522}.ticket-stack>div+div{margin-top:9px}.ticket-stack span{font-size:11px;font-weight:800;letter-spacing:.13em}.ticket-stack strong{font-family:var(--display);font-size:29px;letter-spacing:-.05em}.project-ticket:hover .ticket-stack,.project-ticket:focus-within .ticket-stack{transform:rotate(-2deg) translateY(-5px);transition:transform .35s}
.visual-kflite{background:#302a55;color:#f4f1ff}.visual-kflite:before{content:'k';position:absolute;font-family:var(--display);font-size:400px;font-weight:800;line-height:.7;right:-10px;top:74px;color:#453d70;transform:rotate(-13deg)}.kflite-diagram{position:absolute;left:8%;right:8%;top:42%;display:flex;align-items:center;justify-content:center;gap:12px;z-index:2}.kflite-diagram span{border:1px solid #baabf3;background:#302a55;padding:14px 12px;font-size:10px;font-weight:800;letter-spacing:.08em}.kflite-diagram i{height:1px;flex:1;background:#c7b4ff}.kflite-wave{position:absolute;left:8%;right:8%;bottom:70px;display:flex;align-items:center;justify-content:space-between;gap:8px;height:28px}.kflite-wave i{width:2px;height:12px;background:#c9f68d}.kflite-wave i:nth-child(3n){height:25px}.kflite-wave i:nth-child(4n){height:19px}.project-kflite:hover .kflite-wave i,.project-kflite:focus-within .kflite-wave i{animation:wave .55s ease-in-out 2 alternate}
.visual-event{background:#b5dbbf;color:#193d34}.visual-event:before{content:'';position:absolute;inset:-30px;background:repeating-linear-gradient(0deg,transparent,transparent 38px,#4f8a6c6a 39px),repeating-linear-gradient(90deg,transparent,transparent 38px,#4f8a6c6a 39px);transform:rotate(-14deg)}.event-map{position:absolute;inset:0}.map-route{position:absolute;left:10%;top:42%;width:74%;height:90px;border-top:5px dashed #245842;border-right:5px dashed #245842;border-radius:0 50% 0 0;transform:rotate(-11deg)}.map-pin{position:absolute;width:24px;height:24px;border:6px solid #f1f2d3;background:#245842;border-radius:50%;box-shadow:0 0 0 6px #245842}.pin-a{left:17%;top:43%}.pin-b{left:51%;top:32%}.pin-c{right:13%;bottom:23%}.map-readout{position:absolute;right:18%;top:23%;font-family:var(--display);font-weight:800;font-size:clamp(35px,4vw,57px);line-height:.9;letter-spacing:-.04em}.project-event:hover .map-pin,.project-event:focus-within .map-pin{transform:scale(1.2);transition:transform .3s}
.visual-haven{background:#193d67;color:#e4f3e5}.visual-haven:before{content:'';position:absolute;width:290px;height:290px;border:35px solid #276397;border-radius:50%;right:-35px;top:-80px}.haven-lockup{position:absolute;left:25px;top:92px;font-family:var(--display);font-weight:800;font-size:clamp(48px,5vw,75px);line-height:.85;letter-spacing:-.075em}.haven-lockup>span{display:block}.haven-lockup>span:last-child{color:#a6efc7}.haven-star{font-family:var(--body);font-size:45px;vertical-align:top;margin-left:7px;color:#e9ee7a}.haven-signals{position:absolute;left:25px;bottom:52px;display:flex;gap:7px;flex-wrap:wrap}.haven-signals span{border:1px solid #a6efc7;padding:7px 9px;font-size:9px;font-weight:800;letter-spacing:.06em}.project-haven:hover .haven-star,.project-haven:focus-within .haven-star{display:inline-block;transform:rotate(45deg);transition:transform .35s}
.project-songs{grid-column:span 7}.project-openchat{grid-column:span 5}.project-recruit{grid-column:span 12;display:grid;grid-template-columns:7fr 5fr;background:#202b32;color:var(--pale)}.project-recruit .project-content{padding:40px;display:flex;flex-direction:column;justify-content:center}.project-recruit .project-topline,.project-recruit .project-content>p{color:#bfcbc9}.project-recruit .stack span{border-color:#829395;color:var(--pale)}
.visual-songs{background:#653b4d;color:#f5e9d1}.visual-songs:before{content:'';position:absolute;width:350px;height:350px;border:2px solid #a47279;border-radius:50%;left:-80px;top:-100px}.songs-book{position:absolute;left:16%;top:64px;width:72%;height:210px;display:grid;grid-template-columns:1fr 1fr;transform:rotate(-6deg);box-shadow:17px 18px 0 #341f30;transition:transform .35s}.project-songs:hover .songs-book,.project-songs:focus-within .songs-book{transform:rotate(-2deg) translateY(-5px)}.book-left,.book-right{background:#f4ead3;padding:23px;color:#49342f}.book-left{border-right:3px solid #c8b89a;display:flex;flex-direction:column;justify-content:space-between}.book-left>span{font-family:var(--display);font-weight:800;font-size:clamp(25px,3vw,43px);line-height:.86;letter-spacing:-.045em}.book-left small{font-size:10px;font-weight:800;letter-spacing:.13em}.book-right{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px}.music-line{height:1px;width:100%;background:#b9a98e}.book-right i{font-style:normal;font-size:70px;position:absolute;top:42px;left:44%;color:#7d4b55}
.visual-openchat{background:#6dd4bd;color:#173c37}.visual-openchat:before{content:'';position:absolute;width:240px;height:240px;border:40px solid #42b69e;border-radius:50%;right:-105px;bottom:-90px}.chat-bubbles{position:absolute;inset:75px 28px 52px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.chat-bubbles span{padding:14px 16px;max-width:95%;background:#f0f8de;border-radius:15px 15px 15px 2px;font-family:var(--display);font-size:21px;font-weight:700;line-height:1.05;box-shadow:7px 7px 0 #278a7a}.chat-bubbles span:nth-child(2){align-self:flex-end;background:#193d38;color:#d7f8e8;border-radius:15px 15px 2px 15px}.chat-bubbles span:nth-child(3){font:800 10px var(--body);letter-spacing:.12em;box-shadow:none;background:transparent;border:1px solid #193d38;border-radius:0;padding:8px 10px}.chat-signal{position:absolute;right:25px;bottom:22px;display:flex;gap:4px;align-items:flex-end;height:25px}.chat-signal i{width:4px;height:8px;background:#193d38}.chat-signal i:nth-child(2){height:13px}.chat-signal i:nth-child(3){height:18px}.chat-signal i:nth-child(4){height:24px}
.visual-recruit{height:385px;background:#fa9d71;color:#202b32}.visual-recruit:before{content:'';position:absolute;width:560px;height:560px;border:70px solid #fbc196;border-radius:50%;left:-110px;top:-180px}.recruit-art{position:absolute;inset:48px 30px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.recruit-r{font-family:var(--display);font-size:clamp(220px,22vw,350px);font-weight:800;line-height:.75;letter-spacing:-.18em;color:#202b32;transform:rotate(-10deg);transition:transform .35s}.project-recruit:hover .recruit-r,.project-recruit:focus-within .recruit-r{transform:rotate(-3deg)}.recruit-art>div{z-index:2;text-align:right}.recruit-art>div>span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em}.recruit-art strong{font-family:var(--display);font-size:clamp(70px,9vw,140px);font-weight:800;line-height:.8;letter-spacing:-.08em}.recruit-dot{color:#fff2cc}
.all-repos{display:inline-flex;align-items:center;gap:14px;margin-top:62px;font-weight:800;border-bottom:2px solid var(--ink);padding-bottom:7px}.all-repos:hover{color:var(--blue);border-color:var(--blue)}
.studio-section{background:var(--acid);color:var(--ink);padding:28px clamp(24px,4.2vw,76px) 0}.studio-head,.studio-footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.studio-head{border-bottom:1px solid #34514277;padding-bottom:20px}.studio-main{display:grid;grid-template-columns:1fr .56fr;gap:60px;padding:100px 0 125px}.studio-mini-mark{font-family:var(--display);font-size:35px;font-weight:800;letter-spacing:-.08em}.studio-main h2{font-size:clamp(66px,7.3vw,115px);line-height:.95;margin:42px 0 0}.studio-main h2 em{font-style:normal;color:#2949b7}.studio-copy{align-self:end}.studio-copy>p{font-size:clamp(18px,1.6vw,23px);line-height:1.6;max-width:520px;margin-bottom:38px}.studio-products{border-top:1px solid #34514277;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:21px}.studio-products span{font-size:10px;font-weight:800;letter-spacing:.1em;margin-right:auto}.studio-products strong{background:var(--ink);color:var(--acid);padding:10px 14px;font-size:11px}.studio-footer{padding:20px 0;border-top:1px solid #34514277}
.experience-section{padding:115px clamp(24px,4.2vw,76px) 125px}.experience-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:65px}.experience-heading h2{font-size:clamp(59px,6.6vw,100px);line-height:1;max-width:830px;margin:0}.experience-heading>p{max-width:280px;color:var(--muted);line-height:1.6;margin-bottom:5px}.experience-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:8%}.experience-lead>p{font-family:var(--display);font-size:clamp(26px,2.6vw,40px);font-weight:600;line-height:1.2;letter-spacing:-.025em;max-width:420px}.experience-lead>a{display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid var(--acid);padding-bottom:8px;margin-top:25px;color:var(--acid);font-size:13px;font-weight:800}.experience-list{border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:35px minmax(160px,.8fr) 1fr;gap:15px;border-bottom:1px solid var(--line);padding:23px 0}.experience-list article>span{color:var(--acid);font-size:12px;font-weight:800}.experience-list h3{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.1;letter-spacing:-.025em;margin:0 0 9px}.experience-list div p{font-size:12px;color:var(--acid);margin:0}.experience-list article>p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}
.contact-section{background:var(--blue);padding:110px clamp(24px,4.2vw,76px) 95px;display:flex;justify-content:space-between;gap:45px;color:#f4f5ef}.contact-eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em}.contact-section h2{font-size:clamp(66px,7vw,110px);line-height:.99;margin:24px 0 0}.contact-section h2 em{font-style:normal;color:var(--acid)}.contact-links{align-self:end;width:min(350px,35%);border-top:1px solid #ffffff85}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff85;padding:17px 0;font-weight:800}.contact-links a:hover{color:var(--acid)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px clamp(24px,4.2vw,76px);font-size:11px;color:var(--muted)}.site-footer a{color:var(--pale)}.site-footer a:hover{color:var(--acid)}
@keyframes project-enter{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{to{height:28px}}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1.25fr) minmax(280px,.8fr)}.portrait-poster{height:510px}.hero h1{font-size:clamp(56px,6vw,72px)}.project-fieldcrm{grid-template-columns:1fr 1fr}.field-steps{display:none}.project-grid{column-gap:22px}.project-sabi,.project-kflite,.project-event{grid-column:span 6}.project-scholar,.project-ticket,.project-haven{grid-column:span 6}.project-visual{height:300px}.visual-fieldcrm{height:auto;min-height:420px}.experience-list article{grid-template-columns:28px 1fr}.experience-list article>p{grid-column:2}.studio-main{grid-template-columns:1fr .7fr}}
@media(max-width:760px){.site-header{height:75px;padding:0 22px;gap:15px}.brand-mark{font-size:32px}.brand-caption{font-size:9px}.site-nav{display:none}.header-link{padding:10px 12px}.hero{display:block;padding:0 22px}.hero-copy{padding:82px 0 45px}.hero-intro{margin-bottom:31px;font-size:11px}.hero h1{font-size:clamp(53px,9vw,77px);max-width:650px}.hero-description{font-size:17px}.portrait-poster{height:520px;max-height:none;width:min(100%,560px);margin:0 auto}.poster-monogram{font-size:clamp(175px,35vw,280px)}.hero-index{margin-top:37px;min-height:70px}.work-section{padding:80px 22px}.work-heading{display:block;margin-bottom:38px}.work-heading h2{font-size:70px}.work-heading>p{margin-top:22px;max-width:540px}.work-tools{display:block}.github-note{margin-top:18px}.project-grid{gap:55px 18px}.project-card,.project-sabi,.project-scholar,.project-ticket,.project-kflite,.project-event,.project-haven{grid-column:span 6}.project-fieldcrm{grid-column:span 12}.project-visual{height:270px}.visual-fieldcrm{min-height:360px}.project-fieldcrm .project-content{padding:28px}.project-fieldcrm h3{font-size:56px}.sabi-type{font-size:60px}.scholar-sheet{right:8%;width:80%}.studio-section{padding-left:22px;padding-right:22px}.studio-main{display:block;padding:80px 0}.studio-main h2{margin-top:25px}.studio-copy{margin-top:42px}.experience-section{padding:85px 22px}.experience-heading{display:block}.experience-heading h2{font-size:66px}.experience-heading>p{margin-top:20px}.experience-grid{display:block}.experience-lead{margin-bottom:55px}.contact-section{padding:85px 22px;display:block}.contact-section h2{font-size:72px}.contact-links{width:100%;margin-top:65px}.site-footer{padding:28px 22px}}
@media(max-width:560px){.brand-caption{display:none}.hero-copy{padding:73px 0 42px}.hero-intro{display:block;line-height:1.5}.intro-line{display:none}.hero h1{font-size:clamp(46px,11.6vw,64px);line-height:1.03}.hero h1 br{display:none}.hero-description{font-size:16px}.hero-actions{gap:20px}.button{min-width:204px}.portrait-poster{height:440px}.poster-monogram{font-size:185px;left:-11%;top:43%}.poster-stamp{width:76px;height:76px;font-size:10px}.hero-index{font-size:11px}.hero-index span{max-width:130px}.work-heading h2{font-size:64px}.filters{gap:7px}.filter{padding:8px 10px;font-size:11px}.project-card,.project-sabi,.project-scholar,.project-ticket,.project-kflite,.project-event,.project-haven,.project-fieldcrm{grid-column:span 12;display:block;background:transparent;color:var(--ink)}.project-fieldcrm .project-content{padding:22px 0 0}.project-fieldcrm .project-content>p{color:#495650;font-size:15px;max-width:57ch}.project-fieldcrm .project-topline{color:#536159}.project-fieldcrm .stack span{border-color:#9fa99e;color:var(--ink)}.project-card h3,.project-fieldcrm h3{font-size:clamp(37px,9.5vw,49px)}.visual-fieldcrm{height:360px}.field-phone{transform:rotate(-7deg) scale(.85)}.field-steps{display:grid;min-width:90px;font-size:9px}.field-steps span{font-size:10px}.visual-sabi .sabi-type{font-size:clamp(62px,15vw,80px)}.visual-haven .haven-lockup{font-size:65px}.studio-head,.studio-footer{font-size:9px}.studio-year{max-width:130px;text-align:right}.studio-main h2{font-size:60px}.studio-copy>p{font-size:18px}.studio-products{display:grid;grid-template-columns:repeat(2,1fr)}.studio-products span{grid-column:1/-1}.experience-heading h2{font-size:58px}.experience-list article{grid-template-columns:26px 1fr}.contact-section h2{font-size:62px}.site-footer{display:grid;gap:10px}}
@media(max-width:390px){.hero h1{font-size:45px}.portrait-poster{height:400px}.poster-monogram{font-size:161px}.visual-fieldcrm{height:330px}.field-steps{display:none}.visual-event .map-readout{font-size:40px}.contact-section h2{font-size:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:1100px) and (min-width:761px){.project-songs,.project-openchat{grid-column:span 6}.project-recruit{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.project-songs,.project-openchat{grid-column:span 6}.project-recruit{grid-column:span 12;grid-template-columns:1fr 1fr}.project-recruit .project-content{padding:28px}}
@media(max-width:560px){.project-songs,.project-openchat,.project-recruit{grid-column:span 12}.project-recruit{display:block;background:transparent;color:var(--ink)}.project-recruit .project-content{padding:22px 0 0}.project-recruit .project-topline,.project-recruit .project-content>p{color:#495650}.project-recruit .stack span{border-color:#9fa99e;color:var(--ink)}.visual-recruit{height:290px}.recruit-r{font-size:210px}.recruit-art strong{font-size:75px}.songs-book{left:10%;width:80%}.book-left>span{font-size:30px}}
.project-shoppal{grid-column:span 12;display:grid;grid-template-columns:5fr 7fr;background:#e8eadf;color:var(--ink)}
.project-shoppal .project-visual{height:390px}
.project-shoppal .project-content{padding:40px;display:flex;flex-direction:column;justify-content:center}
.visual-shoppal{background:#d5f36c;color:#174632}
.visual-shoppal:before{content:"";position:absolute;width:370px;height:370px;border:45px solid #b1dc53;border-radius:50%;right:-110px;top:-170px}
.shop-chat{position:absolute;left:7%;right:7%;top:25%;height:55%;background:#f7f9e9;border:2px solid #174632;border-radius:25px;box-shadow:16px 16px 0 #174632;padding:25px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-4deg);transition:transform .3s}
.project-shoppal:hover .shop-chat,.project-shoppal:focus-within .shop-chat{transform:rotate(-1deg) translateY(-4px)}
.shop-chat>span{align-self:flex-start;background:#c6ee91;border-radius:14px 14px 14px 2px;padding:10px 14px;font-size:13px;font-weight:700}
.shop-chat strong{font-family:var(--display);font-size:clamp(56px,7vw,100px);line-height:.8;letter-spacing:-.09em}
.shop-chat strong span{color:#6eaf55}
.shop-chat small{font-weight:800;letter-spacing:.14em}
.shop-dots{position:absolute;right:32px;bottom:26px;display:flex;gap:5px}.shop-dots i{width:7px;height:7px;border-radius:50%;background:#174632}
.project-title-link:hover,.project-title-link:focus-visible{color:var(--blue)}
.project-fieldcrm .project-title-link:hover,.project-fieldcrm .project-title-link:focus-visible,.project-recruit .project-title-link:hover,.project-recruit .project-title-link:focus-visible{color:var(--acid)}
.case-link{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:12px 0 20px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:12px;font-weight:800;letter-spacing:.02em}
.case-link:hover{color:var(--blue)}.project-fieldcrm .case-link:hover,.project-recruit .case-link:hover{color:var(--acid)}
.live-link{margin-right:12px;color:var(--blue)}.project-fieldcrm .live-link,.project-recruit .live-link{color:var(--acid)}
@media(max-width:760px){.project-shoppal{grid-template-columns:1fr 1fr}.project-shoppal .project-content{padding:28px}.project-shoppal .project-visual{height:340px}}
@media(max-width:560px){.project-shoppal{grid-column:span 12;display:block;background:transparent}.project-shoppal .project-content{padding:22px 0 0}.project-shoppal .project-visual{height:290px}.shop-chat strong{font-size:70px}}
/* Full canvas, restrained studio palette. */
:root{--paper:#edeee6;--acid:#d5ef82;--coral:#d5ef82;--blue:#315444}
.site-shell{max-width:none}
.site-header,.hero,.work-section,.experience-section,.contact-section,.site-footer{padding-left:0;padding-right:0}
.site-header{gap:35px}.hero{column-gap:0;padding-top:0}.hero-copy{padding-left:clamp(22px,4vw,70px);padding-right:clamp(22px,4vw,70px)}
.hero-index{padding:0 clamp(22px,4vw,70px)}
.site-header .brand{margin-left:clamp(22px,4vw,70px)}.site-header .header-link{margin-right:clamp(22px,4vw,70px)}
.portrait-poster{height:min(690px,75vw);max-height:none;border-radius:0}
.portrait-poster:after{background:#72924a;opacity:.45}.poster-monogram span{color:#294c39}
.poster-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.65}
.work-heading,.work-tools,.all-repos,.experience-heading,.experience-grid{margin-left:clamp(22px,4vw,70px);margin-right:clamp(22px,4vw,70px)}
.work-section{padding-top:110px;padding-bottom:125px}.project-grid{column-gap:0;row-gap:80px}
.project-card:not(.project-fieldcrm):not(.project-recruit):not(.project-shoppal) .project-content{padding-left:clamp(22px,4vw,70px);padding-right:clamp(22px,4vw,70px)}
.project-card .project-visual{border-radius:0}.project-fieldcrm .project-content,.project-recruit .project-content,.project-shoppal .project-content{padding-left:clamp(22px,4vw,70px);padding-right:clamp(22px,4vw,70px)}
.all-repos{margin-top:70px}.studio-section{padding-left:clamp(22px,4vw,70px);padding-right:clamp(22px,4vw,70px)}
.experience-section{padding-top:115px;padding-bottom:125px}.contact-section{padding-top:100px;padding-bottom:100px}.contact-section>div:first-child{padding-left:clamp(22px,4vw,70px)}.contact-links{margin-right:clamp(22px,4vw,70px)}
.site-footer{padding:30px clamp(22px,4vw,70px)}
.studio-section{background:#e0e3d9}
.portrait-poster{background:#e6e9dd}
.contact-section{background:#294636}.studio-main h2 em{color:#315444}.book-left,.book-right{background:#f4f3df}.shop-chat strong span{color:#62874c}
@media(max-width:760px){.site-header{padding-left:22px;padding-right:22px}.site-header .brand{margin-left:0}.site-header .header-link{margin-right:0}.hero{padding:0}.hero-copy{padding:75px 22px 45px}.portrait-poster{height:510px}.hero-index{padding:0 22px}.work-section{padding:85px 0}.work-heading,.work-tools,.all-repos,.experience-heading,.experience-grid{margin-left:22px;margin-right:22px}.project-grid{gap:55px 18px;padding:0 22px}.project-card:not(.project-fieldcrm):not(.project-recruit):not(.project-shoppal) .project-content{padding-left:0;padding-right:0}.studio-section{padding-left:22px;padding-right:22px}.experience-section{padding:85px 0}.contact-section{padding:85px 0}.contact-section>div:first-child{padding-left:22px}.contact-links{margin-left:22px;margin-right:22px;width:auto}.site-footer{padding:28px 22px}}
@media(max-width:560px){.portrait-poster{height:440px}.project-fieldcrm .project-content,.project-recruit .project-content,.project-shoppal .project-content{padding:22px 0 0}.project-grid{gap:55px 0}.project-card{grid-column:span 12}.project-recruit,.project-shoppal{display:block}.project-shoppal .project-visual{height:290px}}
@media(max-width:760px){.site-nav{display:flex;gap:12px;margin-left:auto}.site-nav a{font-size:11px}.site-header{gap:12px}}
@media(max-width:560px){.site-header .header-link{display:none}.brand{margin-right:0}.site-nav{gap:9px}.site-nav a{font-size:10px}}
.project-newkuz{grid-column:span 5}
.visual-newkuz{background:#333a3e;color:#f0f0eb}
.visual-newkuz:before{content:"";position:absolute;left:-60px;bottom:-180px;width:420px;height:420px;border:55px solid #667b78;border-radius:50%}
.newkuz-mark{position:absolute;left:8%;top:29%;font-family:var(--display);font-weight:800;line-height:.78;letter-spacing:-.08em;transform:rotate(-7deg)}
.newkuz-mark span,.newkuz-mark strong{display:block;font-size:clamp(70px,9vw,140px)}.newkuz-mark strong{color:#cde38e}
.visual-newkuz{background:#5b0aa1;color:#fff}
.visual-newkuz:before{border-color:#8840bc}
.newkuz-mark{left:10%;top:24%;width:77%;height:55%;background:#fff;padding:20px;display:grid;place-items:center;box-shadow:17px 17px 0 #330365;overflow:hidden}
.newkuz-mark img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
@media(max-width:760px){.project-newkuz{grid-column:span 6}}
@media(max-width:560px){.project-newkuz{grid-column:span 12}}
.visual-fieldcrm{background:#28034a}
.visual-event{background:#070a1d;color:#fff5f9}.visual-event .map-pin{background:#f90050;border-color:#fff5f9;box-shadow:0 0 0 6px #f90050}.visual-event .map-route{border-color:#f90050}
.visual-shoppal{background:#09182d;color:#eaf7f3}.visual-shoppal:before{border-color:#143a4c}.visual-shoppal .shop-chat{background:#f8faf7;color:#0b5248;border-color:#0b5248;box-shadow:16px 16px 0 #2762e5}.visual-shoppal .shop-chat>span{background:#d2f3df}.visual-shoppal .shop-chat strong span{color:#2762e5}.visual-shoppal .shop-dots i{background:#2b69eb}
.visual-recruit{background:#241c4e;color:#f6f5ff}.visual-recruit:before{border-color:#3a3267}.visual-recruit .recruit-r{color:#f6f5ff}.visual-recruit .recruit-dot{color:#16b3b4}.visual-recruit .recruit-art strong{font-size:clamp(55px,6.5vw,100px)}
.case-link{background:var(--ink);color:var(--pale);border:1px solid var(--ink);padding:12px 15px;margin:12px 0 22px;transition:background .2s,color .2s,transform .2s}
.case-link:hover{background:var(--acid);color:var(--ink);transform:translateY(-2px)}
.project-fieldcrm .case-link,.project-recruit .case-link{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.project-fieldcrm .case-link:hover,.project-recruit .case-link:hover{background:var(--pale);color:var(--ink)}
.studio-main{position:relative;isolation:isolate}
.studio-canvas{position:absolute;right:4%;top:0;width:min(16vw,220px);height:min(16vw,220px);pointer-events:none;opacity:.28;z-index:-1}
@media(max-width:760px){.studio-canvas{right:0;top:0;width:150px;height:150px;opacity:.2}}
.project-grid{padding:0 clamp(18px,2.5vw,42px);column-gap:22px;row-gap:42px}
.project-card{padding:14px;background:#f8f9f3;border:1px solid #d6dbd0}
.project-fieldcrm,.project-recruit{background:var(--ink);border-color:var(--ink)}
.project-shoppal{background:#f8f9f3}
@media(max-width:760px){.project-grid{padding:0 22px;gap:34px 18px}.project-card{padding:12px}}
@media(max-width:560px){.project-grid{gap:28px}.project-card{padding:11px}}
.project-card{border-radius:18px}
.project-card .project-visual{border-radius:12px}
.portrait-poster{border-radius:18px}
.case-link,.button,.header-link{border-radius:8px}
.filter{border-radius:7px}
.brand-emblem{width:34px;height:34px;flex:0 0 auto}
.brand{gap:9px}.brand-mark{font-size:32px;letter-spacing:-.075em}
.site-loader{position:fixed;inset:0;z-index:1000;background:var(--ink);color:var(--pale);display:grid;place-items:center;animation:loader-failsafe .4s 2.5s forwards}
.site-loader.is-done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
.loader-stage{display:flex;flex-direction:column;align-items:center;text-align:center}
.loader-art{position:relative;width:230px;height:230px;display:grid;place-items:center}
.loader-art:before{content:"";position:absolute;width:165px;height:165px;border:1px solid #d5ef8266;border-radius:50%;transform:rotate(-20deg);animation:loader-orbit 1.8s linear infinite}
.loader-art img{width:83px;height:83px;position:relative;z-index:2;filter:drop-shadow(0 0 12px #d5ef8255)}
.loader-canvas{position:absolute;inset:0;z-index:1;pointer-events:none}
.loader-stage>strong{font-family:var(--display);font-size:37px;letter-spacing:-.06em;line-height:1}.loader-stage>strong span{color:var(--acid)}
.loader-stage>small{font-size:10px;font-weight:800;letter-spacing:.18em;color:#b9c8bc;margin-top:12px}
.loader-track{width:195px;height:2px;background:#3b4d45;margin-top:34px;overflow:hidden}.loader-track i{display:block;width:35%;height:100%;background:var(--acid);animation:loader-progress .85s ease-out forwards}
@keyframes loader-orbit{to{transform:rotate(340deg)}}
@keyframes loader-progress{from{transform:translateX(-100%)}to{transform:translateX(290%)}}
@keyframes loader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.site-loader{display:none}}
