:root{--white: #ffffff;--soft: #f4f6fe;--line: #e2e6f6;--navy: #0b1260;--text: #3d4470;--blue: #1b33e0;--blue-soft: #dfe5ff;--lime: #d4f53a;--lime-soft: #f1fbc9;--error: #c4213a;--ok: #0b7a4b;--font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--code-text: #e8ecff;--code-dim: #a9b4f0;--code-kw: #9fb1ff;--gutter-l: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--white);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--white)}img{max-width:100%}a{color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}.wrap{max-width:1200px;margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}h1,h2,h3{color:var(--navy);margin:0;letter-spacing:-.025em;line-height:1.08;text-wrap:balance;font-weight:800}p{margin:0}section{padding-block:clamp(3rem,7vw,5rem)}section.pt-0{padding-top:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:absolute;left:1rem;top:-100px;z-index:50;background:var(--navy);color:var(--white);padding:.7rem 1rem;border-radius:10px;text-decoration:none;font-weight:700}.skip:focus{top:calc(env(safe-area-inset-top,0px) + 1rem)}.eyebrow{display:flex;align-items:center;gap:1rem;font-size:.82rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);line-height:1.4}.eyebrow:after{content:"";width:3.2rem;height:3px;border-radius:3px;background:var(--lime);flex:none}.eyebrow.small{font-size:.74rem;color:var(--blue);letter-spacing:.16em}.eyebrow.small:after{display:none}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.6rem;border-radius:999px;font:700 .98rem var(--font);text-decoration:none;cursor:pointer;border:2px solid var(--blue);transition:transform .2s,box-shadow .2s,background .2s}.btn svg{width:18px;height:18px;transition:transform .2s}.btn:hover svg{transform:translate(3px)}.btn.fill{background:var(--blue);color:var(--white);box-shadow:0 12px 26px -14px var(--blue)}.btn.fill:hover{transform:translateY(-2px)}.btn.line{background:var(--white);color:var(--blue)}.btn.line:hover{background:var(--soft)}.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--navy);padding:.7rem 1.3rem}.btn.lime:hover{transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:progress;transform:none}.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:#ffffffeb;backdrop-filter:blur(12px);transition:box-shadow .25s}.site-header.scrolled{box-shadow:0 1px 0 var(--line),0 10px 30px -24px #0b126080}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem}.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}.logo svg{width:46px;height:32px;flex:none}.logo b{display:block;font-size:1.35rem;font-weight:800;color:var(--navy);letter-spacing:-.01em;line-height:1}.logo small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.42em;color:var(--navy);margin-top:.3rem}#site-menu{display:flex;align-items:center;gap:2.2rem;list-style:none;margin:0;padding:0}#site-menu a:not(.btn){text-decoration:none;font-weight:600;font-size:.95rem;color:var(--navy);position:relative;padding-block:.3rem}#site-menu a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:3px;background:var(--lime);transform:scaleX(0);transition:transform .25s}#site-menu a:not(.btn):hover:after,#site-menu a.active:after,#site-menu a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--white);cursor:pointer;padding:0;place-content:center;gap:5px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:transform .25s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:1080px){.logo b{font-size:1.1rem}.menu-toggle{display:grid}#site-menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 20px 40px -24px #0b126073;padding:.5rem var(--gutter-r) 1.25rem var(--gutter-l);display:none}#site-menu.open{display:flex}#site-menu li{border-top:1px solid var(--line)}#site-menu a:not(.btn){display:block;padding:.95rem .25rem;font-size:1.05rem}#site-menu a:not(.btn):after{display:none}#site-menu a.active,#site-menu a[aria-current=page]{color:var(--blue)}#site-menu .menu-cta{border-top:0;padding-top:1rem}#site-menu .menu-cta .btn{width:100%;justify-content:center;padding:.95rem}}.hero{position:relative;overflow:hidden;padding:0}.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;padding-block:clamp(2rem,5vw,3.5rem) clamp(2.5rem,5vw,4rem);position:relative}.hero-copy{display:grid;gap:1.6rem;position:relative;z-index:2;min-width:0}.dash{width:2.8rem;height:6px;background:var(--lime);transform:skew(-25deg);border-radius:2px}.hero h1{font-size:clamp(2.5rem,5.8vw,4.4rem)}.hl{position:relative;display:inline-block;font-style:italic;padding-inline:.12em .18em;z-index:0}.hl:before{content:"";position:absolute;inset:.12em -.08em .02em -.06em;background:var(--lime);transform:skew(-14deg);z-index:-1}.hero .lead{font-size:1.12rem;max-width:34rem}.btns{display:flex;flex-wrap:wrap;gap:.9rem}.tagline{font-weight:700;color:var(--navy);font-size:.95rem;display:flex;align-items:center;gap:.6rem}.tagline i{width:8px;height:8px;border-radius:50%;background:var(--blue)}.art{position:relative;height:clamp(360px,46vw,560px);min-width:0}.tri-a{position:absolute;right:calc(-1 * var(--gutter-r) - 40px);top:6%;width:78%;height:88%;background:var(--lime);clip-path:polygon(100% 0,100% 100%,8% 100%)}.tri-b{position:absolute;right:2%;top:0;width:26%;height:30%;background:var(--lime);clip-path:polygon(100% 0,100% 100%,30% 100%);opacity:.85}#ribbon{position:absolute;inset:-6% -10% -6% -8%;width:118%;height:112%}@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.art{height:340px}}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2rem}.card{background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:1.6rem 1.6rem 1.4rem;display:grid;grid-template-rows:auto auto auto auto 1fr auto;gap:.8rem;min-width:0;transition:transform .25s,box-shadow .25s,background .25s}.card:hover{transform:translateY(-4px);background:var(--white);box-shadow:0 24px 50px -30px #1b33e073}.icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center}.icon svg{width:26px;height:26px}.icon.l{background:var(--lime);color:var(--navy)}.icon.b{background:var(--blue-soft);color:var(--blue)}.card .pillar{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.card h3{font-size:1.5rem}.card ul{margin:.2rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:.93rem;align-content:start}.card li{display:flex;gap:.5rem}.card li:before{content:"";flex:none;width:6px;height:6px;margin-top:.6em;border-radius:50%;background:var(--blue)}.go{justify-self:end;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--navy);text-decoration:none;transition:background .2s,color .2s}.go svg{width:20px;height:20px}.card:hover .go,.go:focus-visible{background:var(--blue);color:var(--white)}@media(max-width:900px){.cards{grid-template-columns:1fr}}.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:center;margin-top:2rem}.product-shot{margin:0;border-radius:24px;overflow:hidden;background:#0e1846;box-shadow:0 30px 60px -34px #0b126099;min-width:0}.product-shot img{display:block;width:100%;height:auto}.ygt-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.ygt-facts li{font-size:.9rem;font-weight:700;color:var(--white);background:var(--navy);padding:.4rem .95rem;border-radius:999px}.ygt-note{font-size:.88rem}.feature-copy{display:grid;gap:1.1rem;min-width:0}.feature-copy h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}.ygt{font-style:italic;color:var(--blue)}.mods{display:flex;flex-wrap:wrap;gap:.45rem}.mods span{font-size:.85rem;font-weight:600;color:var(--navy);background:var(--soft);border:1px solid var(--line);padding:.35rem .8rem;border-radius:999px}@media(max-width:900px){.feature{grid-template-columns:1fr}}.portfolio-section{border-top:1px solid var(--line)}.portfolio-top{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:end;margin-block:1.5rem 2rem}.portfolio-top p{max-width:34rem}.code-h{font:700 clamp(1.5rem,3vw,2.2rem)/1.2 var(--mono);letter-spacing:-.03em}.code-h .syn{color:var(--blue)}.code-p{font:400 .92rem/1.65 var(--mono)}#featured-projects{margin-bottom:2rem}.featured-note{margin-bottom:1.2rem;color:var(--navy)}.more{display:flex;justify-content:center}.terminal{background:var(--navy);border-radius:22px;overflow:hidden;margin-bottom:2.5rem;color:var(--code-text);font:400 .9rem/1.7 var(--mono)}.term-bar{display:flex;align-items:center;gap:.4rem;padding:.75rem 1.2rem;background:#ffffff12}.term-bar i{width:11px;height:11px;border-radius:50%;background:var(--code-dim);opacity:.55}.term-bar i:first-child{background:var(--lime);opacity:1}.term-bar span{margin-left:.6rem;font-size:.8rem;color:var(--code-dim)}.term-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.term-code{margin:0;padding:1.2rem 0;font:inherit;overflow-x:auto;counter-reset:ln}.term-code code{font:inherit;display:block;min-width:max-content}.code-line{display:block;min-height:1.7em;padding-right:1.2rem;counter-increment:ln;white-space:pre;border-left:3px solid transparent;transition:background .2s}.code-line:before{content:counter(ln);display:inline-block;width:2.6rem;padding-right:1rem;text-align:right;color:var(--code-dim);opacity:.6}.code-line.on{background:#d4f53a24;border-left-color:var(--lime)}.t-com{color:var(--code-dim)}.t-str{color:var(--lime)}.t-kw{color:var(--code-kw);font-weight:700}.t-fn{color:var(--white);font-weight:700}.term-run{display:grid;grid-template-rows:1fr auto;gap:1rem;padding:1.2rem;background:#00000038;min-width:0}.term-out{height:12.5rem;overflow-y:auto;align-self:start;width:100%}.term-out:focus-visible{outline-color:var(--lime)}.term-out p{padding-left:1.3em;text-indent:-1.3em}.term-out p:before{content:"> ";color:var(--code-dim)}.term-out .hint{color:var(--code-dim)}.term-out .ask{color:var(--white);font-weight:700}.term-out .done{color:var(--lime);font-weight:700}.term-actions{display:flex;flex-wrap:wrap;gap:.6rem;min-height:3.1rem}.term-actions :focus-visible{outline-color:var(--white)}.btn.ghost{background:none;border-color:var(--code-dim);color:var(--white);padding:.7rem 1.3rem}.btn.ghost:hover{border-color:var(--white)}@media(max-width:900px){.term-body{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.terminal{font-size:.8rem}.code-line{padding-right:.6rem}.code-line:before{width:2rem;padding-right:.7rem}}.tabs{display:flex;gap:.3rem;border-bottom:2px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs [role=tab]{font:800 clamp(1rem,2vw,1.2rem) var(--font);color:var(--text);background:none;border:0;padding:.9rem 1.2rem 1rem;cursor:pointer;position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:.6rem}.tabs [role=tab] span{font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;background:var(--soft);color:var(--navy)}.tabs [role=tab]:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:-2px;height:4px;border-radius:4px 4px 0 0;background:var(--blue);transform:scaleX(0);transition:transform .25s}.tabs [role=tab][aria-selected=true]{color:var(--navy)}.tabs [role=tab][aria-selected=true] span{background:var(--lime)}.tabs [role=tab][aria-selected=true]:after{transform:scaleX(1)}.tabs [role=tab]:hover{color:var(--navy)}.tab-panel{padding-top:1.75rem;display:grid;gap:1.5rem}.tab-panel:focus-visible{outline-offset:6px}.panel-head{display:grid;gap:1.25rem}.panel-intro{font-size:1.12rem;color:var(--navy);font-weight:500;max-width:46rem}.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.8rem}.area-tile{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.2rem;display:grid;gap:.3rem;align-content:start}.area-tile b{color:var(--navy);font-size:1.05rem}.area-tile span{font-size:.9rem}.area-tile em{font-style:normal;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-top:.3rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filters .syn{color:var(--blue);font-weight:400}.filters [aria-pressed=true] .syn{color:var(--lime)}.filters button{font:500 .84rem var(--mono);padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;transition:border-color .2s,background .2s}.filters button span{font-size:.75rem;color:var(--text)}.filters button:hover{border-color:var(--blue)}.filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--white)}.filters button[aria-pressed=true] span{color:var(--lime)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.2rem}.project{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:1.4rem 1.5rem;display:grid;gap:.8rem;align-content:start;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}.project:hover{transform:translateY(-3px);border-color:var(--blue-soft);box-shadow:0 24px 50px -32px #1b33e073}.project-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem}.project .area{font:500 .8rem var(--mono);color:var(--blue)}.project h3{font-size:1.2rem;line-height:1.25;letter-spacing:-.015em}.project p{font-size:.95rem}.project .label,.project summary{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:.15rem}.project summary{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;list-style:none}.project summary::-webkit-details-marker{display:none}.project summary:after{content:"";width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}.project details[open] summary:after{transform:translateY(2px) rotate(225deg)}.project .tags{list-style:none;margin:0;padding:.8rem 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.35rem}.project .tags li{font-size:.75rem;font-weight:600;color:var(--navy);background:var(--soft);border:1px solid var(--line);padding:.15rem .6rem;border-radius:999px}.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:700;padding:.2rem .65rem;border-radius:999px;background:var(--blue-soft);color:var(--navy)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}.status[data-status=live]{background:#dcf3e6;color:#075c38}.status[data-status=live]:before{background:#0b7a4b}.status[data-status=coming]{background:#eef0f5;color:#4a5068}.status[data-status=coming]:before{background:#8a91a8}.statuses-pending .project{visibility:hidden}.proj-list li[data-status=hidden] label{opacity:.5;text-decoration:line-through}@media(max-width:900px){.portfolio-top{grid-template-columns:1fr}}.play{padding-top:0}.play-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;background:#0b1311;color:#c9d6d0;border-radius:28px;padding:clamp(1.75rem,4vw,3rem)}.play-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#e03c31 0 20%,#fff 20% 24%,#007a4d 24% 60%,#ffb612 60% 66%,#000 66% 76%,#3b5bff 76%)}.play-copy{display:grid;gap:1rem;justify-items:start;min-width:0}.play-kicker{font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ffb612}.play-card h2{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem)}.play-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.play-facts li{font-size:.85rem;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.22);padding:.3rem .8rem;border-radius:999px}.play-card :focus-visible{outline-color:var(--lime)}.play-shot{display:block;width:100%;height:auto;border-radius:16px;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -30px #000c}@media(max-width:900px){.play-card{grid-template-columns:minmax(0,1fr)}}.project-link{justify-self:start;font-weight:700;font-size:.92rem;color:var(--blue);text-decoration:none;border-bottom:2px solid var(--lime)}.project-link:hover{color:var(--navy)}.about{background:var(--soft);border-block:1px solid var(--line)}.about-top{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:end;margin-top:2rem}.about-top h1,.about-top h2{font-size:clamp(1.9rem,3.8vw,2.8rem)}.about-copy{display:grid;gap:1.25rem;justify-items:start}.sub-h{font-size:1.4rem;margin-top:3rem}.sub-h+.steps{margin-top:1.25rem}.about-top p{max-width:36rem}.about-top strong{color:var(--navy)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.step{background:var(--white);border-radius:20px;padding:1.4rem;border:1px solid var(--line);display:grid;gap:.6rem;align-content:start;min-width:0}.step .n{width:40px;height:40px;border-radius:12px;background:var(--lime);color:var(--navy);font-weight:800;display:grid;place-items:center}.step:last-child{background:var(--blue);border-color:var(--blue);color:#dfe4ff}.step:last-child h3{color:var(--white)}.step h3{font-size:1.2rem}.step p{font-size:.95rem}@media(max-width:960px){.about-top{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.steps{grid-template-columns:1fr}}.band{background:var(--lime-soft);border-radius:28px;padding:clamp(1.75rem,4vw,2.75rem) clamp(1.5rem,4vw,3rem);display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1.25rem,3vw,2.5rem);align-items:center}.band h2{font-size:clamp(2.2rem,5vw,3.6rem);line-height:.98}.band p{border-left:2px solid var(--navy);padding-left:clamp(1.25rem,3vw,2.5rem);color:var(--navy);max-width:26rem;font-weight:500}@media(max-width:860px){.band{grid-template-columns:1fr}.band p{border-left:0;padding-left:0;border-top:2px solid var(--navy);padding-top:1rem}.band .btn{justify-self:start}}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start}.contact h1{font-size:clamp(1.9rem,3.6vw,2.6rem)}.contact-direct{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.6rem}.contact-direct li{display:grid;gap:.1rem}.contact-direct span{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.contact-direct a{font-size:1.1rem;font-weight:700;color:var(--navy);text-decoration:none;overflow-wrap:anywhere}.contact-direct a:hover{color:var(--blue);text-decoration:underline}.send-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.25rem}.form-note{font-size:.85rem;max-width:22rem}.form-note a,.prose a{color:var(--blue);font-weight:700}.form-done{display:grid;gap:1rem;justify-items:start;align-content:start;background:var(--soft);border:1px solid var(--line);border-radius:24px;padding:clamp(1.5rem,4vw,2.5rem);min-width:0}.form-done h2{font-size:1.8rem}.form-done h2:focus{outline:none}.form-done b{color:var(--navy);overflow-wrap:anywhere}.done-icon{width:48px;height:48px;border-radius:50%;background:var(--lime);color:var(--navy);display:grid;place-items:center;font-size:1.4rem;font-weight:800}.prose{max-width:46rem;display:grid;gap:.9rem}.prose h1{font-size:clamp(2rem,4vw,2.8rem)}.prose h2{font-size:1.3rem;margin-top:1.2rem}.prose ul{margin:0;padding-left:1.2rem;display:grid;gap:.3rem}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact .intro{display:grid;gap:1rem}form{display:grid;gap:1rem;background:var(--soft);border:1px solid var(--line);border-radius:24px;padding:clamp(1.25rem,3vw,2rem);min-width:0}.field{display:grid;gap:.4rem;min-width:0}label{font-size:.88rem;font-weight:700;color:var(--navy)}label .opt{font-weight:500;color:var(--text)}input,select,textarea{font:inherit;font-size:1rem;color:var(--navy);background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:.8rem .95rem;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}[aria-invalid=true]{border-color:var(--error)}.err{font-size:.85rem;color:var(--error);font-weight:600;min-height:0}.err:empty{display:none}textarea{min-height:8rem;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}form .btn{justify-self:start}#form-status{min-height:1.4em;font-size:.92rem;font-weight:600;color:var(--blue)}#form-status[data-state=error]{color:var(--error)}#form-status[data-state=ok]{color:var(--ok)}@media(max-width:900px){.contact{grid-template-columns:1fr}}@media(max-width:520px){.two{grid-template-columns:1fr}}footer{border-top:1px solid var(--line);padding-block:2rem 2.5rem;font-size:.9rem}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}footer b{color:var(--navy)}.foot-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.foot-links a{color:var(--navy);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.foot-links a:hover{color:var(--blue);text-decoration:underline}.admin{display:grid;gap:1.5rem;min-height:50vh;align-content:start}.admin-login{width:100%;max-width:28rem;margin-inline:auto}.admin-login .btn{justify-self:stretch;justify-content:center}.admin-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem}.admin-nav button{font:700 .95rem var(--font);padding:.6rem 1.25rem;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--navy);cursor:pointer}.admin-nav button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--white)}#admin-body{display:grid;gap:1.25rem}.notice{background:var(--lime-soft);border:1px solid #e2f29b;color:var(--navy);padding:.85rem 1.1rem;border-radius:14px;font-size:.92rem}.inbox-tools{display:flex;flex-wrap:wrap;gap:.6rem}.inbox-tools input{flex:1 1 18rem;width:auto}.inbox-tools select{flex:0 1 15rem;width:auto}#inbox:focus{outline:none}.rows{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden}.rows>li+li{border-top:1px solid var(--line)}.row-head{width:100%;display:grid;grid-template-columns:minmax(0,13rem) minmax(0,9rem) minmax(0,1fr) auto auto;align-items:center;gap:.35rem 1rem;padding:.9rem 1.1rem;background:var(--white);border:0;text-align:left;font:inherit;font-size:.92rem;color:var(--text);cursor:pointer}.row-head:hover,.row.open .row-head{background:var(--soft)}.row-head:focus-visible{outline-offset:-3px;border-radius:0}.row-who,.row-topic,.row-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-who b{color:var(--navy)}.row-head time{font-size:.82rem;white-space:nowrap}.pill{font-size:.72rem;font-weight:800;padding:.15rem .6rem;border-radius:999px;white-space:nowrap;justify-self:end}.pill.s-new{background:var(--lime);color:var(--navy)}.pill.s-contacted{background:var(--blue-soft);color:var(--navy)}.pill.s-closed{background:var(--white);color:var(--text);border:1px solid var(--line)}.row-detail{display:grid;gap:.75rem;padding:.25rem 1.1rem 1.2rem;background:var(--soft)}.msg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-size:.9rem}.msg-meta a{color:var(--blue);font-weight:600;overflow-wrap:anywhere}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem}.msg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.msg-actions label{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem}.msg-actions select,.proj-list select{width:auto;padding:.45rem .7rem;font-size:.9rem}.badge{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border-radius:6px;background:var(--lime);color:var(--navy)}.badge.warn{background:#ffe3e7;color:var(--error)}.proj-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden}.proj-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.7rem 1.1rem}.proj-list li+li{border-top:1px solid var(--line)}.proj-list label{font-size:.95rem}.saved{font-weight:600;color:var(--ok);min-height:1.4em}.saved[data-state=error]{color:var(--error)}.btn.sm{padding:.5rem 1rem;font-size:.88rem}.btn.danger{border-color:var(--error);color:var(--error);background:var(--white)}.btn.danger:hover{background:#fff1f3}@media(max-width:760px){.row-head{grid-template-columns:minmax(0,1fr) auto}.row-who{grid-area:1 / 1}.row-head .pill{grid-area:1 / 2}.row-preview{grid-area:2 / 1 / 3 / 3}.row-topic{grid-area:3 / 1}.row-head time{grid-area:3 / 2;justify-self:end}}.empty{padding:2rem;text-align:center;border:1.5px dashed var(--line);border-radius:20px}.reveal-ready .reveal{transform:translateY(18px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.reveal-ready .reveal.in{transform:none}.reveal-ready .card.reveal.in:hover{transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
