:root{--ink:#342e27;--ink-soft:#756e64;--paper:#fff;--paper-dim:#f6f4f1;--line:#342e271f;--line-strong:#342e2738;--maxw:1100px;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:#fff}body{color:var(--ink);-webkit-font-smoothing:antialiased;background-color:#fff;margin:0;font-family:Inter,sans-serif;font-size:1.05rem;line-height:1.6}h1,h2,h3,.wordmark,.btn,nav a,.eyebrow{font-family:Manrope,sans-serif}img,svg{max-width:100%;display:block}a{color:inherit}header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffd9;position:sticky;top:0}.header-inner{max-width:var(--maxw);justify-content:space-between;align-items:center;gap:1.2rem;margin:0 auto;padding:.6rem 1.5rem;display:flex;position:relative}.brand{align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand img{width:50px;height:50px}.wordmark{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:.95rem;font-weight:800}.menu-toggle{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:50px;height:50px;padding:0;display:flex}.menu-toggle:hover,.menu-toggle:focus-visible{opacity:.6}.menu-toggle .bar{background:var(--ink);border-radius:1px;width:20px;height:1px;transition:transform .25s,opacity .2s;display:block}.menu-toggle.open .bar:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-toggle.open .bar:nth-child(2){opacity:0}.menu-toggle.open .bar:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.menu-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);opacity:0;pointer-events:none;flex-direction:column;gap:.2rem;min-width:200px;padding:.6rem;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:calc(100% + .6rem);right:1.5rem;transform:translateY(-8px);box-shadow:0 20px 50px -22px #342e274d}.menu-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.menu-panel a{color:var(--ink);border-radius:8px;padding:.65rem .9rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s;display:block}.menu-panel a:hover,.menu-panel a:focus-visible{background:var(--paper-dim)}.menu-panel .btn{text-align:center;color:var(--paper);justify-content:center;margin-top:.3rem}@media (prefers-reduced-motion:reduce){.menu-toggle .bar,.menu-panel{transition:none}}.btn{letter-spacing:.02em;border:1.5px solid var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.78rem 1.7rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover,.btn:focus-visible{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover,.btn-primary:focus-visible{background:#4a4337;border-color:#4a4337}.btn-ghost{color:var(--ink)}.btn-ghost:hover,.btn-ghost:focus-visible{background:var(--ink);color:var(--paper)}.btn-small{padding:.6rem 1.3rem;font-size:.82rem}section{max-width:var(--maxw);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) 1.5rem}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .7rem;font-size:.78rem;font-weight:700}.section-head{text-align:center;margin-bottom:clamp(2rem,5vw,3rem)}.section-head h2{letter-spacing:-.01em;margin:0;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800}.section-head p{color:var(--ink-soft);max-width:46ch;margin:.8rem auto 0}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.hero{text-align:center;padding-top:clamp(1.5rem,5vw,3.5rem);padding-bottom:clamp(1rem,4vw,2.5rem)}.hero h1{letter-spacing:-.02em;max-width:16ch;margin:0 auto;font-size:clamp(2.4rem,7vw,4.4rem);font-weight:800;line-height:1.08}.hero .lede{max-width:42ch;color:var(--ink-soft);margin:1.2rem auto 0;font-size:clamp(1.02rem,2.2vw,1.2rem)}.hero-lighthouse{width:min(320px,62vw);height:auto;margin:clamp(1.2rem,4vw,2rem) auto 0}#work{background:var(--paper-dim);border-radius:var(--radius);margin:0 auto clamp(2.5rem,6vw,4.5rem)}.work-inner{text-align:center;max-width:480px;margin:0 auto}.work-inner h2{letter-spacing:-.01em;margin:0 0 1.4rem;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800}.work-inner p:not(.eyebrow){color:var(--ink-soft);text-align:center;margin:0 0 1.4rem}.services-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1.5px;display:grid;overflow:hidden}.service{background:var(--paper);padding:1.8rem 1.6rem;transition:background .25s}.service:hover{background:var(--paper-dim)}.service h3{letter-spacing:-.005em;margin:0 0 .5rem;padding-bottom:.35rem;font-size:1.05rem;font-weight:800;display:inline-block;position:relative}.service h3:after{content:"";background:var(--ink);width:1.6rem;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.service:hover h3:after{width:100%}.service p{color:var(--ink-soft);margin:0;font-size:.95rem}#about{text-align:center}#about h2{letter-spacing:-.01em;margin:0;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800}#about p{color:var(--ink-soft);max-width:40ch;margin:.8rem auto 1.8rem}#contact{text-align:center}#contact h2{letter-spacing:-.01em;margin:0;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800}#contact p{color:var(--ink-soft);max-width:40ch;margin:.8rem auto 1.8rem}footer{border-top:1px solid var(--line);padding:1rem 1.5rem}.footer-inner{max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:.5rem;display:flex}.footer-brand span{letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;font-weight:800}.footer-meta{color:var(--ink-soft);font-size:.82rem}
