/* base.css — reset, typography, body, global chrome, utility classes */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:var(--cream);color:var(--ink)}
a{color:inherit;text-decoration:none}

/* utility */
.mono{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:1200px;margin:0 auto;padding:0 44px}
.serif{font-weight:600;color:var(--terra)}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--terra)}

/* generic section scaffolding, reused by every content section */
.sec{padding:92px 0;position:relative;z-index:2}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap}
.sectitle{font-weight:700;font-size:clamp(28px,3.6vw,44px);letter-spacing:-0.03em;line-height:1.02}
.sectitle .serif{font-weight:700;color:var(--terra)}
.secsub{font-size:16px;color:var(--mut);max-width:340px}

/* background blobs (fixed, decorative, parallaxed via JS) */
.blobs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(98px);opacity:.14;will-change:transform}
.b1{width:560px;height:560px;background:var(--peach);top:-160px;right:-120px}
.b2{width:480px;height:480px;background:var(--mist);top:38%;left:-180px}
.b3{width:420px;height:420px;background:rgba(63,94,140,.16);bottom:-140px;right:8%}

/* full-page loader */
.loader{position:fixed;inset:0;z-index:10000;background:var(--terra);color:var(--cream);display:flex;align-items:center;justify-content:center;transition:transform 1.05s cubic-bezier(.76,0,.24,1)}
.loader.done{transform:translateY(-101%);visibility:hidden;pointer-events:none}
.lin{text-align:center}
.lname{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:clamp(38px,6vw,72px);letter-spacing:-0.03em;line-height:1}
.lcount{font-weight:700;font-size:15px;letter-spacing:0.1em;margin-top:18px;opacity:.85}

/* page-transition veil */
.veil{position:fixed;inset:0;z-index:9500;background:var(--terra);transform:translateY(100%);display:flex;align-items:center;justify-content:center;pointer-events:none}
.veil .vt{font-family:'IBM Plex Sans',sans-serif;font-weight:600;letter-spacing:-0.02em;font-size:clamp(30px,5vw,56px);color:var(--cream)}

/* scroll-story ambient tint layer */
.storytint{position:fixed;inset:0;z-index:0;pointer-events:none;background:transparent;transition:background-color 1.1s ease}

/* language-fade targets during translation swap */
.navlinks,main,.foot{transition:opacity .26s ease}
