*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:"Source Sans 3", "Segoe UI", sans-serif;--display:"Fraunces", Georgia, serif;--header-h:72px;--wrap:1120px}html[data-theme=light],:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1ea;--paper:#fffcf8;--ink:#1b211e;--muted:#5a635e;--line:#ddd6c8;--pine:#1f4d3a;--pine-2:#2f6b51;--gold:#9a7540;--live:#215c3a;--header-bg:#fffcf8eb;--shadow:0 18px 50px #24201814;--glow-gold:#9a75401f;--glow-pine:#1f4d3a14}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121614;--paper:#1c221f;--ink:#efeae2;--muted:#a8b0aa;--line:#2f3833;--pine:#7fbf9d;--pine-2:#9bd4b4;--gold:#c9a56a;--live:#8fd4a8;--header-bg:#121614eb;--shadow:0 18px 50px #00000047;--glow-gold:#c9a56a1f;--glow-pine:#7fbf9d0f}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse at 88% -10%, var(--glow-gold), transparent 42%), radial-gradient(ellipse at 0% 20%, var(--glow-pine), transparent 36%), var(--bg);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--pine)}button{font:inherit}:focus-visible{outline:2px solid var(--pine);outline-offset:3px}.wrap{width:min(var(--wrap), calc(100% - 48px));margin-inline:auto}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;font-size:.72rem;font-weight:700}.eyebrow.live{color:var(--live)}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;font-weight:650}h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.08}h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2}h3{font-size:1.15rem}.lede,.hero-subtitle,.section-desc{color:var(--muted);line-height:1.6}.btn{cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--pine);color:#fff}.btn-primary:hover{background:var(--pine-2);color:#fff}.btn-outline{color:var(--ink);border:1px solid var(--gold);background:0 0}.btn-outline:hover{color:var(--ink);background:#c9a56a1f}.btn-sm{padding:7px 12px;font-size:.9rem}.navbar{z-index:40;height:var(--header-h);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;display:flex;position:fixed;inset:0 0 auto}.navbar-inner{width:min(var(--wrap), calc(100% - 48px));align-items:center;gap:24px;margin-inline:auto;display:flex}.navbar-brand{font-family:var(--display);color:var(--ink);align-items:center;gap:10px;margin-right:auto;font-size:1.15rem;text-decoration:none;display:flex}.logo-swap{display:inline-flex}html[data-theme=dark] .logo-light,html:not([data-theme=dark]) .logo-dark{display:none}.logo-mark{width:auto;height:38px;display:block}html[data-theme=dark] .logo-dark{mix-blend-mode:screen}.logo-lockup{width:min(180px,100%);height:auto;display:block}.theme-toggle{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:color-mix(in srgb, var(--pine) 16%, transparent);color:var(--pine)}.navbar-links{align-items:center;gap:8px 22px;display:flex}.navbar-links a:not(.btn){color:var(--muted);font-size:.95rem;font-weight:600;text-decoration:none}.navbar-links a:not(.btn):hover{color:var(--ink)}.nav-toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;width:42px;height:42px;padding:10px 9px;display:none}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{background:var(--ink);border-radius:2px;width:18px;height:2px;display:block}.nav-toggle span{position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0}.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}.hero{min-height:calc(100vh - var(--header-h));padding:calc(var(--header-h) + 64px) 0 72px;align-items:center;display:flex;position:relative}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:64px;display:grid}.hero-content{border-left:2px solid var(--gold);padding-left:18px}.hero-subtitle{max-width:34rem;margin:18px 0 28px;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:28px 28px 12px}.hero-panel ul{list-style:none}.hero-panel li+li{border-top:1px solid var(--line)}.hero-panel a{color:var(--ink);font-family:var(--display);justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;font-size:1.15rem;text-decoration:none;display:flex}.hero-panel a:hover{color:var(--pine)}.hero-panel em{font-style:normal;font-family:var(--font);letter-spacing:.04em;color:var(--gold);white-space:nowrap;font-size:.78rem;font-weight:700}.section{padding:88px 0}.section-header{max-width:36rem;margin-bottom:40px}.section-desc{margin-top:12px;font-size:1.05rem}.work{border-top:1px solid var(--line);background:var(--bg)}.work-list{list-style:none}.work-row{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:16px 28px;padding:22px 0;display:grid}.work-row:last-child{border-bottom:1px solid var(--line)}.work-copy h3{margin-bottom:4px}.work-copy p{color:var(--muted);font-size:.98rem}.work-status{letter-spacing:.04em;color:var(--gold);white-space:nowrap;font-size:.82rem;font-weight:700}.work-status.live{color:var(--live)}.work-status.portal{color:var(--pine)}.work-link{color:var(--ink);white-space:nowrap;font-weight:600;text-decoration:none}.work-link:hover{color:var(--pine)}.about{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:48px;display:grid}.about-copy p+p{margin-top:16px}.about-copy p{color:var(--muted);font-size:1.08rem;line-height:1.65}.working-list{grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;display:grid}.working-list h3{margin-bottom:8px}.working-list p{color:var(--muted);line-height:1.55}.footer{border-top:1px solid var(--line);padding:56px 0 28px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:40px;display:grid}.footer-name{font-family:var(--display);margin-bottom:8px;font-size:1.3rem}.footer-brand .logo-lockup{margin-bottom:12px}.footer-desc,.footer-bottom{color:var(--muted);font-size:.9rem}.footer h2{font-family:var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:.75rem;font-weight:700}.footer ul{gap:8px;list-style:none;display:grid}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--pine)}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:20px;display:flex}.app-page{padding-top:var(--header-h);min-height:100vh}.app-page-hero{background:radial-gradient(ellipse at top left, #c9a56a1f, transparent 42%), var(--paper);border-bottom:1px solid var(--line);padding:72px 0 56px}.app-page-hero-content{max-width:38rem}.app-page-hero h1{margin:8px 0 16px}.app-page-back{color:var(--muted);margin-bottom:20px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.app-page-back:hover{color:var(--pine)}.app-page-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.app-page-body{padding:56px 0 88px}.app-shot{max-width:280px;margin:0 0 48px}.app-shot img{border:1px solid var(--line);border-radius:18px;width:100%;box-shadow:0 18px 40px #00000059}.detail-list{grid-template-columns:repeat(2,1fr);gap:28px 40px;list-style:none;display:grid}.detail-list h2{margin-bottom:8px;font-size:1.2rem}.detail-list p{color:var(--muted);line-height:1.55}@media (width<=800px){.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.navbar-links{top:var(--header-h);background:var(--header-bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px;padding:12px 24px 24px;display:none;position:absolute;left:0;right:0}.navbar.open .navbar-links{display:flex}.work-row{grid-template-columns:1fr auto;grid-template-areas:"copy status""copy action"}.work-copy{grid-area:copy}.work-status{grid-area:status;align-self:start}.work-row .btn,.work-link{grid-area:action;justify-self:end}.about-grid,.working-list,.footer-grid,.detail-list,.hero-grid{grid-template-columns:1fr}.hero{min-height:0;padding-top:calc(var(--header-h) + 40px)}}
