@font-face{font-family:Silka;src:url(/build/assets/silka-light-webfont-CbD9Lzgx.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Silka;src:url(/build/assets/silka-regular-webfont-CAVj_Pil.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Silka;src:url(/build/assets/silka-medium-webfont-DKzOP_70.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--font-display:"Silka", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--max:min(1440px, 100vw);--pad:clamp(20px, 4vw, 50px);--ease-in-out:cubic-bezier(.4, 0, .1, 1);--label-size:11px}[data-theme=light]{--bg:#fafaf5;--ink:#141414;--ink-soft:#4a4a47;--ink-muted:#8a8a85;--line:#e4e2dc;--line-strong:#c9c6bd;--accent:#de8f10;--accent-soft:#ffe8d1;--preview-shadow:#00000026}[data-theme=dark]{--bg:#0e0e0c;--ink:#f2f0e8;--ink-soft:#b8b5ac;--ink-muted:#74726b;--line:#2a2926;--line-strong:#3d3b36;--accent:#de8f10;--accent-soft:#3a1f0a;--preview-shadow:#00000080}html{background:var(--bg);transition:background-color .4s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--ink);font-family:var(--font-display);font-size:17px;font-weight:400;line-height:1.45;transition:background-color .4s,color .4s;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}::selection{background:var(--accent);color:var(--bg)}.container{max-width:var(--max);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}#background{width:100dvw;height:100dvh;display:block;position:absolute}section{border-top:1px solid var(--line);padding:clamp(80px,10vw,120px) 0;transition:border-color .4s;position:relative}section:first-of-type{border-top:none}.section-label{align-items:center;gap:12px;margin-bottom:clamp(40px,6vw,72px);display:flex}.section-label:before{content:"";background:var(--ink-muted);width:24px;height:1px}h1,.text-h1{letter-spacing:-.05em;max-width:14ch;margin-bottom:56px;font-size:clamp(40px,8vw,100px);font-weight:300;line-height:1}:is(h1,.text-h1) em{color:var(--accent);font-style:normal;font-weight:300}h2,.text-h2{letter-spacing:-.05em;max-width:14ch;margin-bottom:56px;font-size:clamp(30px,6vw,90px);font-weight:300;line-height:1}:is(h2,.text-h2) em{color:var(--accent);font-style:normal;font-weight:300}.label,.field label{font-family:var(--font-mono);font-size:var(--label-size);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.text-underline{text-decoration:none;display:inline-block;position:relative}.text-underline:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.text-underline:hover:after{transform:scaleX(1)}@view-transition{navigation:auto}:root{view-transition-name:root}::view-transition{background-color:var(--bg)}::view-transition-old(root){animation-duration:1s;animation-timing-function:var(--ease-in-out)}::view-transition-new(root){animation-duration:1s;animation-timing-function:var(--ease-in-out);will-change:transform, opacity, filter;transform:translateZ(0)}::view-transition-old(root){animation-name:page-fade-out}::view-transition-new(root){transform-origin:50dvw 50dvh;animation-name:page-fade-in}@keyframes page-fade-in{0%{opacity:0;filter:blur(7px);transform:scale(1.05)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes page-fade-out{0%{opacity:1}to{opacity:1}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}header{z-index:100;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #0000;padding:22px 0;transition:border-color .3s,background-color .4s;position:fixed;top:0;left:0;right:0}header.scrolled{border-bottom-color:var(--line)}.nav{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;display:inline-flex}.logo svg{width:auto;height:18px;display:block}.logo svg path{fill:var(--ink);transition:fill .3s}.logo:hover svg path{fill:var(--accent)}.nav-links{gap:36px;font-size:14px;list-style:none;display:flex}.nav-links a{color:var(--ink-soft);padding:4px 0;transition:color .2s;position:relative}.nav-links a.active{color:var(--ink)}.nav-links a.active:after{width:100%}.nav-right{align-items:center;gap:24px;display:flex}.nav-cta{font-family:var(--font-mono);color:var(--accent);font-size:13px}.theme-toggle{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:inline-flex;position:relative;overflow:hidden}.theme-toggle:hover{border-color:var(--ink);color:var(--ink)}.theme-toggle svg{width:14px;height:14px;transition:transform .5s cubic-bezier(.65,0,.35,1),opacity .3s;position:absolute}.theme-toggle .icon-sun{opacity:0;transform:rotate(-90deg)scale(.5)}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=dark] .theme-toggle .icon-moon{opacity:0;transform:rotate(90deg)scale(.5)}.hamburger{border:1px solid var(--line-strong);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;transition:border-color .2s;display:none}.hamburger:hover{border-color:var(--ink)}.hamburger span{background:var(--ink-soft);transform-origin:50%;border-radius:1px;width:14px;height:1.5px;transition:transform .35s cubic-bezier(.65,0,.35,1),opacity .2s,background-color .2s;display:block}.hamburger:hover span{background:var(--ink)}.hamburger[aria-expanded=true] span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}mobile-menu{z-index:90;background:color-mix(in srgb, var(--bg) 95%, transparent);opacity:0;pointer-events:none;clip-path:inset(0 0 100%);transition:all 1s var(--ease-in-out);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;transform:translateY(1rem)}mobile-menu[aria-hidden=false]{opacity:1;clip-path:inset(0);pointer-events:all;transform:translateY(0)}mobile-menu nav{flex-direction:column;align-items:center;gap:40px;display:flex}mobile-menu ul{flex-direction:column;align-items:center;gap:28px;list-style:none;display:flex}mobile-menu ul a{color:var(--ink-soft);font-size:clamp(28px,8vw,48px);transition:color .2s}mobile-menu ul a:hover,mobile-menu ul a.active{color:var(--ink)}mobile-menu .nav-cta{font-family:var(--font-mono);color:var(--accent);font-size:14px}@media (width<=720px){.nav-links,.nav-cta{display:none}.hamburger{display:flex}}footer{border-top:1px solid var(--line);padding:40px 0;transition:border-color .4s}.footer-inner{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.04em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.footer-inner a:hover{color:var(--accent)}.cta-banner{text-align:left;padding-top:clamp(100px,14vw,180px);padding-bottom:clamp(100px,14vw,180px)}.cta-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding-top:40px;transition:border-color .4s;display:flex}.cta-email{letter-spacing:-.015em;font-size:clamp(20px,2.4vw,28px);font-weight:400;transition:color .2s,border-color .2s}.cta-email:hover{color:var(--accent)}.cta-meta{font-family:var(--font-mono);color:var(--ink-muted);text-align:right;font-size:12px;line-height:1.7}.page-hero{border-top:none;padding-top:clamp(140px,22vw,220px);padding-bottom:clamp(60px,8vw,100px)}.page-hero-meta{align-items:center;gap:12px;margin-bottom:32px;display:flex}.page-hero-meta:before{content:"";background:var(--ink-muted);width:24px;height:1px}.page-hero-lead{color:var(--ink-soft);border-top:1px solid var(--line);max-width:52ch;padding-top:32px;font-size:clamp(18px,1.8vw,24px);line-height:1.4;transition:border-color .4s}.hero{border-top:none;padding-top:clamp(140px,22vw,220px);padding-bottom:clamp(80px,14vw,160px);position:relative}.hero-meta{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.04em;justify-content:space-between;align-items:flex-start;gap:var(--pad);margin-bottom:48px;font-size:12px;display:flex}.hero-meta-block{flex-direction:column;gap:4px;display:flex}.hero-meta-block span:first-child{color:var(--ink);transition:color .4s}.hero-sub{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,80px);padding-top:32px;transition:border-color .4s;display:grid}.hero-sub p{color:var(--ink-soft);max-width:50ch;font-size:clamp(16px,1.4vw,19px);font-weight:400;line-height:1.5}.hero-sub .hero-cta{text-align:right;justify-self:end}.hero-sub .hero-cta a{font-family:var(--font-mono);color:var(--ink);border-bottom:1px solid var(--ink);align-items:center;gap:8px;padding:6px 0;font-size:13px;transition:color .2s,border-color .2s;display:inline-flex}.hero-sub .hero-cta a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=720px){.hero-sub{grid-template-columns:1fr;gap:32px}.hero-sub .hero-cta{text-align:left;justify-self:start}}.services-grid{grid-template-columns:1fr;gap:0;display:grid}.service{border-top:1px solid var(--line);grid-template-columns:80px 1fr 1.4fr;align-items:start;gap:clamp(20px,4vw,60px);padding:clamp(36px,5vw,56px) 0;transition:border-color .4s;display:grid}.service:last-child{border-bottom:1px solid var(--line)}.service-num{font-family:var(--font-mono);color:var(--ink-muted);padding-top:8px;font-size:13px}.service-title{letter-spacing:-.025em;font-size:clamp(24px,3vw,36px);font-weight:400;line-height:1.1}.service-body{padding-top:8px}.service-body p{color:var(--ink-soft);max-width:48ch;margin-bottom:20px}.tech-tags{flex-wrap:wrap;gap:6px;display:flex}@media (width<=820px){.service{grid-template-columns:1fr;gap:16px}.service-num{padding-top:0}}.clients{grid-template-columns:1fr 1.5fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.clients-text{letter-spacing:-.015em;max-width:22ch;font-size:clamp(22px,2.6vw,32px);font-weight:400;line-height:1.3}.clients-text em{color:var(--accent);font-style:normal;font-weight:400}.clients-detail{flex-direction:column;gap:32px;padding-top:12px;display:flex}.clients-block h4{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin-bottom:10px;font-size:12px;font-weight:400}.clients-block p{color:var(--ink-soft);max-width:48ch;font-size:16px}@media (width<=820px){.clients{grid-template-columns:1fr}}.works-list{position:relative}.work-thumb{display:none}.work-thumb img{width:100%;height:auto;display:block}.work{border-top:1px solid var(--line);grid-template-columns:60px 1.6fr 1fr 100px 40px;align-items:center;gap:20px;padding:25px 0;transition:padding .4s,border-color .4s;display:grid;position:relative}.work:last-child{border-bottom:1px solid var(--line)}@media (hover:hover){.work:hover{padding-left:16px}}.work:hover .work-arrow{color:var(--accent);transform:translate(8px)}.work:hover .work-name{color:var(--ink)}.work:hover .work-name .work-title:hover{color:var(--accent)}.work:hover .work-name .work-client:hover{color:var(--ink)}.work-num{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px}.work-name{letter-spacing:-.02em;color:var(--ink-soft);flex-direction:column;align-items:flex-start;font-size:clamp(20px,2.4vw,28px);font-weight:400;transition:color .3s;display:flex}.work-client{font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;transition:color .3s;display:inline-block}.work-tags{font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.work-year{font-family:var(--font-mono);color:var(--ink-muted);text-align:right;font-size:12px}.work-arrow{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;font-size:18px;transition:transform .3s,color .3s}.works-cta{justify-content:flex-end;margin-top:40px;display:flex}.works-cta a{font-family:var(--font-mono);border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:13px;transition:color .2s,border-color .2s}.works-cta a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=820px){.work{grid-template-rows:auto auto auto;grid-template-columns:1fr 32px;gap:0 16px}.work-thumb{border-radius:5px;grid-area:1/1/auto/span 2;margin-bottom:16px;display:block;overflow:hidden}.work-num,.work-year{display:none}.work-name{grid-area:2/1;margin-bottom:4px}.work-tags{grid-area:3/1}.work-arrow{grid-area:2/2/span 2;align-self:center}}@media (width<=480px){.work{grid-template-rows:auto auto;grid-template-columns:1fr}.work-arrow{display:none}}.method{grid-template-columns:repeat(2,1fr);gap:clamp(32px,5vw,64px) clamp(40px,6vw,80px);display:grid}.method-item{border-top:1px solid var(--line);padding-top:24px;transition:border-color .4s}.method-icon{width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.method-icon svg{width:100%;height:100%}.method-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.04em;margin-bottom:16px;font-size:12px}.method-item h3{letter-spacing:-.015em;margin-bottom:12px;font-size:22px;font-weight:400}.method-item p{color:var(--ink-soft);max-width:42ch;font-size:16px}@media (width<=720px){.method{grid-template-columns:1fr}}.about-intro{grid-template-columns:1fr 1.6fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.about-intro-label h2{letter-spacing:-.02em;max-width:14ch;font-size:clamp(28px,3.4vw,42px);line-height:1.1}.about-intro-label h2 em{color:var(--accent);font-style:normal}.about-intro-body p{color:var(--ink-soft);max-width:58ch;margin-bottom:20px;font-size:clamp(17px,1.5vw,20px);line-height:1.55}.about-intro-body p:last-child{margin-bottom:0}.about-intro-body strong{color:var(--ink);font-weight:400}@media (width<=820px){.about-intro{grid-template-columns:1fr}}.timeline{grid-template-columns:1fr;display:grid}.timeline-item{border-top:1px solid var(--line);grid-template-columns:100px 1fr 1.4fr;align-items:start;gap:clamp(20px,4vw,60px);padding:clamp(28px,4vw,40px) 0;transition:border-color .4s;display:grid}.timeline-item:last-child{border-bottom:1px solid var(--line)}.timeline-year{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.02em;padding-top:4px;font-size:13px}.timeline-title{letter-spacing:-.02em;font-size:clamp(20px,2.2vw,26px);font-weight:400;line-height:1.2}.timeline-desc{color:var(--ink-soft);max-width:52ch;font-size:16px;line-height:1.55}@media (width<=820px){.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-year{padding-top:0}.timeline-desc{margin-top:4px}}.stack{grid-template-columns:repeat(3,1fr);gap:clamp(32px,5vw,80px);display:grid}.stack-col h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:16px;font-size:12px;font-weight:400;transition:border-color .4s}.stack-col ul{flex-direction:column;gap:14px;list-style:none;display:flex}.stack-col li{letter-spacing:-.015em;color:var(--ink);cursor:default;font-size:clamp(20px,2vw,24px);line-height:1.1;transition:color .2s,transform .2s}.stack-col li:hover{color:var(--accent);transform:translate(6px)}.stack-note{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,64px);padding-top:clamp(28px,4vw,40px);transition:border-color .4s}.stack-note p{letter-spacing:-.015em;color:var(--ink);max-width:28ch;font-size:clamp(20px,2.2vw,28px);font-weight:400;line-height:1.3}.stack-note p em{color:var(--accent);font-style:normal}@media (width<=820px){.stack{grid-template-columns:1fr;gap:40px}}.approach{grid-template-columns:1fr 1.5fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.approach-title h2{letter-spacing:-.02em;max-width:14ch;font-size:clamp(28px,3.4vw,42px);line-height:1.1}.approach-title h2 em{color:var(--accent);font-style:normal}.approach-list{flex-direction:column;gap:0;display:flex}.approach-item{border-top:1px solid var(--line);padding:clamp(25px,3.5vw,40px) 0;transition:border-color .4s}.approach-item:last-child{border-bottom:1px solid var(--line)}.approach-item h4{letter-spacing:-.02em;align-items:baseline;gap:16px;margin-bottom:12px;font-size:clamp(20px,2.2vw,26px);font-weight:400;line-height:1.2;display:flex}.approach-num{font-family:var(--font-mono);color:var(--ink-muted);flex-shrink:0;width:32px;font-size:12px}.approach-item p{color:var(--ink-soft);max-width:50ch;margin-left:48px;font-size:16px;line-height:1.55}@media (width<=820px){.approach{grid-template-columns:1fr}.approach-item p{margin-left:0}}.off-work{grid-template-columns:1fr 1.5fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.off-work-text{letter-spacing:-.015em;color:var(--ink-soft);max-width:38ch;font-size:clamp(22px,2.4vw,30px);font-weight:400;line-height:1.35}.off-work-text em{color:var(--ink);font-style:normal;font-weight:400}@media (width<=820px){.off-work{grid-template-columns:1fr}}.projects-intro{grid-template-columns:1fr 1fr;align-items:start;gap:0;margin-bottom:clamp(60px,8vw,96px);display:grid}.projects-intro-text{color:var(--ink-soft);max-width:55ch;font-size:clamp(17px,1.5vw,19px);line-height:1.55}.projects-intro-text strong{color:var(--ink);font-weight:400}@media (width<=820px){.projects-intro{grid-template-columns:1fr}}.projects-head{border-bottom:1px solid var(--line-strong);font-family:var(--font-mono);font-size:var(--label-size);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);grid-template-columns:60px 1.6fr .9fr 100px 40px;gap:20px;padding:24px 0 16px;transition:border-color .4s;display:grid}.projects-head>div:last-child,.projects-head>div:nth-child(4){text-align:right}.projects-list{position:relative}.project-thumb{display:none}.project-thumb img{width:100%;height:auto;display:block}.project{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:60px 1.6fr .9fr 100px 40px;align-items:center;gap:20px;padding:25px 0;transition:padding-left .4s,border-color .4s,opacity .35s,transform .35s;display:grid;position:relative}.project:hover{padding-left:16px}.project:hover .project-arrow{color:var(--accent);transform:translate(8px)}.project:hover .project-name{color:var(--accent)}.project.hidden{opacity:0;pointer-events:none;border:none;height:0;margin:0;padding:0;overflow:hidden;transform:translateY(-8px)}.project-num{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.02em;font-size:12px}.project-name{letter-spacing:-.02em;font-size:clamp(20px,2.4vw,28px);line-height:1.15;transition:color .3s}.project-name .project-client{font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:12px;font-weight:400;display:block}.project-type{font-family:var(--font-mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.project-client-url{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;cursor:pointer;font-size:18px;transition:transform .3s,color .3s}.project-client-url:hover{color:var(--accent)}.project-year{font-family:var(--font-mono);color:var(--ink-muted);text-align:right;letter-spacing:.02em;font-size:12px}.project-arrow{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;font-size:18px;transition:transform .3s,color .3s}.empty{text-align:center;color:var(--ink-muted);font-family:var(--font-mono);padding:80px 0;font-size:14px;display:none}.empty.visible{display:block}@media (width<=900px){.projects-head{display:none}.project{grid-template-rows:auto auto auto auto;grid-template-columns:1fr 30px;gap:0 16px}.project-thumb{border-radius:5px;grid-area:1/1/auto/span 2;margin-bottom:16px;display:block;overflow:hidden}.project-num,.project-year{display:none}.project-name{grid-area:2/1;margin-bottom:4px}.project-type{grid-area:3/1}.project-arrow,.project-client-url{display:none}.project-year{text-align:left;grid-area:4/1}}.contact-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.info-block{border-top:1px solid var(--line);padding:clamp(28px,4vw,36px) 0;transition:border-color .4s}.info-block:last-child{border-bottom:1px solid var(--line)}.info-label{margin-bottom:14px}.info-value{letter-spacing:-.015em;font-size:clamp(20px,2vw,24px);line-height:1.25}.info-value a{border-bottom:1px solid #0000;padding-bottom:2px;transition:color .2s,border-color .2s}.info-value a:hover{color:var(--accent);border-bottom-color:var(--accent)}.info-extra{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.02em;margin-top:10px;font-size:12px}@media (width<=820px){.contact-grid{grid-template-columns:1fr}}.page-content{max-width:80ch}.policy-intro{border-bottom:1px solid var(--line);margin-bottom:48px;padding-bottom:32px}.policy-intro p{color:var(--ink);font-size:18px;line-height:1.6}.policy-section{margin-bottom:48px}.policy-section h2{letter-spacing:-.015em;margin-bottom:16px;font-size:20px;font-weight:500}.policy-section p{color:var(--ink-soft);margin-bottom:16px;font-size:16px;line-height:1.7}.policy-section p:last-child{margin-bottom:0}@media (width<=720px){.policy-section h2{font-size:18px}.policy-section p{font-size:15px}}.tech-tag{font-family:var(--font-mono);border:1px solid var(--line-strong);color:var(--ink-soft);letter-spacing:.02em;border-radius:2px;padding:5px 10px;font-size:11px;transition:border-color .2s,color .2s;display:inline-block}.tech-tag:hover{border-color:var(--ink);color:var(--ink)}@media (hover:none){.preview{display:none}}.preview{pointer-events:none;opacity:0;z-index:50;border-radius:4px;width:320px;height:220px;transition:opacity .25s,transform .25s;position:fixed;overflow:hidden;transform:translate(-50%,-50%)scale(.9)}.preview.active{opacity:1;transform:translate(-50%,-50%)scale(1)}.preview-inner{color:#fafaf5;width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.05em;justify-content:center;align-items:center;font-size:13px;display:flex}.preview-inner img{object-fit:contain;opacity:0;clip-path:circle(0%);width:100%;height:100%;transition:all 1s var(--ease-in-out);display:block;transform:scale(.8)}.preview-inner img.active{opacity:1;clip-path:circle(100%);transform:scale(1)}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:0;padding-bottom:32px;transition:border-color .4s;display:flex}.toolbar-group{flex-direction:column;gap:12px;display:flex}.toolbar-options{flex-wrap:wrap;gap:4px;display:flex}.toolbar-btn{font-family:var(--font-mono);border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;letter-spacing:.02em;background:0 0;border-radius:2px;padding:7px 14px;font-size:12px;transition:all .2s}.toolbar-btn:hover{border-color:var(--ink);color:var(--ink)}.toolbar-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.toolbar-count{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.04em;font-size:12px}.toolbar-count strong{color:var(--ink);font-weight:400}@media (width<=600px){.toolbar{flex-direction:column;align-items:flex-start}}.form-wrap{padding-top:0}.form-intro{border-bottom:1px solid var(--line);margin-bottom:0;padding-bottom:24px;transition:border-color .4s}.contact-feedback{font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--line-strong);border-radius:2px;margin-top:18px;padding:12px 14px;font-size:12px;line-height:1.45}.contact-feedback--success{color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong))}.contact-feedback--error{color:var(--ink);border-color:color-mix(in srgb, #b42318 55%, var(--line-strong));background:#b423181a}.contact-feedback ul{margin:0;padding-left:18px}.contact-feedback li+li{margin-top:4px}form{flex-direction:column;display:flex}.field{border-bottom:1px solid var(--line);flex-direction:column;padding:24px 0;transition:border-color .4s;display:flex;position:relative}.field:focus-within{border-bottom-color:var(--ink)}.field label{margin-bottom:12px;transition:color .2s}.field:focus-within label{color:var(--accent)}.field label .optional{color:var(--ink-muted);text-transform:none;letter-spacing:.02em;margin-left:6px;font-size:10px}.field input,.field textarea,.field select{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:clamp(17px,1.6vw,20px);font-weight:400;line-height:1.4}.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted);opacity:.6}.field textarea{resize:vertical;min-height:80px;font-family:var(--font-display)}.field-options{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.field-chip{font-family:var(--font-mono);border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:2px;padding:7px 14px;font-size:12px;transition:all .2s}.field-chip:hover{border-color:var(--ink);color:var(--ink)}.field-chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.privacy-consent{border-bottom:1px solid var(--line);padding-top:24px;padding-bottom:24px}.privacy-consent-label{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.02em;cursor:pointer;align-items:center;gap:10px;font-size:12px;line-height:1.5;display:flex}.privacy-consent-label input[type=checkbox]{appearance:none;border:1px solid var(--line-strong);background:0 0;border-radius:2px;flex:0 0 16px;place-items:center;width:16px;height:16px;margin-top:1px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:inline-grid}.privacy-consent-label input[type=checkbox]:after{content:"";clip-path:polygon(14% 52%,0 66%,40% 100%,100% 24%,86% 10%,40% 72%);background:var(--bg);width:9px;height:9px;transition:transform .16s;transform:scale(0)}.privacy-consent-label input[type=checkbox]:hover{border-color:var(--ink)}.privacy-consent-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.privacy-consent-label input[type=checkbox]:checked:after{transform:scale(1)}.privacy-consent-label input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.privacy-consent-label span{margin-top:-1px}.privacy-consent-label a{border-bottom:1px solid;transition:color .2s}.privacy-consent-label:hover{color:var(--ink-soft)}.privacy-consent-label a:hover{color:var(--ink)}.form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:32px;display:flex}.form-note{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.02em;max-width:32ch;font-size:11px;line-height:1.5}.submit-btn{font-family:var(--font-mono);background:var(--ink);color:var(--bg);border:1px solid var(--ink);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;border-radius:2px;align-items:center;gap:10px;padding:14px 28px;font-size:13px;transition:all .2s;display:inline-flex}.submit-btn:hover{background:var(--accent);border-color:var(--accent)}.submit-btn .arrow{transition:transform .3s}.submit-btn:hover .arrow{transform:translate(4px)}.faq{grid-template-columns:1fr 1.5fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.faq-title h2{letter-spacing:-.02em;max-width:12ch;font-size:clamp(28px,3.4vw,42px);line-height:1.1}.faq-list{flex-direction:column;display:flex}.faq-item{border-top:1px solid var(--line);padding:0;transition:border-color .4s}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{text-align:left;letter-spacing:-.015em;width:100%;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:clamp(18px,1.8vw,22px);transition:color .2s;display:flex}.faq-q:hover{color:var(--accent)}.faq-icon{flex-shrink:0;width:16px;height:16px;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:currentColor;transition:transform .3s;position:absolute}.faq-icon:before{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.faq-icon:after{width:1px;height:100%;top:0;left:50%;transform:translate(-50%)}.faq-item.open .faq-icon:after{transform:translate(-50%)rotate(90deg)}.faq-a{max-height:0;color:var(--ink-soft);font-size:16px;line-height:1.6;transition:max-height .4s,padding .3s;overflow:hidden}.faq-item.open .faq-a{max-height:400px;padding:0 0 28px}.faq-a p{max-width:60ch}@media (width<=820px){.faq{grid-template-columns:1fr}}.cookie-banner{background:var(--ink);width:calc(100% - 48px);max-width:720px;color:var(--bg);z-index:200;transition:transform .4s var(--ease-in-out);border-radius:4px;align-items:center;gap:24px;padding:16px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(calc(100% + 32px))}@media (width<=600px){.cookie-banner{flex-direction:column;align-items:flex-start;gap:16px}}.cookie-banner.visible{transform:translate(-50%)translateY(0)}.cookie-banner-text{font-family:var(--font-mono);color:var(--bg);flex:1;font-size:12px;line-height:1.6}.cookie-banner-text a{color:var(--bg);text-underline-offset:3px;text-decoration:underline}.cookie-banner-text a:hover{opacity:.7}.cookie-banner-actions{flex-shrink:0;gap:8px;display:flex}.cookie-btn{font-family:var(--font-mono);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:2px;padding:8px 16px;font-size:12px;transition:opacity .2s}.cookie-btn:hover{opacity:.8}.cookie-btn-accept{background:var(--bg);color:var(--ink)}.cookie-btn-refuse{color:var(--bg);background:0 0;border-color:#ffffff40}
