:root{--bg-primary: #FDFAF6;--bg-secondary: #F5EFE6;--bg-warm: #EDE3D6;--bg-dark: #8B3A1C;--bg-dark-soft: #A04520;--text-primary: #1C1410;--text-secondary: #4A3828;--text-light: #6A5848;--text-muted: #8A7868;--text-inverse: #FDFAF6;--accent: #C4622E;--accent-hover: #8B3A1C;--accent-light: #F0C4A8;--accent-bg: rgba(196, 98, 46, .08);--border: #DDD5C8;--border-light: #EDE3D6;--shadow-sm: 0 2px 12px rgba(28,20,16,.07);--shadow-md: 0 8px 32px rgba(28,20,16,.11);--shadow-lg: 0 20px 60px rgba(28,20,16,.14);--font-display: "DM Serif Display", Georgia, serif;--font-body: "Source Serif 4", Georgia, serif;--font-ui: "Inter", system-ui, sans-serif;--max-width: 1100px;--radius: 6px;--transition: .3s ease}[data-theme=dark]{--bg-primary: #1C130A;--bg-secondary: #251A0F;--bg-warm: #2C1F0E;--bg-dark: #6B2A0E;--bg-dark-soft: #7A3214;--text-primary: #F0E8DC;--text-secondary: #C8B09A;--text-light: #9A8878;--text-muted: #6A5A4A;--text-inverse: #1C130A;--accent: #E8895A;--accent-hover: #F0A070;--accent-light: #5A2A10;--accent-bg: rgba(232,137,90,.12);--border: #3D2A1A;--border-light: #2C1F0E;--shadow-sm: 0 2px 12px rgba(0,0,0,.3);--shadow-md: 0 8px 32px rgba(0,0,0,.4);--shadow-lg: 0 20px 60px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .35s ease,color .35s ease;font-size:18px;font-weight:400}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:var(--font-ui);border:none;background:none}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{position:absolute;top:-100px;left:24px;background:var(--accent);color:var(--text-inverse);padding:10px 20px;border-radius:0 0 6px 6px;font-family:var(--font-ui);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;z-index:9999;transition:top .2s ease}.skip-link:focus{top:0}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;font-weight:400;color:var(--text-primary)}h1{font-size:clamp(2.8rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.3rem,2.5vw,1.7rem)}p{font-size:1.05rem;line-height:1.9;color:var(--text-secondary);font-weight:400}.reveal{opacity:0;transform:translateY(36px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.48s}.parallax-container{overflow:hidden;border-radius:8px}.parallax-img{will-change:transform;transform-origin:center top}.section-label{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:16px;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 40px}.underline-link{position:relative;color:var(--accent);display:inline-block}.underline-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--accent);transition:width .3s ease}.underline-link:hover:after{width:100%}.btn-primary{display:inline-block;padding:14px 36px;background:var(--accent);color:var(--bg-primary);font-family:var(--font-ui);font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius);transition:background var(--transition),transform var(--transition),box-shadow var(--transition);border:none}.btn-primary:hover{background:var(--accent-hover);color:var(--bg-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost{display:inline-block;padding:13px 32px;border:1.5px solid var(--accent);color:var(--accent);font-family:var(--font-ui);font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);transition:all var(--transition)}.btn-ghost:hover{background:var(--accent);color:var(--bg-primary);transform:translateY(-2px)}.theme-toggle{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:18px;transition:background var(--transition),border-color var(--transition),transform var(--transition);flex-shrink:0;color:var(--text-primary)}.theme-toggle:hover{background:var(--accent-bg);border-color:var(--accent);transform:rotate(20deg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(28,20,16,.75);z-index:500;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeInOverlay .25s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--bg-primary);width:100%;max-width:780px;max-height:85vh;overflow-y:auto;border-radius:16px 16px 0 0;padding:48px 56px;animation:slideUpModal .35s cubic-bezier(.16,1,.3,1)}@keyframes slideUpModal{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-panel h2{font-size:1.8rem;margin-bottom:8px}.modal-panel h3{font-size:1.1rem;margin:28px 0 10px;color:var(--text-primary)}.modal-panel p{font-size:.95rem;line-height:1.85;margin-bottom:12px;color:var(--text-secondary)}.modal-panel ul{padding-left:24px;margin-bottom:12px}.modal-panel li{font-size:.95rem;line-height:1.8;color:var(--text-secondary);margin-bottom:6px}.modal-close{float:right;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:36px;height:36px;border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:background var(--transition);cursor:pointer}.modal-close:hover{background:var(--accent-bg);color:var(--accent)}.card-hover{transition:transform .3s ease,box-shadow .3s ease}.card-hover:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}@media (max-width: 768px){body{font-size:17px}.container{padding:0 24px}h1{font-size:2.4rem}h2{font-size:1.9rem}.modal-panel{padding:32px 24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}
