.blog-page{max-width:1180px;margin:auto}.article-page,.blog-page{min-height:100vh;padding:1.25rem max(5vw,24px) 7rem}.article-page{max-width:none}.blog-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;border-bottom:1px solid var(--line)}.blog-nav .brand{font-size:1.25rem;font-weight:900;letter-spacing:-.08em}.blog-nav .brand-name{color:var(--ink)}.blog-nav nav{display:flex;gap:1.25rem;color:var(--muted);font-size:.82rem;font-weight:750}.blog-nav nav a:hover{color:var(--accent)}.blog-intro{max-width:860px;padding:5.5rem 0 2rem}.article-hero h1,.blog-intro h1{font-size:clamp(2.75rem,4.6vw,4.75rem);line-height:1;letter-spacing:-.065em;margin:.65rem 0 1.25rem}.article-hero .lede,.blog-intro .lede{max-width:760px}.blog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.blog-list article{display:flex;min-height:270px;flex-direction:column;padding:1.7rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);transition:transform .2s ease,border-color .2s ease}.blog-list article:hover{transform:translateY(-3px);border-color:var(--accent)}.blog-list article.published-post{border-top:3px solid var(--accent)}.article-body h2,.blog-list h2{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.12;letter-spacing:-.04em;margin:.65rem 0}.article-body p,.blog-list p{color:var(--muted)}.blog-list .text-link{margin-top:auto}.article-shell{padding-top:4.75rem}.article-hero{max-width:none;padding:0 0 3rem;border-bottom:1px solid var(--line)}.article-hero h1{max-width:1400px;font-size:clamp(2.75rem,4vw,4.5rem)}.article-meta{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin-top:1.5rem;color:var(--muted);font-family:var(--font-mono);font-size:.79rem;font-weight:750}.article-body{max-width:1040px;padding-top:2.25rem}.article-body section{margin:3rem 0}.article-body h2{scroll-margin-top:90px}.article-body li{color:var(--muted);margin-bottom:.75rem}.article-body pre{overflow-x:auto;margin:1.5rem 0;padding:1.25rem 1.35rem;border:1px solid var(--code-border);border-radius:.5rem;background:var(--code-bg);color:var(--code-text);font-size:.8rem;line-height:1.7;box-shadow:0 16px 35px color-mix(in srgb,#000 18%,transparent)}.article-body code{font-family:var(--font-mono)}.article-table-wrap{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--line);border-radius:.5rem}.article-body table{border-collapse:collapse;width:100%;min-width:620px;font-size:.86rem}.article-body td,.article-body th{padding:.85rem .95rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.article-body th{color:var(--ink);background:var(--soft);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}.article-body td{color:var(--muted)}.article-back{display:inline-flex;margin-top:2.5rem;color:var(--accent);font-weight:800}@media (max-width:760px){.article-page,.blog-page{padding:1rem 24px 5rem}.blog-intro{padding:3.5rem 0 1rem}.blog-list{grid-template-columns:1fr}.blog-list article{min-height:230px}.article-shell{padding-top:3rem}.article-hero{padding-bottom:2rem}.article-hero h1,.blog-intro h1{font-size:clamp(2.65rem,12vw,4.25rem)}.blog-nav nav{gap:.8rem;font-size:.76rem}.article-body{padding-top:1.25rem}.article-body section{margin:2.25rem 0}}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0 0}.filter-row button{background:transparent;border:1px solid var(--line);border-radius:.625rem;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:.71rem;font-weight:700;padding:.5rem .75rem}.filter-row button.selected,.filter-row button:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.architecture{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:1rem;margin:1.25rem 0 .5rem;border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--background-secondary);font-family:var(--font-mono);font-size:.7rem;font-weight:800;color:var(--accent)}.architecture b{font-size:1rem}.architecture-notes{border-left:2px solid var(--accent);padding-left:1rem;margin:1rem 0;color:var(--muted);font-size:.9rem}.architecture-notes p{margin:.5rem 0}.empty-state{padding:2rem;border:1px dashed var(--line);color:var(--muted)}.desktop a.active{color:var(--accent);font-weight:800}.desktop a{padding:.5rem 0}.mobile-menu a.active{color:var(--accent);font-weight:800}.contact{grid-template-columns:minmax(290px,.7fr) minmax(0,1.5fr);align-items:start;gap:clamp(2.5rem,6vw,6rem)}.contact h2{font-size:clamp(2.7rem,4.2vw,5rem);overflow-wrap:anywhere}.contact form{min-width:0}.contact form .button{justify-content:center;min-height:58px}@media (max-width:1000px){.contact{grid-template-columns:1fr}.contact h2{max-width:680px}}@media (max-width:800px){.architecture{align-items:flex-start}.filter-row{margin-top:1.25rem}}.hero-visual{gap:1.6rem}.developer-signal{width:100%;max-width:560px;margin-left:auto;background:var(--code-bg);border:1px solid var(--code-border);border-radius:1rem;color:var(--code-text);padding:1.25rem;box-shadow:0 16px 36px color-mix(in srgb,#000 26%,transparent)}.developer-signal-heading{display:flex;align-items:center;gap:.55rem;color:var(--code-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 14%,transparent)}.developer-signal-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:1.1rem 0;background:var(--code-border)}.developer-signal-item{display:flex;gap:.7rem;align-items:center;min-height:70px;padding:.8rem;background:var(--code-surface)}.developer-signal-item svg{color:var(--accent);flex:none}.developer-signal-item small{display:block;color:var(--code-muted);font-family:var(--font-mono);font-size:.66rem}.developer-signal-item strong{display:block;font-size:.8rem;margin-top:.12rem}.developer-signal>p{margin:0;color:var(--code-muted);font-size:.83rem;line-height:1.5}.published-post{border-top:3px solid var(--accent)}@media (max-width:1000px){.hero-visual{max-width:540px}.developer-signal{margin-left:0}}@media (max-width:420px){.developer-signal-list{grid-template-columns:1fr}}:root{--background:#f4f7fa;--background-secondary:#e9eff4;--surface:#ffffff;--surface-elevated:#ffffff;--surface-hover:#eef5f8;--border:#d7e0e7;--border-subtle:#e7edf1;--text-primary:#16212b;--text-secondary:#4c5d6d;--text-muted:#718096;--brand-primary:#087eaf;--brand-hover:#056a94;--brand-soft:#e1f5fc;--brand-border:#a9dff3;--success:#18794e;--warning:#a96513;--error:#b93838;--info:#087eaf;--focus:#087eaf;--code-bg:#0d131b;--code-surface:#111923;--code-border:#263645;--code-text:#f4f7fa;--code-muted:#a8b3c1;--footer-bg:#111923;--bg:#f4f7fa;--panel:#ffffff;--panel-raised:#ffffff;--soft:#e9eff4;--ink:#16212b;--muted:#4c5d6d;--line:#d7e0e7;--accent:#087eaf;--accent-strong:#056a94;--accent-start:#38bdf8;--accent-end:#6366f1;--on-accent:#ffffff;--gradient:linear-gradient(135deg,var(--accent-start),var(--accent-end));--shadow:0 16px 42px rgb(15 31 44/9%);--font-display:Manrope,Inter,ui-sans-serif,system-ui,sans-serif;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Geist Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}html[data-theme=dark]{--background:#090d12;--background-secondary:#0d131b;--surface:#111923;--surface-elevated:#16202c;--surface-hover:#16202c;--border:#26323e;--border-subtle:#1a2530;--text-primary:#f4f7fa;--text-secondary:#a8b3c1;--text-muted:#718096;--brand-primary:#38bdf8;--brand-hover:#67d0fa;--brand-soft:#0d2e3e;--brand-border:#195875;--success:#4bc488;--warning:#e0a13a;--error:#e36d6d;--info:#67d0fa;--focus:#67d0fa;--code-bg:#0d131b;--code-surface:#111923;--code-border:#263645;--code-text:#f4f7fa;--code-muted:#a8b3c1;--footer-bg:#0d131b;--bg:#090d12;--panel:#111923;--panel-raised:#16202c;--soft:#0d131b;--ink:#f4f7fa;--muted:#a8b3c1;--line:#26323e;--accent:#38bdf8;--accent-strong:#67d0fa;--accent-start:#38bdf8;--accent-end:#6366f1;--on-accent:#071018;--gradient:linear-gradient(135deg,var(--accent-start),var(--accent-end));--shadow:0 18px 48px rgb(0 0 0/24%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 88% 2%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 28rem),linear-gradient(color-mix(in srgb,var(--line) 26%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 26%,transparent) 1px,transparent 1px),var(--bg);background-size:auto,76px 76px,76px 76px,auto;color:var(--ink);font-family:var(--font-body);line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:fixed;top:1rem;left:-999px;z-index:30;border-radius:.5rem;background:var(--panel-raised);box-shadow:var(--shadow);padding:.75rem 1rem}.skip:focus{left:1rem}.nav{position:sticky;top:0;z-index:20;display:flex;height:76px;align-items:center;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(18px);padding:0 max(5vw,24px)}.desktop{display:flex;gap:1.4rem;color:var(--muted);font-size:.82rem;font-weight:650}.desktop a{padding:.45rem 0}.desktop a.active,.desktop a:hover,.text-link:hover{color:var(--accent)}.desktop a.active{font-weight:850}.nav-actions{display:flex;align-items:center;gap:.45rem}.icon-button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}.icon-button:hover{background:var(--soft)}.menu,.mobile-menu{display:none}.button,.resume{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);border-radius:.7rem;background:var(--panel-raised);color:var(--ink);font-size:.88rem;font-weight:800;padding:.7rem 1rem;transition:transform .18s ease,border-color .18s ease,background .18s ease}.button:hover,.resume:hover{transform:translateY(-2px);border-color:var(--accent)}.resume.small{min-height:40px;padding:.5rem .8rem}.button.primary{border-color:transparent;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 20%,transparent)}.button.primary:hover{border-color:transparent;background:var(--accent-strong)}.section{display:grid;max-width:1240px;grid-template-columns:150px minmax(0,1fr);gap:clamp(2.5rem,6vw,6.5rem);margin:auto;padding:clamp(5.5rem,10vw,9rem) max(5vw,24px)}.eyebrow,.section-label{margin:0;color:var(--accent);font-family:var(--font-mono);font-size:.71rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.eyebrow i{display:inline-block;width:4px;height:4px;margin:0 .55rem;border-radius:50%;background:currentColor;vertical-align:middle}h1,h2,h3{font-family:var(--font-display);color:var(--ink)}h1{margin:.95rem 0 1.35rem;font-size:clamp(3rem,5.7vw,5.75rem);font-weight:700;letter-spacing:-.075em;line-height:.96}h2{margin:0 0 1.25rem;font-size:clamp(2rem,3.7vw,3.5rem);font-weight:680;letter-spacing:-.06em;line-height:1.02}h3{margin:.55rem 0;font-size:clamp(1.25rem,1.65vw,1.75rem);letter-spacing:-.04em;line-height:1.08}.hero{min-height:calc(100vh - 76px);grid-template-columns:minmax(0,1.26fr) minmax(340px,.74fr);align-items:center;gap:clamp(3rem,7vw,8rem);padding-top:clamp(4.5rem,8vw,8rem);padding-bottom:clamp(4.5rem,8vw,8rem)}.hero,.hero-copy{position:relative}.hero-copy{z-index:1}.hero h1{max-width:900px}.lede,.section-intro,.summary>div>p{max-width:720px;color:var(--muted);font-size:clamp(1.05rem,1.15vw,1.24rem)}.button-row{gap:.75rem;margin:2rem 0}.button-row,.hero-meta{display:flex;flex-wrap:wrap}.hero-meta{gap:.6rem 1.2rem;max-width:760px;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem;padding-top:1.1rem}.hero-meta span{display:inline-flex;align-items:center;gap:.35rem}.hero-visual{position:relative;display:grid;align-content:center;gap:3.5rem}.portrait-wrap{position:relative;isolation:isolate;max-width:560px;margin-left:auto}.portrait-wrap:before{position:absolute;z-index:-1;inset:-1.5rem 1.5rem 1.5rem -1.5rem;border-radius:1.25rem;background:var(--gradient);content:"";opacity:.3}.portrait-wrap img{display:block;width:100%;height:auto;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:.75rem;filter:grayscale(100%) contrast(1.05)}.portrait-note{position:absolute;bottom:-3rem;left:-3rem;min-width:min(350px,calc(100% - 1rem));border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:.625rem;background:color-mix(in srgb,var(--panel-raised) 92%,transparent);box-shadow:var(--shadow);font-size:1rem;padding:1.65rem 2rem;backdrop-filter:blur(12px)}.portrait-note b{display:block;margin-top:.1rem;font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.1rem);letter-spacing:-.06em}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:var(--line);box-shadow:var(--shadow)}.proof-strip>div{min-height:92px;background:var(--panel);padding:1rem}.proof-strip strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.15rem;letter-spacing:-.04em;line-height:1.15}.proof-strip span{display:block;margin-top:.25rem;color:var(--muted);font-size:.73rem;line-height:1.35}.summary{border-top:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2.25rem}.metrics span{border:1px solid var(--line);border-radius:.625rem;background:color-mix(in srgb,var(--panel) 78%,transparent);color:var(--muted);font-size:.84rem;padding:1rem}.metrics b{display:block;margin-bottom:.2rem;color:var(--ink);font-family:var(--font-display);font-size:1.05rem}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);border-bottom:1px solid var(--line);padding:2.75rem 0}.timeline-item h2{margin:.55rem 0;font-size:clamp(1.8rem,3vw,3rem)}.muted,.timeline-item li{color:var(--muted)}li{margin-bottom:.65rem}.project-grid,.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-card,.skill{display:flex;min-height:228px;flex-direction:column;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--panel) 90%,transparent);padding:1.45rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.project-card:hover,.skill:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.project-card p,.skill p{color:var(--muted);font-size:.9rem}.skill small{margin-top:auto;color:var(--accent);font-family:var(--font-mono);font-size:.7rem;font-weight:750;line-height:1.55}.featured-projects{margin-top:2.75rem}.supporting-projects{margin-top:4rem}.project-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-subtle)}.project-group-heading span{color:var(--ink);font-family:var(--font-mono);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-group-heading p{margin:0;color:var(--muted);font-size:.82rem}.featured{display:grid;grid-template-columns:90px minmax(0,1fr);gap:1.5rem;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--panel) 94%,transparent);padding:2rem}.featured:last-child{border-bottom:1px solid var(--line)}.featured+.featured{margin-top:1rem}.project-index{font-family:var(--font-display);color:var(--accent);font-size:1rem;font-weight:750;letter-spacing:-.04em}.featured h3{font-size:clamp(1.55rem,2.4vw,2.5rem)}.featured p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.25rem 0}.tags span{border:1px solid var(--line);border-radius:.375rem;color:var(--muted);font-family:var(--font-mono);font-size:.7rem;font-weight:700;padding:.28rem .55rem}.text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent);font-size:.86rem;font-weight:800}.learning{max-width:none;background:color-mix(in srgb,var(--soft) 50%,transparent);padding-left:max(calc((100vw - 1240px) / 2 + 5vw),5vw);padding-right:max(calc((100vw - 1240px) / 2 + 5vw),5vw)}.learning>div:last-child{max-width:920px}.learning ol{display:grid;grid-template-columns:1fr 1fr;margin:2rem 0;padding:0;list-style:none}.learning li{display:flex;gap:.8rem;border-top:1px solid var(--line);font-weight:650;padding:.85rem .5rem .85rem 0}.learning li span{color:var(--accent);font-size:.72rem;font-weight:850}.learning-note{max-width:800px;color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.principles article{border:1px solid var(--line);border-radius:1rem;background:var(--panel);padding:1.5rem}.principles article svg{color:var(--accent)}.principles p{color:var(--muted);font-size:.9rem}.github{max-width:none;grid-template-columns:150px minmax(0,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--background-secondary);color:var(--ink);padding-left:max(calc((100vw - 1240px) / 2 + 5vw),5vw);padding-right:max(calc((100vw - 1240px) / 2 + 5vw),5vw)}.github .section-label,.github .text-link,.github h2,.github p{color:inherit}.github .section-label{color:var(--accent);opacity:1}.github .text-link{border-bottom:1px solid var(--brand-border);color:var(--accent);padding-bottom:.2rem}.credential{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);padding:clamp(1.5rem,3vw,2.5rem)}.credential h2{font-size:clamp(1.65rem,2.5vw,2.65rem)}.contact-icons{display:flex;gap:.65rem;margin-top:1.75rem}.contact-icons a{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:.625rem;transition:transform .18s ease,border-color .18s ease}.contact-icons a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}footer{display:grid;grid-template-columns:1fr auto;gap:1rem;background:var(--footer-bg);color:var(--text-primary);font-size:.84rem;padding:2rem max(5vw,24px)}footer div:first-child{display:grid;gap:.2rem}footer div:nth-child(2){display:flex;flex-wrap:wrap;gap:1rem}footer p{grid-column:1/-1;margin:0;color:var(--text-muted)}@media (max-width:900px){.desktop,.resume.small{display:none}.menu{display:grid}.mobile-menu{position:absolute;top:76px;left:0;right:0;z-index:25;background:var(--panel-raised);box-shadow:var(--shadow);padding:.8rem max(5vw,24px) 1rem}.mobile-menu,.mobile-menu a{border-bottom:1px solid var(--line)}.mobile-menu a{display:block;padding:.85rem 0}.mobile-menu a.active{color:var(--accent);font-weight:850}.github,.hero,.section{grid-template-columns:1fr;gap:1.7rem}.hero{min-height:auto}.portrait-wrap{max-width:560px;margin-left:0}.github{padding-left:max(5vw,24px);padding-right:max(5vw,24px)}}@media (max-width:720px){.hero,.section{padding-top:5rem;padding-bottom:5rem}h1{font-size:clamp(3.1rem,13.3vw,5rem)}h2{font-size:clamp(2.2rem,10vw,3.6rem)}.credential,.learning ol,.metrics,.principles,.project-grid,.proof-strip,.skill-grid{grid-template-columns:1fr}.proof-strip{gap:1px}.proof-strip>div{min-height:auto}.featured,.timeline-item{grid-template-columns:1fr;gap:1rem}.featured{padding:1.5rem}.project-index{font-size:.9rem}.project-group-heading{display:grid;gap:.35rem}.portrait-note{bottom:-2rem;left:1rem;min-width:min(300px,calc(100% - 2rem));padding:1.25rem 1.4rem}footer{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.contact-section{display:grid;max-width:1240px;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(2.5rem,8vw,8rem);margin:auto;padding:clamp(5.5rem,10vw,9rem) max(5vw,24px)}.contact-intro h2{max-width:580px;font-size:clamp(2.75rem,5.2vw,5.8rem);line-height:.94}.contact-intro>p:not(.eyebrow){max-width:420px;color:var(--muted);font-size:1.05rem}.contact-details{display:grid;gap:.7rem;margin:2rem 0;color:var(--muted);font-size:.9rem}.contact-details>*{display:flex;align-items:center;gap:.55rem}.contact-details a:hover{color:var(--accent)}.contact-card{border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:var(--shadow);padding:clamp(1.35rem,3vw,2.6rem)}.contact-card-heading{margin-bottom:1.65rem;border-bottom:1px solid var(--line);padding-bottom:1.4rem}.contact-card-heading p:last-child{margin:.4rem 0 0;color:var(--muted)}.contact-card form{display:grid;gap:1.1rem}.contact-card label{display:grid;gap:.45rem;color:var(--ink);font-size:.82rem;font-weight:800}.contact-card input,.contact-card textarea{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:.625rem;background:var(--bg);color:var(--ink);font:inherit;padding:.85rem .95rem;transition:border-color .18s ease,box-shadow .18s ease}.contact-card textarea{min-height:150px;resize:vertical}.contact-card input:focus,.contact-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-card .button{min-height:56px;border-radius:.625rem}.contact-card .button:disabled{cursor:wait;opacity:.72}.contact-card small{color:var(--muted);font-size:.76rem}.form-status{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9rem}.form-status.success{color:var(--success)}.form-status.error{color:var(--error)}.honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}@media (max-width:900px){.contact-section{grid-template-columns:1fr;gap:2.5rem}.contact-intro h2{max-width:680px}.contact-intro>p:not(.eyebrow){max-width:600px}}@media (max-width:550px){.form-row{grid-template-columns:1fr}.contact-card{padding:1.25rem}}.brand{display:inline-flex;align-items:center;gap:.65rem;letter-spacing:-.04em}.brand img{display:block;width:42px;height:36px;-o-object-fit:contain;object-fit:contain}[data-theme=dark] .brand img{filter:brightness(0) invert(1)}.brand-name{font-family:var(--font-display);font-size:.96rem;font-weight:750;letter-spacing:-.04em}.brand>span{color:var(--ink)}@media (max-width:460px){.brand-name{display:none}.brand img{width:42px;height:36px}}