@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@300;400;500;600&display=swap";:root{--bg: #f5ede0;--bg-2: #ebe1cd;--bg-3: #e0d4ba;--bg-rgb: 245, 237, 224;--bg-2-rgb: 235, 225, 205;--bg-3-rgb: 224, 212, 186;--text: #2a2818;--text-muted: #6b6452;--text-dim: #776e54;--olive-deep: #384818;--olive: #5a6920;--olive-mid: #6b7a28;--olive-light:#787828;--olive-glow: #9ca340;--cream: #d4c5a0;--cream-dark: #a89570;--terracotta: #a85c2e;--border: rgba(56, 72, 24, .12);--border-mid: rgba(56, 72, 24, .22);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--max-w: 1280px;--radius: 4px;--ease: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--olive-deep);text-decoration:none;transition:color var(--ease)}a:hover{color:var(--olive-light)}:focus-visible{outline:2px solid var(--olive-glow);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:1000;background:var(--olive-deep);color:var(--bg);padding:.6rem 1rem;border-radius:4px;font-size:.85rem;font-weight:600;transition:top var(--ease)}.skip-link:focus{top:.5rem;color:var(--bg)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;font-weight:500;color:var(--olive-deep)}h1{font-size:clamp(2.2rem,5vw,3.8rem);font-style:italic;font-weight:500}h2{font-size:clamp(1.6rem,3.5vw,2.8rem)}h3{font-size:clamp(1.2rem,2.5vw,1.8rem)}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section--sm{padding:3rem 0}.section--dark{background:var(--bg-2)}.section--olive{background:var(--olive-deep);color:var(--bg)}.section--olive h1,.section--olive h2,.section--olive h3,.section--olive h4{color:var(--bg)}.btn{display:inline-block;padding:.7rem 1.8rem;border-radius:var(--radius);font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;transition:background var(--ease),transform var(--ease),color var(--ease);text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn--primary{background:var(--olive-deep);color:var(--bg);border:1px solid var(--olive-deep)}.btn--primary:hover{background:var(--olive);border-color:var(--olive)}.btn--outline{background:transparent;color:var(--olive-deep);border:1px solid var(--olive-deep)}.btn--outline:hover{background:var(--olive-deep);color:var(--bg)}.btn--ghost{background:#3848180f;color:var(--text);border:1px solid var(--border-mid)}.btn--ghost:hover{background:#3848181a}.tag{display:inline-block;padding:.2rem .65rem;background:#38481814;color:var(--olive-deep);border:1px solid rgba(56,72,24,.2);border-radius:2rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.grid-3{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid-2{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.section-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--olive);margin-bottom:.75rem}.section-title{margin-bottom:.5rem}.section-sub{color:var(--text-muted);font-size:1.05rem;line-height:1.7;max-width:55ch}.divider{width:40px;height:2px;background:var(--olive-deep);margin:1.25rem 0}.scroll-dot{width:8px;height:8px;border-radius:50%;background:var(--olive-deep);margin:0 auto;animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
