:root{--color-bg: #f5ead8;--color-surface: #ebddc5;--color-text: #201e1d;--color-accent: #c67139;--color-accent-2: #7a8a5e;--color-neutral-100: #f9f4ed;--color-neutral-200: #eee7db;--color-neutral-300: #dcd3c4;--color-neutral-400: #c0b6a5;--color-neutral-500: #a19786;--color-neutral-600: #82796a;--color-neutral-700: #645c50;--color-neutral-800: #474238;--color-neutral-900: #2e2b25;--color-accent-100: #fff2eb;--color-accent-200: #ffe1d0;--color-accent-300: #ffc6a5;--color-accent-400: #f6a06b;--color-accent-500: #d67f48;--color-accent-600: #b2622d;--color-accent-700: #8c491a;--color-accent-800: #643312;--color-accent-900: #402310;--color-accent-2-100: #f0fae1;--color-accent-2-200: #e1eecc;--color-accent-2-300: #ccdbb2;--color-accent-2-400: #aebf92;--color-accent-2-500: #8fa073;--color-accent-2-600: #728157;--color-accent-2-700: #56633f;--color-accent-2-800: #3d472b;--color-accent-2-900: #272e1b;--font-heading: "Caprasimo", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 28px;--shadow-sm: 0 1px 2px color-mix(in srgb, #2e2b25 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2e2b25 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2e2b25 22%, transparent);--ink-soft: color-mix(in srgb, var(--color-text) 72%, transparent);--ink-faint: color-mix(in srgb, var(--color-text) 8%, transparent);--rule: color-mix(in srgb, var(--color-text) 20%, transparent);--on-accent: #fff6ee;--paper: #f5ead8;--page-max: 1180px;--page-gutter: clamp(20px, 4vw, 56px);--grid-gap: clamp(20px, 3vw, 40px);--section-pad: clamp(40px, 6vw, 80px);--nav-height: 48px}:root[data-theme=dark]{--color-bg: #17140f;--color-surface: #211d17;--color-text: #f0e5d3;--color-accent: #e8955f;--color-accent-2: #a9bb8d;--color-accent-700: #ffcaa8;--color-accent-800: #ffe1d0;--color-accent-2-700: #cfdcb5;--on-accent: #2b1808;--paper: #211d17;--ink-soft: color-mix(in srgb, var(--color-text) 64%, transparent);--shadow-md: 0 4px 18px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 8px)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;transition:background .4s ease,color .4s ease;min-height:100vh}h1,h2,h3,h4{font-weight:700;line-height:1.12;letter-spacing:-.015em}a{color:var(--color-text);text-underline-offset:3px;transition:color .2s ease,border-color .2s ease}a:hover{color:var(--color-accent-700)}button{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-gutter)}.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap)}@media (max-width: 880px){.grid12{display:flex;flex-direction:column;gap:22px}}.kicker{font-family:var(--font-heading);font-size:15px;letter-spacing:.02em;color:var(--color-accent-700);margin:0 0 16px}.section-h{font-family:var(--font-heading);font-weight:400;font-size:clamp(34px,4.4vw,52px);letter-spacing:-.02em;line-height:1.04}.section-h:after{content:"";display:block;width:44px;height:4px;border-radius:999px;background:var(--color-accent);margin-top:16px}.label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.link-ul{text-decoration:none;font-weight:700;border-bottom:2px solid var(--color-accent);padding-bottom:3px}.link-soft{text-decoration:none;color:var(--ink-soft);border-bottom:1px solid var(--rule);padding-bottom:3px}.link-soft:hover{color:var(--color-text)}.btn-text{cursor:pointer;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:0 0 3px;color:var(--ink-soft);font-size:15px}.btn-text:hover{color:var(--color-text)}.ink-soft{color:var(--ink-soft)}[data-reveal=out]{opacity:0;transform:translateY(14px)}[data-reveal]{transition:opacity .9s cubic-bezier(.2,.75,.25,1),transform .9s cubic-bezier(.2,.75,.25,1)}[data-reveal=in]{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal=out]{opacity:1;transform:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
