:root { --bg:#fff; --surface:#fafafa; --fg:#0d0d0d; --muted:#6e6e6e; --subtle:#9b9b9b; --line:#e5e5e5; --accent:#a2ec00; --accent-hover:#91d300; color:var(--fg); background:var(--bg); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-synthesis:none; color-scheme:light dark; }
@media (prefers-color-scheme:dark) { :root { --bg:#101211; --surface:#171a18; --fg:#f4f5f3; --muted:#b7bcb7; --subtle:#8e958e; --line:#303732; --accent:#b9f850; --accent-hover:#cbff78; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--fg); text-wrap:pretty; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

.container { width:min(100% - 40px,1168px); margin:0 auto; }
.site-header { position:sticky; z-index:10; top:0; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:80px; padding:16px max(20px,calc((100vw - 1168px)/2)); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:blur(12px); }
.brand,.navigation { display:flex; align-items:center; }
.brand { gap:7px; font-size:17px; font-weight:650; letter-spacing:-.02em; }
.brand-mark { width:26px; height:26px; }
.navigation { gap:8px; font-size:14px; font-weight:550; }
.navigation>a:not(.button) { padding:10px 14px; color:var(--muted); }
.navigation>a:not(.button):hover { color:var(--fg); }

.hero { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(32px,7vw,88px); min-height:610px; padding-block:clamp(72px,12vw,148px) clamp(72px,10vw,120px); overflow:hidden; container-type:inline-size; }
.hero__content { position:relative; z-index:1; max-width:760px; }
.hero-mark--bleed { display:none; }
.eyebrow,.site-footer { color:var(--subtle); font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.eyebrow { margin:0 0 30px; }
h1,h2 { margin:0; font-family:"Source Serif 4",Georgia,serif; font-weight:400; letter-spacing:-.04em; }
h1 { max-width:760px; font-size:clamp(3.2rem,7vw,6rem); line-height:1.04; }
h1 span { display:block; }
.muted { color:var(--muted); }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:42px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 26px; border:1px solid var(--accent); border-radius:12px; background:var(--accent); color:#101211; font-size:15px; font-weight:650; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.button:hover { border-color:var(--accent-hover); background:var(--accent-hover); transform:translateY(-1px); }
.button--small { min-height:44px; padding:12px 20px; font-size:14px; }
.button--secondary { border-color:var(--line); background:transparent; color:var(--fg); }
.button--secondary:hover { border-color:var(--fg); background:transparent; }
.hero-mark { display:grid; flex:0 0 auto; width:min(240px,30vw); aspect-ratio:1; place-items:center; border:1px solid var(--line); border-radius:16px; transition:transform .25s ease; }
.hero-mark:hover { transform:rotate(4deg) scale(1.04); }
.hero-mark svg { width:52%; }

.about { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1fr); gap:clamp(40px,8vw,100px); padding-block:clamp(70px,10vw,120px); border-top:1px solid var(--line); }
h2 { font-size:clamp(2.1rem,4vw,3.15rem); line-height:1.1; }
.about h2 { max-width:14ch; }
.about__content { max-width:650px; }
.about__content p { margin:0; color:var(--muted); font-size:17px; line-height:1.7; }
.about__content p+p { margin-top:20px; }
.pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:12px; margin:40px 0 0; padding:0; list-style:none; }
.pillars li { display:flex; align-items:center; min-height:88px; padding:18px 20px; border:1px solid var(--line); border-radius:12px; font-size:15px; font-weight:650; line-height:1.35; transition:border-color .16s ease; }
.pillars li:hover { border-color:var(--fg); }

.contact { padding-bottom:clamp(70px,9vw,110px); }
.contact-card { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:32px; padding:clamp(30px,5vw,54px); border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.contact-card>div:first-child { flex:1 1 300px; min-width:min(100%,280px); }
.contact-card p { max-width:38ch; margin:16px 0 0; color:var(--muted); font-size:16px; line-height:1.6; }
.contact-details { flex:0 1 320px; min-width:min(100%,260px); }
.email { border-bottom:1px solid var(--line); font-size:clamp(1.05rem,2vw,1.2rem); font-weight:650; padding-bottom:4px; }
.email:hover { border-color:var(--accent); }
address { margin-top:28px; color:var(--muted); font-size:15px; font-style:normal; line-height:1.75; }
.site-footer { border-top:1px solid var(--line); padding:24px 0; }
.site-footer .container { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; }

@media (max-width:860px) {
  .hero { min-height:auto; align-items:flex-start; padding-block:78px 72px; }
  .hero-mark { display:none; }
  .hero-mark--bleed { position:absolute; top:-34px; right:-128px; display:block; width:340px; height:340px; color:var(--line); pointer-events:none; }
}
@container (max-width:820px) {
  h1 { max-width:8ch; letter-spacing:-.04em; }
  .eyebrow { margin-bottom:22px; }
  .hero__actions { align-items:center; gap:18px; margin-top:32px; }
  .hero__actions .button--secondary { min-height:0; padding:0 0 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--muted); }
  .hero__actions .button--secondary:hover { border-color:var(--fg); background:transparent; transform:none; }
}
@media (max-width:720px) {
  .site-header { min-height:72px; padding-inline:20px; }
  .navigation>a:not(.button) { display:none; }
  .about { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms !important; }
}
