@font-face { font-family: Montserrat; src: url('../fonts/montserrat-400.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Montserrat; src: url('../fonts/montserrat-500.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: Montserrat; src: url('../fonts/montserrat-600.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: Montserrat; src: url('../fonts/montserrat-700.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --ink: #112831;
  --ink-2: #1b3944;
  --ink-3: #284956;
  --paper: #f7f8f7;
  --white: #fff;
  --muted: #60747b;
  --line: rgba(20, 51, 61, .14);
  --line-light: rgba(255, 255, 255, .16);
  --accent: #e86e62;
  --accent-dark: #cd5a50;
  --blue-soft: #e9f0f2;
  --shadow: 0 24px 70px rgba(9, 30, 38, .13);
  --radius: 2px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.035em; line-height: 1.1; }
h1 { font-size: clamp(2.8rem, 6vw, 5.7rem); }
h2 { margin-bottom: 24px; font-size: clamp(2.15rem, 4vw, 4rem); }
h3 { font-size: 1.25rem; }
p { color: var(--muted); }
::selection { color: #fff; background: var(--accent); }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { position: relative; padding: 112px 0; }
.section--light { background: #fff; }
.eyebrow { margin: 0 0 18px; color: var(--accent-dark); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow--light { color: #b8cbd0; }
.icon { width: 24px; height: 24px; flex: 0 0 auto; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 12px 18px; background: #fff; color: var(--ink); }
.hp { position: absolute !important; left: -9999px !important; }

.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 12px; padding: 13px 22px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-size: .86rem; font-weight: 750; letter-spacing: .01em; transition: .25s ease; }
.button:hover { transform: translateY(-2px); }
.button .icon { width: 18px; height: 18px; }
.button--accent { color: #fff; background: var(--accent); box-shadow: 0 12px 24px rgba(232, 110, 98, .25); }
.button--accent:hover { background: var(--accent-dark); }
.button--glass { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.button--ghost { min-height: 40px; padding: 9px 16px; color: #fff; border-color: rgba(255,255,255,.25); background: transparent; }
.button--dark { color: #fff; background: var(--ink); }
.button--small { font-size: .75rem; }
.text-link { display: inline-flex; gap: 10px; align-items: center; font-weight: 750; }
.text-link .icon { width: 18px; }

.site-header { position: absolute; z-index: 100; inset: 0 0 auto; color: #fff; border-bottom: 1px solid rgba(255,255,255,.14); }
.site-header.is-fixed { position: fixed; color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.94); box-shadow: 0 8px 30px rgba(10,32,40,.08); backdrop-filter: blur(16px); animation: header-in .35s ease; }
@keyframes header-in { from { transform: translateY(-100%); } }
.site-header__inner { display: flex; min-height: 78px; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; line-height: 1; }
.custom-logo { width: auto; max-height: 54px; }
.brand__mark { display: grid; width: 46px; aspect-ratio: 1; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.08); font-weight: 800; letter-spacing: -.08em; clip-path: polygon(50% 0, 100% 20%, 88% 100%, 12% 100%, 0 20%); }
.is-fixed .brand__mark, .single-ls_service .site-header:not(.is-fixed) .brand__mark, .blog .site-header:not(.is-fixed) .brand__mark, .page:not(.home) .site-header:not(.is-fixed) .brand__mark { color: #fff; border-color: var(--ink); background: var(--ink); }
.brand__copy { display: grid; gap: 5px; }
.brand__copy strong { font-size: .95rem; letter-spacing: .01em; text-transform: uppercase; }
.brand__copy small { font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.site-nav { margin-left: auto; }
.site-nav__list { display: flex; align-items: center; gap: 24px; padding: 0; margin: 0; list-style: none; }
.site-nav__group { position: relative; }
.site-nav__toggle { display: inline-flex; align-items: center; padding: 8px 0; color: inherit; border: 0; background: transparent; font: inherit; font-size: .76rem; font-weight: 650; cursor: pointer; opacity: .82; }
.site-nav__toggle::after { width: 6px; height: 6px; margin: -3px 0 0 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; content: ''; transform: rotate(45deg); transition: transform .2s ease; }
.site-nav__toggle[aria-expanded="true"] { opacity: 1; }
.site-nav__toggle[aria-expanded="true"]::after { margin-top: 3px; transform: rotate(225deg); }
.site-nav__dropdown { position: absolute; z-index: 140; top: calc(100% + 15px); left: 50%; width: max-content; min-width: 210px; max-width: 290px; padding: 9px; color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(13,39,49,.97); box-shadow: 0 18px 46px rgba(7,24,31,.28); transform: translateX(-50%); }
.site-nav__dropdown[hidden] { display: none; }
.site-nav__dropdown a { display: block; padding: 10px 12px; border-radius: 7px; color: inherit; font-size: .78rem; line-height: 1.25; white-space: normal; opacity: .9; }
.site-nav__dropdown a:hover { background: rgba(255,255,255,.1); opacity: 1; }
.site-nav a { font-size: .76rem; font-weight: 650; opacity: .82; }
.site-nav a:hover { opacity: 1; }
.header-contact { display: grid; justify-items: end; gap: 4px; }
.header-phone { font-size: .86rem; font-weight: 800; }
.menu-toggle { display: none; padding: 8px; border: 0; background: none; }
.menu-toggle .icon { display: block; }
.is-fixed .button--ghost { color: var(--ink); border-color: var(--line); }

.hero { position: relative; min-height: 790px; display: grid; align-items: end; overflow: hidden; color: #fff; background: #132a34; }
.hero__media { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(9,26,35,.94) 0%, rgba(9,26,35,.70) 43%, rgba(9,26,35,.12) 78%), linear-gradient(0deg, rgba(10,29,37,.70), transparent 45%), url('../images/psd/hero-mountains.webp'); background-position: center; background-size: cover; transform: scale(1.01); }
.hero__inner { position: relative; z-index: 1; padding-top: 170px; padding-bottom: 74px; }
.hero__content { max-width: 740px; }
.hero h1 { margin-bottom: 28px; font-weight: 720; }
.hero h1 span { display: block; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.75); }
.hero__lead { max-width: 700px; color: rgba(255,255,255,.75); font-size: 1.15rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 34px 0 55px; }
.hero__proof { display: flex; gap: 0; padding: 0; margin: 0; list-style: none; }
.hero__proof li { display: grid; min-width: 150px; padding: 0 28px; border-left: 1px solid rgba(255,255,255,.2); }
.hero__proof li:first-child { padding-left: 0; border: 0; }
.hero__proof strong { font-size: 1.1rem; }
.hero__proof span { color: rgba(255,255,255,.55); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }

.trust-bar { position: relative; z-index: 2; margin-top: -1px; color: #fff; background: var(--ink); }
.trust-bar__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-bar__grid > div { display: flex; min-height: 120px; align-items: center; gap: 18px; padding: 24px 34px; border-left: 1px solid var(--line-light); }
.trust-bar__grid > div:first-child { border-left: 0; }
.trust-bar .icon { color: #9db6be; }
.trust-bar span { font-size: .82rem; line-height: 1.4; }

.split-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.split-intro__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-top: 46px; }

.services { padding-top: 40px; background: #fff; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 52px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 440px; margin-bottom: 6px; }
.section-heading--light h2 { color: #fff; }
.section-heading--light > p { color: #9fb1b7; }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { position: relative; min-height: 330px; display: flex; flex-direction: column; padding: 30px; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; transition: .3s ease; }
.service-card::after { position: absolute; inset: auto 0 0; height: 4px; content: ''; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: .3s ease; }
.service-card:hover { z-index: 2; color: #fff; border-color: var(--ink-2); background: var(--ink-2); box-shadow: var(--shadow); transform: translateY(-4px); }
.service-card:hover::after { transform: scaleX(1); }
.service-card:hover p, .service-card:hover .service-card__number { color: rgba(255,255,255,.65); }
.service-card--featured { color: #fff; background: var(--ink-2); }
.service-card--featured p, .service-card--featured .service-card__number { color: rgba(255,255,255,.65); }
.service-card__number { color: #9bacb1; font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.service-card__icon { display: grid; width: 52px; height: 52px; margin: 24px 0; place-items: center; color: var(--accent); border: 1px solid currentColor; border-radius: 50%; }
.service-card__icon .icon { width: 25px; height: 25px; }
.service-card h3 { min-height: 53px; margin-bottom: 14px; }
.service-card p { font-size: .84rem; line-height: 1.55; }
.service-card__link { display: flex; align-items: center; gap: 10px; margin-top: auto; font-size: .78rem; font-weight: 800; }
.service-card__link .icon { width: 17px; }

.turnkey { color: #fff; background: var(--ink); }
.turnkey__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }
.turnkey__panel { padding-right: 40px; }
.turnkey__panel p:not(.eyebrow) { color: #9fb1b7; }
.turnkey__steps { padding: 0; margin: 0; counter-reset: none; list-style: none; }
.turnkey__steps li { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid var(--line-light); }
.turnkey__steps li:last-child { border-bottom: 1px solid var(--line-light); }
.turnkey__steps span { color: var(--accent); font-size: .72rem; font-weight: 800; }
.turnkey__steps h3 { margin-bottom: 8px; }
.turnkey__steps p { margin-bottom: 0; color: #8fa5ac; font-size: .88rem; }

.regions { color: #fff; background: var(--ink-2); }
.regions::before { position: absolute; inset: 0; content: ''; opacity: .13; background-image: linear-gradient(30deg, transparent 49.5%, #fff 50%, transparent 50.5%); background-size: 120px 120px; }
.regions__grid { position: relative; display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); }
.regions__intro { padding-right: 60px; }
.regions__intro p:not(.eyebrow) { color: #9eb2b9; }
.region-card { min-height: 280px; padding: 32px; border-left: 1px solid var(--line-light); transition: .25s ease; }
.region-card:hover { background: rgba(255,255,255,.06); }
.region-card span { display: inline-block; margin-bottom: 70px; color: var(--accent); font-size: .72rem; }
.region-card p { color: #9eb2b9; font-size: .84rem; }

.partners { padding: 30px 0 36px; background: #fff; text-align: center; }
.partners p { margin-bottom: 22px; font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.partner-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 48px; color: #506b74; }
.partner-row span { font-weight: 850; letter-spacing: -.02em; }

.why-us { color: #fff; background: #17343e; }
.why-us__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; }
.why-us__visual { min-height: 520px; display: grid; place-items: center; position: relative; border: 1px solid var(--line-light); background: radial-gradient(circle, rgba(127,171,184,.25), transparent 48%); }
.why-us__visual > p { position: absolute; inset: auto 36px 25px; margin: 0; color: #9db2b8; font-size: .8rem; text-align: center; }
.visual-orbit { position: relative; display: grid; width: 220px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.visual-orbit::before, .visual-orbit::after { position: absolute; content: ''; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.visual-orbit::before { width: 145%; height: 55%; transform: rotate(25deg); }
.visual-orbit::after { width: 55%; height: 145%; transform: rotate(25deg); }
.visual-orbit span { display: grid; width: 80px; aspect-ratio: 1; place-items: center; background: var(--accent); font-size: 1.8rem; font-weight: 900; }
.benefits-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.benefits-grid article { min-height: 190px; padding: 28px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.benefits-grid strong { display: block; margin-bottom: 20px; color: var(--accent); font-size: 1.7rem; }
.benefits-grid h3 { margin-bottom: 8px; }
.benefits-grid p { margin-bottom: 0; color: #91a8af; font-size: .8rem; }

.calculator { overflow: hidden; color: #fff; background: #0d252e; }
.calculator__backdrop { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(135deg, transparent 60%, rgba(255,255,255,.2)), url('../images/psd/calculator-bg.webp'); background-size: cover; background-position: center; filter: saturate(.3); }
.calculator__grid { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: 85px; align-items: center; }
.calculator__intro p:not(.eyebrow) { color: #99acb2; }
.check-list { display: grid; gap: 12px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 30px; }
.check-list li::before { position: absolute; top: 3px; left: 0; content: '✓'; color: var(--accent); font-weight: 900; }
.check-list--light { color: #d8e3e6; }
.quiz { min-height: 450px; padding: 38px; color: var(--ink); background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.22); }
.quiz__progress { height: 3px; margin-bottom: 32px; overflow: hidden; background: var(--blue-soft); }
.quiz__progress span { display: block; width: 25%; height: 100%; background: var(--accent); transition: width .3s; }
.quiz__step { display: none; padding: 0; border: 0; }
.quiz__step.is-active { display: block; animation: fade-up .3s ease; }
.quiz legend { margin-bottom: 30px; font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.choice-grid label { cursor: pointer; }
.choice-grid input { position: absolute; opacity: 0; pointer-events: none; }
.choice-grid span { display: flex; min-height: 56px; align-items: center; padding: 14px 18px; border: 1px solid var(--line); font-size: .86rem; font-weight: 650; transition: .2s; }
.choice-grid input:checked + span { color: #fff; border-color: var(--ink); background: var(--ink); }
.quiz__field { display: grid; gap: 6px; margin-bottom: 16px; }
.quiz__field span { color: var(--muted); font-size: .74rem; }
.quiz__field input { min-height: 54px; padding: 12px 16px; border: 1px solid var(--line); }
.quiz__actions { display: flex; justify-content: space-between; gap: 14px; margin-top: 34px; }
.quiz .button--glass { color: var(--ink); border-color: var(--line); background: transparent; }

.process { background: #fff; }
.process-list { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); list-style: none; }
.process-list li { min-height: 210px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-list span { display: block; margin-bottom: 52px; color: var(--accent-dark); font-size: .7rem; font-weight: 850; }
.process-list p { margin-bottom: 0; font-size: .84rem; }

.solutions { color: #fff; background: var(--ink); }
.solutions__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.solutions__intro { position: sticky; top: 130px; }
.solutions__intro p:not(.eyebrow) { color: #98adb3; }
.solution-cards { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.solution-cards article, .solution-cards > a { min-height: 260px; padding: 30px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); background: linear-gradient(145deg, rgba(255,255,255,.035), transparent); }
.solution-cards span { display: block; margin-bottom: 74px; color: var(--accent); font-size: .7rem; }
.solution-cards p { color: #94aab1; font-size: .84rem; }

.recommendations { background: #f4f6f5; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.article-card { min-height: 275px; display: flex; flex-direction: column; padding: 28px; background: #fff; border: 1px solid var(--line); }
.article-card__tag { margin-bottom: 38px; color: var(--accent-dark); font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.article-card h3 { font-size: 1.18rem; }
.article-card p { font-size: .82rem; }
.article-card__state { margin-top: auto; color: #81949a; font-size: .72rem; }

.reviews { color: #fff; background: linear-gradient(135deg, #18353f, #102831); }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.review-card { display: flex; min-height: 300px; flex-direction: column; padding: 28px; color: var(--ink); background: #fff; }
.review-card .stars { margin-bottom: 26px; color: #e9a040; letter-spacing: .12em; }
.review-card p { font-size: .88rem; }
.review-card strong { margin-top: auto; font-size: .85rem; }
.review-card span { color: var(--muted); font-size: .74rem; }

.faq-section { background: #fff; }
.faq-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 100px; }
.faq-list details, .entry-content details { border-top: 1px solid var(--line); }
.faq-list details:last-child, .entry-content details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary, .entry-content summary { position: relative; padding: 22px 45px 22px 0; cursor: pointer; font-weight: 750; list-style: none; }
.faq-list summary::-webkit-details-marker, .entry-content summary::-webkit-details-marker { display: none; }
.faq-list summary::after, .entry-content summary::after { position: absolute; top: 18px; right: 0; content: '↓'; color: var(--accent); font-size: 1.3rem; transition: .2s; }
.faq-list details[open] summary::after, .entry-content details[open] summary::after { transform: rotate(180deg); }
.faq-list details p, .entry-content details p { padding-right: 50px; }

.final-cta { color: #fff; background: var(--ink-2); }
.final-cta__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.final-cta p:not(.eyebrow) { color: #98adb3; }
.final-cta__form { padding: 35px; color: var(--ink); background: #fff; }
.lead-form { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lead-form label { display: grid; gap: 6px; }
.lead-form label span { color: var(--muted); font-size: .72rem; }
.lead-form input, .lead-form textarea { width: 100%; min-height: 52px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 0; background: #fff; resize: vertical; }
.lead-form__wide { grid-column: 1 / -1; }
.form-note { margin: 0; font-size: .68rem; text-align: center; }
.form-success { padding: 24px; color: #18432d; border: 1px solid #b8dcc7; background: #edf8f1; }
.form-error { padding: 12px 14px; color: #8f1f18; border: 1px solid #efc1bc; background: #fff1ef; }

.site-footer { padding: 72px 0 24px; color: #d8e3e6; background: #0d222a; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr 1fr; gap: 55px; padding-bottom: 54px; }
.site-footer .brand { margin-bottom: 24px; }
.site-footer p { color: #81989f; font-size: .8rem; }
.footer-title { margin-bottom: 20px; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer ul { display: grid; gap: 8px; padding: 0; list-style: none; }
.site-footer li, .site-footer a { color: #92a7ad; font-size: .78rem; }
.site-footer a:hover { color: #fff; }
.footer-phone { display: block; margin-bottom: 8px; color: #fff !important; font-size: 1rem !important; font-weight: 800; }
.footer-company { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding: 24px 0; border-top: 1px solid var(--line-light); }
.footer-company .footer-title { margin-bottom: 8px; color: #fff; }
.footer-company p { margin: 3px 0; }
.footer-company__link { flex: 0 0 auto; color: #d8e3e6 !important; text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 22px; color: #657e86; border-top: 1px solid var(--line-light); font-size: .68rem; }
.site-footer .footer-credit { color: #92a7ad; font-size: inherit; }

.company-requisites { max-width: 900px; }
.company-requisites h2 { margin-top: 42px; }
.company-requisites__list { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr); margin: 0; border-top: 1px solid var(--line); }
.company-requisites__list dt, .company-requisites__list dd { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
.company-requisites__list dt { padding-right: 28px; color: var(--muted); }
.company-requisites__list dd { font-weight: 600; overflow-wrap: anywhere; }

.modal { width: min(620px, calc(100% - 30px)); max-height: calc(100vh - 30px); padding: 0; border: 0; background: transparent; }
.modal::backdrop { background: rgba(4,16,22,.78); backdrop-filter: blur(8px); }
.modal__box { position: relative; padding: 42px; background: #fff; box-shadow: var(--shadow); }

/* Pixel-locked home page. The approved PSD composites are the visual source of truth. */
html:has(body.home-psd-page) { margin-top: 0 !important; scroll-behavior: smooth; }
body.home-psd-page { margin: 0; overflow-x: hidden; background: #10242d; }
body.home-psd-page #wpadminbar { display: none !important; }
body.home-psd-page .skip-link:not(:focus) { position: fixed; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.psd-home { width: 100%; margin: 0; padding: 0; }
.psd-canvas { position: relative; width: 100%; max-width: 2048px; margin: 0 auto; line-height: 0; }
.psd-canvas picture { display: block; }
.psd-canvas__image { display: block; width: 100%; height: auto; max-width: none; margin: 0; }
.psd-hotspots { position: absolute; inset: 0; pointer-events: none; }
.psd-hotspots--mobile { display: none; }
.psd-hotspot { position: absolute; z-index: 3; left: var(--x); top: var(--y); width: var(--w); height: var(--h); display: block; margin: 0; padding: 0; cursor: pointer; pointer-events: auto; color: transparent; border: 0; border-radius: 0; outline-offset: -2px; background: transparent; font: inherit; line-height: 1; }
.psd-hotspot span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.psd-hotspot:focus-visible { outline: 3px solid #42d5d8; background: rgba(66,213,216,.12); }
.psd-marker { position: absolute; left: 0; width: 1px; height: 1px; pointer-events: none; }
.psd-marker--about { top: 8.37%; }
.psd-marker--services { top: 12.13%; }
.psd-marker--calculator { top: 48.35%; }
.psd-marker--cases { top: 65.11%; }
.psd-marker--contacts { top: 96.84%; }
.psd-mobile-menu { position: fixed; z-index: 1000; inset: 0 0 auto; display: none; max-height: 100dvh; padding: 82px 28px 32px; overflow-y: auto; color: #fff; background: rgba(13,35,44,.98); box-shadow: 0 20px 50px rgba(0,0,0,.3); }
.psd-mobile-menu.is-open { display: block; }
.psd-mobile-menu__group { border-bottom: 1px solid rgba(255,255,255,.16); }
.psd-mobile-menu__toggle { position: relative; width: 100%; padding: 15px 34px 15px 0; color: #fff; border: 0; background: transparent; font: inherit; font-size: 18px; font-weight: 600; text-align: left; cursor: pointer; }
.psd-mobile-menu__toggle::after { position: absolute; top: 50%; right: 4px; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ""; transform: translateY(-65%) rotate(45deg); transition: transform .2s ease; }
.psd-mobile-menu__toggle[aria-expanded="true"]::after { transform: translateY(-35%) rotate(225deg); }
.psd-mobile-menu__panel { display: grid; padding: 0 0 10px 14px; }
.psd-mobile-menu__panel[hidden] { display: none; }
.psd-mobile-menu__panel a { padding: 10px 0; color: #d9e4e8; border: 0; font-size: 15px; font-weight: 500; text-decoration: none; }
.psd-mobile-menu__panel a:hover,
.psd-mobile-menu__panel a:focus-visible { color: #fff; }

@media (max-width: 767px) {
	.psd-hotspots--desktop { display: none; }
	.psd-hotspots--mobile { display: block; }
	.psd-canvas { max-width: 360px; }
	.psd-marker--about { top: 3.72%; }
	.psd-marker--services { top: 9.16%; }
	.psd-marker--calculator { top: 47.86%; }
	.psd-marker--cases { top: 65.13%; }
	.psd-marker--contacts { top: 96.70%; }
	body.home-psd-page.menu-open { overflow: hidden; }
}
.modal__box h2 { font-size: clamp(2rem, 5vw, 3rem); }
.modal__close { position: absolute; top: 14px; right: 14px; display: grid; width: 40px; aspect-ratio: 1; place-items: center; border: 0; border-radius: 50%; background: var(--blue-soft); cursor: pointer; }

.inner-hero { position: relative; padding: 185px 0 94px; overflow: hidden; color: #fff; background: var(--ink); }
.inner-hero::after { position: absolute; inset: 0 0 0 45%; content: ''; opacity: .32; background: linear-gradient(90deg, var(--ink), transparent), url('../images/psd/hero-mountains.webp') center / cover; }
.inner-hero .container { position: relative; z-index: 1; }
.inner-hero__content { max-width: 830px; }
.inner-hero h1 { margin-bottom: 26px; font-size: clamp(2.7rem, 5vw, 5rem); }
.inner-hero p:not(.eyebrow) { max-width: 680px; color: #b4c4c9; font-size: 1.1rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 38px; color: #879fa7; font-size: .72rem; }
.service-body { background: #fff; }
.service-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 80px; align-items: start; }
.entry-content > h2 { margin-top: 75px; margin-bottom: 28px; font-size: clamp(2rem, 3.4vw, 3.2rem); }
.entry-content > h2:first-child { margin-top: 0; }
.entry-content > p { font-size: 1.02rem; }
.entry-content .content-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.entry-content .content-grid article { min-height: 210px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.entry-content .content-grid p { margin-bottom: 0; font-size: .86rem; }
.article-table-wrap { width: 100%; margin: 35px 0; overflow-x: auto; border: 1px solid var(--line); }
.article-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.article-table th, .article-table td { padding: 14px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.article-table th { color: #fff; background: var(--ink); }
.article-table tr:last-child td { border-bottom: 0; }
.article-table th:last-child, .article-table td:last-child { border-right: 0; }
.article-related-service { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 40px; align-items: center; margin-top: 75px; padding: 36px; color: #fff; background: var(--ink); }
.article-related-service h2 { margin: 5px 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.2rem); }
.article-related-service p { margin-bottom: 0; }
.article-related-service .button { white-space: nowrap; }
.content-table-wrap { margin: 28px 0; overflow-x: auto; border-radius: 18px; }
.content-table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; color: #171717; }
.content-table th, .content-table td { padding: 14px 16px; border: 1px solid #dfe5e7; text-align: left; vertical-align: top; }
.content-table th { background: #315764; color: #fff; font-weight: 600; }
.content-table tbody tr:nth-child(even) { background: #f4f7f7; }
.service-aside { position: sticky; top: 120px; }
.service-aside__card { padding: 30px; color: #fff; background: var(--ink-2); }
.service-aside__card h2 { font-size: 1.8rem; }
.service-aside__card p { color: #9eb1b7; font-size: .84rem; }
.service-aside .lead-form { grid-template-columns: 1fr; }
.service-aside .lead-form__wide { grid-column: auto; }
.service-aside .lead-form label span { color: #aebfc4; }
.service-aside .form-note { color: #829aa1; }
.service-aside .button { width: 100%; }
.service-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.service-meta div { padding: 22px; border-right: 1px solid var(--line-light); }
.service-meta strong { display: block; font-size: .94rem; }
.service-meta span { color: #8ea4ab; font-size: .72rem; }
.related-services { background: #f2f5f4; }

/* SEO-informed service catalogue. Only confirmed Lider Sistem directions are public. */
.service-catalog { padding-top: 0; }
.service-catalog__hero { padding-top: 84px; color: #fff; background: linear-gradient(135deg, #112a35 0%, #294c5a 100%); }
.content-page.service-catalog { padding-top: 0; }
.service-catalog__hero .content-page__header { max-width: 920px; margin-bottom: 38px; }
.service-catalog__hero .content-page__header h1 { color: #fff; }
.service-catalog__hero .content-page__header h1 { font-size: clamp(2.5rem, 4.6vw, 4.5rem); }
.service-catalog__hero .content-page__header p { color: #c6d5da; }
.service-catalog__hero .breadcrumbs { color: #b8cbd1; }
.service-catalog__hero .breadcrumbs a { color: #fff; }
.service-catalog__quick { display: flex; flex-wrap: wrap; gap: 12px; }
.service-catalog__quick a { padding: 12px 18px; color: #fff; font-size: .78rem; font-weight: 700; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; transition: .25s ease; }
.service-catalog__quick a:hover { color: var(--ink); border-color: #fff; background: #fff; }
.service-catalog__group { background: #fff; }
.service-catalog__group--muted { background: #eef3f3; }
.service-catalog__grid { display: grid; gap: 20px; }
.service-catalog__grid--primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-catalog__grid--cycle { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.catalog-card { position: relative; min-height: 300px; display: flex; flex-direction: column; padding: 34px; color: var(--ink); border: 1px solid var(--line); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.catalog-card:hover { border-color: #8ea9b4; box-shadow: 0 22px 48px rgba(20,45,55,.12); transform: translateY(-4px); }
.catalog-card--featured { color: #fff; border-color: #244754; background: #244754; }
.catalog-card--featured p { color: #bed0d6; }
.catalog-card__index { margin-bottom: auto; color: #8ca6b1; font-size: .74rem; font-weight: 800; letter-spacing: .16em; }
.catalog-card h3 { margin: 46px 0 14px; font-size: clamp(1.35rem, 2vw, 2rem); }
.catalog-card p { margin: 0 0 28px; font-size: .92rem; line-height: 1.65; }
.catalog-card > span:last-child { margin-top: auto; color: var(--accent); font-size: .78rem; font-weight: 800; }
.service-catalog__objects { color: #fff; background: #152d37; }
.service-catalog__objects-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 60px; align-items: end; }
.service-catalog__objects h2 { color: #fff; }
.service-catalog__objects p { color: #b8cbd1; }
.service-catalog__object-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.12); }
.service-catalog__object-list span { padding: 16px 18px; color: #fff; font-size: .82rem; background: #1d3944; }
.service-catalog__objects .button { grid-column: 2; justify-self: start; }
.service-catalog__cta .section-heading { margin-bottom: 0; align-items: center; }
.service-subnav { margin: 0 0 48px; padding: 30px; border: 1px solid var(--line); background: #f3f6f5; }
.service-subnav h2 { margin: 6px 0 22px; font-size: 1.65rem; }
.service-subnav div { display: flex; flex-wrap: wrap; gap: 10px; }
.service-subnav a { padding: 10px 14px; color: var(--ink); font-size: .76rem; font-weight: 750; border: 1px solid #afc0c5; background: #fff; }
.service-subnav a:hover { color: #fff; border-color: var(--ink-2); background: var(--ink-2); }

.content-page { padding-top: 150px; background: #fff; }
.content-page__header { max-width: 820px; margin-bottom: 55px; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.post-card { min-height: 300px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); background: #fff; }
.post-card time { margin-bottom: 35px; color: var(--accent-dark); font-size: .7rem; text-transform: uppercase; }
.post-card p { font-size: .84rem; }
.post-card .text-link { margin-top: auto; }
.blog .site-header, .blog .site-header.is-fixed { position: absolute; color: #fff; border-color: rgba(255,255,255,.14); background: var(--ink); box-shadow: none; backdrop-filter: none; animation: none; }
.blog .content-page { padding-top: 84px; }
.blog .content-page > .container.section { padding-top: 58px; }
.blog .posts-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.blog .post-card { min-width: 0; min-height: 230px; padding: 20px; }
.blog .post-card h2 { margin: 8px 0 12px; font-size: clamp(1rem, 1.25vw, 1.3rem); line-height: 1.25; overflow-wrap: anywhere; }
.blog .post-card .eyebrow { margin-bottom: 0; font-size: .62rem; }
.blog .post-card > p:not(.eyebrow) { display: -webkit-box; overflow: hidden; font-size: .76rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.blog .post-card .text-link { font-size: .76rem; }
.pagination { margin-top: 40px; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@keyframes fade-up { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 1050px) {
  .site-nav__list { gap: 15px; }
  .site-nav a { font-size: .69rem; }
  .header-contact .button { display: none; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .turnkey__grid, .why-us__grid, .calculator__grid, .solutions__grid, .final-cta__grid { gap: 50px; }
  .regions__grid { grid-template-columns: 1fr 1fr; }
  .regions__intro { grid-row: span 2; }
  .region-card { border-bottom: 1px solid var(--line-light); }
  .service-layout { grid-template-columns: 1fr 290px; gap: 45px; }
  .service-catalog__grid--cycle { grid-template-columns: 1fr; }
  .service-catalog__objects-inner { grid-template-columns: 1fr; }
  .service-catalog__objects .button { grid-column: auto; }
}

@media (max-width: 820px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 78px 0; }
  .site-header { position: absolute; }
  .site-header__inner { min-height: 70px; }
  .menu-toggle { display: grid; margin-left: auto; place-items: center; color: currentColor; }
  .site-nav { position: fixed; inset: 70px 0 0; display: none; padding: 30px 20px; color: var(--ink); background: #fff; }
  .site-nav.is-open { display: block; }
  .site-nav__list { display: grid; gap: 0; }
  .site-nav__list li { border-bottom: 1px solid var(--line); }
  .site-nav__list a { display: block; padding: 16px 0; font-size: 1rem; }
  .header-contact { display: none; }
  .hero { min-height: 760px; }
  .hero__media { background-image: linear-gradient(90deg, rgba(9,26,35,.92), rgba(9,26,35,.48)), linear-gradient(0deg, rgba(10,29,37,.85), transparent 45%), url('../images/psd/hero-mountains.webp'); background-position: 62% center; }
  .hero__proof { display: grid; grid-template-columns: repeat(3, 1fr); }
  .hero__proof li { min-width: 0; padding: 0 14px; }
  .trust-bar__grid { grid-template-columns: 1fr 1fr; }
  .trust-bar__grid > div:nth-child(3) { border-left: 0; }
  .trust-bar__grid > div { min-height: 105px; padding: 18px; border-bottom: 1px solid var(--line-light); }
  .split-intro, .turnkey__grid, .why-us__grid, .calculator__grid, .solutions__grid, .final-cta__grid, .faq-grid { grid-template-columns: 1fr; }
  .split-intro { gap: 18px; }
  .split-intro__copy { padding-top: 0; }
  .turnkey__grid, .why-us__grid, .calculator__grid, .solutions__grid, .final-cta__grid, .faq-grid { gap: 55px; }
  .turnkey__panel { padding-right: 0; }
  .regions__grid { grid-template-columns: 1fr; }
  .regions__intro { grid-row: auto; padding: 0 0 30px; }
  .region-card { min-height: 210px; border-left: 0; border-top: 1px solid var(--line-light); }
  .region-card span { margin-bottom: 40px; }
  .why-us__visual { min-height: 390px; }
  .process-list { grid-template-columns: 1fr 1fr; }
  .solutions__intro { position: static; }
  .article-grid, .posts-grid { grid-template-columns: 1fr 1fr; }
  .blog .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-grid { grid-template-columns: 1fr; }
  .service-layout { grid-template-columns: 1fr; }
  .service-aside { position: static; }
  .service-catalog__hero { padding-top: 70px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .container { width: min(calc(100% - 24px), var(--container)); }
  .section { padding: 64px 0; }
  .brand__copy small { display: none; }
  .brand__mark { width: 40px; }
  .hero { min-height: 720px; }
  .hero__inner { padding-top: 125px; padding-bottom: 42px; }
  .hero h1 { font-size: clamp(2.65rem, 14vw, 4rem); }
  .hero__lead { font-size: 1rem; }
  .hero__actions { display: grid; margin: 28px 0 42px; }
  .hero__proof strong { font-size: .9rem; }
  .hero__proof span { font-size: .58rem; }
  .trust-bar__grid > div { gap: 12px; padding: 14px 10px; font-size: .74rem; }
  .trust-bar .icon { width: 20px; }
  .split-intro__copy { grid-template-columns: 1fr; gap: 8px; }
  .section-heading { display: grid; gap: 18px; margin-bottom: 36px; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 280px; }
  .turnkey__steps li { grid-template-columns: 45px 1fr; }
  .benefits-grid { grid-template-columns: 1fr 1fr; }
  .benefits-grid article { min-height: 250px; padding: 24px 18px; }
  .benefits-grid strong { font-size: 1.25rem; }
  .benefits-grid h3 { font-size: 1rem; }
  .quiz { min-height: 510px; padding: 24px 18px; }
  .choice-grid { grid-template-columns: 1fr; }
  .quiz__actions { position: static; }
  .process-list, .solution-cards, .article-grid, .posts-grid { grid-template-columns: 1fr; }
  .blog .posts-grid { grid-template-columns: minmax(0, 1fr); }
  .blog .post-card { width: 100%; max-width: 100%; }
  .blog .content-page { padding-top: 104px; }
  .blog .content-page > .container.section { padding-top: 42px; }
  .blog .post-card { min-height: 205px; padding: 18px; }
  .blog .post-card h2 { font-size: 1.05rem; }
  .blog .post-card > p:not(.eyebrow) { -webkit-line-clamp: 3; }
  .process-list li { min-height: 180px; }
  .solution-cards article { min-height: 220px; }
  .solution-cards span { margin-bottom: 48px; }
  .faq-grid { gap: 35px; }
  .lead-form { grid-template-columns: 1fr; }
  .lead-form__wide { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-company { display: grid; align-items: start; }
  .footer-bottom { display: grid; gap: 8px; }
  .company-requisites__list { grid-template-columns: 1fr; }
  .company-requisites__list dt { padding-bottom: 4px; border-bottom: 0; }
  .company-requisites__list dd { padding-top: 0; }
  .modal__box { padding: 36px 20px 24px; }
  .inner-hero { padding: 135px 0 70px; }
  .service-meta { grid-template-columns: 1fr; }
  .entry-content .content-grid { grid-template-columns: 1fr; }
  .service-catalog__quick { flex-direction: column; align-items: stretch; }
  .service-catalog__quick a { text-align: center; }
  .service-catalog__grid--primary { grid-template-columns: 1fr; }
  .catalog-card { min-height: 260px; padding: 28px; }
  .service-catalog__object-list { grid-template-columns: 1fr; }
  .service-catalog__cta .section-heading { align-items: stretch; }
  .service-catalog__cta .button { width: 100%; }
  .service-subnav { padding: 24px; }
  .service-subnav div { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* PSD-faithful homepage overrides. The source artboard is 2048 px wide with a 1200 px content grid. */
body { font-family: Montserrat, Arial, sans-serif; }
.site-header { background: transparent; }
.site-header__inner { width: min(calc(100% - 40px), 1200px); min-height: 84px; }
.brand__original { display: block; width: 267px; height: auto; }
.site-header.is-fixed { position: absolute; color: #fff; border-color: rgba(255,255,255,.14); background: transparent; box-shadow: none; animation: none; backdrop-filter: none; }
.is-fixed .button--ghost { color: #fff; border-color: rgba(255,255,255,.25); }

.hero { min-height: 813px; align-items: center; text-align: center; background: #1b2c34; }
.hero__media { background-image: linear-gradient(rgba(18,33,41,.08), rgba(18,33,41,.08)), url('../images/psd/hero-mountains.webp?v=3'); background-position: center 42%; background-size: cover; transform: none; }
.hero__inner { padding: 105px 0 35px; }
.hero__content { max-width: 760px; margin-inline: auto; }
.hero__logo { width: 410px; max-width: 50vw; height: auto; margin: 0 auto 32px; opacity: .94; }
.hero h1 { margin: 0; font-size: clamp(2.1rem, 3vw, 3.25rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.18; }
.hero h1 strong { font-weight: 700; }
.hero h1 .hero-title-desktop { display: inline; color: #fff; -webkit-text-stroke: 0; }
.hero h1 .hero-title-mobile { display: none; color: #fff; -webkit-text-stroke: 0; }
.hero__actions { justify-content: center; margin: 34px 0 0; }
.button--light { color: var(--ink); background: #fff; }

.intro-bridge { position: relative; min-height: 398px; overflow: hidden; background: #d9e6eb; }
.intro-bridge__photo { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(213,229,235,.86), rgba(213,229,235,.25) 40%, rgba(213,229,235,.25) 60%, rgba(213,229,235,.9)), url('../images/psd/intro-building.webp') center / cover; }
.intro-bridge__content { position: relative; padding-top: 45px; }
.intro-bridge__lead { width: 475px; max-width: 100%; margin: 0 0 28px 42px; color: #f6f9fa; font-size: .78rem; font-weight: 600; line-height: 1.55; text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.intro-bridge__cards { display: grid; grid-template-columns: 1fr 1.12fr 1fr; margin-inline: 0; color: #fff; box-shadow: 0 20px 40px rgba(15,41,51,.16); }
.intro-bridge__cards article { position: relative; min-height: 222px; display: flex; align-items: center; padding: 38px 58px; overflow: hidden; background: rgba(27,56,67,.91); }
.intro-bridge__cards article:nth-child(2) { background: rgba(45,77,89,.94); }
.intro-bridge__cards article:nth-child(3) { background: rgba(25,53,63,.97); }
.intro-bridge__cards p { position: relative; z-index: 1; margin: 0; color: rgba(255,255,255,.76); font-size: .78rem; line-height: 1.65; }
.intro-bridge__ghost { position: absolute; inset: 8px auto auto -24px; color: rgba(255,255,255,.055); font-size: 8rem; font-weight: 800; line-height: 1; }

.services { min-height: 900px; padding: 76px 0 70px; background: #f7f7f5 url('../images/psd/services-background.webp') center / cover no-repeat; }
.services-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 329px 329px; gap: 32px; }
.services-copy { grid-column: 1; grid-row: 1; padding: 0 18px 0 10px; }
.services-copy h2 { margin-bottom: 28px; font-size: 2.25rem; }
.services-copy p { font-size: .75rem; line-height: 1.75; }
.services-copy h3 { margin-top: 34px; font-size: 1rem; line-height: 1.45; }
.services-mosaic .service-card { min-height: 0; padding: 32px 36px 28px; border: 0; box-shadow: 0 18px 46px rgba(36,57,64,.08); }
.services-mosaic .service-card--video-surveillance { grid-column: 2; grid-row: 1; }
.services-mosaic .service-card--fire-safety { grid-column: 3; grid-row: 1; }
.services-mosaic .service-card--access-control { grid-column: 4; grid-row: 1; }
.services-mosaic .service-card--security-alarm { grid-column: 1; grid-row: 2; }
.services-mosaic .service-card--objects { grid-column: 2; grid-row: 2; }
.services-mosaic .service-card--automation { grid-column: 3; grid-row: 2; }
.services-mosaic .service-card--maintenance { grid-column: 4; grid-row: 2; }
.service-card__psd-icon { width: auto; height: 54px; max-width: 64px; margin: 0 0 80px auto; object-fit: contain; }
.services-mosaic .service-card h3 { min-height: 52px; margin: 0 0 15px; font-size: 1.1rem; line-height: 1.25; }
.services-mosaic .service-card p { margin: 0; font-size: .72rem; line-height: 1.52; }
.services-mosaic .service-card:hover { transform: translateY(-3px); }

.turnkey { min-height: 902px; padding: 0; color: var(--ink); background: #f7f7f5; }
.turnkey::before { position: absolute; inset: 0; content: ''; opacity: .55; background: linear-gradient(115deg, rgba(232,105,95,.2), transparent 42%); }
.turnkey__grid { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: 152px 370px auto; gap: 0; align-items: stretch; }
.turnkey__heading { grid-column: 1 / 8; grid-row: 1; display: flex; align-items: center; gap: 46px; padding: 28px 36px; background: rgba(201,221,227,.78); }
.turnkey__heading h2 { margin: 0; font-size: 2rem; }
.turnkey__summary { grid-column: 8 / 13; grid-row: 1; display: flex; align-items: center; padding: 28px 45px; }
.turnkey__summary p, .turnkey__statement p { margin: 0; color: var(--ink); font-size: .78rem; }
.turnkey__statement { grid-column: 1 / 5; grid-row: 2; display: flex; align-items: center; padding: 45px 70px 45px 36px; background: #fff; }
.turnkey__photo { grid-column: 5 / 13; grid-row: 2; overflow: hidden; }
.turnkey__photo img { width: 100%; height: 100%; object-fit: cover; }
.turnkey__benefits { grid-column: 1 / 13; grid-row: 3; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 90px; padding: 48px 70px 40px; }
.turnkey__benefits article { position: relative; padding-left: 48px; }
.turnkey__benefits article::before { position: absolute; top: 0; left: 0; content: '✓'; color: #4d7b86; font-size: 1.6rem; }
.turnkey__benefits h3 { margin-bottom: 8px; font-size: .94rem; }
.turnkey__benefits p { margin: 0; font-size: .72rem; line-height: 1.5; }

.regions { min-height: 718px; padding: 0; color: var(--ink); background: #e5eef1; }
.regions::before { display: none; }
.regions__grid { width: 100%; max-width: none; display: grid; grid-template-columns: minmax(420px, 1.18fr) 354px minmax(380px, 1fr); padding: 0; }
.regions__intro { min-height: 718px; display: flex; flex-direction: column; justify-content: center; padding: 70px max(55px, calc((100vw - 1200px)/2)) 70px max(55px, calc((100vw - 1200px)/2)); color: #fff; background: #294955; }
.regions__intro h2 { font-size: 2.8rem; }
.regions__intro p { color: #b7c7cc !important; font-size: .78rem; }
.regions__locations { grid-column: 2 / 4; display: grid; grid-template-columns: 354px minmax(380px, 1fr); grid-template-rows: repeat(3, 1fr); height: 718px; }
.region-item { display: contents; }
.region-item img { grid-column: 1; width: 100%; height: 100%; object-fit: cover; }
.region-item article { grid-column: 2; display: flex; flex-direction: column; justify-content: center; padding: 35px 55px; border-bottom: 1px solid rgba(35,70,82,.16); }
.region-item h3 { font-size: 1.25rem; }
.region-item p { max-width: 310px; font-size: .75rem; }

.partners { padding: 48px 0 28px; }
.partners h2 { margin-bottom: 30px; font-size: 1.65rem; }
.partner-row { display: grid; grid-template-columns: repeat(6, 1fr); align-items: center; gap: 34px; }
.partner-row img { width: 100%; max-height: 74px; object-fit: contain; }

.why-us { min-height: 639px; padding: 0; background: #294956; }
.why-us__grid { width: 100%; max-width: none; grid-template-columns: 37% 63%; gap: 0; }
.why-us__visual { min-height: 639px; border: 0; background: url('../images/psd/why-team.webp') center / cover no-repeat; }
.why-us__visual::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, transparent 65%, #294956); }
.visual-orbit, .why-us__visual > p { display: none; }
.why-us__grid > div:last-child { padding: 62px max(55px, calc((100vw - 1200px)/2)) 0 55px; }
.why-us h2 { font-size: 2.5rem; }
.benefits-grid { grid-template-columns: repeat(3, 1fr); }
.benefits-grid article { min-height: 190px; }

.brand-statement { color: var(--ink); background: #fff; }
.brand-statement__inner { min-height: 78px; display: flex; align-items: center; justify-content: center; gap: 30px; }
.brand-statement img { width: 46px; height: 46px; object-fit: contain; opacity: .72; }
.brand-statement p { max-width: 610px; margin: 0; font-size: .72rem; font-weight: 600; line-height: 1.5; }

.calculator__backdrop { opacity: .4; background-image: linear-gradient(rgba(14,38,47,.76), rgba(14,38,47,.76)), url('../images/psd/calculator-bg.webp'); filter: none; }
.calculator { min-height: 624px; padding: 58px 0 36px; }
.calculator__content { position: relative; z-index: 1; text-align: center; }
.calculator__content > h2 { margin-bottom: 20px; font-size: 2.35rem; }
.calculator__content > p { max-width: 850px; margin: 0 auto 45px; color: #bdcbd0; font-size: .78rem; }
.psd-quiz { display: grid; grid-template-columns: 1.1fr 1fr .85fr; gap: 70px; text-align: left; }
.psd-quiz fieldset { padding: 0; border: 0; }
.psd-quiz legend { min-height: 52px; margin-bottom: 18px; color: #fff; font-size: .95rem; font-weight: 650; line-height: 1.35; }
.psd-quiz label { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; color: #dce5e8; cursor: pointer; font-size: .75rem; }
.psd-quiz input { width: 22px; height: 22px; margin: 0; appearance: none; border: 1px solid rgba(255,255,255,.55); background: transparent; }
.psd-quiz input:checked { border-color: #fff; background: #fff; box-shadow: inset 0 0 0 5px #294955; }
.psd-quiz__submit { min-width: 240px; margin-top: 24px; }
.calculator__promise { display: block; margin-top: 28px; font-size: .86rem; }
.calculator__note { margin: 16px auto 0 !important; font-size: .72rem !important; }
.process { min-height: 810px; padding: 70px 0 54px; overflow: hidden; background: #fff; }
.process .section-heading { max-width: 920px; margin: 0 auto 34px; }
.process-list { position: relative; width: min(930px, 100%); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; padding: 0; border: 0; list-style: none; }
.process-list::before { position: absolute; inset: 2% 22% 4% 22%; content: ''; opacity: .35; background: url('../images/psd/logo-mark-black.png') center / contain no-repeat; }
.process-list li { position: relative; z-index: 1; min-height: 120px; display: grid; grid-template-columns: 78px 1fr; align-items: start; padding: 16px 28px; border: 0; }
.process-list li:nth-child(odd) { grid-column: 1; }
.process-list li:nth-child(even) { grid-column: 2; transform: translateY(58px); }
.process-list span { margin: 0; color: #315764; font-size: 3.4rem; font-weight: 500; letter-spacing: -.08em; line-height: .9; }
.process-list h3 { margin: 0 0 7px; font-size: .9rem; }
.process-list p { margin: 0; color: #75878d; font-size: .7rem; line-height: 1.5; }
.solutions { min-height: 786px; background: #17343e url('../images/psd/solutions-security.webp') right center / 52% auto no-repeat; }
.solutions::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: linear-gradient(90deg, #17343e 0 48%, transparent 70%); }
.solutions__grid { position: relative; z-index: 1; }
.line-cta { background: #fff; }
.line-cta__inner { min-height: 128px; display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.line-cta__inner span, .line-cta__inner strong { display: block; }
.line-cta__inner span { font-size: 1.35rem; }
.line-cta__inner strong { font-size: .88rem; }
.line-cta__actions { display: flex; gap: 18px; }
.button--ghost-dark { color: var(--ink); border: 1px solid #9eb0b6; background: transparent; }
.recommendations { min-height: 720px; padding: 64px 0; background: #fff; }
.recommendations__grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 62px; }
.recommendations__portfolio h2 { margin-bottom: 12px; font-size: 2.35rem; }
.recommendations__lead { max-width: 640px; margin-bottom: 30px; font-size: .76rem; }
.portfolio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 28px; }
.portfolio-card img { width: 100%; height: 146px; object-fit: cover; }
.portfolio-card h3 { margin: 13px 0 5px; font-size: .8rem; line-height: 1.35; }
.portfolio-card p { margin: 0; color: #788b91; font-size: .68rem; }
.recommendations__aside { padding-top: 62px; }
.recommendations__aside > p { margin-bottom: 25px; font-size: .76rem; }
.recommendations__aside img { width: 100%; height: 280px; object-fit: cover; }
.recommendations__aside h3 { margin: 25px 0 12px; font-size: .9rem; }
.recommendations__aside ul { margin: 0; padding: 0; list-style: none; }
.recommendations__aside li { position: relative; padding: 5px 0 5px 20px; color: #586e75; font-size: .72rem; }
.recommendations__aside li::before { position: absolute; left: 0; content: '◆'; color: #84a3ad; font-size: .45rem; }
.reviews { background-image: linear-gradient(rgba(20,48,58,.84), rgba(20,48,58,.84)), url('../images/psd/reviews-bg.webp'); background-position: center; background-size: cover; }
.reviews { min-height: 440px; padding: 52px 0; }
.reviews .section-heading { margin-bottom: 26px; }
.review-grid { grid-template-columns: repeat(5, 1fr); gap: 20px; }
.review-card { min-height: 240px; padding: 24px 20px; }
.review-card .stars { margin-bottom: 16px; font-size: .72rem; }
.review-card p { font-size: .68rem; line-height: 1.55; }
.review-card strong { font-size: .7rem; }
.review-card span { font-size: .64rem; }
.faq-section { min-height: 860px; display: flex; align-items: center; background: url('../images/psd/faq-bg.webp') center / cover no-repeat; }
.faq-grid { width: min(calc(100% - 40px), 950px); padding: 55px; background: rgba(255,255,255,.97); box-shadow: var(--shadow); }

@media (max-width: 1050px) {
  .services-mosaic { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }
  .services-copy { grid-column: 1 / -1; grid-row: auto; padding: 0; }
  .services-mosaic .service-card { grid-column: auto !important; grid-row: auto !important; }
  .regions__grid { grid-template-columns: 1fr 300px 1fr; }
  .regions__locations { grid-template-columns: 300px 1fr; }
}

@media (max-width: 820px) {
  .brand__original { width: 210px; }
  .hero { min-height: 720px; }
  .hero__logo { max-width: 64vw; }
  .intro-bridge__cards { grid-template-columns: 1fr; }
  .intro-bridge__cards article { min-height: 180px; }
  .services-mosaic { grid-template-columns: repeat(2, 1fr); }
  .turnkey__grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .turnkey__heading, .turnkey__summary, .turnkey__statement, .turnkey__photo, .turnkey__benefits { grid-column: 1; grid-row: auto; }
  .turnkey__photo { min-height: 340px; }
  .regions__grid { grid-template-columns: 1fr; }
  .regions__intro { min-height: 460px; }
  .regions__locations { grid-column: 1; width: 100%; height: auto; display: block; }
  .region-item { display: block; }
  .region-item img { display: block; width: 100%; height: 245px; object-fit: cover; }
  .region-item article { min-height: 245px; padding: 42px 48px; }
  .partner-row { grid-template-columns: repeat(3, 1fr); }
  .why-us__grid { grid-template-columns: 1fr; }
  .why-us__visual { min-height: 430px; }
  .why-us__grid > div:last-child { padding: 55px 30px; }
  .psd-quiz { gap: 28px; }
}

@media (max-width: 560px) {
  body.admin-bar .site-header { top: 46px; }
  .site-header__inner { position: relative; width: calc(100% - 22px); min-height: 104px; align-items: flex-start; padding-top: 15px; }
  .brand__original { width: 248px; max-width: calc(100vw - 92px); }
  .menu-toggle { margin-top: 1px; }
  .header-contact { position: absolute; top: 68px; left: 6px; right: 0; display: flex; align-items: center; justify-content: space-between; }
  .header-phone { font-size: .82rem; }
  .header-contact .button { display: inline-flex; min-height: 32px; padding: 6px 22px; font-size: .65rem; }
  .site-nav { inset: 104px 0 0; }
  .hero { min-height: 750px; align-items: start; background: #24444f url('../images/psd/mobile-hero-lower.webp') center bottom / 100% 354px no-repeat; }
  .hero__media { height: 396px; background-position: center; }
  .hero__inner { padding-top: 390px; }
  .hero__logo { position: absolute; top: 164px; left: 50%; width: 200px; max-width: none; margin: 0; transform: translateX(-50%); }
  .hero h1 { margin: 0 auto; font-size: 1.63rem; text-align: left; }
  .hero h1 .hero-title-desktop { display: none; }
  .hero h1 .hero-title-mobile { display: inline; }
  .hero__actions { display: grid; gap: 16px; margin: 18px 0 0; }
  .hero__actions .button { width: 100%; }
  .intro-bridge__content { width: 100%; padding-top: 24px; }
  .intro-bridge__lead { width: auto; margin: 0 26px 24px; }
  .intro-bridge__cards article { min-height: 190px; padding: 32px 28px; }
  .services { padding: 32px 0 55px; background-image: url('../images/psd/mobile-services-bg.webp'); background-size: cover; }
  .services-mosaic { width: calc(100vw - 12px); margin-left: calc((100vw - 100%) / -2); display: grid; grid-template-columns: repeat(7, 258px); grid-template-rows: auto 330px; gap: 0 28px; padding: 0 50px 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .services-mosaic::-webkit-scrollbar { display: none; }
  .services-copy { grid-column: 1 / 8; grid-row: 1; width: calc(100vw - 48px); padding: 0 0 30px; }
  .services-mosaic .service-card { grid-row: 2 !important; min-height: 328px; scroll-snap-align: center; }
  .services-mosaic .service-card--video-surveillance { grid-column: 1 !important; }
  .services-mosaic .service-card--fire-safety { grid-column: 2 !important; }
  .services-mosaic .service-card--access-control { grid-column: 3 !important; }
  .services-mosaic .service-card--security-alarm { grid-column: 4 !important; }
  .services-mosaic .service-card--objects { grid-column: 5 !important; }
  .services-mosaic .service-card--automation { grid-column: 6 !important; }
  .services-mosaic .service-card--maintenance { grid-column: 7 !important; }
  .service-card__psd-icon { margin-bottom: 86px; }
  .turnkey__heading { display: grid; padding: 32px 24px; }
  .turnkey__summary, .turnkey__statement { padding: 30px 24px; }
  .turnkey__benefits { grid-template-columns: 1fr; padding: 40px 24px; }
  .regions__intro { min-height: 520px; padding: 55px 24px; }
  .region-item img { height: 245px; }
  .region-item article { min-height: 200px; padding: 34px 48px; }
  .partner-row { grid-template-columns: repeat(2, 1fr); }
  .benefits-grid { grid-template-columns: 1fr; }
  .why-us__visual { min-height: 312px; background-image: url('../images/psd/mobile-why-top.webp'); }
  .brand-statement__inner { min-height: 96px; justify-content: flex-start; gap: 18px; padding-block: 16px; }
  .brand-statement img { width: 40px; height: 40px; }
  .brand-statement p { font-size: .64rem; }
  .calculator { min-height: 1030px; padding: 36px 0 28px; }
  .calculator__backdrop { opacity: .55; background-image: linear-gradient(rgba(14,38,47,.70), rgba(14,38,47,.70)), url('../images/psd/mobile-calculator-bg.webp'); }
  .calculator__content > h2 { font-size: 1.65rem; text-align: left; }
  .calculator__content > p { margin-bottom: 28px; text-align: left; }
  .psd-quiz { grid-template-columns: 1fr; gap: 24px; padding: 0 28px; }
  .psd-quiz legend { min-height: 0; margin-bottom: 14px; font-size: 1rem; }
  .psd-quiz label { font-size: .82rem; }
  .psd-quiz__submit { width: min(240px, 100%); margin-top: 28px; }
  .process { min-height: 990px; padding: 52px 0 40px; }
  .process .section-heading { margin-bottom: 24px; }
  .process-list { width: 100%; display: block; }
  .process-list::before { inset: 8% 5% 6%; opacity: .12; }
  .process-list li, .process-list li:nth-child(odd), .process-list li:nth-child(even) { min-height: 132px; display: grid; grid-template-columns: 65px 1fr; padding: 16px 8px; transform: none; }
  .process-list span { font-size: 3rem; }
  .line-cta__inner { min-height: 210px; display: grid; gap: 22px; padding-block: 30px; }
  .line-cta__inner span { font-size: 1.3rem; }
  .line-cta__actions { display: grid; gap: 12px; }
  .recommendations { padding: 52px 0; }
  .recommendations__grid { grid-template-columns: 1fr; gap: 36px; }
  .recommendations__portfolio h2 { font-size: 1.85rem; }
  .portfolio-grid { grid-template-columns: 1fr; gap: 28px; }
  .portfolio-card img { height: 225px; }
  .recommendations__aside { padding-top: 0; }
  .recommendations__aside img { height: 260px; }
  .reviews { min-height: 520px; padding: 48px 0; }
  .review-grid { width: calc(100vw - 24px); display: grid; grid-template-columns: repeat(5, 270px); gap: 18px; padding: 0 44px 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .review-grid::-webkit-scrollbar { display: none; }
  .review-card { min-height: 310px; scroll-snap-align: center; padding: 28px 24px; }
  .review-card p { font-size: .76rem; }
  .faq-grid { width: calc(100% - 24px); padding: 32px 22px; }
  .solutions { background-image: url('../images/psd/mobile-solutions-bg.webp'); background-position: center; background-size: cover; }
}

/* Responsive PSD reconstruction: live text, controls and links over source artwork. */
body.home { overflow-x: hidden; background: #f7f7f5; }
body.home main { overflow: clip; }
body.home img { image-rendering: auto; }
body.home .site-header a,
body.home .site-header button,
body.home main a,
body.home main button,
body.home summary,
body.home input { touch-action: manipulation; }
.home .header-contact { display: flex; align-items: center; gap: 18px; }

.swipe-hint { display: none; }
.services-mosaic .service-card { isolation: isolate; }
.services-mosaic .service-card::after { height: 3px; }
.services-mosaic .service-card__link { margin-top: auto; padding-top: 14px; opacity: .72; }
.services-mosaic .service-card:hover .service-card__link { opacity: 1; }
.services-mosaic .service-card:focus-visible,
.solution-cards > a:focus-visible,
.portfolio-card:focus-visible,
.region-item__action:focus-visible { outline: 3px solid #5fc8da; outline-offset: 4px; }

.region-item article { align-items: flex-start; }
.region-item__action { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; margin-top: 8px; color: #315764; border: 0; background: transparent; cursor: pointer; font-size: .7rem; font-weight: 700; }
.region-item__action .icon { width: 15px; height: 15px; transition: transform .2s ease; }
.region-item__action:hover .icon { transform: translateX(4px); }

.solution-cards > a { position: relative; display: block; transition: background .25s ease, transform .25s ease; }
.solution-cards > a:hover { z-index: 1; background: rgba(255,255,255,.09); transform: translateY(-2px); }
.solution-cards > a h3 { color: #fff; }

.portfolio-card { width: 100%; padding: 0; color: var(--ink); border: 0; background: transparent; cursor: pointer; text-align: left; }
.portfolio-card img { transition: transform .35s ease, filter .35s ease; }
.portfolio-card:hover img { filter: contrast(1.05); transform: scale(1.015); }
.portfolio-card span { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; color: #315764; font-size: .68rem; font-weight: 700; }
.portfolio-card span .icon { width: 15px; height: 15px; }
.recommendations__aside .button { margin-top: 24px; }

.final-cta .footer-phone { display: inline-block; margin-top: 18px; color: #fff !important; font-size: 1.2rem !important; }
.final-cta__form .lead-form input,
.final-cta__form .lead-form textarea { border-color: rgba(17,40,49,.2); }

@media (min-width: 2049px) {
  .hero__media, .services, .calculator__backdrop, .reviews, .faq-section { background-size: cover; }
  .hero__inner { min-height: 813px; display: grid; align-items: center; }
}

@media (max-width: 1250px) {
  .site-header__inner { width: min(calc(100% - 36px), 1160px); gap: 20px; }
  .brand__original { width: 235px; }
  .site-nav__list { gap: 18px; }
  .header-phone { font-size: .78rem; }
  .services-mosaic { gap: 22px; }
  .services-mosaic .service-card { padding-inline: 26px; }
  .turnkey__grid { width: min(calc(100% - 40px), 1180px); }
}

@media (max-width: 980px) {
  .site-header__inner { min-height: 76px; }
  .menu-toggle { display: grid; margin-left: auto; place-items: center; color: #fff; }
  .site-nav { position: fixed; z-index: 120; inset: 76px 0 0; display: none; padding: 28px 24px; color: var(--ink); background: rgba(255,255,255,.98); overflow-y: auto; }
  .site-nav.is-open { display: block; }
  .site-nav__list { display: grid; gap: 0; }
  .site-nav__list > li { border-bottom: 1px solid var(--line); }
  .site-nav__toggle { width: 100%; justify-content: space-between; padding: 17px 0; color: var(--ink); font-size: 1rem; opacity: 1; }
  .site-nav__dropdown { position: static; width: 100%; min-width: 0; max-width: none; padding: 0 0 12px 15px; color: var(--ink); border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
  .site-nav__dropdown a { padding: 11px 0; color: var(--ink); font-size: .9rem; opacity: .72; }
  .site-nav__dropdown a:hover { background: transparent; opacity: 1; }
  .site-nav__list a { display: block; padding: 17px 0; color: var(--ink); font-size: 1rem; }
  .header-contact { margin-left: 0; }
  .header-contact .button { display: none; }
  .services-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .services-copy { grid-column: 1 / -1; }
  .regions__grid { grid-template-columns: 1fr; }
  .regions__intro { min-height: 420px; }
  .regions__locations { grid-column: 1; width: 100%; height: auto; display: block; }
  .region-item { display: grid; grid-template-columns: 42% 58%; }
  .region-item img, .region-item article { grid-column: auto; min-height: 230px; height: 230px; }
  .solution-cards > a { min-height: 240px; }
  .review-grid { grid-template-columns: repeat(3,1fr); }
  .review-card:nth-child(n+4) { display: none; }
}

@media (max-width: 700px) {
	.article-related-service { grid-template-columns: 1fr; gap: 24px; padding: 26px; }
	.article-related-service .button { width: 100%; white-space: normal; }
  .hero { min-height: 750px; }
  .site-header__inner { min-height: 104px; }
  .site-nav { inset: 104px 0 0; }
  .home .header-contact { position: absolute; top: 67px; left: 6px; right: 0; display: flex; align-items: center; justify-content: space-between; }
  .home .header-contact .button { display: inline-flex; min-height: 32px; padding: 6px 18px; font-size: .64rem; }
  .intro-bridge__photo { background-size: auto 100%; }
  .services-mosaic { grid-template-columns: repeat(7, min(72vw, 278px)); }
  .services-copy { grid-column: 1 / 8; }
  .services-mosaic .service-card { min-height: 350px; }
  .swipe-hint { display: block; margin: 18px 0 0; color: #315764; font-size: .72rem; font-weight: 700; }
  .turnkey__benefits { gap: 26px; }
  .region-item { grid-template-columns: 1fr; }
  .region-item img, .region-item article { width: 100%; height: auto; min-height: 220px; }
  .partner-row { gap: 22px; }
  .psd-quiz { padding-inline: 4px; }
  .solution-cards { grid-template-columns: 1fr; }
  .solution-cards > a { min-height: 205px; }
  .solution-cards span { margin-bottom: 44px; }
  .recommendations__grid { display: block; }
  .recommendations__aside { margin-top: 48px; }
  .review-grid { width: calc(100vw - 24px); display: grid; grid-template-columns: repeat(5, 270px); gap: 18px; padding: 0 44px 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .review-card:nth-child(n) { display: flex; }
  .final-cta__grid { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .brand__original { width: 232px; max-width: calc(100vw - 88px); }
  .header-phone { font-size: .76rem; }
  .header-contact .button { padding-inline: 15px; }
  .hero h1 { font-size: 1.52rem; }
  .hero__logo { width: 184px; }
  .intro-bridge__cards article { padding-inline: 24px; }
  .regions__intro h2 { font-size: 2.35rem; }
  .line-cta__actions .button { width: 100%; }
  .faq-grid { width: calc(100% - 16px); padding-inline: 18px; }
}
