:root{--color-primary-dark: #0f2440;--color-primary: #1a365d;--color-primary-light: #2c5282;--color-primary-lighter: #3182ce;--color-accent: #63b3ed;--color-bg: #fff;--color-bg-alt: #f7fafc;--color-text: #1a202c;--color-text-light: #718096;--color-border: #e2e8f0;--font-family-base: system-ui, -apple-system, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;--font-family-heading: var(--font-family-base);--font-family-mono: ui-monospace, "Cascadia Code", "Source Code Pro", menlo, consolas, "DejaVu Sans Mono", monospace;--font-size-xs: clamp(.75rem, .7rem + .25vw, .8125rem);--font-size-sm: clamp(.8125rem, .775rem + .25vw, .875rem);--font-size-base: clamp(.9375rem, .875rem + .3125vw, 1rem);--font-size-md: clamp(1.0625rem, .975rem + .4375vw, 1.125rem);--font-size-lg: clamp(1.1875rem, 1.075rem + .5625vw, 1.3125rem);--font-size-xl: clamp(1.375rem, 1.2rem + .875vw, 1.5rem);--font-size-2xl: clamp(1.625rem, 1.35rem + 1.375vw, 1.875rem);--font-size-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.25rem);--font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.6;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / 5%);--shadow-md: 0 4px 6px rgb(0 0 0 / 7%), 0 2px 4px rgb(0 0 0 / 6%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 10%), 0 4px 6px rgb(0 0 0 / 5%);--letter-spacing-wide: .05em;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--container-sm: 40rem;--container-md: 48rem;--container-lg: 64rem;--container-xl: 80rem;--header-height: 3.75rem;--border-width-active-mobile: 3px;--border-width-active-desktop: 2px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;text-size-adjust:100%}body{min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ol,ul{list-style:none}a{text-decoration-skip-ink:auto}table{border-collapse:collapse}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}html{scroll-padding-top:var(--header-height)}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-primary)}h1{margin-block-start:var(--spacing-lg);font-size:var(--font-size-4xl)}h2{margin-block-start:var(--spacing-lg);font-size:var(--font-size-3xl)}h3{margin-block-start:var(--spacing-lg);font-size:var(--font-size-2xl)}h4{margin-block-start:var(--spacing-md);font-size:var(--font-size-xl)}h5{margin-block-start:var(--spacing-md);font-size:var(--font-size-lg)}h6{margin-block-start:var(--spacing-md);font-size:var(--font-size-md)}p{max-width:70ch}a{color:var(--color-primary-lighter);text-underline-offset:.15em;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}a:focus-visible{border-radius:var(--radius-sm);outline:var(--spacing-xs) solid var(--color-accent);outline-offset:var(--spacing-xs)}li+li{margin-block-start:var(--spacing-xs)}.container{width:100%;max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--spacing-md)}@media(min-width:48em){.container{padding-inline:var(--spacing-xl)}}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;clip-path:inset(50%)}.header{position:sticky;z-index:100;top:0;min-height:var(--header-height);background-color:var(--color-primary);box-shadow:var(--shadow-md)}.header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--spacing-sm)}.header__logo-link{display:flex;flex-shrink:0;align-items:center}.header__logo-link:focus-visible{border-radius:var(--radius-sm);outline:var(--spacing-xs) solid var(--color-accent);outline-offset:var(--spacing-xs)}.header__logo{width:120px;height:40px;object-fit:contain}.header__hamburger{--hamburger-line-height: 2px;--hamburger-gap: 5px;--hamburger-width: 24px;cursor:pointer;display:flex;flex-direction:column;gap:var(--hamburger-gap);align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent}.header__hamburger:focus-visible{border-radius:var(--radius-sm);outline:var(--spacing-xs) solid var(--color-accent);outline-offset:var(--spacing-xs)}.header__hamburger-line{display:block;width:var(--hamburger-width);height:var(--hamburger-line-height);background-color:var(--color-bg);transition:transform var(--transition-base),opacity var(--transition-base)}.header__hamburger[aria-expanded=true] .header__hamburger-line:nth-child(1){transform:translateY(calc(var(--hamburger-line-height) + var(--hamburger-gap))) rotate(45deg)}.header__hamburger[aria-expanded=true] .header__hamburger-line:nth-child(2){opacity:0}.header__hamburger[aria-expanded=true] .header__hamburger-line:nth-child(3){transform:translateY(calc(-1 * (var(--hamburger-line-height) + var(--hamburger-gap)))) rotate(-45deg)}.header__nav{position:absolute;top:100%;right:0;left:0;display:none;background-color:var(--color-primary);box-shadow:var(--shadow-lg)}.header__hamburger[aria-expanded=true]~.header__nav{display:block}.header__nav-list{display:flex;flex-direction:column;gap:0;padding-block:var(--spacing-sm)}.header__nav-list li+li{margin-block-start:0}.header__nav-link{display:block;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-bg);text-decoration:none;transition:background-color var(--transition-fast)}.header__nav-link:hover{color:var(--color-bg);background-color:var(--color-primary-light)}.header__nav-link:focus-visible{border-radius:0;color:var(--color-bg);outline:var(--spacing-xs) solid var(--color-accent);outline-offset:calc(-1 * var(--spacing-xs))}.header__nav-link--active{border-inline-start:var(--border-width-active-mobile) solid var(--color-accent);background-color:var(--color-primary-light)}@media(min-width:48em){.header__inner{position:relative}.header__hamburger{display:none}.header__nav{position:static;display:flex;box-shadow:none}.header__nav-list{flex-direction:row;gap:var(--spacing-xs);padding-block:0}.header__nav-link{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm)}.header__nav-link:focus-visible{border-radius:var(--radius-sm)}.header__nav-link--active{border-block-end:var(--border-width-active-desktop) solid var(--color-accent);border-inline-start:none;background-color:transparent}}.hero{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 35%,var(--color-primary-light) 70%,var(--color-primary-lighter) 100%)}.hero__inner{display:flex;flex-direction:column;align-items:center;padding-block:var(--spacing-3xl);text-align:center}.hero__logo{width:clamp(10rem,8rem + 10vw,20rem);height:auto;object-fit:contain}.hero__tagline{max-width:100%;margin-block-start:var(--spacing-xl);font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-bg);text-shadow:0 1px 2px rgb(0 0 0 / 20%)}@media(min-width:48em){.hero__inner{padding-block:var(--spacing-4xl)}.hero__tagline{font-size:var(--font-size-3xl)}}.about{padding-block:var(--spacing-3xl);background-color:var(--color-bg-alt)}.about__heading{margin-block:0 var(--spacing-xl);text-align:center}.about__content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.about__services{padding-inline-start:var(--spacing-lg);list-style:disc}.about__services li{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-primary-light)}@media(min-width:48em){.about{padding-block:var(--spacing-4xl)}}.references{padding-block:var(--spacing-3xl);background-color:var(--color-bg)}.references__heading{margin-block:0 var(--spacing-xl);text-align:center}.references__grid{display:grid;gap:var(--spacing-lg)}.references__card{padding:var(--spacing-xl);border-radius:var(--radius-md);background-color:var(--color-bg-alt);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.references__card:focus-within,.references__card:hover{box-shadow:var(--shadow-md)}.references__card-title{margin-block:0 var(--spacing-sm);color:var(--color-primary)}.references__card-description{margin-block:0;color:var(--color-text-light)}@media(min-width:48em){.references{padding-block:var(--spacing-4xl)}.references__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.references__grid{grid-template-columns:repeat(3,1fr)}}.gallery{padding-block:var(--spacing-3xl);background-color:var(--color-bg-alt)}.gallery__heading{margin-block:0 var(--spacing-xl);text-align:center}.gallery__grid{display:grid;gap:var(--spacing-lg)}.gallery__item{overflow:hidden;margin:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.gallery__item:hover{box-shadow:var(--shadow-md)}.gallery__image{display:block;aspect-ratio:3 / 2;width:100%;object-fit:cover}.gallery__caption{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm, .875rem);color:var(--color-text-light);text-align:center;background-color:var(--color-bg)}@media(min-width:48em){.gallery{padding-block:var(--spacing-4xl)}.gallery__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.gallery__grid{grid-template-columns:repeat(3,1fr)}}.contact{padding-block:var(--spacing-3xl);background-color:var(--color-bg)}.contact__heading{margin-block:0 var(--spacing-xl);text-align:center}.contact__address{font-style:normal}.contact__grid{display:grid;gap:var(--spacing-lg);margin:0}.contact__item{padding:var(--spacing-xl);border-radius:var(--radius-md);text-align:center;background-color:var(--color-bg-alt);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.contact__item:focus-within,.contact__item:hover{box-shadow:var(--shadow-md)}.contact__label{display:block;margin-block:0 var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.contact__value{display:block;margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.contact__value a{color:var(--color-primary-lighter);text-decoration:none;transition:color var(--transition-fast)}.contact__value a:hover,.contact__value a:focus-visible{color:var(--color-primary);text-decoration:underline}@media(min-width:48em){.contact{padding-block:var(--spacing-4xl)}.contact__grid{grid-template-columns:repeat(3,1fr)}}.footer{padding-block:var(--spacing-2xl);font-size:var(--font-size-sm);color:var(--color-bg);text-align:center;background-color:var(--color-primary)}.footer__inner{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center}.footer__nav-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-lg);justify-content:center;margin:0;padding:0;list-style:none}.footer__nav-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}.footer__nav-link:hover,.footer__nav-link:focus-visible{color:var(--color-bg)}.footer__contact{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-lg);justify-content:center}.footer__contact-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-bg);text-decoration:none;transition:color var(--transition-fast)}.footer__contact-link:hover,.footer__contact-link:focus-visible{color:var(--color-accent)}.footer__copyright{margin:0;font-size:var(--font-size-xs);color:var(--color-text-light)}@media(min-width:48em){.footer{padding-block:var(--spacing-3xl)}.footer__inner,.footer__nav-list{gap:var(--spacing-xl)}}
