@font-face {font-family: "Saira";src: url("saira-var-latin.woff2") format("woff2");font-weight: 100 900;font-style: normal;font-display: swap;}@font-face {font-family: "Nunito Sans";src: url("nunito-sans-var-latin.woff2") format("woff2");font-weight: 200 1000;font-style: normal;font-display: swap;}:root {--slate: #61777f;--slate-d: #4e6168;--slate-dd: #3d4b50;--slate-l: #a9b9bf;--mist: #d2d6dc;--fog: #eef1f2;--ink: #151b1d;--ink-2: #1f282b;--text: #1d2427;--muted: #53616a;--line: #d6dcdf;--field: #85939a;--on-dark: #c7d0d4;--on-slate-dd: #e1e7e9;--white: #ffffff;--ff-head: "Saira", "Arial Narrow", Arial, sans-serif;--ff-body: "Nunito Sans", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--r: 4px;--shadow: 0 18px 40px -18px rgba(21, 27, 29, .35);--frame-bg: var(--white);}*, *::before, *::after { box-sizing: border-box; }html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }body {margin: 0;background: var(--white);color: var(--text);font: 400 1.0625rem/1.65 var(--ff-body);overflow-x: hidden;}img { display: block; max-width: 100%; height: auto; }a { color: var(--slate-dd); text-underline-offset: 3px; }a:hover { color: var(--slate); }h1, h2, h3 { font-family: var(--ff-head); font-weight: 600; line-height: 1.12; margin: 0 0 .6em; letter-spacing: .005em; color: var(--ink); }h1 { font-size: clamp(2.2rem, 4.8vw, 3.7rem); line-height: 1.04; }@media (max-width: 359px) { h1 { font-size: 1.9rem; } }h2 { font-size: clamp(1.75rem, 3.1vw, 2.55rem); }h3 { font-size: 1.2rem; }p { margin: 0 0 1em; }ul, ol { margin: 0; padding: 0; list-style: none; }figure { margin: 0; }blockquote { margin: 0; }:focus-visible { outline: 3px solid var(--slate-dd); outline-offset: 2px; }.section--ink :focus-visible, .hero :focus-visible, .ftr :focus-visible, .topbar :focus-visible,.cta-band :focus-visible, .phero :focus-visible, .score :focus-visible { outline-color: var(--white); }.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;clip: rect(0 0 0 0); white-space: nowrap; border: 0;}.skip {position: absolute; left: 12px; top: -60px; z-index: 100; padding: .7rem 1rem;background: var(--ink); color: var(--white); border-radius: var(--r); font-weight: 700;}.skip:focus { top: 12px; color: var(--white); }.wrap { width: min(1200px, 100% - 32px); margin-inline: auto; }@media (min-width: 720px) { .wrap { width: min(1200px, 100% - 56px); } }.ic { width: 1.15em; height: 1.15em; flex: none; }.btn {display: inline-flex; align-items: center; justify-content: center; gap: .6rem;min-height: 50px; padding: .75rem 1.35rem;font: 600 .98rem/1.1 var(--ff-head); letter-spacing: .06em; text-transform: uppercase;text-decoration: none; border: 2px solid transparent; border-radius: 3px;transition: background-color .2s, color .2s, border-color .2s, transform .2s;}.btn .ic { width: 1.1em; height: 1.1em; }.btn:hover .ic:last-child { transform: translateX(3px); }.btn .ic { transition: transform .2s; }.btn--slate { background: var(--slate); color: var(--white); }.btn--slate:hover { background: var(--slate-d); color: var(--white); }.btn--white { background: var(--white); color: var(--ink); }.btn--white:hover { background: var(--mist); color: var(--ink); }.btn--line { border-color: var(--slate); color: var(--slate-dd); background: transparent; }.btn--line:hover { background: var(--slate); color: var(--white); }.btn--line-light { border-color: rgba(255, 255, 255, .7); color: var(--white); background: transparent; }.btn--line-light:hover { background: var(--white); color: var(--ink); border-color: var(--white); }.btn--block { width: 100%; }.link-arrow {display: inline-flex; align-items: center; gap: .45rem;font: 600 .95rem/1.2 var(--ff-head); letter-spacing: .06em; text-transform: uppercase;color: var(--slate-dd); text-decoration: none;}.link-arrow .ic { transition: transform .2s; }.link-arrow:hover { color: var(--slate); }.link-arrow:hover .ic { transform: translateX(4px); }.tile {display: inline-grid; place-items: center; flex: none;width: 48px; height: 48px; border-radius: 3px;background: var(--slate); color: var(--white);}.tile .ic { width: 24px; height: 24px; }.tile--sm { width: 38px; height: 38px; }.tile--sm .ic { width: 19px; height: 19px; }.stars { display: inline-flex; gap: 2px; color: var(--slate); }.stars svg { width: 15px; height: 15px; fill: currentColor; stroke: none; }.stars--lg svg { width: 22px; height: 22px; }.rate { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: inherit; }.rate b { font-weight: 800; }.rate:hover { color: inherit; text-decoration: underline; }.topbar { background: var(--ink); color: var(--on-dark); font-size: .86rem; }.topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 40px; }.topbar .stars { color: var(--white); }.topbar__rate { color: var(--white); }.topbar__rate:hover { color: var(--white); }.topbar__links { display: flex; align-items: center; gap: 1.4rem; margin: 0; }.topbar__links a, .topbar__area { display: inline-flex; align-items: center; gap: .45rem; color: var(--on-dark); text-decoration: none; }.topbar__links a:hover { color: var(--white); text-decoration: underline; }.topbar__links .ic { width: 15px; height: 15px; }@media (max-width: 899px) { .topbar__area { display: none; } }@media (max-width: 639px) {.topbar__links { display: none; }.topbar__in { justify-content: center; min-height: 36px; }}@media (max-width: 359px) { .rate__n { display: none; } }.hdr {position: sticky; top: 0; z-index: 50;background: var(--white); border-bottom: 1px solid var(--line);transition: box-shadow .25s;}.hdr.is-stuck { box-shadow: 0 10px 30px -18px rgba(21, 27, 29, .45); }.hdr__in { display: flex; align-items: center; gap: 8px; min-height: 64px; }.brand { display: block; flex: none; margin-right: auto; }.brand img { height: clamp(30px, 9.4vw, 40px); width: auto; }.hdr__actions { display: flex; align-items: center; gap: 8px; }.hdr__tel {display: none; align-items: center; gap: .65rem; text-decoration: none; color: var(--ink);padding-right: .4rem;}.hdr__tel small { display: block; font-size: .78rem; color: var(--muted); line-height: 1.2; }.hdr__tel b { display: block; font: 700 1.12rem/1.2 var(--ff-head); letter-spacing: .02em; white-space: nowrap; }.hdr__tel:hover { color: var(--slate-dd); }.hdr__cta { min-height: 42px; padding: .55rem .8rem; font-size: .84rem; white-space: nowrap; }.menu-btn {position: relative; z-index: 3;display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0;border: 2px solid var(--line); border-radius: 3px; background: var(--white); color: var(--ink); cursor: pointer;}.menu-btn .ic { width: 22px; height: 22px; }.menu-btn .ic--close, .menu-btn[aria-expanded="true"] .ic--open { display: none; }.menu-btn[aria-expanded="true"] .ic--close { display: block; }@media (max-width: 359px) { .hdr__cta { padding: .5rem .55rem; font-size: .78rem; letter-spacing: .04em; } }@media (min-width: 400px) { .hdr__cta { padding: .55rem 1rem; } }@media (min-width: 720px) {.hdr__in { min-height: 80px; gap: 14px; }.brand img { height: 50px; }.hdr__tel { display: inline-flex; }.hdr__cta { min-height: 48px; padding: .7rem 1.2rem; font-size: .92rem; }}html:not(.js) .menu-btn { display: none; }@media (max-width: 1079px) {html:not(.js) .hdr__in { flex-wrap: wrap; }html:not(.js) .nav { order: 3; width: 100%; padding-bottom: .4rem; }html:not(.js) .nav__list { display: flex; flex-wrap: wrap; gap: 0 1rem; border: 0; }html:not(.js) .nav__item { border: 0; }html:not(.js) .nav__link { padding: .4rem 0; font-size: .92rem; }html:not(.js) .nav__toggle, html:not(.js) .nav__extra { display: none; }}.js .nav {position: fixed; top: 0; right: 0; z-index: 2;width: min(380px, 88vw); height: 100vh; height: 100dvh; overflow-y: auto;padding: 104px 22px 28px; background: var(--white);transform: translateX(105%); visibility: hidden;transition: transform .3s ease, visibility 0s linear .3s, box-shadow .3s;}.js .nav.is-open {transform: none; visibility: visible; transition: transform .3s ease, box-shadow .3s;box-shadow: 0 0 0 100vmax rgba(21, 27, 29, .55);}.nav__list { border-top: 1px solid var(--line); }.nav__item { position: relative; border-bottom: 1px solid var(--line); }.nav__link {display: block; padding: .95rem .2rem; text-decoration: none; color: var(--ink);font: 600 1.08rem/1.2 var(--ff-head); letter-spacing: .06em; text-transform: uppercase;}.nav__link[aria-current="page"] { color: var(--slate); }.nav__toggle {position: absolute; right: 0; top: 4px; width: 44px; height: 44px; padding: 0;display: grid; place-items: center; background: none; border: 0; color: var(--ink); cursor: pointer;}.nav__toggle .ic { width: 22px; height: 22px; transition: transform .2s; }.nav__toggle[aria-expanded="true"] .ic { transform: rotate(180deg); }.drop { display: none; padding: 0 0 .8rem; }.drop.is-open { display: block; }.drop a {display: flex; align-items: center; gap: .7rem; padding: .55rem .2rem; text-decoration: none; color: var(--text);font-weight: 600;}.drop a .ic { color: var(--slate); width: 20px; height: 20px; }.drop a:hover { color: var(--slate-dd); }.nav__extra { display: grid; gap: .9rem; margin-top: 1.6rem; }.nav__extra .btn { padding-inline: .8rem; font-size: .92rem; }.nav__mail { display: flex; align-items: center; justify-content: center; gap: .5rem; color: var(--slate-dd); font-weight: 600; overflow-wrap: anywhere; }@media (min-width: 1080px) {.menu-btn { display: none; }.nav, .js .nav, .js .nav.is-open {position: static; width: auto; height: auto; overflow: visible; padding: 0; background: none;transform: none; visibility: visible; transition: none; box-shadow: none; margin-right: 6px;}.nav__extra { display: none; }.nav__list { display: flex; align-items: center; border: 0; }.nav__item { border: 0; display: flex; align-items: center; }.nav__link { position: relative; padding: 1.85rem .8rem; font-size: .95rem; }.nav__link::after {content: ""; position: absolute; left: .8rem; right: .8rem; bottom: 1.3rem; height: 2px;background: var(--slate); transform: scaleX(0); transform-origin: left; transition: transform .25s;}.nav__link:hover { color: var(--slate-dd); }.nav__link:hover::after, .nav__link[aria-current="page"]::after { transform: none; }.nav__item--drop .nav__link { padding-right: .2rem; }.nav__item--drop .nav__link::after { right: .2rem; }.nav__toggle { position: static; width: 26px; height: 36px; }.nav__toggle .ic { width: 18px; height: 18px; }.drop {position: absolute; top: 100%; left: -1rem; z-index: 5;display: grid; grid-template-columns: repeat(2, minmax(200px, 1fr)); gap: 2px 8px;width: max-content; padding: 1rem; background: var(--white);border: 1px solid var(--line); border-top: 3px solid var(--slate); border-radius: 0 0 var(--r) var(--r);box-shadow: var(--shadow);opacity: 0; visibility: hidden; transform: translateY(8px);transition: opacity .18s, transform .18s, visibility 0s linear .18s;}.nav__item--drop:hover .drop, .nav__item--drop:focus-within .drop, .drop.is-open {opacity: 1; visibility: visible; transform: none; transition: opacity .18s, transform .18s;}.drop a { padding: .6rem .7rem; border-radius: 3px; font-size: .97rem; }.drop a:hover { background: var(--fog); }}@media (min-width: 1080px) and (max-width: 1199px) {.hdr__tel small, .hdr__tel .tile { display: none; }.brand img { height: 46px; }.nav__link { padding-inline: .6rem; }.nav__link::after { left: .6rem; right: .6rem; }}.hero { position: relative; isolation: isolate; background: var(--ink); color: var(--white); overflow: hidden; }.hero__bg { position: absolute; inset: 0 0 auto; height: 600px; z-index: -1; }.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 42% 62%; }.hero__bg::after {content: ""; position: absolute; inset: 0;background: linear-gradient(180deg, rgba(21, 27, 29, .58) 0%, rgba(21, 27, 29, .78) 55%, var(--ink) 100%);}.hero__in { display: grid; grid-template-areas: "title" "form" "copy"; gap: 1.6rem; padding: 2.6rem 0 3rem; }.hero__title { grid-area: title; }.hero__form { grid-area: form; }.hero__copy { grid-area: copy; padding-top: .6rem; }.hero h1 { color: var(--white); margin: 0; max-width: 13ch; }@media (min-width: 1000px) { .hero h1 { margin-bottom: .45em; } }.hl { color: var(--mist); }.hero__lead { font-size: 1.12rem; max-width: 36rem; color: var(--white); }.ticks { display: grid; gap: .5rem; margin: 0 0 1.6rem; }.ticks li { display: flex; align-items: center; gap: .6rem; font-weight: 700; }.ticks .ic { color: var(--white); background: var(--slate); border-radius: 2px; padding: 3px; width: 22px; height: 22px; }.hero__call { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; margin-bottom: 1.4rem; }.hero .link-arrow { color: var(--white); }.hero__rate { color: var(--white); font-size: .95rem; }.hero__rate .stars { color: var(--white); }.hero__rate:hover { color: var(--white); }@media (prefers-reduced-motion: no-preference) {.hero__img { animation: settle 1.8s cubic-bezier(.2, .7, .2, 1) both; }@keyframes settle { from { transform: scale(1.06); } to { transform: none; } }}@media (min-width: 1000px) {.hero__bg { inset: 0; height: auto; }.hero__bg::after {background: linear-gradient(90deg, rgba(21, 27, 29, .88) 0%, rgba(21, 27, 29, .7) 42%, rgba(21, 27, 29, .28) 66%, rgba(21, 27, 29, .16) 100%);}.hero__in {grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); grid-template-areas: "title form" "copy form";grid-template-rows: auto 1fr; column-gap: 3.5rem; row-gap: 0; align-items: start; padding: 2.4rem 0 3.6rem; min-height: 620px;}.hero .qform__form { gap: .7rem 1rem; padding-top: 1.05rem; }.hero .field textarea { min-height: 62px; }.hero .qform__head { padding-top: 1rem; }.hero__title { align-self: end; }.hero__copy { padding-top: 0; }.hero__form { align-self: center; }.hero h1 { max-width: 12ch; }}.qform { background: var(--white); color: var(--text); border-radius: var(--r); box-shadow: var(--shadow); overflow: hidden; border: 1px solid var(--line); }.qform__head { background: var(--slate); color: var(--white); padding: 1.15rem 1.4rem 1.05rem; position: relative; }.qform__head::after {content: ""; position: absolute; left: 1.4rem; right: 1.4rem; bottom: .55rem; height: 1px; background: rgba(255, 255, 255, .28);}.qform .qform__title { color: var(--white); font-size: 1.42rem; margin: 0 0 .15rem; }.qform__sub { margin: 0 0 .5rem; color: var(--white); font-size: .97rem; }.qform__form { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem 1rem; padding: 1.25rem 1.4rem 1.2rem; }.field { display: grid; gap: .3rem; min-width: 0; }.field--full { grid-column: 1 / -1; }.field label { font-weight: 700; font-size: .92rem; color: var(--ink); }.req, .opt { font-weight: 400; font-size: .82rem; color: var(--muted); }.field input, .field select, .field textarea {width: 100%; min-height: 46px; padding: .6rem .75rem;font: inherit; font-size: 1rem; color: var(--text); background: var(--white);border: 1px solid var(--field); border-radius: 3px;}.field textarea { min-height: 84px; resize: vertical; }.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid var(--slate-l); outline-offset: 0; border-color: var(--slate); }.field.has-error input { border-color: #b3261e; box-shadow: 0 0 0 1px #b3261e; }.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }.form__status { grid-column: 1 / -1; margin: 0; font-weight: 700; color: #a3221b; }.form__status:empty { display: none; }.qform__form .btn { grid-column: 1 / -1; }.qform__note { grid-column: 1 / -1; margin: 0; text-align: center; font-size: .94rem; color: var(--muted); }.qform__note a { font-weight: 800; color: var(--slate-dd); white-space: nowrap; }@media (max-width: 479px) { .qform__form { grid-template-columns: 1fr; } }.band { background: var(--white); border-bottom: 1px solid var(--line); }.promises { display: grid; grid-template-columns: 1fr 1fr; }.promises li { display: flex; align-items: center; gap: .85rem; padding: 1.3rem .6rem; }.promises b { display: block; font: 600 1.02rem/1.2 var(--ff-head); color: var(--ink); }.promises small { display: block; font-size: .9rem; color: var(--muted); line-height: 1.35; }@media (max-width: 559px) { .promises { grid-template-columns: 1fr; } .promises li { padding: .9rem 0; } .promises li + li { border-top: 1px solid var(--line); } }@media (min-width: 560px) and (max-width: 979px) { .promises li:nth-child(n+3) { border-top: 1px solid var(--line); } }@media (min-width: 980px) {.promises { grid-template-columns: repeat(4, 1fr); }.promises li { padding: 1.6rem 1.2rem; }.promises li + li { border-left: 1px solid var(--line); }}.section { padding: clamp(3.5rem, 7vw, 6rem) 0; }.section--fog { background: var(--fog); --frame-bg: var(--fog); }.section--ink { background: var(--ink); color: var(--on-dark); --frame-bg: var(--ink); }.section--ink h2, .section--ink h3 { color: var(--white); }.sec-head { max-width: 46rem; margin-bottom: 2.4rem; }.sec-head p { color: var(--muted); font-size: 1.08rem; margin: 0; }.sec-head--light p { color: var(--on-dark); }.center-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin: 2.6rem 0 0; }.framed { position: relative; margin: 16px 16px 30px; }.framed img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; }.framed::before {content: ""; position: absolute; inset: -16px; border: 2px solid var(--ink); pointer-events: none;}.framed figcaption {position: absolute; left: 0; right: 0; bottom: -16px; transform: translateY(50%);display: flex; justify-content: center; text-align: center; line-height: 1.5;}.framed figcaption span {max-width: 88%; padding: 0 .9rem; background: var(--frame-bg); color: var(--slate-dd);font: 500 .72rem/1.5 var(--ff-head); letter-spacing: .24em; text-transform: uppercase;}.section--ink .framed::before { border-color: var(--slate-l); }.section--ink .framed figcaption span { color: var(--on-dark); }@media (max-width: 559px) {.framed { margin: 12px 12px 26px; }.framed::before { inset: -12px; }.framed figcaption { bottom: -12px; }.framed figcaption span { font-size: .64rem; letter-spacing: .14em; padding: 0 .55rem; }}.intro__in { display: grid; gap: 3rem; align-items: center; }.intro__copy p { font-size: 1.07rem; }.intro__links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 1.6rem; }.intro__media { position: relative; }.intro__inset { display: none; }@media (min-width: 1000px) {.intro__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4.5rem; }.intro__inset {display: block; position: absolute; left: -2.6rem; top: 50%; width: 42%;border: 6px solid var(--white); box-shadow: var(--shadow); border-radius: 2px;}.intro__inset img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }.framed--tall img { aspect-ratio: 3 / 4; }}.types { display: grid; gap: 1.4rem; }@media (min-width: 640px) { .types { grid-template-columns: 1fr 1fr; } }@media (min-width: 1100px) { .types { grid-template-columns: repeat(4, 1fr); } }.type__link {display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--text);background: var(--white); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden;transition: box-shadow .25s, transform .25s, border-color .25s;}.type__img { display: block; overflow: hidden; }.type__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s; }.type__body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem 1.3rem 1.35rem; border-top: 3px solid var(--slate); }.type__title { font-size: 1.22rem; margin-bottom: .35rem; }.type__text { color: var(--muted); flex: 1; margin: 0; }.type__more { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; font: 600 .88rem/1 var(--ff-head); letter-spacing: .08em; text-transform: uppercase; color: var(--slate-dd); }.type__more .ic { transition: transform .2s; }.type__link:hover { box-shadow: var(--shadow); transform: translateY(-3px); color: var(--text); border-color: var(--mist); }.type__link:hover img { transform: scale(1.05); }.type__link:hover .type__more .ic { transform: translateX(4px); }.story__list { position: relative; display: grid; gap: 1.6rem 1.4rem; grid-template-columns: 1fr; }.story__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; }.story__item figcaption {position: relative; margin-top: .9rem; padding-left: 1.4rem;font: 500 .76rem/1.5 var(--ff-head); letter-spacing: .16em; text-transform: uppercase; color: var(--slate-dd);}.story__item figcaption::before {content: ""; position: absolute; left: 0; top: .3em; width: 10px; height: 10px; background: var(--slate);}.story__item:last-child figcaption::before { background: var(--ink); }@media (min-width: 640px) { .story__list { grid-template-columns: 1fr 1fr; } }@media (min-width: 1000px) and (max-width: 1199px) { .hero__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2.4rem; } }@media (min-width: 1100px) {.story__list { grid-template-columns: repeat(4, 1fr); }.story__item figcaption { margin-top: 1.1rem; padding: 1.4rem 0 0; border-top: 2px solid var(--mist); }.story__item figcaption::before { top: -6px; }}.svcs { display: grid; gap: 1rem; }@media (min-width: 700px) { .svcs { grid-template-columns: 1fr 1fr; } }@media (min-width: 1080px) { .svcs { grid-template-columns: repeat(3, 1fr); } }.svc__link {display: flex; align-items: flex-start; gap: 1rem; height: 100%; padding: 1.35rem 1.3rem;border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--r); text-decoration: none; color: var(--on-dark);transition: background-color .25s, border-color .25s;}.svc__body { flex: 1; }.svc__title { font-size: 1.15rem; margin: .15rem 0 .3rem; color: var(--white); }.svc__text { display: block; font-size: .97rem; margin: 0; }.svc__arrow { margin-top: .35rem; color: var(--slate-l); transition: transform .2s; }.svc__link:hover { background: rgba(255, 255, 255, .05); border-color: var(--slate-l); color: var(--on-dark); }.svc__link:hover .svc__arrow { transform: translateX(4px); }@media (max-width: 559px) {.svcs { grid-template-columns: 1fr 1fr; gap: .7rem; }.svc__link { flex-direction: column; gap: .7rem; padding: 1rem .9rem; }.svc__text, .svc__arrow { display: none; }.svc__title { font-size: 1.02rem; margin: 0; }}.reviews-wrap { display: grid; gap: 1.4rem; }.score {background: var(--slate); color: var(--white); border-radius: var(--r); padding: 1.8rem 1.6rem;display: flex; flex-direction: column; align-items: flex-start;}.score__big { margin: 0; font-family: var(--ff-head); line-height: 1; }.score__big b { font-size: 4.2rem; font-weight: 600; }.score__big span { font-size: 1.6rem; margin-left: .15rem; }.score .stars { color: var(--white); margin: .5rem 0 1rem; }.score__txt { margin-bottom: .4rem; }.score__date { font-size: .9rem; color: var(--white); }.score .link-arrow { color: var(--white); margin-top: auto; }.reviews { display: grid; gap: 1.2rem; }.review {display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line);border-radius: var(--r); padding: 1.5rem 1.5rem 1.3rem; position: relative;}.review__score { margin: 0 0 .7rem; font: 500 .95rem/1 var(--ff-head); color: var(--muted); }.review__score b { font-size: 1.35rem; font-weight: 700; color: var(--slate-dd); }.review__text { flex: 1; }.review__text p { margin: 0 0 1rem; }.review__who { margin: 0; padding-top: .9rem; border-top: 1px solid var(--line); font-size: .93rem; }.review__who b { display: block; color: var(--ink); }.review__who span { color: var(--muted); }@media (min-width: 700px) { .reviews { grid-template-columns: 1fr 1fr; } }@media (min-width: 1100px) {.reviews-wrap { grid-template-columns: 290px minmax(0, 1fr); align-items: stretch; }.reviews--three { grid-template-columns: repeat(3, 1fr); }}@media (max-width: 699px) {.reviews-wrap .reviews {display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem;margin-inline: -16px; padding: 0 16px 1rem; scroll-padding-inline: 16px;}.reviews-wrap .review { flex: 0 0 86%; scroll-snap-align: start; }}.faq { display: grid; gap: 2rem; }.faq__side p { color: var(--muted); }@media (min-width: 1000px) { .faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 4rem; } .faq__side { position: sticky; top: 120px; align-self: start; } }.faq__item { border-bottom: 1px solid #c9d1d4; }.faq__item:first-child { border-top: 1px solid #c9d1d4; }.faq__item summary {display: flex; align-items: center; justify-content: space-between; gap: 1rem;padding: 1.15rem 0; cursor: pointer; list-style: none;}.faq__item summary::-webkit-details-marker { display: none; }.faq__q { margin: 0; font-size: 1.12rem; }.faq__ic { width: 22px; height: 22px; color: var(--slate); transition: transform .25s; }.faq__item[open] .faq__ic { transform: rotate(180deg); }.faq__item summary:hover .faq__q { color: var(--slate-dd); }.faq__a p { margin: 0 0 1.2rem; color: var(--text); max-width: 42rem; }.cta-band { background: var(--slate); color: var(--white); padding: clamp(3rem, 6vw, 4.5rem) 0; overflow: hidden; }.cta-band__in { display: grid; gap: 2rem; align-items: center; }.cta-band h2 { color: var(--white); }.cta-band p { color: var(--white); font-size: 1.08rem; max-width: 34rem; }.cta-band__btns { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.6rem 0 0; }.cta-band__fig { display: none; }@media (min-width: 900px) {.cta-band__in { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 4rem; }.cta-band__fig { display: block; position: relative; margin: 14px; }.cta-band__fig::before { content: ""; position: absolute; inset: -14px; border: 2px solid rgba(255, 255, 255, .75); pointer-events: none; }.cta-band__fig img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }}.ftr { background: var(--ink); color: var(--on-dark); font-size: .97rem; }.ftr__in { display: grid; gap: 2.4rem; padding: 3.6rem 0 2.8rem; }.ftr__logo img { width: 230px; height: auto; margin-bottom: 1.2rem; }.ftr__brand p { max-width: 24rem; }.ftr__rate { color: var(--white); }.ftr__rate .stars { color: var(--white); }.ftr__rate:hover { color: var(--white); }.ftr__h { font: 600 .86rem/1.2 var(--ff-head); letter-spacing: .2em; text-transform: uppercase; color: var(--mist); margin: 0 0 1rem; }.ftr__links { display: grid; gap: .5rem; }.ftr a { color: var(--on-dark); text-decoration: none; }.ftr a:hover { color: var(--white); text-decoration: underline; }.ftr__contact { display: grid; gap: .7rem; }.ftr__contact li { display: flex; gap: .6rem; align-items: flex-start; overflow-wrap: anywhere; }.ftr__contact .ic { margin-top: .25rem; color: var(--slate-l); }.ftr__social { display: flex; gap: .6rem; margin: 1.3rem 0 0; }.ftr__social a {display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 3px;}.ftr__social a:hover { background: var(--slate); border-color: var(--slate); }.ftr__base { border-top: 1px solid rgba(255, 255, 255, .1); font-size: .87rem; }.ftr__base-in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 2rem; padding: 1.2rem 0 5.2rem; }.ftr__base p { margin: 0; }@media (min-width: 700px) { .ftr__in { grid-template-columns: 1fr 1fr; } }@media (min-width: 1080px) {.ftr__in { grid-template-columns: 1.35fr .7fr 1fr 1.15fr; gap: 3rem; }}.fcall {position: fixed; right: 16px; bottom: 16px; z-index: 60;display: inline-flex; align-items: center; justify-content: center; gap: .55rem;min-width: 58px; height: 58px; padding: 0 1rem; border-radius: 29px;background: var(--slate); color: var(--white); text-decoration: none;box-shadow: 0 10px 26px -8px rgba(21, 27, 29, .6), 0 0 0 3px rgba(255, 255, 255, .9);transition: background-color .2s, transform .2s;}.fcall .ic { width: 24px; height: 24px; }.fcall__txt { display: none; font: 700 1.05rem/1 var(--ff-head); letter-spacing: .03em; white-space: nowrap; }.fcall:hover { background: var(--slate-d); color: var(--white); transform: translateY(-2px); }@media (min-width: 720px) { .fcall { padding: 0 1.3rem 0 1.1rem; } .fcall__txt { display: inline; } }.phero { background: var(--slate-dd); color: var(--on-dark); padding: clamp(2.4rem, 5vw, 4rem) 0; --frame-bg: var(--slate-dd); }.phero__in { display: grid; gap: 2rem; align-items: center; }.phero h1 { color: var(--white); margin-bottom: .4em; }.phero__lead { font-size: 1.12rem; max-width: 40rem; color: var(--on-slate-dd); margin: 0; }.phero__btns { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.6rem 0 0; }.phero .btn--line { border-color: rgba(255, 255, 255, .7); color: var(--white); }.phero .btn--line:hover { background: var(--white); color: var(--ink); }.phero .btn--slate { background: var(--white); color: var(--ink); }.phero .btn--slate:hover { background: var(--mist); }.phero__fig { display: none; }.crumbs ol { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: 1rem; font-size: .9rem; }.crumbs li + li::before { content: "/"; margin-right: .3rem; color: var(--slate-l); }.crumbs a { color: var(--white); }.crumbs [aria-current] { color: var(--on-slate-dd); }@media (min-width: 900px) {.phero--fig .phero__in { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 3.5rem; }.phero__fig { display: block; position: relative; margin: 14px; }.phero__fig::before { content: ""; position: absolute; inset: -14px; border: 2px solid rgba(255, 255, 255, .6); pointer-events: none; }.phero__fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }}.jump { background: var(--fog); padding: 1.6rem 0; border-bottom: 1px solid var(--line); }.jump__title { font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .8rem; color: var(--slate-dd); }.jump__list { display: flex; flex-wrap: wrap; gap: .55rem; }.jump__list a {display: inline-flex; align-items: center; gap: .5rem; min-height: 42px; padding: .45rem .85rem;background: var(--white); border: 1px solid var(--line); border-radius: 3px;color: var(--ink); font-weight: 700; font-size: .95rem; text-decoration: none;}.jump__list a .ic { color: var(--slate); }.jump__list a:hover { border-color: var(--slate); color: var(--slate-dd); }.service { padding: clamp(3.2rem, 6vw, 5rem) 0; }.service + .service { border-top: 1px solid var(--line); }.service__in { display: grid; gap: 2.6rem; align-items: start; }.service__copy h2 { display: flex; align-items: center; gap: .9rem; }.service__intro { font-size: 1.15rem; color: var(--ink); font-weight: 600; }.svc-lists {display: grid; gap: 1.4rem; margin: 1.6rem 0; padding: 1.4rem 1.5rem;background: var(--fog); border: 1px solid var(--line); border-radius: var(--r);}.svc-lists h3 { font-size: .9rem; letter-spacing: .16em; text-transform: uppercase; color: var(--slate-dd); margin-bottom: .7rem; }.svc-lists li { display: flex; gap: .55rem; align-items: flex-start; margin-bottom: .4rem; }.svc-lists .ic { color: var(--slate); margin-top: .3rem; width: 1em; height: 1em; }.service__btns { display: flex; flex-wrap: wrap; gap: .9rem; margin: 0; }@media (min-width: 640px) { .svc-lists { grid-template-columns: 1fr 1fr; } }@media (min-width: 1000px) {.service__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4.5rem; }.service--flip .service__fig { order: 2; }.service__fig { position: sticky; top: 120px; }}.values { display: grid; gap: 1.2rem; }.value { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 1.6rem 1.5rem; }.value h2, .value h3 { font-size: 1.2rem; margin: 1rem 0 .4rem; }.value p { margin: 0; color: var(--muted); }@media (min-width: 640px) { .values { grid-template-columns: 1fr 1fr; } }@media (min-width: 1080px) { .values { grid-template-columns: repeat(4, 1fr); } .values--three { grid-template-columns: repeat(3, 1fr); } }.stages { display: grid; gap: 1.8rem; position: relative; }.stage h3 { margin: 1rem 0 .4rem; }.stage p { margin: 0; color: var(--muted); }@media (min-width: 640px) { .stages { grid-template-columns: 1fr 1fr; } }@media (min-width: 1080px) {.stages { grid-template-columns: repeat(4, 1fr); gap: 2.4rem; isolation: isolate; }.stages::before { content: ""; position: absolute; left: 24px; right: 24px; top: 23px; height: 2px; background: var(--mist); z-index: -1; }.stage .tile { box-shadow: 0 0 0 8px var(--white); }}.facts { display: grid; gap: 2rem; }.facts__copy p { color: var(--on-dark); }.facts__list { margin: 0; }.facts__list div { display: grid; gap: .2rem; padding: 1rem 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }.facts__list div:first-child { border-top: 1px solid rgba(255, 255, 255, .12); }.facts__list dt { font: 600 .82rem/1.3 var(--ff-head); letter-spacing: .18em; text-transform: uppercase; color: var(--slate-l); }.facts__list dd { margin: 0; color: var(--white); }.facts__list a { color: var(--white); }.facts__list a:hover { color: var(--mist); }@media (min-width: 900px) {.facts { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 4rem; }.facts__list div { grid-template-columns: 11rem 1fr; gap: 1.5rem; }}.work { display: grid; gap: 1.6rem 1.4rem; }.work__fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; }.work__fig figcaption {margin-top: .8rem; padding-left: 1.4rem; position: relative;font: 500 .76rem/1.5 var(--ff-head); letter-spacing: .16em; text-transform: uppercase; color: var(--slate-dd);}.work__fig figcaption::before { content: ""; position: absolute; left: 0; top: .3em; width: 10px; height: 10px; background: var(--slate); }@media (min-width: 640px) { .work { grid-template-columns: 1fr 1fr; } }@media (min-width: 1100px) { .work { grid-template-columns: repeat(4, 1fr); } }.areas-wrap { display: grid; gap: 2rem; }.areas__county { font-size: .95rem; letter-spacing: .18em; text-transform: uppercase; color: var(--slate-dd); padding-bottom: .7rem; border-bottom: 2px solid var(--ink); margin-bottom: 1rem; }.areas { display: grid; gap: .55rem; grid-template-columns: 1fr 1fr; }.area {display: flex; align-items: baseline; justify-content: space-between; gap: .5rem;padding: .7rem .85rem; background: var(--fog); border-radius: 3px; border-left: 3px solid transparent;}.area b { font-weight: 700; color: var(--ink); }.area span { font: 500 .85rem/1 var(--ff-head); letter-spacing: .08em; color: var(--muted); }.area--rev { border-left-color: var(--slate); }.legend { display: inline-flex; align-items: center; gap: .5rem; margin-top: .6rem; font-size: .95rem; }.legend__dot { display: inline-block; width: 4px; height: 1.1rem; background: var(--slate); }@media (max-width: 379px) { .areas { grid-template-columns: 1fr; } }@media (min-width: 900px) {.areas-wrap { grid-template-columns: 2fr 1fr 1fr; gap: 2.4rem; }.areas-wrap .areas__group:not(:first-child) .areas { grid-template-columns: 1fr; }}.cover-map { display: grid; gap: 2.4rem; align-items: start; }.districts { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.2rem; }.districts li { padding: .3rem .6rem; background: var(--white); border: 1px solid var(--line); border-radius: 3px; font: 600 .85rem/1.2 var(--ff-head); letter-spacing: .06em; color: var(--slate-dd); }.map { position: relative; border-radius: var(--r); overflow: hidden; background: var(--mist); border: 1px solid var(--line); }.map iframe { display: block; width: 100%; height: 420px; border: 0; }.map--card iframe { height: 260px; }@media (min-width: 900px) { .cover-map { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 4rem; } .map iframe { height: 460px; } .map--card iframe { height: 260px; } }.contact__in { display: grid; gap: 2rem; align-items: start; }.contact__card { background: var(--fog); border: 1px solid var(--line); border-radius: var(--r); padding: 1.6rem 1.5rem; }.contact__card h2 { font-size: 1.5rem; }.contact__tel { display: flex; align-items: center; gap: .9rem; text-decoration: none; color: var(--ink); margin-bottom: 1.3rem; }.contact__tel small { display: block; color: var(--muted); font-size: .9rem; }.contact__tel b { display: block; font: 700 1.55rem/1.15 var(--ff-head); letter-spacing: .02em; }.contact__tel:hover { color: var(--slate-dd); }.contact__list { display: grid; gap: .8rem; margin-bottom: 1.5rem; }.contact__list li { display: flex; gap: .65rem; align-items: flex-start; overflow-wrap: anywhere; }.contact__list .ic { color: var(--slate); margin-top: .3rem; }@media (min-width: 1000px) { .contact__in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 3rem; } }.notfound h2 { font-size: 1.5rem; margin-top: 2rem; }.notfound__links { display: grid; gap: .6rem; margin-bottom: 1.6rem; max-width: 26rem; }.notfound__links a { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; background: var(--fog); border-radius: 3px; text-decoration: none; font-weight: 700; color: var(--ink); }.notfound__links a .ic { color: var(--slate); }.notfound__links a:hover { background: var(--mist); }@media (prefers-reduced-motion: reduce) {*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }}
