*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--color-bg: #212d2f;--color-surface: #1b2527;--color-surface-2: #2a373a;--color-border: #34484c;--color-text: #fcfdfd;--color-text-muted: #8aabae;--color-accent: #a80d25;--color-accent-hover: #c41030;--color-heading: #fcfdfd;--color-header-bg: rgba(33, 45, 47, .96);--icon-sun: block;--icon-moon: none}[data-theme=light]{--color-bg: #f5f2ee;--color-surface: #ffffff;--color-surface-2: #ede8e3;--color-border: #d0c9c2;--color-text: #1a2324;--color-text-muted: #5a6e70;--color-accent: #a80d25;--color-accent-hover: #8c0b1e;--color-heading: #1a2324;--color-header-bg: rgba(245, 242, 238, .97);--icon-sun: none;--icon-moon: block}:root{--font-body: "DM Sans", system-ui, sans-serif;--font-display: "League Spartan", sans-serif;--max-w: 1100px;--radius: 6px}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.7;font-size:1rem;min-height:100vh;display:flex;flex-direction:column;transition:background .2s,color .2s}main{flex:1}h1,h2,h3,h4{color:var(--color-heading);line-height:1.15;font-weight:700;font-family:var(--font-display)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}header{position:sticky;top:0;z-index:100;background:var(--color-header-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);transition:background .2s}.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;min-height:72px;display:flex;align-items:center;gap:2rem}.site-logo{text-decoration:none;display:flex;align-items:center;flex-shrink:0}.logo-img{height:clamp(52px,8vw,76px);width:auto;display:block}:root .logo-light,[data-theme=dark] .logo-light{display:none}[data-theme=light] .logo-dark{display:none}[data-theme=light] .logo-light{display:block}nav#mainNav{display:flex;align-items:center;justify-content:center;gap:.25rem;flex:1}nav#mainNav a{color:var(--color-text-muted);font-size:.95rem;font-weight:500;padding:.4rem .75rem;border-radius:var(--radius);transition:color .15s,background .15s;text-decoration:none;white-space:nowrap}nav#mainNav a:hover{color:var(--color-heading);background:var(--color-surface-2)}.nav-mobile-cta,.nav-mobile-social{display:none}.header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.header-social{display:flex;align-items:center;gap:.1rem}.social-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius);color:var(--color-text-muted);text-decoration:none;transition:color .15s,background .15s}.social-icon:hover{color:var(--color-accent);background:var(--color-surface-2);text-decoration:none}.nav-cta{background:var(--color-accent);color:#fcfdfd!important;font-size:.85rem;font-weight:700;padding:.5rem 1.1rem;border-radius:var(--radius);text-decoration:none!important;white-space:nowrap;transition:background .15s;letter-spacing:.03em;text-transform:uppercase;font-family:var(--font-display)}.nav-cta:hover{background:var(--color-accent-hover)}.theme-toggle{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);transition:color .15s,border-color .15s;flex-shrink:0}.theme-toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}.icon-sun{display:var(--icon-sun)}.icon-moon{display:var(--icon-moon)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:auto}.nav-toggle span{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:transform .25s ease,opacity .2s ease}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:860px){.nav-toggle{display:flex}.header-social{display:none}nav#mainNav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:0;padding:.75rem;z-index:99}nav#mainNav.open{display:flex}nav#mainNav a{padding:.7rem .75rem}.nav-mobile-cta{display:block;margin:.5rem .75rem 0;padding:.7rem 1rem;background:var(--color-accent);color:#fcfdfd!important;border-radius:var(--radius);font-weight:700;text-align:center;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em}.nav-mobile-social{display:flex;justify-content:center;gap:.5rem;padding:.75rem;border-top:1px solid var(--color-border);margin-top:.5rem}}@media(max-width:480px){.nav-cta{display:none}}footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:3.5rem 1.5rem 2rem}.footer-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:3rem;align-items:start}.footer-col-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);margin-bottom:1rem;font-family:var(--font-display)}.footer-nav{display:flex;flex-direction:column;gap:.5rem}.footer-nav a{color:var(--color-text-muted);font-size:.95rem;text-decoration:none;transition:color .15s}.footer-nav a:hover{color:var(--color-accent)}.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.footer-logo-link{text-decoration:none;display:flex;align-items:center}.footer-logo-img{height:clamp(48px,12vw,72px);width:auto;display:block}.footer-tagline{color:var(--color-text-muted);font-size:.875rem}.footer-copy{color:var(--color-text-muted);font-size:.8rem;margin-top:.25rem}.footer-social-col{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.footer-social{display:flex;align-items:center;gap:.5rem}.footer-social .social-icon{width:38px;height:38px;border:1px solid var(--color-border)}.footer-social .social-icon:hover{border-color:var(--color-accent);background:transparent}.footer-email{color:var(--color-text-muted);font-size:.875rem;text-decoration:none;transition:color .15s}.footer-email:hover{color:var(--color-accent)}@media(max-width:720px){.footer-inner{grid-template-columns:1fr;text-align:center;gap:2rem}.footer-brand{order:-1}.footer-social-col{align-items:center}}@media(max-width:375px){.header-inner{padding:0 1rem;gap:1rem}footer{padding:2rem 1rem 1.5rem}.footer-inner{gap:1.5rem}}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}section{padding:5rem 1.5rem}.section-inner{max-width:var(--max-w);margin:0 auto}.section-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:1rem;font-family:var(--font-display)}.accent-rule{display:block;width:3rem;height:3px;background:var(--color-accent);margin:1rem 0 1.5rem;border-radius:2px}.btn{display:inline-flex;align-items:center;gap:.4em;padding:.75rem 1.75rem;border-radius:var(--radius);font-weight:700;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s,border-color .15s;cursor:pointer;border:none;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em}.btn-primary{background:var(--color-accent);color:#fcfdfd;border:1px solid transparent}.btn-primary:hover{background:var(--color-accent-hover);color:#fcfdfd;text-decoration:none}.btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:transparent}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent);text-decoration:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.75rem;transition:border-color .2s}input,textarea,select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.7rem 1rem;color:var(--color-text);font-family:var(--font-body);font-size:.95rem;transition:border-color .15s;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}
