:root{--color-brand-dark:#0b2535;--color-brand-mid:#1e5d7a;--color-brand-accent:#c59b27;--color-canvas:#f8f6f2;--color-surface:#fff;--color-surface-subtle:#f1ede6;--color-text:#142129;--color-text-muted:#586772;--color-text-on-dark:#fff;--color-text-muted-on-dark:#ffffffc7;--color-border:#0b253524;--color-border-dark:#ffffff29;--color-focus:#0f7db8;--color-success:#065f46;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-error:#991b1b;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-warning:#92400e;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-disabled:#94a3b8;--color-disabled-bg:#f1f5f9;--color-brand-dark-hover:#14354a;--color-brand-mid-hover:#164860;--color-accent-hover:#b08920;--font-sans:"Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-display:clamp(2.25rem, 4.5vw, 3.75rem);--font-size-h1:clamp(2rem, 3.8vw, 3.25rem);--font-size-h2:clamp(1.5rem, 2.5vw, 2.25rem);--font-size-h3:clamp(1.2rem, 1.8vw, 1.5rem);--font-size-h4:1.125rem;--font-size-body-lg:1.15rem;--font-size-body:1rem;--font-size-sm:.875rem;--font-size-label:.85rem;--font-size-button:.95rem;--font-size-eyebrow:.8rem;--letter-spacing-eyebrow:.12em;--line-height-body:1.65;--line-height-heading:1.2;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--section-spacing:clamp(3rem, 6vw, 5rem);--container-gutter:1rem;--width-narrow:48rem;--width-content:52rem;--width-standard:72rem;--width-wide:75rem;--card-gap:1.5rem;--header-height:4.5rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--shadow-sm:0 2px 6px #0b25350a;--shadow-md:0 6px 16px #0b253514;--shadow-lg:0 12px 28px #0b25351f;--transition-duration:.2s;--transition-timing:ease}html,body,div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,figcaption,blockquote,dl,dd,dt{margin:0;padding:0}html{font-family:var(--font-sans);line-height:var(--line-height-body);-webkit-text-size-adjust:100%;color:var(--color-text);background:var(--color-canvas);scroll-behavior:smooth}body{min-height:100vh;overflow-x:clip}html{overflow-x:clip}html.js-enabled [data-reveal]{opacity:.94;transform:translateY(10px)}html.js-enabled [data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal]{opacity:1;transition:opacity .36s,transform .36s;transform:none}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}ul,ol{list-style:none}.site-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:min(var(--width-wide), calc(100% - var(--container-gutter) * 2));margin:0 auto}.container-narrow{width:min(var(--width-narrow), calc(100% - var(--container-gutter) * 2));margin:0 auto}.container-content{width:min(var(--width-content), calc(100% - var(--container-gutter) * 2));margin:0 auto}.site-main{flex:1}.section{padding:var(--section-spacing) 0;border-bottom:1px solid var(--color-border)}.section-canvas{background:var(--color-canvas)}.section-surface{background:var(--color-surface)}.section-header{margin-bottom:var(--space-8)}.eyebrow{color:var(--color-brand-mid);font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;margin-bottom:var(--space-2)}.lead-text{font-size:var(--font-size-body-lg);line-height:var(--line-height-body);color:var(--color-text-muted)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--header-height);display:flex}.brand{align-items:center;min-height:2.75rem;display:inline-flex}.brand-logo,.footer-brand-logo{width:auto;max-width:170px;height:auto;display:block}.main-nav{flex:1;justify-content:center;transition:opacity .18s,transform .18s;display:flex}.nav-list{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.nav-link{color:var(--color-text);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-duration) var(--transition-timing), background-color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing)}.nav-link:hover,.nav-link:focus{color:var(--color-brand-mid);background-color:#1e5d7a0f}.nav-link.active,.nav-link[aria-current=page]{color:var(--color-brand-dark);font-weight:var(--font-weight-semibold);background-color:#0b253514}.header-actions{align-items:center;gap:var(--space-3);display:flex}.header-phone{align-items:center;gap:var(--space-2);color:var(--color-brand-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-duration) var(--transition-timing);display:inline-flex}.header-phone:hover,.header-phone:focus{color:var(--color-brand-mid)}.header-phone svg{fill:currentColor;width:1.1rem;height:1.1rem}.header-cta{border-radius:var(--radius-sm);background:var(--color-brand-dark);min-height:2.75rem;color:var(--color-text-on-dark);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);transition:background-color var(--transition-duration) var(--transition-timing);justify-content:center;align-items:center;padding:.5rem 1.25rem;display:inline-flex}.header-cta:hover,.header-cta:focus{background:var(--color-brand-mid);color:#fff}.mobile-nav-toggle{min-width:2.75rem;min-height:2.75rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-brand-dark);cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing), transform var(--transition-duration) var(--transition-timing);background:0 0;justify-content:center;align-items:center;display:none}.mobile-nav-toggle:hover,.mobile-nav-toggle:focus{background:#0b25350d}.mobile-nav-toggle svg{fill:currentColor;width:1.5rem;height:1.5rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:2.75rem;font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing), color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing), box-shadow var(--transition-duration) var(--transition-timing);border:1px solid #0000;padding:.65rem 1.25rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-brand-dark);color:var(--color-text-on-dark);border-color:var(--color-brand-dark)}.btn-primary:hover,.btn-primary:focus{background:var(--color-brand-mid);border-color:var(--color-brand-mid)}.btn-secondary{color:var(--color-brand-dark);border-color:var(--color-border);background:0 0}.btn-secondary:hover,.btn-secondary:focus{border-color:var(--color-brand-dark);background:#0b25350d}.btn-accent{background:var(--color-brand-accent);color:var(--color-brand-dark);border-color:var(--color-brand-accent)}.btn-accent:hover,.btn-accent:focus{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.link-more{font-weight:var(--font-weight-semibold);color:var(--color-brand-mid);font-size:var(--font-size-body);transition:color var(--transition-duration) var(--transition-timing);align-items:center;gap:.35rem;display:inline-flex}.link-more:hover,.link-more:focus{color:var(--color-brand-dark);text-decoration:underline}.link-more>span,.link-more svg{transition:transform var(--transition-duration) var(--transition-timing)}.link-more:hover>span,.link-more:focus>span,.link-more:hover svg,.link-more:focus svg{transform:translate(2px)}.card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-duration) var(--transition-timing), box-shadow var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing);flex-direction:column;display:flex}.card:hover{box-shadow:var(--shadow-md);border-color:#0b253540;transform:translateY(-2px)}.card:not(.interactive),.card[data-interactive=false]{box-shadow:var(--shadow-sm);transform:none}.card-featured{border-top:3px solid var(--color-brand-accent)}.image-frame{border-radius:var(--radius-md);background:var(--color-surface-subtle);position:relative;overflow:hidden}.image-frame img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.aspect-16-9{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.aspect-1-1{aspect-ratio:1}.image-frame-accent:after{content:"";background:var(--color-brand-accent);height:3px;position:absolute;top:0;left:0;right:0}.image-caption{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.site-footer{background:var(--color-brand-dark);color:var(--color-text-on-dark);padding:var(--space-10) 0 var(--space-6)}.footer-grid{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.site-footer h2,.site-footer h3{margin-bottom:var(--space-4);font-size:var(--font-size-h4);color:#fff}.site-footer p,.site-footer li{color:var(--color-text-muted-on-dark);margin-bottom:var(--space-2);line-height:var(--line-height-body)}.site-footer a{color:#fff;transition:color var(--transition-duration) var(--transition-timing)}.site-footer a:hover,.site-footer a:focus{color:var(--color-brand-accent)}.footer-legal-notice{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-dark)}.footer-legal-notice p{font-size:var(--font-size-sm);color:#ffffffb3;margin:0;line-height:1.5}.footer-credit{margin-top:var(--space-3);font-size:var(--font-size-sm);color:#ffffffbf}.footer-credit a{color:#ffffffe6;text-underline-offset:2px;transition:color var(--transition-duration) var(--transition-timing);text-decoration:underline}.footer-credit a:hover,.footer-credit a:focus{color:var(--color-brand-accent)}@media (width<=1100px){:root{--font-size-display:clamp(2rem, 8vw, 2.9rem);--font-size-h1:clamp(1.7rem, 6vw, 2.35rem);--font-size-h2:clamp(1.4rem, 5vw, 1.9rem);--font-size-h3:clamp(1.15rem, 4vw, 1.4rem);--font-size-body-lg:1.05rem;--section-spacing:3rem;--card-gap:1rem}.header-inner{gap:var(--space-2);padding:var(--space-2) 0;flex-wrap:wrap}.brand{flex:1}.header-actions{margin-left:auto}.header-phone span,.header-cta{display:none}.mobile-nav-toggle{display:flex}.main-nav{width:100%;padding:var(--space-2) 0 var(--space-1);border-top:1px solid var(--color-border);opacity:0;order:3;transition:opacity .18s,transform .18s;display:none;overflow:hidden;transform:translateY(-4px)}.main-nav.is-open{opacity:1;display:block;transform:translateY(0)}.nav-list{align-items:stretch;gap:var(--space-2);flex-direction:column;width:100%}.nav-item{width:100%}.nav-link{box-sizing:border-box;width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:.97rem;display:block}.card{padding:var(--space-5)}.footer-grid{gap:var(--space-6);grid-template-columns:1fr}}@media (width<=640px){:root{--container-gutter:.75rem;--space-6:1.25rem;--space-8:1.5rem;--space-10:2rem;--space-12:2.5rem}.header-inner{min-height:3.5rem}.brand-logo{max-width:138px}.header-actions{gap:var(--space-2)}.mobile-nav-toggle{min-width:2.5rem;min-height:2.5rem}.hero-cta-group{gap:var(--space-3);flex-direction:column}.hero-cta-group .btn{width:100%}.contact-form-container{padding:var(--space-5)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal],[data-reveal].is-visible,html.js-enabled [data-reveal],html.js-enabled [data-reveal].is-visible{opacity:1!important;transform:none!important}.main-nav,.main-nav.is-open,.nav-link,.btn,.link-more,.link-more>span,.faq-item summary,.card,.mobile-nav-toggle{transition:none!important}}
