@font-face { font-family:'Oswald'; src:url('../fonts/oswald-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Sanchez'; src:url('../fonts/sanchez-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
:root { --ink:#444; --muted:#7b7b7b; --aqua:#66c3d0; --footer:#444; --footer-dark:#272727; --line:#e9e9e9; --page:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial, Helvetica, sans-serif; font-size:13px; font-weight:400; line-height:1.7; }
img { display:block; max-width:100%; }
a { color:inherit; }
.container { width:min(calc(100% - 2rem), var(--page)); margin-inline:auto; }
.section { padding-block:3.5rem; }
.skip-link { position:fixed; z-index:100; left:1rem; top:-4rem; padding:.6rem 1rem; background:#111; color:#fff; text-decoration:none; }
.skip-link:focus { top:1rem; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
.topbar { border-bottom:1px solid #eee; color:#959595; font-family:Arial, Helvetica, sans-serif; font-size:13px; font-weight:400; line-height:1.7; }
.topbar__inner { min-height:3.35rem; display:flex; align-items:center; justify-content:flex-start; gap:1rem; }
.topbar__contact { display:flex; flex-wrap:wrap; justify-content:center; gap:.45rem; }
.topbar a { text-decoration:none; }
.topbar a:hover { color:var(--aqua); }
.brand-row { min-height:8.65rem; display:grid; place-items:center; padding-block:1.1rem; }
.brand img { width:252px; height:90px; object-fit:contain; }
.nav-shell { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.site-nav__list { display:flex; justify-content:center; align-items:stretch; gap:clamp(.25rem, 1.9vw, 2.15rem); padding:0; margin:0; list-style:none; }
.site-nav__list a { position:relative; display:block; padding:1rem 0 .9rem; color:#666; text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-size:13px; font-weight:400; line-height:1; text-transform:uppercase; white-space:nowrap; }
.site-nav__list a::before { content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:transparent; }
.site-nav__list a:hover, .site-nav__list a.is-active { color:#289dcc; }
.site-nav__list a.is-active { font-weight:600; }
.site-nav__list a.is-active::before { background:var(--aqua); }
.menu-toggle { display:none; }
.hero { position:relative; background:#050505; }
.hero__viewport { aspect-ratio:16 / 5; min-height:13rem; max-height:37.5rem; overflow:hidden; }
.hero__slide { height:100%; }
.hero__slide img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero__controls { position:absolute; z-index:2; inset:0; pointer-events:none; }
.slider-arrow { position:absolute; top:50%; pointer-events:auto; transform:translateY(-50%); width:3rem; height:3rem; border:0; border-radius:50%; background:rgb(30 30 30 / 70%); color:#fff; font:2.7rem/.85 Georgia, serif; cursor:pointer; }
.slider-arrow:hover, .slider-arrow:focus-visible { background:var(--aqua); }
.slider-arrow--previous { left:0; }
.slider-arrow--next { right:0; }
.slider-dots { position:absolute; bottom:1.15rem; left:50%; display:flex; gap:.55rem; transform:translateX(-50%); pointer-events:auto; }
.slider-dots button { width:.75rem; height:.75rem; padding:0; border:1px solid #777; background:#fff; cursor:pointer; }
.slider-dots button[aria-pressed="true"] { background:var(--aqua); border-color:var(--aqua); }
.benefits__grid { display:grid; gap:2.5rem; text-align:center; }
.benefit h2 { margin:0 0 5px; font-family:'Sanchez', Georgia, serif; font-size:24px; font-weight:400; line-height:1.7; color:#444; }
.benefit p { max-width:22rem; margin:0 auto; color:#444; font-family:Arial, Helvetica, sans-serif; font-size:13px; font-weight:400; line-height:1.7; }
.survey-cta { padding-top:0; }
.survey-cta__inner { display:flex; flex-direction:column; gap:1.25rem; align-items:flex-start; padding-top:2.4rem; border-top:1px solid var(--line); }
.survey-cta h2 { margin:0; color:#289dcc; font-family:'Oswald', 'Arial Narrow', Arial, sans-serif; font-size:28px; font-weight:400; line-height:1.25; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:3.5rem; padding:.75rem 1.5rem; font-size:1rem; font-weight:700; text-transform:uppercase; text-decoration:none; }
.button--outline { border:1px solid #d9d9d9; box-shadow:0 1px 3px rgb(0 0 0 / 8%); color:var(--aqua); }
.button--outline:hover, .button--outline:focus-visible { border-color:var(--aqua); background:var(--aqua); color:#fff; }
.services { padding-top:0; }
.services__grid { display:grid; gap:2.5rem 2.9rem; }
.service-card { text-align:center; }
.service-card img { width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.service-card h2 { margin:1.1rem 0 0; color:#666; font-family:Arial, Helvetica, sans-serif; font-size:18px; font-weight:700; line-height:1.6; }
.site-footer { color:#bcbcbc; background:var(--footer); }
.footer__content { display:grid; gap:2.5rem; padding-block:3.8rem; }
.site-footer h2 { margin:0 0 1.55rem; padding-bottom:.55rem; border-bottom:1px solid #555; color:#fff; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:400; line-height:1.7; text-transform:uppercase; }
.site-footer p { margin:.35rem 0; }
.footer__about p { max-width:31rem; }
.site-footer a { color:inherit; }
.site-footer a:hover { color:var(--aqua); }
.footer__about > a { text-decoration:none; }
.footer__contact address { font-style:normal; }
.footer__bottom { background:var(--footer-dark); }
.footer__bottom-inner { min-height:4.35rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-family:Arial, Helvetica, sans-serif; font-size:13px; font-weight:400; line-height:1.7; }
.footer__bottom p { margin:0; }
.back-to-top { display:grid; flex:0 0 3rem; place-items:center; width:3rem; height:3rem; background:#1c1c1c; color:#fff !important; text-decoration:none; font-size:1.65rem; }
.back-to-top:hover { background:var(--aqua); }
button:focus-visible, a:focus-visible { outline:3px solid #168da7; outline-offset:3px; }
@media (min-width: 700px) { .benefits__grid { grid-template-columns:repeat(3, 1fr); } .footer__content { grid-template-columns:1fr 1fr; gap:3rem; } .services__grid { grid-template-columns:repeat(3, 1fr); } .survey-cta__inner { flex-direction:row; align-items:center; justify-content:space-between; gap:2rem; } .button { flex:0 0 auto; } }
@media (max-width: 699px) { .topbar__inner { justify-content:center; } .brand-row { min-height:6.8rem; } .brand img { width:210px; height:auto; } .menu-toggle { width:100%; display:flex; align-items:center; justify-content:center; gap:.55rem; padding:.8rem 1rem; border:0; background:#fff; color:#555; font-weight:700; text-transform:uppercase; cursor:pointer; } .menu-toggle__bars, .menu-toggle__bars::before, .menu-toggle__bars::after { display:block; width:1.25rem; height:2px; background:currentColor; content:""; } .menu-toggle__bars { position:relative; } .menu-toggle__bars::before { position:absolute; top:-.36rem; } .menu-toggle__bars::after { position:absolute; top:.36rem; } .site-nav__list { display:none; flex-direction:column; gap:0; border-top:1px solid var(--line); } .site-nav__list.is-open { display:flex; } .site-nav__list li { border-bottom:1px solid var(--line); } .site-nav__list a { padding:.78rem 1rem; } .site-nav__list a::before { left:0; right:auto; top:0; bottom:0; width:3px; height:auto; } .hero__viewport { aspect-ratio:16 / 7; } .slider-arrow { width:2.5rem; height:2.5rem; } .slider-arrow--previous { left:.25rem; } .slider-arrow--next { right:.25rem; } .footer__bottom-inner { padding-block:1rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }

.page-title { border-bottom:1px solid var(--line); background:#fafafa; }
.page-title__inner { min-height:7.5rem; display:flex; flex-direction:column; justify-content:center; padding-block:1.5rem; }
.page-title h1 { margin:0; color:#444; font-family:Arial, Helvetica, sans-serif; font-size:22px; font-weight:400; line-height:1.6; text-transform:uppercase; }
.page-title p { margin:0; color:#aaa; font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.6; }
.corporate { padding-block:3.5rem 4.5rem; }
.services-page { padding-top:3.5rem; }
.faq { padding-block:3.5rem 4.5rem; }
.faq__layout { display:grid; gap:3rem; }
.faq__main > p, .faq__aside p { max-width:48rem; margin:0 0 2rem; color:#444; font-family:Arial, Helvetica, sans-serif; font-size:13px; line-height:1.7; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; color:#666; font-family:Arial, Helvetica, sans-serif; font-size:18px; font-weight:700; line-height:1.6; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { flex:0 0 auto; color:#66c3d0; content:"+"; font-size:1.5rem; font-weight:400; line-height:1; }
.faq-item[open] summary::after { content:"−"; }
.faq-item__answer { padding:0 2.25rem 1rem 0; }
.faq-item__answer p { margin:0; color:#444; font-family:Arial, Helvetica, sans-serif; font-size:13px; line-height:1.7; }
.faq__aside .content-heading { font-size:20px; }
.faq__aside .button { font-size:13px; }
@media (min-width:700px) { .faq__layout { grid-template-columns:minmax(0, 2fr) minmax(16rem, 1fr); align-items:start; gap:3rem; } }
.contact-page { padding-block:3.5rem 4.5rem; }
.contact-map { width:100%; height:450px; border:0; display:block; }
.contact-details { display:grid; gap:3rem; margin-top:3.5rem; }
.contact-details__image img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; }
.contact-details__copy address { color:#444; font-family:Arial, Helvetica, sans-serif; font-size:13px; font-style:normal; line-height:1.7; }
.contact-details__copy p { margin:0 0 1rem; }
.contact-details__copy a { color:inherit; }
@media (min-width:700px) { .contact-details { grid-template-columns:1fr 1fr; align-items:start; gap:3rem; } }
.corporate__columns { display:grid; gap:2.75rem; }
.corporate__main, .corporate__aside { min-width:0; }
.content-heading { display:flex; align-items:center; gap:1rem; margin:0 0 1.25rem; color:#666; font-family:Arial, Helvetica, sans-serif; font-size:22px; font-weight:400; line-height:1.6; }
.content-heading::after { flex:1; height:18px; background:repeating-linear-gradient(135deg, #f7f7f7 0 2px, #fff 2px 4px); content:""; }
.corporate p { margin:0 0 1.5rem; color:#444; font-family:Arial, Helvetica, sans-serif; font-size:13px; line-height:1.7; }
.corporate__aside .content-heading { font-size:20px; }
.skill-list { display:grid; gap:1.15rem; margin:0; padding:0; list-style:none; }
.skill-list li { color:#aaa; font-size:15px; font-weight:700; }
.skill-list__label { display:block; margin-bottom:.35rem; }
.skill-list__track { display:block; height:18px; overflow:hidden; border-radius:999px; background:#66c3d0; }
@media (min-width:700px) { .corporate__columns { grid-template-columns:minmax(0, 2fr) minmax(16rem, 1fr); align-items:start; gap:3rem; } .corporate__columns > .corporate__main:last-child { grid-column:1 / -1; } }
