:root{--font-family-primary:"Poppins", "Poppins Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-size-4xl:40px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-base:24px;--line-height-tight:1.2;--line-height-normal:1.5;--color-surface-base:#000;--color-surface-raised:#28282b;--color-surface-page:#f6f7f9;--color-surface-card:#fff;--color-text-primary:#1e1c31;--color-text-tertiary:#4a4860;--color-text-inverse:#fff;--color-text-inverse-muted:#c7c7cf;--color-accent:#59c65b;--color-accent-strong:#2e7d32;--color-accent-on-dark:#59c65b;--color-border-muted:#e4e4ea;--color-border-muted-inverse:#ffffff29;--color-border-strong:#1e1c31;--color-danger:#b3261e;--color-danger-on-dark:#ff8a80;--color-success:#1a7f43;--space-1:4px;--space-2:5px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:15px;--space-8:16px;--space-9:24px;--space-10:32px;--space-11:48px;--space-12:64px;--space-13:96px;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12.8px;--radius-xl:24px;--radius-2xl:25px;--radius-pill:50px;--radius-circle:100px;--shadow-1:0 1px 25px 0 #1e1c3114;--shadow-inverse:#fff 5px 1px 25px 0px;--motion-instant:.1s;--motion-fast:.15s;--motion-normal:.3s;--motion-ease:cubic-bezier(.4, 0, .2, 1);--content-max-width:1200px;--focus-ring-width:3px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-family-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-surface-page);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}p{margin:0}img{max-width:100%;display:block}a{color:var(--color-accent-strong)}button{font-family:inherit}ul,ol{margin:0;padding:0;list-style:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.container{width:100%;max-width:var(--content-max-width);padding-inline:var(--space-9);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-8);background:var(--color-accent);color:#fff;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);z-index:1000;transition:top var(--motion-fast) var(--motion-ease);position:absolute;top:-60px}.skip-link:focus{top:var(--space-4)}.page-hero{background:var(--color-surface-base);color:var(--color-text-inverse);padding-block:var(--space-13) var(--space-11)}.page-hero__eyebrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-on-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-7)}.page-hero__title{font-size:var(--font-size-3xl);margin-bottom:var(--space-8);max-width:720px}.page-hero__subtitle{font-size:var(--font-size-lg);color:var(--color-text-inverse-muted);max-width:640px;line-height:var(--line-height-normal)}.section--muted{background:var(--color-surface-page)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.btn{justify-content:center;align-items:center;gap:var(--space-4);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-instant) var(--motion-ease);white-space:nowrap;border:1.5px solid #0000;text-decoration:none;display:inline-flex}.btn--sm{padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm)}.btn--md{padding:var(--space-5) var(--space-9);font-size:var(--font-size-md)}.btn--lg{padding:var(--space-6) var(--space-10);font-size:var(--font-size-lg)}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background:#4fb251}.btn--primary:active:not(:disabled){background:#479e49;transform:translateY(1px)}.btn--secondary{color:var(--color-accent-strong);border-color:var(--color-accent);background:0 0}.btn--secondary:hover:not(:disabled){background:#59c65b14}.btn--secondary:active:not(:disabled){background:#59c65b29;transform:translateY(1px)}.btn--ghost{color:var(--color-text-inverse);border-color:var(--color-border-muted-inverse);background:0 0}.btn--ghost:hover:not(:disabled){background:#ffffff14}.btn--ghost:active:not(:disabled){background:#ffffff24;transform:translateY(1px)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:#921f19}.btn--danger:active:not(:disabled){background:#7a1a15;transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.5;transform:none}.btn--loading .btn__label{opacity:.85}.btn__spinner{width:14px;height:14px;animation:btn-spin var(--motion-normal) linear infinite;border:2px solid;border-right-color:#0000;border-radius:50%}@keyframes btn-spin{to{transform:rotate(360deg)}}.nav{z-index:100;background:var(--color-surface-base);border-bottom:1px solid var(--color-border-muted-inverse);position:sticky;top:0}.nav__bar{justify-content:space-between;align-items:center;gap:var(--space-9);height:72px;display:flex}.nav__brand{align-items:center;gap:var(--space-4);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);letter-spacing:.02em;text-decoration:none;display:flex}.nav__brand-mark{width:auto;height:34px}.nav__brand span{color:var(--color-accent-on-dark)}.nav__toggle{padding:var(--space-4);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:none;display:none}.nav__toggle-icon,.nav__toggle-icon:before,.nav__toggle-icon:after{background:var(--color-text-inverse);width:22px;height:2px;transition:transform var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);border-radius:2px;display:block}.nav__toggle-icon:before,.nav__toggle-icon:after{content:"";position:relative}.nav__toggle-icon:before{top:-6px}.nav__toggle-icon:after{top:4px}.nav__toggle-icon--open{background:0 0}.nav__toggle-icon--open:before{top:0;transform:rotate(45deg)}.nav__toggle-icon--open:after{top:-2px;transform:rotate(-45deg)}.nav__links{align-items:center;gap:var(--space-10);display:flex}.nav__links ul{align-items:center;gap:var(--space-9);display:flex}.nav__link{color:var(--color-text-inverse-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-3) var(--space-2);transition:color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);border-bottom:2px solid #0000;text-decoration:none}.nav__link:hover{color:var(--color-text-inverse)}.nav__link--active{color:var(--color-text-inverse);border-bottom-color:var(--color-accent-on-dark)}.nav__cta{flex-shrink:0}@media (width<=860px){.nav__toggle{display:block}.nav__links{background:var(--color-surface-base);border-bottom:1px solid var(--color-border-muted-inverse);align-items:stretch;gap:var(--space-8);padding:var(--space-9);flex-direction:column;display:none;position:absolute;top:72px;left:0;right:0}.nav__links--open{display:flex}.nav__links ul{align-items:flex-start;gap:var(--space-6);flex-direction:column}.nav__cta{align-self:flex-start}}.footer{background:var(--color-surface-base);color:var(--color-text-inverse-muted);padding-block:var(--space-12) var(--space-9);margin-top:var(--space-13)}.footer__grid{gap:var(--space-11);grid-template-columns:1.4fr 1fr 1fr 1fr;display:grid}.footer__logo{align-items:center;gap:var(--space-4);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);margin:0 0 var(--space-6);display:flex}.footer__logo-mark{width:auto;height:30px}.footer__logo span{color:var(--color-accent-on-dark)}.footer__tagline{max-width:32ch;font-size:var(--font-size-sm)}.footer__heading{font-size:var(--font-size-sm);color:var(--color-text-inverse);margin-bottom:var(--space-7);text-transform:uppercase;letter-spacing:.06em}.footer__col ul{gap:var(--space-5);flex-direction:column;display:flex}.footer__col a{color:var(--color-text-inverse-muted);font-size:var(--font-size-sm);text-decoration:none}.footer__col a:hover{color:var(--color-text-inverse);text-decoration:underline}.footer__col li{font-size:var(--font-size-sm)}.footer__bottom{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border-muted-inverse);font-size:var(--font-size-xs)}@media (width<=860px){.footer__grid{grid-template-columns:1fr 1fr}}@media (width<=540px){.footer__grid{grid-template-columns:1fr}}.section-heading{max-width:640px;margin-bottom:var(--space-11)}.section-heading--center{text-align:center;margin-inline:auto}.section-heading__eyebrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-strong);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-4)}.section-heading__title{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--space-6)}.section-heading__description{font-size:var(--font-size-md);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.card{background:var(--color-surface-card);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);padding:var(--space-9);box-shadow:var(--shadow-1);color:inherit;transition:transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);text-decoration:none;display:block}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 12px 30px #1e1c311f}.card--interactive:active{transform:translateY(-1px)}.card__icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--color-accent-strong);margin-bottom:var(--space-7);background:#59c65b1a;justify-content:center;align-items:center;display:flex}.card__title{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.card__description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.testimonial{background:var(--color-surface-card);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);padding:var(--space-9);box-shadow:var(--shadow-1);gap:var(--space-7);flex-direction:column;height:100%;margin:0;display:flex}.testimonial__quote{font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-primary);flex-grow:1;margin:0}.testimonial__author{align-items:center;gap:var(--space-6);display:flex}.testimonial__avatar{background:var(--color-accent);color:#fff;width:40px;height:40px;font-weight:var(--font-weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.testimonial__author>span:last-child{flex-direction:column;display:flex}.testimonial__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.testimonial__role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.hero{background:var(--color-surface-base);color:var(--color-text-inverse);padding-block:var(--space-13) var(--space-12)}.hero__inner{max-width:760px}.hero__eyebrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-on-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-7)}.hero__title{font-size:var(--font-size-4xl);margin-bottom:var(--space-8)}.hero__subtitle{font-size:var(--font-size-lg);color:var(--color-text-inverse-muted);line-height:var(--line-height-normal);margin-bottom:var(--space-10);max-width:60ch}.hero__actions{gap:var(--space-7);flex-wrap:wrap;display:flex}.section{padding-block:var(--space-12)}.services-grid{gap:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.section--split{gap:var(--space-12);grid-template-columns:1fr 1fr;align-items:start;display:grid}.reasons__list{gap:var(--space-7);margin-block:var(--space-9);flex-direction:column;max-width:640px;display:flex}.reasons__list li{align-items:flex-start;gap:var(--space-6);font-size:var(--font-size-md);color:var(--color-text-tertiary);display:flex}.reasons__icon{color:var(--color-accent);flex-shrink:0;margin-top:2px}.capabilities-grid{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.capabilities-grid .card{padding:var(--space-7)}.featured-testimonial{background:var(--color-surface-page)}.featured-testimonial .container{text-align:center;max-width:720px}.featured-testimonial__link{margin-top:var(--space-8);font-weight:var(--font-weight-semibold);text-decoration:none;display:inline-block}.cta-banner{background:var(--color-surface-raised);color:var(--color-text-inverse)}.cta-banner__inner{padding-block:var(--space-11);justify-content:space-between;align-items:center;gap:var(--space-9);flex-wrap:wrap;display:flex}.cta-banner__inner h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}.cta-banner__inner p{color:var(--color-text-inverse-muted)}@media (width<=960px){.services-grid{grid-template-columns:repeat(2,1fr)}.section--split{grid-template-columns:1fr}}@media (width<=560px){.services-grid,.capabilities-grid{grid-template-columns:1fr}.hero__title{font-size:var(--font-size-3xl)}}.mission{gap:var(--space-12);grid-template-columns:1fr 1fr;align-items:start;display:grid}.mission__text{font-size:var(--font-size-md);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.timeline{gap:var(--space-8);border-left:2px solid var(--color-border-muted);padding-left:var(--space-9);flex-direction:column;display:flex}.timeline li{gap:var(--space-2);flex-direction:column;display:flex}.timeline__year{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-accent-strong)}.timeline__label{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.values-grid{gap:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=960px){.mission{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.values-grid{grid-template-columns:1fr}}.project{background:var(--color-surface-card);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);overflow:hidden}.project:hover{transform:translateY(-4px);box-shadow:0 12px 30px #1e1c311f}.project__media{justify-content:center;align-items:center;height:160px;display:flex}.project__initial{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:#ffffffd9}.project__body{padding:var(--space-8)}.project__category{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.project__title{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.project__description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.portfolio-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=960px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.portfolio-grid{grid-template-columns:1fr}}.testimony-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=960px){.testimony-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.testimony-grid{grid-template-columns:1fr}}.field{gap:var(--space-3);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.field__required{color:var(--color-danger)}.field__control{font-family:inherit;font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-surface-card);border:1.5px solid var(--color-border-muted);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-7);transition:border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);resize:vertical}.field__control::placeholder{color:var(--color-text-tertiary);opacity:.8}.field__control:hover:not(:disabled){border-color:var(--color-accent)}.field__control:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.field__control:disabled{background:var(--color-surface-page);color:var(--color-text-tertiary);cursor:not-allowed}.field--error .field__control{border-color:var(--color-danger)}.field__error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.contact-layout{gap:var(--space-12);grid-template-columns:.8fr 1.2fr;align-items:start;display:grid}.contact-info__heading{font-size:var(--font-size-2xl);margin-bottom:var(--space-8)}.contact-info__list{gap:var(--space-7);margin-bottom:var(--space-9);flex-direction:column;display:flex}.contact-info__list li{align-items:center;gap:var(--space-6);font-size:var(--font-size-md);display:flex}.contact-info__list span[aria-hidden]{color:var(--color-accent);flex-shrink:0;display:flex}.contact-info__list a{color:var(--color-text-primary);text-decoration:none}.contact-info__list a:hover{color:var(--color-accent-strong);text-decoration:underline}.contact-info__hours{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.contact-form{background:var(--color-surface-card);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-10);gap:var(--space-8);flex-direction:column;display:flex}.contact-form__row{gap:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.contact-form__success{color:var(--color-success);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-7);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:#1a7f431a;border:1px solid #1a7f434d}.contact-form button[type=submit]{align-self:flex-start}@media (width<=860px){.contact-layout{grid-template-columns:1fr}}@media (width<=560px){.contact-form__row{grid-template-columns:1fr}}
