:root{--ui-scale:0.75;--accent:#2563eb;--accent-dark:#1e40af;--border:#eaeaea;--text:#0a0a0a;--muted:#666;--nav-height:96px;--nav-height-compact:84px;--nav-brand-size:32px;--nav-link-size:20px;--nav-cta-size:clamp(16px,1.2vw,20px);--nav-sep-size:22px;--modal-pad:clamp(8px,2vw,18px);--modal-vw:98vw;--modal-vh:98vh;--hero-h1-min:24px;--hero-h1-max:36px;--hero-sub-min:15px;--hero-sub-max:18px;--brand-gh:#181717;--brand-li:#0A66C2;--brand-gh-hover:#3a3a3a;--brand-li-hover:#2f7bdc;--card-radius:20px;--card-stroke:#e7ecf8;--card-inset:8px}html{font-size:100%;text-size-adjust:100%}@supports (zoom:1){html{zoom:var(--ui-scale)}}@supports not (zoom:1){body{transform:scale(var(--ui-scale));transform-origin:top center;width:calc(100% / var(--ui-scale));min-height:calc(100% / var(--ui-scale))}}@media (min-width:1600px){:root{--ui-scale:0.84}}@media (max-width:900px){:root{--ui-scale:0.95}}@media (max-width:720px){:root{--ui-scale:1}}@media (min-width:721px){.modal{padding:var(--modal-pad)!important}.modal-card{width:min(1100px,96vw)!important;height:calc(100dvh - (var(--modal-pad) * 2))!important;max-height:calc(100dvh - (var(--modal-pad) * 2))!important}}@supports not (height:100dvh){@media (min-width:721px){.modal-card{height:calc(100vh - (var(--modal-pad) * 2))!important;max-height:calc(100vh - (var(--modal-pad) * 2))!important}}}@supports (zoom:1){#ui-scale{zoom:var(--ui-scale)}}@supports not (zoom:1){#ui-scale{transform:scale(var(--ui-scale));transform-origin:top center;width:calc(100% / var(--ui-scale));min-height:calc(100% / var(--ui-scale))}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{color:var(--text);background:#fff;font-synthesis-weight:none}.nav-wrap{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1.5px solid rgba(37,99,235,.5);box-shadow:0 2px 8px rgba(0,0,0,.03);overflow:hidden}.nav-wrap:after{content:none}.nav-scrolled{box-shadow:0 10px 24px rgba(0,0,0,.05)}.nav{width:100%;padding-inline:clamp(28px,5.8vw,92px);height:var(--nav-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:height .16s ease}.nav-compact{height:var(--nav-height-compact)}.left{display:flex;align-items:center;gap:22px}.brand{position:relative;font-weight:900;font-size:var(--nav-brand-size);letter-spacing:-.02em;line-height:1;color:var(--text);text-decoration:none;transition:transform .15s ease,text-shadow .15s ease}.brand:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:5px;border-radius:6px;background:linear-gradient(90deg,var(--accent),#7aa2f8 60%,var(--accent));transform:scaleX(.25);transform-origin:left;opacity:.6;transition:transform .28s ease,opacity .28s ease}.brand:hover{transform:translateY(-1px);text-shadow:0 2px 14px rgba(37,99,235,.28)}.brand:hover:after{transform:scaleX(1);opacity:.85}.navlink{font-weight:800;font-size:var(--nav-link-size);color:var(--text);text-decoration:none;position:relative;padding-block:10px;transition:color .12s ease,transform .12s ease}.navlink:hover{transform:translateY(-1px);color:var(--accent-dark)}.navlink:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.navlink.active:after,.navlink:hover:after{transform:scaleX(1)}.iconlink{display:inline-flex;align-items:center;justify-content:center;width:clamp(40px,3vw,46px);height:clamp(40px,3vw,46px);background:transparent;border:none;border-radius:8px;color:inherit;transition:transform .12s ease,color .12s ease,opacity .12s ease}.iconlink svg{width:calc(var(--nav-cta-size) + 6px);height:calc(var(--nav-cta-size) + 6px);display:block}.iconlink--gh{color:var(--brand-gh)}.iconlink--li{color:var(--brand-li)}.iconlink--gh:hover{color:color-mix(in srgb,var(--brand-gh) 78%,white)}.iconlink--li:hover{color:color-mix(in srgb,var(--brand-li) 85%,white)}@supports not (color:color-mix(in srgb,black,white)){.iconlink--gh:hover{color:var(--brand-gh-hover)}.iconlink--li:hover{color:var(--brand-li-hover)}}.iconlink:hover{transform:translateY(-1px)}.iconlink:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}.right{gap:10px}.center{display:flex;align-items:center;justify-self:center;gap:32px}.center a{font-weight:800;font-size:var(--nav-link-size);color:#111;opacity:.95;text-decoration:none;padding:10px 2px;position:relative;transition:color .12s ease,text-shadow .12s ease,transform .12s ease}.center a+a:before{content:"·";position:absolute;left:-18px;top:50%;transform:translateY(-58%);color:var(--accent-dark);font-weight:900;font-size:var(--nav-sep-size)}.center a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:linear-gradient(90deg,var(--accent),rgba(37,99,235,.35));transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.center a:hover{color:var(--accent-dark);text-shadow:0 .5px 0 rgba(0,0,0,.08);transform:translateY(-1px)}.center a:hover:after{transform:scaleX(1)}.right{justify-self:end;display:flex;gap:14px}.cta,.right{align-items:center}.cta{display:inline-flex;justify-content:center;padding:10px 16px;font-weight:900;font-size:var(--nav-cta-size);color:var(--accent);background:#fff;border:2px solid var(--accent);border-radius:12px;box-shadow:5px 7px 0 rgba(37,99,235,.2);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.cta:hover{transform:translate(-2px,-2px);box-shadow:7px 9px 0 rgba(37,99,235,.16);background:rgba(37,99,235,.05)}.cta:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}.cta:disabled,.cta[disabled]{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:5px 7px 0 rgba(37,99,235,.12);background:#fff;pointer-events:none}.cta:disabled:hover,.cta[disabled]:hover{transform:none;background:#fff;box-shadow:5px 7px 0 rgba(37,99,235,.12)}.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px;cursor:pointer}.menu-btn span{display:block;height:2px;background:#111;margin:5px 0;border-radius:2px}.mobile-panel{display:none}@media (max-width:1100px){.center{display:none}.menu-btn{display:inline-flex;align-items:center;justify-content:center}.nav{padding-inline:clamp(18px,5vw,40px)}.mobile-panel{position:fixed;inset:auto 0 0 0;top:var(--nav-height);display:none;background:#fff;border-top:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,.08);padding:14px 18px;z-index:60}.mobile-panel.open{display:grid;grid-gap:10px;gap:10px}.mobile-link{font-weight:800;font-size:18px;color:#111;text-decoration:none;padding:8px 2px}}@media (max-width:760px){.left .navlink{display:none}}@media (max-width:720px){.left .navlink{display:none!important}.menu-btn{display:inline-flex!important}.cta{white-space:nowrap;padding:8px 12px;font-size:15px}.right{gap:8px;padding-right:0}.right .cta{margin-right:max(18px,calc(env(safe-area-inset-right) + 14px))}.iconlink{display:none!important;width:34px;height:34px}.iconlink svg{width:20px;height:20px}.nav{padding-inline:16px max(24px,calc(env(safe-area-inset-right) + 12px))!important;padding-right:max(clamp(32px,10vw,60px),calc(env(safe-area-inset-right) + 20px))!important}}@media (prefers-reduced-motion:reduce){.brand,.brand:after,.center a:after,.navlink:after{transition:none!important}}.container{max-width:1140px;margin:0 auto;padding:0 20px}.hero{padding:108px 0 28px}.hero-inner{display:grid;grid-template-columns:auto auto;grid-template-areas:"portrait copy";align-items:center;grid-column-gap:clamp(16px,3.2vw,28px);column-gap:clamp(16px,3.2vw,28px)}.copy,.hero-inner{justify-content:center}.copy{grid-area:copy;display:flex;flex-direction:column;max-width:58ch;text-align:left;padding-bottom:0}.copy,.portrait{align-self:center}.portrait{grid-area:portrait;justify-self:center}@media (max-width:900px){.hero-inner{grid-template-columns:1fr;grid-template-areas:"copy" "portrait";align-items:start;row-gap:12px}.portrait{justify-self:start}}.hero h1{font-size:clamp(32px,4.1vw,44px);line-height:1.12;margin:0 0 8px}.sub{font-size:clamp(17px,1.5vw,22px);line-height:1.45;color:var(--muted);max-width:60ch;margin:6px 0 0}.portrait:after,.portrait:before{content:none}.portrait img{display:block;border-radius:24px;border:1px solid #eaf0ff;position:relative;z-index:1;box-shadow:0 14px 36px rgba(0,0,0,.08),0 24px 56px rgba(37,99,235,.12);transition:transform .18s ease,box-shadow .18s ease}.portrait img:hover{transform:translateY(-1.5px);box-shadow:0 16px 40px rgba(0,0,0,.09),0 28px 62px rgba(37,99,235,.16)}@media (max-width:900px){.portrait{justify-self:start}}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:36px;gap:36px}@media (max-width:900px){.grid{grid-template-columns:1fr;gap:25px}}@media (max-width:720px){.grid{justify-items:center}.grid .card{width:86%}}@media (max-width:420px){.grid .card{width:82%}}@media (max-width:720px){.home-featured .section-title{margin-left:calc((100% - 86%) / 2)}}@media (max-width:420px){.home-featured .section-title{margin-left:calc((100% - 82%) / 2)}}@media (max-width:720px){.portrait img{width:240px;height:240px}.projects-wrap h1{margin-left:calc((100% - 86%) / 2)!important}}@media (max-width:420px){.projects-wrap h1{margin-left:calc((100% - 82%) / 2)!important}}.grid .card{--card-radius:24px;--card-stroke:#e8edf7;position:relative;aspect-ratio:16/9;border:0!important;border-radius:var(--card-radius)!important;background:transparent;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent) inset,0 6px 18px rgba(0,0,0,.04),0 1px 0 rgba(37,99,235,.03);transition:transform .14s ease,box-shadow .14s ease}.grid .card:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 70%,transparent) inset,0 10px 26px rgba(0,0,0,.06),0 12px 32px rgba(37,99,235,.08)}.grid .card .media{transition:filter .22s ease,transform .14s ease;will-change:filter}.grid .card[data-slug=contrastive-decoding] .media{background:#fff!important}.grid .card[data-slug=contrastive-decoding] .media>:where(span,picture){position:absolute;inset:0;display:block}.grid .card[data-slug=contrastive-decoding] .media :where(img,video){object-fit:contain!important;object-position:center}.grid .card[data-slug=emotion-multilabel] .media{background:#fff!important}.grid .card[data-slug=emotion-multilabel] .media>:where(span,picture){position:absolute;inset:0;display:block}.grid .card[data-slug=emotion-multilabel] .media :where(img,video){object-fit:contain!important;object-position:center}.grid .card:focus-visible .media,.grid .card:hover .media{filter:brightness(.32) saturate(.9) contrast(1.05)}.grid .card .media:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .22s ease;pointer-events:none}.grid .card:focus-visible .media:after,.grid .card:hover .media:after{background:rgba(0,0,0,.36)}.grid .card .overlay{position:absolute;inset:var(--card-inset);display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:18px;z-index:2;pointer-events:none;opacity:0;transition:opacity .18s ease;border-radius:calc(var(--card-radius) - 6px);background:linear-gradient(0deg,rgba(0,0,0,.65) 0,rgba(0,0,0,.25) 50%,rgba(0,0,0,0) 65%)}.grid .card:focus-visible .overlay,.grid .card:hover .overlay{opacity:1}.grid .card .overlay h3{margin:0;display:inline-block;padding:10px 12px 8px;font-size:clamp(22px,2.2vw,30px);line-height:1.1;font-weight:900;letter-spacing:-.012em;color:#fff;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.22);border-radius:12px;text-shadow:0 1px 0 rgba(0,0,0,.25),0 2px 16px rgba(0,0,0,.5);box-shadow:0 4px 20px rgba(0,0,0,.35)}@supports ((-webkit-backdrop-filter:blur(4px)) or (backdrop-filter:blur(4px))){.grid .card .overlay h3{background:rgba(0,0,0,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.grid .card .overlay .tag{font-weight:800;color:#fff;background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.45)}@supports not (color:color-mix(in srgb,black,white)){.grid .card{box-shadow:0 0 0 1px var(--accent) inset,0 6px 18px rgba(0,0,0,.04),0 1px 0 rgba(37,99,235,.03)}.grid .card:hover{box-shadow:0 0 0 1px var(--accent) inset,0 10px 26px rgba(0,0,0,.06),0 12px 32px rgba(37,99,235,.08)}}.modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:clamp(8px,2vw,16px)}@media (max-width:720px){.modal{padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left))}.modal-card{width:calc(100vw - 32px);max-width:calc(100vw - 32px);margin:0 auto;border-radius:14px;box-sizing:border-box}}.modal-card{width:min(1100px,96vw);height:min(98vh,1200px);max-height:98vh;background:#fff;border:1.5px solid #e6eaf5;border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.22),0 0 0 1px rgba(37,99,235,.04);position:relative;display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.modal-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:grid;grid-template-columns:1fr auto 36px;align-items:center;grid-gap:16px;gap:16px;padding:18px;background:#fff;border-bottom:1px solid #eef1f7}.topbar-left .tag{margin-top:6px;margin-bottom:20px;font-size:13.5px;font-weight:700;padding:4px 10px;color:#6b7280;background:#f3f6ff;border:1px solid #dfe7ff;border-radius:999px}.topbar-left h2{margin:0;padding-top:18px;font-size:clamp(28px,3vw,40px);line-height:1.16;letter-spacing:-.012em;font-weight:900;color:var(--accent)}.topbar-actions{display:flex;gap:8px;align-items:center;justify-self:end;flex-wrap:nowrap}@media (min-width:721px){.modal-topbar{position:-webkit-sticky;position:sticky}.modal-topbar .topbar-actions{position:absolute;top:16px;right:66px}}.modal-topbar .modal-close{position:absolute;top:16px;right:20px;width:34px;height:34px;font-size:22px;line-height:1;border:1px solid #e6eaf5;cursor:pointer}a.btn{align-items:center;justify-content:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:800;color:var(--accent);background:#fff;border:1px solid var(--accent);border-radius:12px;text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.04);transition:transform .12s ease,box-shadow .12s ease,color .12s ease}a.btn,a.btn .icon{display:inline-flex}a.btn .icon{width:16px;height:16px}a.btn .icon svg{display:block}a.btn:hover{transform:translateY(-1px);color:var(--accent-dark);box-shadow:0 3px 10px rgba(37,99,235,.15)}a.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}a.btn.primary:hover{box-shadow:0 4px 12px rgba(37,99,235,.28)}.modal-media{position:relative;width:100%;height:clamp(360px,62vh,720px);flex:0 0 auto;background:#fff;border-bottom:1px solid #eef1f7;overflow:hidden}.modal-media.is-wide{height:clamp(160px,40vh,420px)}.modal-media.is-wide+.modal-body{padding-top:1px}.modal-body{overflow:visible;font-size:clamp(18px,1.35vw,20px);line-height:1.6;padding-inline:clamp(8px,1.2vw,16px);padding:clamp(8px,1vw,12px) clamp(12px,1.8vw,22px) clamp(12px,1.8vw,22px);max-width:1060px;margin:0 auto;display:grid;grid-gap:clamp(14px,2vw,20px);gap:clamp(14px,2vw,20px)}.modal-body .lead{font-size:clamp(17px,1.4vw,20px);color:#222;margin:0 0 4px}.modal-section{background:transparent;border:0;border-radius:0;box-shadow:none;padding-block:clamp(12px,1.6vw,18px);padding-inline:0}.modal-section+.modal-section{border-top:1px solid #eef1f7}.modal-section h3{margin:0 0 8px;font-size:19px;line-height:1.3;font-weight:800;color:var(--accent)}.modal-section ul{margin:0;padding-left:1.15rem;color:#2b2b2b}.modal-section li{margin:6px 0;line-height:1.55}.modal-section.is-dense ul{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:clamp(14px,2vw,24px);column-gap:clamp(14px,2vw,24px);grid-row-gap:6px;row-gap:6px}@media (max-width:720px){.modal-section.is-dense ul{grid-template-columns:1fr}}.modal-body{row-gap:clamp(14px,1.6vw,18px)}.modal-body .lead{font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:#1f2937;margin:0}.modal-body .lead-callout{margin:2px 0 8px;padding:clamp(12px,1.6vw,18px) clamp(14px,2vw,20px);background:#f7faff;border:1px solid #e6eaf5;border-radius:12px;box-shadow:inset 3px 0 0 rgba(37,99,235,.55),0 1px 0 rgba(0,0,0,.03)}@media (max-width:840px){.modal-section.is-dense ul{grid-template-columns:1fr}}.listcols{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:clamp(14px,2vw,24px);column-gap:clamp(14px,2vw,24px)}@media (max-width:840px){.listcols{grid-template-columns:1fr}}.modal-section .list{margin:0;padding-left:1.15rem;color:#2b2b2b;list-style:disc outside}.modal-section .list li{margin:6px 0;line-height:1.55}.modal-section .list li::marker{color:var(--accent);font-size:.9em}.modal-video{margin-top:4px}.modal-video video{width:100%;height:auto;max-height:48vh;object-fit:contain;border-radius:14px;border:1px solid #e9edf7;box-shadow:0 10px 30px rgba(0,0,0,.06)}@media (max-width:720px){.modal-topbar{grid-template-columns:1fr 32px;grid-template-areas:"title x" "actions actions";row-gap:8px}.topbar-left{grid-area:title}.topbar-actions{grid-area:actions;justify-content:flex-end}.modal-card{width:calc(100vw - 24px);max-width:720px;height:98vh;max-height:98vh;box-sizing:border-box}.modal-body{padding:12px}}.card .media{position:relative;width:100%;height:100%;inset:0;border-radius:inherit;overflow:hidden}.more-row{display:flex;justify-content:flex-end;margin-top:28px;padding-right:15px}.cta-large{padding:12px 18px;font-size:16px;border-radius:12px}.home-featured{padding:clamp(78px,9vw,128px) 0 clamp(64px,6.5vw,92px)}@media (max-width:720px){.home-featured{padding-right:16px!important}}.section-title{margin:0 0 18px;padding-top:16px;font-size:clamp(16px,2.5vw,32px);line-height:1.15;font-weight:900;letter-spacing:-.012em;text-transform:none;color:var(--accent);display:inline-flex;align-items:center;gap:12px}.section-title:after{content:"";display:block;width:92px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),rgba(37,99,235,.25));transform:translateY(3px)}.home-featured .grid{margin-top:6px}.modal-topbar .modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1.5px solid var(--accent);background:#fff;color:var(--accent);box-shadow:0 1px 0 rgba(0,0,0,.04);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.modal-topbar .modal-close svg{width:18px;height:18px;pointer-events:none}.modal-topbar .modal-close:hover{transform:translateY(-1px);border-color:var(--accent);background:#eef3ff;color:var(--accent);box-shadow:0 4px 12px rgba(37,99,235,.18)}.modal-topbar .modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-topbar a.btn{padding:10px 14px;font-size:15px;border-radius:12px}.contact-card{margin-top:20px;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.06);padding:clamp(16px,2.4vw,28px)}.contact-form{display:grid;grid-gap:16px;gap:16px}.contact-wrap{padding:clamp(56px,7vw,84px) 0}@media (max-width:720px){.contact-shell{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));box-sizing:border-box}}.contact-shell{max-width:880px;margin:0 auto}.email-chips{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.copy-chip{display:inline-flex;align-items:center;gap:10px;border:1px dashed #dbe6ff;background:#fbfdff;border-radius:12px;padding:10px 12px;box-shadow:0 1px 0 rgba(0,0,0,.03);transition:border-color .12s ease,background .12s ease,transform .12s ease}.copy-chip:hover{border-color:var(--accent);background:#f8fbff;transform:translateY(-1px)}.copy-chip.is-copied{border-color:#cfe0ff;background:#f2f7ff}.copy-chip__text{font-weight:800;font-size:14px;color:#111;-webkit-user-select:all;-moz-user-select:all;user-select:all}.copy-chip__btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e6eaf5;background:#fff;border-radius:8px;color:var(--accent);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.copy-chip__btn:hover{border-color:var(--accent);box-shadow:0 3px 10px rgba(37,99,235,.12);transform:translateY(-1px)}.contact-card{width:100%;border:1px solid #e6eaf5;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.05);padding:clamp(20px,2.6vw,30px)}.field{grid-gap:6px;gap:6px}.field input,.field textarea{border:1px solid #e6eaf5;background:#fbfcff;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.field input:hover,.field textarea:hover{background:#fff;border-color:#dfe7ff}.field input:focus,.field textarea:focus{box-shadow:0 0 0 4px rgba(37,99,235,.1)}.field.error input,.field.error textarea{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}.field .hint{font-size:12px;color:#6b7280}.field.error .hint{color:#b91c1c}.form-actions{gap:12px}.btn-spinner{width:16px;height:16px;border:2px solid;border-right:2px solid transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}.form-status{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e6eaf5;border-radius:12px;background:#f7faff;color:#1f2937;box-shadow:0 1px 0 rgba(0,0,0,.03)}.form-status .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px;flex:none}.form-status.is-error{background:#fff7f7;border-color:#fde2e2;color:#991b1b}.form-status.is-error .dot{background:#ef4444}.contact-aside{border:1px solid #e6eaf5;border-radius:16px;padding:16px 18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 10px 30px rgba(0,0,0,.04)}.contact-aside h3{margin:0 0 8px;font-size:16px;font-weight:900;color:var(--accent)}.contact-aside .mail{display:block;font-weight:800;color:#111;text-decoration:none;border:1px dashed #dbe6ff;border-radius:10px;padding:10px 12px;margin-top:8px;transition:border-color .12s ease,background .12s ease,transform .12s ease}.contact-aside .mail:hover{border-color:var(--accent);background:#f8fbff;transform:translateY(-1px)}.contact-details{margin-top:12px;font-size:14px;color:#555;display:grid;grid-gap:6px;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:720px){.form-row{grid-template-columns:1fr}}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-weight:800;font-size:14px;color:#111}.field input,.field textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px;font-size:16px;color:var(--text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#9aa0a6}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.form-actions{display:flex;align-items:center;gap:14px;margin-top:6px}.form-hint{font-size:13px;color:var(--muted)}:where(a,button,[role=button],.cta):focus,:where(a,button,[role=button],.cta):focus-visible{outline:none!important}.grid .card{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.cta:focus-visible,.grid .card:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent),0 6px 18px rgba(0,0,0,.04),0 1px 0 rgba(37,99,235,.03)!important;border-radius:12px}body:focus,html:focus{outline:none!important}:root:after,:root:before,body:after,body:before{border:0!important;outline:0!important;box-shadow:none!important}.modal-media>:where(span,picture){position:absolute;inset:0;display:block}.modal-media :where(img,video,canvas){position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}.grid .card:focus-visible .overlay{opacity:1}body:after{background-clip:padding-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.bg-glow,.bg-glow:after,.bg-glow:before,.home-featured:after,.page-glow,.page-glow:after,.page-glow:before,.page-mat,.page-mat:after,.page-mat:before,body:after{border-top:0!important;box-shadow:none!important}.bg-glow:after,.bg-glow:before,.page-glow:after,.page-glow:before,.page-mat:after,.page-mat:before,body:after{content:none!important}body:after{-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 28px);mask-image:linear-gradient(0deg,transparent 0,#000 28px)}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}