/* AI Office · shared base: tokens, fonts, nav, buttons, footer */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600 800;font-display:swap;src:url(/assets/fonts/bricolage-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/hanken-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#f6f4ee;   --paper:oklch(97.2% 0.007 95);
  --paper2:#eeebe2;  --paper2:oklch(94.6% 0.011 95);
  --white:#fdfdfb;
  --ink:#22302a;     --ink:oklch(26% 0.021 160);
  --ink2:#5b6a62;    --ink2:oklch(48% 0.018 160);
  --ink3:#647369;
  --line:#d9d5c9;    --line:oklch(87% 0.012 110);
  --line2:#b6b09f;
  --green:#2e5c48;   --green:oklch(42% 0.075 160);
  --green-deep:#1f4234; --green-deep:oklch(33% 0.062 160);
  --green-ink:#dbe8df;  --green-ink:oklch(91% 0.02 160);
  --green-dim:#a3bdb0;
  --tint:#e3e9e2;    --tint:oklch(91.5% 0.017 160);
  --amber-ink:#7a5310; --amber-soft:#faebd0;
  --danger:#9b3b2e;
  --d:"Bricolage Grotesque",Georgia,serif;
  --b:"Hanken Grotesk",-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);background-image:radial-gradient(var(--line) .65px,transparent .65px);background-size:28px 28px;color:var(--ink);font:16.5px/1.6 var(--b);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
::selection{background:var(--green);color:var(--green-ink)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}

/* nav */
nav.site{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--paper) 96%,transparent);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--d);font-weight:600;font-size:19px;letter-spacing:-.025em;padding:8px 0;color:var(--ink)}
.logo .mark{color:var(--green);flex:none;display:block}
.logo .wm b{font-weight:800;color:var(--green)}
.nav-links{display:flex;gap:26px;font-size:15px;font-weight:500;color:var(--ink2)}
.nav-links a{position:relative;display:inline-flex;align-items:center;min-height:44px;transition:color .18s}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1.5px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:12px}
.burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line2);background:var(--white);place-items:center}
.mobile-menu{display:none;border-top:1px solid var(--line);background:var(--paper);padding:10px 0 18px}
.mobile-menu a{display:block;padding:13px clamp(20px,4vw,40px);font-size:17px;font-weight:600;color:var(--ink)}
.mobile-menu a + a{border-top:1px solid color-mix(in oklab,var(--line) 60%,transparent)}
body.menu-open .mobile-menu{display:block}
@media(max-width:820px){.nav-links{display:none}.burger{display:grid}.nav-right .btn{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:10px;font-weight:600;font-size:15.5px;line-height:1;min-height:44px;border:0;transition:transform .18s var(--ease),background .18s,border-color .18s,box-shadow .18s}
.btn svg{transition:transform .18s var(--ease)}
.btn-green{background:var(--green);color:var(--green-ink);box-shadow:0 1px 2px rgba(31,66,52,.12)}
.btn-green:hover{background:var(--green-deep);transform:translateY(-1px);box-shadow:0 6px 14px -3px rgba(31,66,52,.22)}
.btn-green:hover svg{transform:translateX(3px)}
.btn-quiet{border:1px solid var(--line2);color:var(--ink);background:var(--white)}
.btn-quiet:hover{border-color:var(--ink);transform:translateY(-1px)}
nav.site .btn{padding:11px 20px;min-height:40px}

/* footer */
footer.site{border-top:1px solid var(--line);padding:40px 0 56px;font-size:14px;color:var(--ink2);background:var(--paper2)}
.foot{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start}
.foot .logo{font-size:17px}
.foot-col{max-width:380px;line-height:1.6}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}
.foot-links a{color:var(--green-deep);font-weight:600;padding:11px 0;display:inline-block}
.foot-legal{font-size:13.5px;line-height:1.7;color:var(--ink2);text-align:right}
@media(max-width:600px){.foot-legal{text-align:left}}

/* inner pages (privacy, terms, 404) */
.page{padding:56px 0 88px}
.page .narrow{max-width:760px}
.page h1{font-family:var(--d);font-weight:800;font-size:clamp(32px,4.4vw,48px);line-height:1.06;letter-spacing:-.025em;margin-bottom:10px}
.page .meta{color:var(--ink2);font-size:14.5px;margin-bottom:36px}
.page h2{font-family:var(--d);font-weight:800;font-size:22px;letter-spacing:-.01em;margin:34px 0 10px}
.page p,.page li{color:var(--ink2);max-width:66ch;line-height:1.65}
.page p + p{margin-top:12px}
.page ul{padding-left:22px;margin:8px 0}
.page li{margin:6px 0}
.page a{color:var(--green-deep);font-weight:600}
