@font-face {
  font-family: "Manrope";
  src: url("/assets/fonts/manrope-normal-200_800.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-normal-100_900.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-italic-100_900.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ink: #07131f;
  --ink-2: #0b1b29;
  --ink-3: #102535;
  --paper: #f4f6f7;
  --paper-2: #e9edf0;
  --white: #ffffff;
  --text: #10202c;
  --muted: #66727c;
  --line: #cfd7dc;
  --orange: #ff6238;
  --orange-dark: #db431f;
  --orange-soft: #ffded4;
  --green: #5ad08c;
  --danger: #9f2828;
  --success: #1f7444;
  --container: 1240px;
  --shadow: 0 24px 60px rgba(3, 15, 25, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--text); font-family: "Inter", "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.56; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--orange); color: var(--white); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.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-link { position: fixed; z-index: 200; left: 12px; top: -80px; padding: 10px 14px; background: var(--white); color: var(--ink); font-weight: 800; text-decoration: none; }
.skip-link:focus { top: 12px; }

h1, h2, h3, p { margin: 0; }
h1, h2, h3, .brand__text strong { font-family: "Manrope", "Inter", "Helvetica Neue", Arial, sans-serif; }
h1 { max-width: 760px; color: var(--white); font-size: clamp(3.35rem, 5.05vw, 5.35rem); line-height: 1.12; letter-spacing: -.02em; font-weight: 700; text-wrap: balance; }
h1 em { color: var(--orange); font-style: normal; }
h2 { max-width: 800px; color: var(--ink); font-size: clamp(2.1rem, 3.45vw, 3.75rem); line-height: 1.24; letter-spacing: -.018em; font-weight: 700; text-wrap: balance; }
h3 { font-size: 1.3rem; line-height: 1.30; letter-spacing: -.008em; font-weight: 700; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--orange-dark); font-size: .7rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--orange); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 52px; padding: 13px 20px; border: 1px solid var(--orange); border-radius: 0; background: var(--orange); color: var(--white); font-size: .88rem; font-weight: 900; letter-spacing: .015em; text-decoration: none; text-transform: uppercase; box-shadow: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); background: #ff7049; border-color: #ff7049; }
.button span { font-size: 1.1em; }
.button--ghost { border-color: rgba(255,255,255,.26); background: transparent; color: var(--white); }
.button--ghost:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.46); }
.button--ghost-light { border-color: rgba(255,255,255,.36); background: transparent; color: var(--white); }
.button--nav { min-height: 44px; padding: 10px 15px; }
.button--full { width: 100%; }

.topbar { position: relative; z-index: 60; background: #030b12; color: #9bb0be; border-bottom: 1px solid rgba(255,255,255,.07); }
.topbar__inner { min-height: 38px; display: flex; align-items: center; gap: 18px; font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.topbar__signal { display: flex; gap: 4px; }
.topbar__signal span { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.topbar p { flex: 1; }
.topbar i { color: var(--orange); font-style: normal; margin-inline: 7px; }
.topbar__contact { display: flex; gap: 22px; letter-spacing: 0; }
.topbar__contact a { color: #d6e1e7; text-decoration: none; }

.site-header { position: sticky; top: 0; z-index: 150; background: rgba(5,17,28,.97); border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: 0 10px 28px rgba(0,0,0,.12); backdrop-filter: blur(12px); }
.header__inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--white); }
.brand__mark { display: grid; place-items: center; width: 45px; height: 45px; background: var(--orange); color: var(--white); font-size: .96rem; font-weight: 950; letter-spacing: -.04em; clip-path: polygon(0 0,100% 0,100% 72%,72% 100%,0 100%); }
.brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.brand__text strong { font-size: 1rem; font-weight: 850; letter-spacing: -.02em; }
.brand__text small { margin-top: 6px; color: #76909f; font-size: .57rem; font-weight: 850; letter-spacing: .14em; }
.nav { display: flex; align-items: center; gap: 22px; }
.nav > a:not(.button), .nav-services__main { position: relative; color: #d7e2e8; font-size: .79rem; font-weight: 800; text-decoration: none; }
.nav > a:not(.button)::after, .nav-services__main::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--orange); transition: right .2s ease; }
.nav > a:not(.button):hover::after, .nav-services__main:hover::after, .nav-services.is-open .nav-services__main::after, .nav-services--current .nav-services__main::after { right: 0; }
.nav-services { position: relative; }
.nav-services__trigger { display: flex; align-items: center; gap: 3px; }
.nav-services__main { display: inline-flex; align-items: center; min-height: 32px; }
.nav-services__toggle { display: grid; place-items: center; width: 24px; height: 30px; padding: 0; border: 0; background: transparent; color: var(--orange); cursor: pointer; }
.nav-services__toggle span { font-size: .9rem; transition: transform .18s ease; }
.nav-services.is-open .nav-services__toggle span { transform: rotate(180deg); }
.nav-services__menu { position: absolute; z-index: 190; top: calc(100% + 22px); left: -36px; width: 650px; display: none; grid-template-columns: repeat(2,1fr); gap: 0; padding: 18px 22px 22px; background: #06121d; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 24px 60px rgba(0,0,0,.34); }
.nav-services.is-open .nav-services__menu, .nav-services:focus-within .nav-services__menu { display: grid; }
@media (hover: hover) and (pointer: fine) { .nav-services:hover .nav-services__menu { display: grid; } }
.nav-services__menu::before { content: ""; position: absolute; left: 28px; top: -23px; width: 110px; height: 23px; }
.nav-services__group { padding: 13px 18px 16px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.09); }
.nav-services__group:nth-child(odd) { padding-left: 2px; }
.nav-services__group:nth-child(even) { border-right: 0; padding-right: 2px; }
.nav-services__group:nth-child(n+3) { border-bottom: 0; }
.nav-services__label { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 7px; padding: 5px 0 9px !important; color: var(--orange) !important; font-size: .63rem !important; font-weight: 900 !important; letter-spacing: .11em; text-transform: uppercase; }
.nav-services__label span { color: inherit; transform: none !important; }
.nav-services__group a { display: block; padding: 7px 0; color: #d7e2e8; font-size: .79rem; font-weight: 700; line-height: 1.25; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.nav-services__group a:hover { color: var(--white); transform: translateX(3px); }
.nav-services__all { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding: 13px 15px; border-top: 1px solid rgba(255,255,255,.12); background: rgba(255,98,56,.08); color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.nav-services__all:hover { background: rgba(255,98,56,.14); color: #ff7958; }
.menu-toggle { display: none; width: 46px; height: 46px; padding: 11px; border: 1px solid rgba(255,255,255,.22); background: transparent; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: var(--white); }

.hero { position: relative; overflow: hidden; padding: 64px 0 0; background: var(--ink); color: var(--white); }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: 40px; border: 1px solid rgba(255,98,56,.22); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,98,56,.03), 0 0 0 140px rgba(255,98,56,.025); }
.hero__grid-bg { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, rgba(0,0,0,.9), transparent 75%); }
.hero__grid { position: relative; display: grid; grid-template-columns: 1.03fr .97fr; gap: 54px; align-items: center; padding-bottom: 24px; }
.hero__content { padding-bottom: 56px; }
.hero__kicker { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 19px; }
.hero__kicker span { padding: 6px 8px; border: 1px solid rgba(255,255,255,.18); color: #adbfca; font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hero__lead { max-width: 650px; margin-top: 23px; color: #b6c7d1; font-size: 1.02rem; line-height: 1.58; }
.hero__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.hero__techline { display: flex; flex-wrap: wrap; gap: 0; margin-top: 34px; border-top: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); }
.hero__techline span { padding: 12px 15px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); color: #8098a7; font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.hero__visual { align-self: stretch; display: flex; align-items: flex-end; }
.hero__frame { position: relative; width: 100%; min-height: 535px; display: flex; align-items: flex-end; padding: 24px 24px 0; border-left: 1px solid rgba(255,255,255,.12); border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.18); background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,0) 52%); }
.hero__frame::before { content: ""; position: absolute; inset: 70px 10px 0 70px; background: var(--orange); clip-path: polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 15%); opacity: .97; }
.hero__frame img { position: relative; z-index: 2; width: 100%; height: 485px; object-fit: cover; object-position: center 34%; filter: saturate(.92) contrast(1.05); clip-path: polygon(10% 0,100% 0,100% 88%,88% 100%,0 100%,0 13%); }
.hero__frame::after { content: ""; position: absolute; z-index: 3; inset: auto 26px 0 26px; height: 45%; pointer-events: none; background: linear-gradient(to top, rgba(7,19,31,.62), transparent); clip-path: polygon(0 0,100% 0,100% 100%,0 100%); }
.hero__corner { position: absolute; z-index: 5; width: 26px; height: 26px; border-color: var(--orange); border-style: solid; }
.hero__corner--tl { left: 12px; top: 18px; border-width: 2px 0 0 2px; }
.hero__corner--br { right: 12px; bottom: 18px; border-width: 0 2px 2px 0; }
.hero__status { position: absolute; z-index: 6; left: 0; bottom: 30px; display: flex; align-items: center; gap: 12px; min-width: 245px; padding: 15px 18px; background: #06111a; border-left: 4px solid var(--orange); box-shadow: var(--shadow); }
.status-dot { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(90,208,140,.12); }
.hero__status div { display: flex; flex-direction: column; }
.hero__status small { color: #6f8795; font-size: .58rem; font-weight: 900; letter-spacing: .11em; }
.hero__status strong { color: var(--white); font-size: .92rem; }
.hero__code { position: absolute; z-index: 6; right: 5px; top: 55px; display: flex; align-items: center; gap: 12px; writing-mode: vertical-rl; color: #73909f; font-size: .62rem; letter-spacing: .1em; }
.hero__code span { color: var(--orange); font-weight: 950; }
.hero__code code { font: inherit; }
.hero__metrics { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 22px; border: 1px solid rgba(255,255,255,.18); box-shadow: inset 0 -1px 0 rgba(255,255,255,.08); }
.hero__metrics > div { min-height: 88px; display: flex; align-items: center; gap: 12px; padding: 16px 19px; border-right: 1px solid rgba(255,255,255,.12); }
.hero__metrics > div:last-child { border-right: 0; }
.hero__metrics strong { color: var(--white); font-size: 1.32rem; line-height: 1; letter-spacing: -.035em; }
.hero__metrics span { max-width: 155px; color: #8299a7; font-size: .76rem; line-height: 1.35; }

.section { padding: 88px 0; }
.section-head { margin-bottom: 40px; }
.section-head--split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 58px; align-items: end; }
.section-head--split > p { max-width: 600px; color: var(--muted); }
.section-head--inverse h2 { color: var(--white); }
.section-head--inverse > p { color: #9bb0bd; }

.services-section { background: var(--paper); }
.service-grid { display: grid; grid-template-columns: repeat(3, 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: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f9fafb; overflow: hidden; transition: transform .22s ease, background .22s ease; }
.service-card:hover { transform: translateY(-5px); background: var(--white); }
.service-card--primary { background: var(--ink); color: var(--white); }
.service-card--primary:hover { background: var(--ink-2); }
.service-card__num { color: #8b979f; font-size: .65rem; font-weight: 900; letter-spacing: .15em; }
.service-card__icon { width: max-content; margin-top: 34px; }
.service-card__icon .service-symbol { width: 58px; height: 58px; }
.service-card--primary .service-card__icon .service-symbol { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.025); }
.service-card h3 { margin-top: 21px; font-size: 1.5rem; }
.service-card p { margin-top: 13px; color: var(--muted); font-size: .94rem; }
.service-card--primary p { color: #a9bdc8; }
.service-card a { margin-top: auto; padding-top: 30px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }
.service-card--primary a { color: var(--orange); }
.service-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; border: 1px solid var(--line); }
.service-strip a { display: grid; grid-template-columns: 46px 1fr; gap: 13px; align-items: center; padding: 17px 20px; border-right: 1px solid var(--line); text-decoration: none; background: var(--white); }
.service-strip a:last-child { border-right: 0; }
.service-strip .service-symbol { width: 42px; height: 42px; margin-top: 6px; border-color: #c7d1d6; color: var(--orange-dark); }
.service-strip .service-symbol svg { width: 25px; height: 25px; }
.service-strip a > span { display: flex; flex-direction: column; gap: 2px; }
.service-strip strong { font-size: .95rem; }
.service-strip small { color: var(--muted); font-size: .75rem; }

.workflow-band { padding: 74px 0; background: #dfe6ea; border-top: 1px solid #c2cdd3; border-bottom: 1px solid #c2cdd3; }
.workflow-band__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 84px; align-items: center; }
.workflow-band__intro h2 { max-width: 800px; }
.workflow-band__body > p:first-child { max-width: 720px; color: #44545e; font-size: 1rem; line-height: 1.72; }
.workflow-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 32px; }
.workflow-points > div { min-height: 150px; padding: 22px; border: 1px solid #b7c4cb; background: rgba(255,255,255,.52); }
.workflow-points .service-symbol { width: 46px; height: 46px; color: var(--orange-dark); }
.workflow-points .service-symbol svg { width: 27px; height: 27px; }
.workflow-points > div > span:not(.service-symbol) { display: block; margin-top: 18px; }
.workflow-points strong { display: block; color: var(--ink); font-size: .88rem; }
.workflow-points small { display: block; margin-top: 7px; color: #65737c; font-size: .74rem; line-height: 1.5; }
.workflow-note { margin-top: 22px; padding: 15px 18px; border-left: 3px solid var(--orange); background: rgba(255,255,255,.34); color: #56656f; font-size: .8rem; line-height: 1.55; }

.work-section { position: relative; overflow: hidden; background: var(--ink); }
.work-section::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(255,255,255,.05); }
.work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.work-card { position: relative; min-width: 0; overflow: hidden; background: #0b1924; border: 1px solid rgba(255,255,255,.11); }
.work-card--wide { grid-column: span 1; }
.work-card picture { display: block; width: 100%; aspect-ratio: 8 / 5; overflow: hidden; background: #07131f; line-height: 0; }
.work-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: filter .3s ease; }
.work-card:hover img { filter: brightness(1.035); }
.work-card__meta { position: relative; padding: 24px 22px 22px; border-top: 1px solid rgba(255,255,255,.1); }
.work-card__meta::before { content: ""; position: absolute; left: 0; top: -1px; width: 68px; height: 3px; background: var(--orange); }
.work-card__meta > span { color: #718b99; font-size: .62rem; font-weight: 900; letter-spacing: .14em; }
.work-card__meta h3 { margin-top: 8px; color: var(--white); font-size: 1.35rem; }
.work-card__meta p { margin-top: 8px; min-height: 46px; color: #afc0ca; font-size: .84rem; }
.work-card__meta > a { display: inline-block; margin-top: 16px; color: var(--orange); font-size: .75rem; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.work-card__actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 16px; }
.work-card__actions a { margin: 0; font-size: .72rem; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .07em; }
.work-card__case { color: var(--orange); }
.work-card__live { color: #8da2ae; }
.work-card__actions a:hover { color: var(--white); }
.more-work { margin-top: 18px; border: 1px solid rgba(255,255,255,.11); background: #091722; }
.more-work summary { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 13px 20px; color: var(--white); cursor: pointer; list-style: none; font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.more-work summary::-webkit-details-marker { display: none; }
.more-work summary span { color: var(--orange); font-size: 1.5rem; font-weight: 400; transition: transform .2s ease; }
.more-work[open] summary span { transform: rotate(45deg); }
.more-work__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; padding: 18px; background: #07131f; border-top: 1px solid rgba(255,255,255,.08); }
.more-work__grid .work-card { height: auto; }
.more-work__grid .work-card__meta { min-height: 0; }
.more-work__grid .work-card__meta p { min-height: 0; }

.pricing-section { background: #e7ecef; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #bac6cd; border-left: 1px solid #bac6cd; }
.price-card { position: relative; display: flex; flex-direction: column; min-height: 505px; padding: 26px; border-right: 1px solid #bac6cd; border-bottom: 1px solid #bac6cd; background: #f6f8f9; }
.price-card--featured { background: var(--ink); color: var(--white); }
.price-card__badge { position: static; align-self: flex-end; margin: 0 0 16px; padding: 7px 10px; background: var(--orange); color: var(--white); font-size: .56rem; font-weight: 950; letter-spacing: .1em; }
.price-card__head { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding-bottom: 18px; border-bottom: 1px solid #c5d0d6; }
.price-card--featured .price-card__head { border-color: rgba(255,255,255,.16); }
.price-card__head span { color: #73828c; font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.price-card__head strong { color: var(--orange-dark); font-size: 1.05rem; }
.price-card--featured .price-card__head strong { color: var(--orange); }
.price-card h3 { margin-top: 25px; font-size: 1.65rem; }
.price-card > p { margin-top: 11px; color: var(--muted); font-size: .93rem; }
.price-card--featured > p { color: #a7bac5; }
.price-card ul { display: grid; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.price-card li { position: relative; padding-left: 19px; color: #475660; font-size: .87rem; }
.price-card--featured li { color: #c1d0d8; }
.price-card li::before { content: "+"; position: absolute; left: 0; color: var(--orange); font-weight: 950; }
.price-card > a { margin-top: auto; padding-top: 30px; color: var(--orange-dark); font-size: .76rem; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .07em; }
.price-card--featured > a { color: var(--orange); }
.performance-band { display: grid; grid-template-columns: 1.2fr .9fr auto; gap: 28px; align-items: center; margin-top: 16px; padding: 21px 26px; background: var(--orange); color: var(--white); }
.performance-band span { font-size: .62rem; font-weight: 950; letter-spacing: .12em; }
.performance-band h3 { margin-top: 6px; font-size: 1.35rem; }
.performance-band p { color: #fff4ef; font-size: .9rem; }
.performance-band__action { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; white-space: nowrap; }
.performance-band__action strong { font-size: 1.35rem; }
.performance-band__action a { color: var(--white); font-size: .72rem; font-weight: 950; text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }
.pricing-note { margin-top: 16px; color: #6d7a83; font-size: .78rem; }

.care-section { background: var(--ink-2); color: var(--white); }
.care-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 60px; align-items: start; }
.care-intro h2 { color: var(--white); }
.care-intro > p:not(.eyebrow) { max-width: 540px; margin-top: 20px; color: #a7bac5; font-size: .95rem; }
.care-intro .button { margin-top: 24px; }
.care-plans { border-top: 1px solid rgba(255,255,255,.13); }
.care-plans article { display: grid; grid-template-columns: 48px 1fr auto; gap: 16px; align-items: center; min-height: 108px; border-bottom: 1px solid rgba(255,255,255,.13); }
.care-plan__icon { width: 46px; height: 46px; }
.care-plan__icon .service-symbol { width: 46px; height: 46px; border-color: var(--white); background: var(--white); color: var(--orange-dark); }
.care-plan__icon .service-symbol svg { width: 27px; height: 27px; }
.care-plans h3 { color: var(--white); }
.care-plans p { margin-top: 6px; color: #78909d; font-size: .83rem; }
.care-plans strong { color: var(--white); font-size: .9rem; text-align: right; }

.about-section { background: var(--paper); }
.about-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 64px; align-items: center; }
.about-photo { position: relative; }
.about-photo::before { content: ""; position: absolute; left: -18px; top: 30px; width: 70%; height: 85%; border: 1px solid #b9c6cd; }
.about-photo::after { content: ""; position: absolute; right: -18px; bottom: -18px; width: 42%; height: 42%; background: var(--orange); clip-path: polygon(0 38%,38% 0,100% 0,100% 100%,0 100%); z-index: 0; }
.about-photo img { position: relative; z-index: 1; width: 100%; max-height: 500px; object-fit: cover; object-position: center 25%; filter: saturate(.93) contrast(1.04); }
.about-photo__label { position: absolute; z-index: 3; left: -1px; bottom: 26px; padding: 11px 14px; background: var(--ink); color: var(--white); font-size: .62rem; font-weight: 900; letter-spacing: .11em; }
.about-lead { max-width: 680px; margin-top: 19px; color: #4f5d66; font-size: .98rem; }
.about-points { display: grid; grid-template-columns: 1fr 1fr; margin-top: 27px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.about-points div { min-height: 92px; padding: 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-points span { display: block; color: var(--orange-dark); font-size: .62rem; font-weight: 950; letter-spacing: .1em; }
.about-points strong { display: block; margin-top: 14px; color: var(--ink); font-size: .84rem; line-height: 1.35; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 50px; background: var(--line); border: 1px solid var(--line); }
.testimonial-grid article { min-height: 230px; padding: 23px; background: var(--white); }
.google-review__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid #e4e8eb; }
.google-review__source { color: #3c4043; font-size: .76rem; font-weight: 800; letter-spacing: .01em; }
.google-review__stars { color: #fbbc04; letter-spacing: .08em; font-size: .92rem; white-space: nowrap; }
.testimonial-grid blockquote { margin: 23px 0 21px; color: var(--ink); font-size: .96rem; font-weight: 700; line-height: 1.48; }
.testimonial-grid p { color: var(--muted); font-size: .78rem; }
.testimonial-grid p strong { color: var(--ink); }

.process-section { position: relative; overflow: hidden; background: #07131f; }
.process-section::after { content: "06"; position: absolute; right: -10px; bottom: -100px; color: rgba(255,255,255,.025); font-size: 22rem; line-height: 1; font-weight: 950; letter-spacing: -.1em; }
.process-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.process-grid li { min-height: 205px; padding: 24px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.process-grid span { color: var(--orange); font-size: .65rem; font-weight: 950; letter-spacing: .12em; }
.process-grid h3 { margin-top: 44px; color: var(--white); font-size: 1.25rem; }
.process-grid p { margin-top: 11px; color: #8298a5; font-size: .82rem; }

.contact-section { position: relative; overflow: hidden; background: var(--ink-2); color: var(--white); }
.contact-section::before { content: ""; position: absolute; right: -90px; top: -120px; width: 420px; height: 420px; border: 1px solid rgba(255,98,56,.2); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,98,56,.025), 0 0 0 140px rgba(255,98,56,.018); }
.contact-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .88fr 1.12fr; gap: 58px; align-items: start; }
.contact-copy .eyebrow { color: var(--orange); }
.contact-copy .eyebrow::before { background: var(--orange); }
.contact-copy h2 { color: var(--white); }
.contact-copy > p:not(.eyebrow) { max-width: 560px; margin-top: 19px; color: #a9bdc8; font-size: .95rem; }
.contact-channels { display: grid; gap: 0; margin-top: 27px; border-top: 1px solid rgba(255,255,255,.13); }
.contact-channels > a, .contact-channels > div { display: grid; grid-template-columns: 95px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.13); text-decoration: none; }
.contact-channels span { color: #6f8795; font-size: .62rem; font-weight: 950; letter-spacing: .1em; }
.contact-channels strong { color: var(--white); font-size: .9rem; }
.contact-response { display: flex; align-items: center; gap: 11px; margin-top: 22px; padding: 13px 15px; border-left: 3px solid var(--orange); background: #06111a; color: var(--white); font-size: .76rem; }
.form-card { padding: 27px; background: var(--paper); border: 1px solid rgba(255,255,255,.12); box-shadow: 13px 13px 0 var(--orange); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-card label { display: block; margin-bottom: 15px; color: var(--ink); font-size: .75rem; font-weight: 900; letter-spacing: .02em; }
.form-card input, .form-card select, .form-card textarea { width: 100%; margin-top: 7px; padding: 12px 13px; border: 1px solid #bac5cb; border-radius: 0; background: var(--white); color: var(--ink); }
.form-card textarea { min-height: 120px; resize: vertical; }
.form-card input:focus, .form-card select:focus, .form-card textarea:focus { border-color: var(--orange-dark); outline: 2px solid rgba(255,98,56,.15); }
.form-card .button { background: var(--orange); border-color: var(--orange); }
.form-card .button:hover { background: #ff7049; border-color: #ff7049; }
.optional { color: var(--muted); font-weight: 500; }
.form-privacy { margin-top: 11px; color: #75818a; font-size: .7rem; text-align: center; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-message { margin-bottom: 18px; padding: 13px 15px; font-weight: 750; }
.form-message--success { background: #ddf2e4; color: var(--success); }
.form-message--error { background: #f7e2e2; color: var(--danger); }


.case-study-page { background: var(--paper); }
.case-hero { padding: 74px 0 64px; background: var(--ink); color: var(--white); }
.case-back { display: inline-flex; margin-bottom: 34px; color: #8da2ae; font-size: .76rem; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.case-back:hover { color: var(--orange); }
.case-hero__grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 58px; align-items: end; }
.case-hero h1 { max-width: 900px; font-size: clamp(3rem, 4.7vw, 5.1rem); }
.case-hero__lead { max-width: 760px; margin-top: 24px; color: #adc0cb; font-size: 1rem; }
.case-result { padding: 23px; border: 1px solid rgba(255,255,255,.14); border-left: 4px solid var(--orange); background: #06111a; }
.case-result span { display: block; color: #6f8795; font-size: .61rem; font-weight: 900; letter-spacing: .12em; }
.case-result strong { display: block; margin-top: 10px; color: var(--white); font-size: 1.12rem; line-height: 1.4; }
.case-visual { background: #e3e8eb; }
.case-visual img { width: 100%; border: 1px solid #c1ccd2; box-shadow: var(--shadow); }
.case-content__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 62px; align-items: start; }
.case-content--dark { background: var(--ink-2); color: var(--white); }
.case-content--dark h2 { color: var(--white); }
.case-copy { color: #52616a; font-size: .98rem; }
.case-content--dark .case-copy { color: #a7bac5; }
.case-checks { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.case-checks li { position: relative; padding-left: 23px; }
.case-checks li::before { content: "+"; position: absolute; left: 0; color: var(--orange); font-weight: 900; }
.case-cta { background: #dfe6ea; border-top: 1px solid #c2cdd3; }
.case-cta__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.case-cta__grid > div:last-child p { color: #4d5b64; }
.case-cta .button { margin-top: 24px; }

.footer { background: #030b12; color: #8ca1ad; padding: 44px 0 25px; }
.footer__top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 38px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer__cta { color: var(--white); font-size: 1.15rem; font-weight: 850; text-decoration: none; }
.footer__cta span { color: var(--orange); }
.footer__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 36px; padding-top: 36px; }
.footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; }
.footer__grid span { color: #5f7887; font-size: .62rem; font-weight: 950; letter-spacing: .13em; }
.footer__grid a, .footer__grid p { margin-top: 8px; color: #c1cfd7; font-size: .82rem; text-decoration: none; }
.footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); color: #536a78; font-size: .72rem; }
.mobile-cta { display: none; }


.cookie-consent { position: fixed; z-index: 400; left: 18px; right: 18px; bottom: 18px; }
.cookie-consent[hidden] { display: none; }
.cookie-consent__inner { position: relative; width: min(1040px, 100%); margin-inline: auto; display: grid; grid-template-columns: 1fr minmax(330px, auto); gap: 30px; align-items: center; padding: 25px 66px 25px 28px; border: 1px solid rgba(255,255,255,.16); border-top: 3px solid var(--orange); background: #07131f; color: var(--white); box-shadow: 0 22px 70px rgba(0,0,0,.36); }
.cookie-consent__copy { min-width: 0; }
.cookie-consent strong { font-size: 1.05rem; }
.cookie-consent p { max-width: 720px; margin-top: 7px; color: #b6c5cd; font-size: .84rem; line-height: 1.55; }
.cookie-consent a { display: inline-block; margin-top: 7px; color: #e2e9ed; font-size: .75rem; }
.cookie-consent__actions { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 10px; align-items: stretch; }
.button--cookie-choice { min-height: 46px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.48); background: transparent; color: var(--white); font-size: .7rem; white-space: nowrap; text-align: center; }
.button--cookie-choice:hover, .button--cookie-choice:focus-visible { border-color: var(--orange); background: rgba(255,98,56,.12); color: var(--white); }
.cookie-consent__close { position: absolute; top: 12px; right: 14px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid rgba(255,255,255,.25); background: transparent; color: var(--white); font: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.cookie-consent__close:hover, .cookie-consent__close:focus-visible { border-color: var(--orange); background: rgba(255,98,56,.12); }
.footer__cookie-settings { margin-top: 0; padding: 0; border: 0; background: transparent; color: #92a7b2; font: inherit; font-size: .75rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.footer__cookie-settings:hover { color: var(--white); }

@media (max-width: 1080px) {
  h1 { font-size: clamp(3.2rem, 6.8vw, 5rem); }
  .hero__grid { gap: 40px; }
  .hero__frame { min-height: 500px; }
  .hero__frame img { height: 455px; }
  .nav { gap: 14px; }
  .nav-services__menu { left: auto; right: -300px; width: 620px; }
  .care-grid, .about-grid, .contact-grid { gap: 44px; }
  .performance-band { grid-template-columns: 1fr 1fr; }
  .performance-band__action { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
}

@media (max-width: 900px) {
  body { padding-bottom: 62px; }
  .container { width: min(var(--container), calc(100% - 34px)); }
  .topbar__contact { display: none; }
  .cookie-consent__inner { grid-template-columns: 1fr; gap: 18px; }
  .cookie-consent__actions { justify-content: flex-start; }
  .header__inner { min-height: 76px; }
  .menu-toggle { display: block; }
  .nav { position: absolute; top: calc(100% + 1px); left: 17px; right: 17px; max-height: calc(100vh - 98px); overflow-y: auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 9px; background: #07131f; border: 1px solid rgba(255,255,255,.13); box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .nav > a:not(.button), .nav-services__main { padding: 13px 12px; }
  .nav > a:not(.button)::after, .nav-services__main::after { display: none; }
  .nav-services { width: 100%; border-bottom: 1px solid rgba(255,255,255,.08); }
  .nav-services__trigger { width: 100%; justify-content: space-between; }
  .nav-services__main { flex: 1; }
  .nav-services__toggle { width: 48px; height: 45px; }
  .nav-services__menu { position: static; width: auto; display: none; margin: 0 4px 8px; padding: 7px 12px 12px; background: #0a1a27; border: 0; border-left: 2px solid var(--orange); box-shadow: none; }
  .nav-services.is-open .nav-services__menu, .nav-services:focus-within .nav-services__menu { display: block; }
  .nav-services__menu::before { display: none; }
  .nav-services__group, .nav-services__group:nth-child(odd), .nav-services__group:nth-child(even) { padding: 10px 4px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .nav-services__group:nth-child(n+3) { border-bottom: 1px solid rgba(255,255,255,.08); }
  .nav-services__label { margin-bottom: 5px; }
  .nav-services__group a { padding: 7px 0; font-size: .82rem; }
  .nav-services__all { margin-top: 8px; padding: 11px 4px 2px; background: transparent; border-top: 0; }
  .nav .button { margin-top: 6px; }
  .hero { padding-top: 48px; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__content { padding-bottom: 20px; }
  .hero__visual { min-height: auto; }
  .hero__frame { min-height: 520px; max-width: 660px; margin: 0 auto; }
  .hero__metrics { grid-template-columns: 1fr 1fr; margin-top: 34px; margin-bottom: 18px; }
  .hero__metrics > div:nth-child(2) { border-right: 0; }
  .hero__metrics > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .section { padding: 70px 0; }
  .section-head--split { grid-template-columns: 1fr; gap: 24px; }
  .service-grid, .pricing-grid { grid-template-columns: 1fr; }
  .service-card, .price-card { min-height: auto; }
  .service-card a, .price-card > a { margin-top: 38px; }
  .service-strip { grid-template-columns: 1fr; }
  .workflow-band__grid { grid-template-columns: 1fr; gap: 36px; align-items: start; }
  .workflow-points { grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
  .service-strip a { border-right: 0; border-bottom: 1px solid var(--line); }
  .service-strip a:last-child { border-bottom: 0; }
  .work-grid { grid-template-columns: 1fr; }
  .more-work__grid { grid-template-columns: 1fr; }
  .performance-band { grid-template-columns: 1fr; }
  .performance-band__action { grid-column: auto; align-items: flex-start; flex-direction: column; }
  .care-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .case-hero__grid, .case-content__grid, .case-cta__grid { grid-template-columns: 1fr; gap: 30px; }
  .about-photo { max-width: 560px; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .mobile-cta { position: fixed; z-index: 100; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #263945; background: rgba(3,11,18,.98); }
  .mobile-cta a { min-height: 58px; display: grid; place-items: center; color: #d7e2e8; font-size: .78rem; font-weight: 900; text-decoration: none; }
  .mobile-cta a:last-child { background: var(--orange); color: var(--white); }
}

@media (max-width: 620px) {
  body { font-size: 16px; }
  .container { width: min(var(--container), calc(100% - 28px)); }
  .topbar__inner { min-height: 34px; }
  .topbar p { font-size: .59rem; }
  .brand__text small { display: none; }
  .brand__mark { width: 40px; height: 40px; }
  h1 { font-size: clamp(2.65rem, 12.2vw, 3.8rem); line-height: 1.12; letter-spacing: -.027em; }
  h2 { font-size: clamp(1.95rem, 8.7vw, 2.85rem); line-height: 1.24; letter-spacing: -.022em; }
  .hero { padding-top: 34px; }
  .hero__lead { font-size: .94rem; }
  .hero__actions { display: grid; }
  .hero__actions .button { width: 100%; }
  .hero__techline span { flex: 1 1 50%; text-align: center; }
  .hero__frame { min-height: 380px; padding-inline: 12px; }
  .hero__frame::before { inset: 48px 0 0 36px; }
  .hero__frame img { height: 370px; }
  .hero__status { left: 0; right: 24px; bottom: 16px; min-width: 0; }
  .hero__code { display: none; }
  .hero__metrics { grid-template-columns: 1fr 1fr; }
  .hero__metrics > div { min-height: 82px; }
  .section { padding: 58px 0; }
  .case-hero { padding: 48px 0; }
  .service-card { padding: 21px; }
  .service-card__icon { margin-top: 26px; }
  .work-card__meta { padding: 20px; }
  .work-card__meta p { min-height: 0; }
  .price-card { padding: 21px; }
  .price-card__head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .performance-band { padding: 21px; }
  .workflow-points { grid-template-columns: 1fr; gap: 10px; }
  .care-plans article { grid-template-columns: 46px 1fr; padding: 18px 0; }
  .care-plans strong { grid-column: 2; text-align: left; }
  .about-points { grid-template-columns: 1fr 1fr; }
  .testimonial-grid article { min-height: auto; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li { min-height: 165px; }
  .process-grid h3 { margin-top: 28px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-card { padding: 19px; box-shadow: 8px 8px 0 rgba(7,19,31,.1); }
  .contact-channels > a, .contact-channels > div { grid-template-columns: 1fr; gap: 2px; }
  .footer__top { align-items: flex-start; flex-direction: column; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

.case-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.case-cta__actions .button { margin-top: 0; }
.case-cta__actions .button--ghost { border-color: #9eabb3; color: var(--ink); }
.case-cta__actions .button--ghost:hover { border-color: var(--ink); background: var(--ink); color: var(--white); }

/* =========================================================
   SERVICE PAGES / V20
   New components only. No overrides of homepage components.
   ========================================================= */
.service-page { background: var(--paper); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; color: #77909e; font-size: .72rem; font-weight: 800; }
.breadcrumbs a { color: #a9bbc5; text-decoration: none; }
.breadcrumbs a:hover { color: var(--orange); }
.breadcrumbs strong { color: #d9e3e8; }

.service-detail-hero, .service-hub-hero { position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.service-detail-hero { padding: 68px 0 0; }
.service-hub-hero { padding: 70px 0; }
.service-detail-hero::after, .service-hub-hero::after { content: ""; position: absolute; right: -150px; top: -100px; width: 500px; height: 500px; border: 1px solid rgba(255,98,56,.2); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,98,56,.025), 0 0 0 140px rgba(255,98,56,.018); }
.service-detail-hero__grid-bg { position: absolute; inset: 0; opacity: .27; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, rgba(0,0,0,.85), transparent 82%); }
.service-detail-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .65fr; gap: 68px; align-items: end; padding-bottom: 58px; }
.service-detail-hero h1, .service-hub-hero h1 { max-width: 900px; font-size: clamp(3.25rem, 5vw, 5.5rem); }
.service-detail-hero__lead { max-width: 780px; margin-top: 24px; color: #b3c4cd; font-size: 1.04rem; line-height: 1.62; }
.service-detail-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.service-detail-chips { display: flex; flex-wrap: wrap; margin-top: 34px; border-top: 1px solid rgba(255,255,255,.13); border-left: 1px solid rgba(255,255,255,.13); }
.service-detail-chips span { padding: 11px 14px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); color: #87a0ae; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.service-detail-hero__panel { position: relative; z-index: 2; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-top: 4px solid var(--orange); background: #06111a; }
.service-detail-hero__panel-label { display: block; margin-top: 28px; color: #6f8795; font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.service-detail-hero__panel > strong { display: block; margin-top: 5px; color: var(--white); font-size: 1.55rem; line-height: 1.25; }
.service-detail-hero__panel > p { margin-top: 9px; color: #8ca1ad; font-size: .82rem; }
.service-detail-hero__panel ul { display: grid; gap: 10px; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.service-detail-hero__panel li { position: relative; padding-left: 20px; color: #b8c7cf; font-size: .82rem; }
.service-detail-hero__panel li::before { content: "+"; position: absolute; left: 0; color: var(--orange); font-weight: 950; }
.service-symbol { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border: 1px solid #b9c7ce; background: var(--white); color: var(--orange-dark); }
.service-symbol::after { content: ""; position: absolute; top: -1px; right: -1px; width: 10px; height: 10px; border-top: 2px solid var(--orange); border-right: 2px solid var(--orange); }
.service-symbol svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.service-symbol--large { width: 70px; height: 70px; }
.service-symbol--large svg { width: 40px; height: 40px; }
.service-trust-strip { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.14); border-bottom-color: rgba(255,255,255,.22); margin-bottom: 24px; }
.service-trust-strip > div { display: flex; align-items: center; gap: 14px; min-height: 96px; padding: 18px 20px; border-right: 1px solid rgba(255,255,255,.14); }
.service-trust-strip > div:last-child { border-right: 0; }
.service-trust-strip strong { color: var(--white); font-size: 1.35rem; }
.service-trust-strip span { max-width: 160px; color: #8ca4b2; font-size: .78rem; line-height: 1.35; }

.service-fit { background: var(--paper); }
.service-fit__grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 42px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-fit__grid article { min-height: 230px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8fafb; }
.service-fit__grid span, .service-approach__points span { color: var(--orange-dark); font-size: .65rem; font-weight: 950; letter-spacing: .12em; }
.service-fit__grid h3 { margin-top: 50px; color: var(--ink); font-size: 1.45rem; }
.service-fit__grid p { margin-top: 12px; color: #66737c; font-size: .9rem; }

.service-scope { background: #e7ecef; }
.service-scope__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }
.service-scope__intro > p:last-child { max-width: 530px; margin-top: 20px; color: #61717b; }
.service-checklist { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; border-top: 1px solid #bcc8ce; border-left: 1px solid #bcc8ce; list-style: none; }
.service-checklist li { position: relative; min-height: 86px; display: flex; align-items: center; padding: 18px 20px 18px 46px; border-right: 1px solid #bcc8ce; border-bottom: 1px solid #bcc8ce; color: #33434d; font-weight: 700; }
.service-checklist li::before { content: "✓"; position: absolute; left: 19px; display: grid; place-items: center; width: 18px; height: 18px; background: var(--orange); color: var(--white); font-size: .7rem; font-weight: 950; }

.service-approach { background: var(--ink-2); color: var(--white); }
.service-approach h2 { color: var(--white); }
.service-approach__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.service-approach__lead { max-width: 600px; margin-top: 22px; color: #9eb1bc; }
.service-approach__points { border-top: 1px solid rgba(255,255,255,.14); }
.service-approach__points article { display: grid; grid-template-columns: 48px .55fr 1fr; gap: 18px; align-items: center; min-height: 122px; border-bottom: 1px solid rgba(255,255,255,.14); }
.service-approach__points h3 { color: var(--white); font-size: 1rem; }
.service-approach__points p { color: #849ba8; font-size: .84rem; }

.service-cases { background: #07131f; color: var(--white); }
.service-cases h2 { color: var(--white); }
.service-cases .section-head--split > p { color: #8fa5b2; }
.service-cases__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-top: 40px; }
.service-case-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid rgba(255,255,255,.13); background: #091925; }
.service-case-card__media { display: grid; place-items: center; aspect-ratio: 8 / 5; padding: 0; background: #06111a; overflow: hidden; }
.service-case-card__media img { width: 100%; height: 100%; object-fit: contain; }
.service-case-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; border-top: 2px solid var(--orange); }
.service-case-card__body > span { color: #7894a3; font-size: .61rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.service-case-card__body h3 { margin-top: 9px; color: var(--white); font-size: 1.35rem; }
.service-case-card__body p { margin-top: 10px; color: #a6bac4; font-size: .86rem; }
.service-case-card__actions { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: auto; padding-top: 23px; }
.service-case-card__actions a { color: var(--orange); font-size: .7rem; font-weight: 900; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.service-case-card__actions a + a { color: #8199a7; }
.service-case-card__actions a:hover { color: var(--white); }
.service-inline-link { display: inline-flex; margin-top: 24px; color: var(--orange-dark); font-size: .76rem; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.service-cases .service-inline-link { color: var(--orange); }

.service-process { background: var(--paper); }
.service-process__grid { display: grid; grid-template-columns: repeat(4,1fr); margin: 42px 0 0; padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); list-style: none; }
.service-process__grid li { min-height: 190px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8fafb; }
.service-process__grid span { color: var(--orange-dark); font-size: .65rem; font-weight: 950; letter-spacing: .12em; }
.service-process__grid h3 { margin-top: 54px; font-size: 1.14rem; line-height: 1.35; }

.service-faq { background: #e7ecef; }
.service-faq__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; align-items: start; }
.service-faq__list { border-top: 1px solid #b9c6cd; }
.service-faq details { border-bottom: 1px solid #b9c6cd; }
.service-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; cursor: pointer; list-style: none; color: var(--ink); font-size: 1rem; font-weight: 800; }
.service-faq summary::-webkit-details-marker { display: none; }
.service-faq summary span { color: var(--orange-dark); font-size: 1.3rem; font-weight: 400; transition: transform .18s ease; }
.service-faq details[open] summary span { transform: rotate(45deg); }
.service-faq details p { max-width: 780px; padding: 0 44px 24px 0; color: #5e6d76; font-size: .9rem; }

.related-services { background: var(--paper); }
.related-services__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 36px; background: var(--line); border: 1px solid var(--line); }
.related-service-card { min-height: 190px; display: flex; flex-direction: column; padding: 22px; background: #f8fafb; transition: background .18s ease, transform .18s ease; }
.related-service-card:hover { z-index: 2; background: var(--white); transform: translateY(-3px); }
.related-service-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.related-service-card .service-symbol { width: 46px; height: 46px; }
.related-service-card__group { color: #6e7f89; font-size: .6rem; font-weight: 900; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid transparent; }
.related-service-card__group:hover { color: var(--orange-dark); border-bottom-color: currentColor; }
.related-service-card__main { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 28px; color: var(--ink); text-decoration: none; }
.related-service-card__main strong { font-size: 1rem; }
.related-service-card__main b { color: var(--orange-dark); font-size: 1rem; font-weight: 500; }
.eyebrow__link { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; }
.eyebrow__link:hover { color: var(--orange); }
.service-group-route { display: inline-flex; margin-top: 12px; color: var(--orange-dark); font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.service-group-route:hover { color: var(--ink); }

.service-final-cta { padding: 68px 0; background: var(--ink); color: var(--white); border-top: 4px solid var(--orange); }
.service-final-cta__grid { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: end; }
.service-final-cta h2 { color: var(--white); }
.service-final-cta p:not(.eyebrow) { max-width: 720px; margin-top: 18px; color: #9fb2bd; }
.service-final-cta__grid > div:last-child { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; min-width: 300px; }
.service-final-cta__grid > div:last-child > span { color: #8ca2af; font-size: .75rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.service-final-cta__grid > div:last-child > a:last-child { color: #93a8b4; font-size: .78rem; text-decoration: none; }

.service-hub-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .55fr; gap: 70px; align-items: end; }
.service-hub-hero h1 { max-width: 950px; }
.service-hub-hero__inner > div > p:not(.eyebrow) { max-width: 820px; margin-top: 24px; color: #aec0ca; font-size: 1.04rem; }
.service-hub-hero__aside { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; padding: 24px; border: 1px solid rgba(255,255,255,.14); border-left: 4px solid var(--orange); background: #06111a; }
.service-hub-hero__aside strong { color: var(--white); font-size: 1.45rem; }
.service-hub-hero__aside span { align-self: center; color: #8ea4b1; font-size: .78rem; }
.service-hub-hero__aside strong:not(:first-child), .service-hub-hero__aside span:not(:nth-child(2)) { margin-top: 16px; }
.services-hub { background: var(--paper); }
.services-hub__group + .services-hub__group { margin-top: 76px; padding-top: 72px; border-top: 1px solid var(--line); }
.services-hub__head { display: grid; grid-template-columns: .55fr 1.45fr; gap: 60px; align-items: start; }
.services-hub__head .eyebrow { margin-top: 9px; }
.services-hub__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 38px; background: var(--line); border: 1px solid var(--line); }
.services-hub__grid > a { position: relative; min-height: 330px; display: flex; flex-direction: column; padding: 25px; background: #f8fafb; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.services-hub__grid > a:hover { z-index: 2; background: var(--white); transform: translateY(-3px); }
.services-hub__num { position: absolute; right: 22px; top: 24px; color: #a0adb5; font-size: .63rem; font-weight: 950; letter-spacing: .12em; }
.services-hub__grid h3 { margin-top: 38px; color: var(--ink); font-size: 1.45rem; }
.services-hub__grid p { margin-top: 12px; color: #65737c; font-size: .86rem; }
.services-hub__grid > a > strong { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 26px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.services-hub__grid > a > strong b { font-size: 1rem; font-weight: 500; }

@media (max-width: 1080px) {
  .service-detail-hero__grid { gap: 44px; }
  .service-approach__grid, .service-scope__grid, .service-faq__grid { gap: 44px; }
  .related-services__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .service-detail-hero { padding-top: 52px; }
  .service-detail-hero__grid, .service-hub-hero__inner, .service-scope__grid, .service-approach__grid, .service-faq__grid, .service-final-cta__grid { grid-template-columns: 1fr; }
  .service-detail-hero__grid { gap: 36px; padding-bottom: 42px; }
  .service-detail-hero__panel { max-width: 680px; }
  .service-trust-strip { grid-template-columns: 1fr 1fr; }
  .service-trust-strip > div:nth-child(2) { border-right: 0; }
  .service-trust-strip > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .service-fit__grid, .service-cases__grid { grid-template-columns: 1fr; }
  .service-checklist { grid-template-columns: 1fr; }
  .service-approach__points article { grid-template-columns: 40px .65fr 1.35fr; }
  .service-process__grid { grid-template-columns: 1fr 1fr; }
  .service-final-cta__grid > div:last-child { align-items: flex-start; min-width: 0; }
  .services-hub__head { grid-template-columns: 1fr; gap: 12px; }
  .services-hub__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .cookie-consent { left: 8px; right: 8px; bottom: 8px; }
  .cookie-consent__inner { padding: 54px 19px 19px; }
  .cookie-consent__actions { display: grid; grid-template-columns: 1fr; }
  .button--cookie-choice { width: 100%; }
  .service-detail-hero, .service-hub-hero { padding-top: 40px; }
  .service-detail-hero h1, .service-hub-hero h1 { font-size: clamp(2.55rem, 11.5vw, 3.7rem); }
  .service-detail-hero__lead, .service-hub-hero__inner > div > p:not(.eyebrow) { font-size: .94rem; }
  .service-detail-hero__actions { display: grid; }
  .service-detail-hero__actions .button { width: 100%; }
  .service-detail-chips span { flex: 1 1 50%; text-align: center; }
  .service-detail-hero__panel { padding: 22px; }
  .service-trust-strip { grid-template-columns: 1fr; }
  .service-trust-strip > div { min-height: 78px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .service-trust-strip > div:last-child { border-bottom: 0; }
  .service-fit__grid article { min-height: auto; padding: 22px; }
  .service-fit__grid h3 { margin-top: 32px; }
  .service-checklist li { min-height: 74px; }
  .service-approach__points article { grid-template-columns: 34px 1fr; gap: 10px 16px; padding: 20px 0; }
  .service-approach__points article p { grid-column: 2; }
  .service-case-card__body { padding: 20px; }
  .service-process__grid { grid-template-columns: 1fr; }
  .service-process__grid li { min-height: 145px; }
  .service-process__grid h3 { margin-top: 34px; }
  .service-faq summary { min-height: 68px; font-size: .94rem; }
  .service-faq details p { padding-right: 0; }
  .related-services__grid, .services-hub__grid { grid-template-columns: 1fr; }
  .related-service-card { min-height: 155px; }
  .services-hub__group + .services-hub__group { margin-top: 54px; padding-top: 50px; }
  .services-hub__grid > a { min-height: 270px; }
  .service-final-cta { padding: 56px 0; }
}

/* =========================================================
   BLOG / V24
   ========================================================= */
.blog-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:clamp(5rem,8vw,8.5rem) 0 clamp(4rem,6vw,6.5rem)}
.blog-hero__grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(126,157,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(126,157,184,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.blog-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:clamp(3rem,8vw,8rem);align-items:end}
.blog-hero h1{max-width:12ch;margin:.7rem 0 0;font-size:clamp(3.2rem,6.2vw,6.4rem);line-height:1.10;letter-spacing:-.045em}
.blog-hero__inner>div:last-child{max-width:650px}.blog-hero__inner>div:last-child p{margin:0 0 1.8rem;color:#afc0cb;font-size:1.08rem;line-height:1.75}
.blog-listing{background:var(--paper)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.blog-card{min-width:0;background:var(--paper);display:flex;flex-direction:column}
.blog-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ink);border-bottom:3px solid var(--accent)}
.blog-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.blog-card:hover .blog-card__media img{transform:scale(1.025)}
.blog-card__media--fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--ink),#17324a)}
.blog-card__media--fallback span{font-size:clamp(3rem,6vw,5.5rem);font-weight:800;color:var(--accent);letter-spacing:-.06em}
.blog-card__body{display:flex;flex-direction:column;flex:1;padding:1.6rem 1.55rem 1.8rem}
.blog-card__meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem;color:#718492;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.blog-card h2{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.16;letter-spacing:-.025em;margin:0 0 .8rem}.blog-card h2 a{text-decoration:none;color:var(--ink)}
.blog-card p{color:var(--muted);line-height:1.65;margin:0 0 1.5rem}
.blog-card__link{margin-top:auto;text-decoration:none;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.blog-cta{background:#dce5ea;padding:clamp(4rem,7vw,7rem) 0}.blog-cta__inner{display:grid;grid-template-columns:1fr .8fr;gap:clamp(3rem,8vw,8rem);align-items:center}.blog-cta h2{max-width:15ch;margin:.6rem 0 0}.blog-cta__inner>div:last-child p{font-size:1.05rem;line-height:1.7;color:var(--muted);margin:0 0 1.7rem}
@media(max-width:980px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-hero__inner,.blog-cta__inner{grid-template-columns:1fr;gap:2rem}.blog-hero h1{max-width:14ch}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-hero{padding-top:4rem}.blog-hero h1{font-size:clamp(2.75rem,15vw,4.4rem)}.blog-card__body{padding:1.35rem}}


/* V28 – samostatné obsahové stránky a měřitelný formulář */
.page-hero { position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.page-hero__grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, rgba(0,0,0,.9), transparent 88%); }
.page-hero::after { content: ""; position: absolute; right: -160px; top: -150px; width: 520px; height: 520px; border: 1px solid rgba(255,98,56,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,98,56,.025), 0 0 0 140px rgba(255,98,56,.018); }
.page-hero__simple, .page-hero__split { position: relative; z-index: 2; padding-top: 64px; padding-bottom: 64px; }
.page-hero__simple { max-width: 1120px; }
.page-hero__split { display: grid; grid-template-columns: 1.08fr .72fr; gap: 64px; align-items: center; }
.page-hero h1 { max-width: 980px; color: var(--white); font-size: clamp(3.1rem, 5vw, 5.35rem); line-height: 1.12; }
.page-hero__lead { max-width: 800px; margin-top: 24px; color: #b3c4cd; font-size: 1.03rem; line-height: 1.65; }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }

.about-page__visual { position: relative; max-width: 500px; margin-left: auto; border: 1px solid rgba(255,255,255,.16); border-bottom: 4px solid var(--orange); background: #07131d; }
.about-page__visual img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 20%; }
.about-page__visual > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; padding: 18px 20px; border-top: 1px solid rgba(255,255,255,.12); }
.about-page__visual span { grid-row: span 2; color: var(--orange); font-size: 2rem; font-weight: 800; }
.about-page__visual strong { color: var(--white); font-size: .92rem; }
.about-page__visual small { color: #78909d; font-size: .72rem; }
.about-page__cards { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.about-page__cards article { min-height: 230px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.about-page__cards span { color: var(--orange-dark); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.about-page__cards h3 { margin-top: 28px; font-size: 1.2rem; }
.about-page__cards p { margin-top: 12px; color: #5b6972; font-size: .88rem; line-height: 1.65; }
.about-page__workflow { background: var(--ink-2); color: var(--white); }
.about-page__workflow-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.about-page__workflow h2 { color: var(--white); }
.about-page__workflow-grid > div:last-child > p { max-width: 780px; color: #aabcc6; line-height: 1.7; }
.about-page__workflow-grid > div:last-child > p + p { margin-top: 18px; }
.about-page__workflow-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.about-page__workflow-tags span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.14); color: #c6d3da; font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }

.reference-page__listing { background: var(--paper); }
.reference-page__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 28px; }
.portfolio-card { overflow: hidden; border: 1px solid var(--line); background: var(--white); }
.portfolio-card__media { display: block; aspect-ratio: 8/5; overflow: hidden; background: #e8edf0; }
.portfolio-card__media img { width: 100%; height: 100%; object-fit: cover; }
.portfolio-card__body { padding: 24px; border-top: 3px solid var(--orange); }
.portfolio-card__body > span { color: var(--orange-dark); font-size: .64rem; font-weight: 900; letter-spacing: .09em; }
.portfolio-card__body h2 { margin-top: 11px; font-size: 1.45rem; }
.portfolio-card__body p { margin-top: 11px; color: #5a6871; font-size: .88rem; line-height: 1.62; }
.portfolio-card__body > strong { display: block; margin-top: 16px; color: var(--ink); font-size: .9rem; line-height: 1.5; }
.portfolio-card__actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 22px; }
.portfolio-card__actions a { color: var(--ink); font-size: .78rem; font-weight: 900; text-decoration: none; }
.portfolio-card__actions a:first-child { color: var(--orange-dark); }

.contact-page__details { display: grid; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.contact-page__details > * { display: flex; flex-direction: column; gap: 8px; padding: 20px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); text-decoration: none; }
.contact-page__details span { color: #6f8795; font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.contact-page__details strong { color: var(--white); font-size: .92rem; line-height: 1.5; }
.contact-page .contact-section--embedded { padding-top: 72px; }
.contact-page__faq { background: var(--paper); }
.contact-page__faq .service-faq__list { display: grid; gap: 12px; border-top: 0; }
.contact-page__faq .service-faq__list details { overflow: hidden; border: 1px solid var(--line); background: var(--white); transition: border-color .18s ease, box-shadow .18s ease; }
.contact-page__faq .service-faq__list details[open] { border-color: #aebdc5; box-shadow: 0 10px 26px rgba(6,25,38,.06); }
.contact-page__faq .service-faq__list summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 78px; padding: 0 20px 0 24px; cursor: pointer; list-style: none; color: var(--ink); font-size: 1rem; font-weight: 750; line-height: 1.45; }
.contact-page__faq .service-faq__list summary::-webkit-details-marker { display: none; }
.contact-page__faq .service-faq__list summary::marker { content: ""; }
.contact-page__faq .service-faq__list summary span { display: inline-flex; flex: 0 0 38px; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid #f0a18a; background: #fff8f5; color: var(--orange-dark); font-family: "Inter", sans-serif; font-size: 0; font-weight: 450; line-height: 1; }
.contact-page__faq .service-faq__list summary span::before { content: "+"; font-size: 1.35rem; line-height: 1; }
.contact-page__faq .service-faq__list details[open] summary span::before { content: "−"; }
.contact-page__faq .service-faq__list details p { max-width: 850px; margin: -2px 0 0; padding: 0 82px 24px 24px; color: #556773; font-size: .94rem; line-height: 1.7; }
@media (max-width: 720px) {
  .contact-page__faq .service-faq__list summary { min-height: 70px; padding: 14px 14px 14px 16px; font-size: .94rem; }
  .contact-page__faq .service-faq__list summary span { flex-basis: 34px; width: 34px; height: 34px; }
  .contact-page__faq .service-faq__list details p { padding: 0 16px 20px; font-size: .9rem; }
}

.page-cta { background: var(--orange); color: var(--ink); }
.page-cta__grid { display: grid; grid-template-columns: 1fr .82fr; gap: 70px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.page-cta h2 { color: var(--ink); }
.page-cta p { max-width: 680px; line-height: 1.65; }
.page-cta .button { margin-top: 20px; background: var(--ink); border-color: var(--ink); color: var(--white); }

.legal-content { background: var(--paper); }
.legal-content__inner { max-width: 920px; }
.legal-content h2 { margin-top: 38px; font-size: 1.45rem; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { margin-top: 12px; color: #53616a; line-height: 1.75; }
.legal-content a { color: var(--orange-dark); font-weight: 700; }
.legal-note { padding-top: 18px; border-top: 1px solid var(--line); font-size: .82rem; }

.form-privacy a { color: var(--orange-dark); font-weight: 800; }
.footer__legal { display: flex; flex-wrap: wrap; gap: 18px; }
.footer__legal a { color: #718795; text-decoration: none; }
.footer__legal a:hover { color: var(--white); }
.contact-section--embedded .contact-grid { align-items: start; }

@media (max-width: 980px) {
  .page-hero__split, .about-page__workflow-grid, .page-cta__grid { grid-template-columns: 1fr; gap: 42px; }
  .about-page__visual { margin-left: 0; max-width: 520px; }
  .about-page__cards { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  .page-hero__simple, .page-hero__split { padding-top: 44px; padding-bottom: 46px; }
  .page-hero h1 { font-size: clamp(2.55rem, 11vw, 3.7rem); }
  .page-hero__lead { font-size: .94rem; }
  .page-hero__actions { display: grid; }
  .page-hero__actions .button { width: 100%; }
  .about-page__cards, .reference-page__grid { grid-template-columns: 1fr; }
  .about-page__cards article { min-height: auto; }
  .portfolio-card__body { padding: 20px; }
  .page-cta__grid { padding-top: 42px; padding-bottom: 42px; }
  .footer__legal { flex-direction: column; gap: 8px; }
}
.error-page__main { min-height: 58vh; padding: 90px 0; background: var(--ink); color: var(--white); }
.error-page__main h1 { max-width: 900px; color: var(--white); }
.error-page__main > .container > p:not(.eyebrow) { max-width: 660px; margin-top: 22px; color: #9bb0bd; line-height: 1.65; }

/* V32 – flagship case study Pravecbus */
.case-study-pravecbus .case-hero--flagship { padding-bottom: 72px; }
.case-study-pravecbus .case-hero h1 { max-width: 980px; font-size: clamp(3rem, 4.65vw, 5.05rem); }
.case-study-pravecbus .case-hero__lead { max-width: 820px; font-size: 1.02rem; line-height: 1.72; }
.case-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.case-result--strong { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; }
.case-result--strong small { display: block; margin-top: 14px; color: #8fa6b3; font-size: .79rem; line-height: 1.6; }
.case-visual--hero { padding-top: 52px; padding-bottom: 52px; }
.case-visual--hero img { background: var(--white); }

.case-facts { background: var(--ink); color: var(--white); border-top: 1px solid rgba(255,255,255,.11); border-bottom: 1px solid rgba(255,255,255,.11); }
.case-facts__grid { display: grid; grid-template-columns: repeat(5,1fr); }
.case-facts__grid > div { min-height: 112px; padding: 24px 20px; border-right: 1px solid rgba(255,255,255,.11); }
.case-facts__grid > div:first-child { border-left: 1px solid rgba(255,255,255,.11); }
.case-facts span { display: block; color: #6f8795; font-size: .61rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.case-facts strong { display: block; margin-top: 10px; color: var(--white); font-size: .92rem; line-height: 1.45; }

.case-copy--large { font-size: 1.02rem; line-height: 1.75; }
.case-copy p + p { margin-top: 18px; }
.case-section-head { display: grid; grid-template-columns: 1.05fr .75fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.case-section-head > p { color: #596871; line-height: 1.7; }
.case-section-head--dark > p { color: #9bb0bd; }
.case-story-intro__grid { grid-template-columns: .78fr 1.22fr; gap: 72px; }

.case-media-card { margin: 0; overflow: hidden; border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow); }
.case-media-card--clean { box-shadow: none; background: var(--white); }
.case-media-card--clean img { width: 100%; }

.case-before { background: #e7ecef; }
.case-before-evidence { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-bottom: 26px; }
.case-evidence-card { margin: 0; overflow: hidden; border: 1px solid #c2cdd3; background: var(--white); }
.case-evidence-card__image { height: 280px; overflow: hidden; background: #dfe5e8; }
.case-evidence-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.case-evidence-card figcaption { padding: 16px 18px 18px; border-top: 1px solid #d1dade; }
.case-evidence-card figcaption span { display: block; color: var(--orange-dark); font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.case-evidence-card figcaption strong { display: block; margin-top: 7px; color: var(--ink); font-size: .84rem; line-height: 1.45; }

.case-problems { display: grid; border-top: 1px solid #bcc8cf; border-left: 1px solid #bcc8cf; }
.case-problems--compact { grid-template-columns: repeat(3,1fr); }
.case-problems article { min-height: 178px; padding: 20px; border-right: 1px solid #bcc8cf; border-bottom: 1px solid #bcc8cf; background: rgba(255,255,255,.48); }
.case-problems article > span, .case-feature-grid article > span, .case-goals__grid article > span, .case-handoff-grid article > span { color: var(--orange-dark); font-size: .63rem; font-weight: 900; letter-spacing: .12em; }
.case-problems h3 { margin-top: 22px; font-size: 1.05rem; }
.case-problems p { margin-top: 9px; color: #596871; font-size: .82rem; line-height: 1.58; }

.case-goals__grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.13); border-left: 1px solid rgba(255,255,255,.13); }
.case-goals__grid article { min-height: 205px; padding: 24px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.case-goals__grid h3 { margin-top: 40px; color: var(--white); font-size: 1.16rem; }
.case-goals__grid p { margin-top: 10px; color: #9cb0bb; font-size: .84rem; line-height: 1.62; }

.case-process-flow { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-process-flow article { position: relative; min-height: 190px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.case-process-flow article > span { color: var(--orange-dark); font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.case-process-flow strong { display: block; margin-top: 34px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 1.04rem; line-height: 1.35; }
.case-process-flow p { margin-top: 9px; color: #5d6b74; font-size: .82rem; line-height: 1.58; }
.case-architecture__detail { display: grid; grid-template-columns: 1.2fr .8fr; gap: 34px; align-items: start; margin-top: 26px; }
.case-service-chips, .case-stack { display: flex; flex-wrap: wrap; gap: 8px; }
.case-service-chips span { padding: 9px 11px; border: 1px solid #c6d1d7; background: var(--white); color: var(--ink); font-size: .73rem; font-weight: 800; }
.case-stack { margin-top: 24px; }
.case-stack span { padding: 9px 11px; border: 1px solid rgba(255,255,255,.14); color: #c1d0d8; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.case-note { margin-top: 0 !important; padding-left: 16px; border-left: 3px solid var(--orange); color: #61717a !important; font-size: .84rem; line-height: 1.62; }
.case-content--dark .case-note { color: #9bb0bd !important; }

.case-tech-benefits { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.13); border-left: 1px solid rgba(255,255,255,.13); }
.case-tech-benefits article { min-height: 160px; padding: 24px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.case-tech-benefits strong { display: block; color: var(--white); font-family: "Manrope", sans-serif; font-size: 1.06rem; line-height: 1.35; }
.case-tech-benefits p { margin-top: 10px; color: #9cb0bb; font-size: .84rem; line-height: 1.62; }

.case-benefit-strip { display: grid; grid-template-columns: .28fr 1fr; gap: 26px; align-items: center; margin-bottom: 22px; padding: 20px 22px; border-left: 4px solid var(--orange); background: var(--ink); color: var(--white); }
.case-benefit-strip span { color: var(--orange); font-size: .62rem; font-weight: 900; letter-spacing: .11em; }
.case-benefit-strip strong { font-family: "Manrope", sans-serif; font-size: 1.05rem; line-height: 1.5; }
.case-form-shot { max-width: 1160px; margin-inline: auto; }
.case-feature-grid { display: grid; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-feature-grid--compact { grid-template-columns: repeat(3,1fr); margin-top: 24px; }
.case-feature-grid article { min-height: 180px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.case-feature-grid h3 { margin-top: 26px; font-size: 1.06rem; }
.case-feature-grid p { margin-top: 9px; color: #5f6d75; font-size: .84rem; line-height: 1.62; }

.case-showcase-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; align-items: stretch; }
.case-showcase-card { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); background: #06111a; }
.case-showcase-window { height: 540px; overflow: hidden; background: #eef2f4; }
.case-showcase-window img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.case-showcase-card figcaption { display: grid; grid-template-columns: 1fr auto; gap: 6px 18px; align-items: center; padding: 17px 18px; border-top: 1px solid rgba(255,255,255,.12); }
.case-showcase-card figcaption span { grid-column: 1 / -1; color: var(--orange); font-size: .6rem; font-weight: 900; letter-spacing: .12em; }
.case-showcase-card figcaption strong { color: var(--white); font-size: .9rem; }
.case-showcase-card figcaption a { color: var(--orange); font-size: .7rem; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .05em; }
.case-compare-small { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 18px; }
.case-compare-small figure { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); background: #06111a; }
.case-compare-small figcaption { padding: 10px 13px; color: #91a7b4; font-size: .66rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.case-compare-small--compact img { width: 100%; height: 250px; object-fit: cover; object-position: top; }

.case-performance__grid { grid-template-columns: .9fr 1.1fr; align-items: center; }
.case-score-grid { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 28px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-score-grid > div { min-height: 112px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.case-score-grid strong { display: block; color: var(--success); font-family: "Manrope", sans-serif; font-size: 2.2rem; line-height: 1; }
.case-score-grid span { display: block; margin-top: 9px; color: #5d6b74; font-size: .74rem; font-weight: 800; }
.case-performance__proof { justify-self: end; max-width: 620px; }
.case-performance__proof .case-note { margin-top: 16px !important; }
.case-pagespeed-shot { width: min(100%, 470px); margin-inline: auto; background: transparent; }
.case-pagespeed-shot img { width: 100%; height: auto; object-fit: contain; }

.case-results { background: #e5eaed; }
.case-result-hero { display: grid; grid-template-columns: .28fr 1fr; gap: 28px; margin-bottom: 18px; padding: 28px; background: var(--ink); color: var(--white); }
.case-result-hero > span { color: var(--orange); font-size: .63rem; font-weight: 900; letter-spacing: .11em; }
.case-result-hero strong { display: block; font-family: "Manrope", sans-serif; font-size: clamp(1.65rem, 3vw, 2.9rem); line-height: 1.16; }
.case-result-hero p { grid-column: 2; margin-top: -10px; color: #9eb1bc; line-height: 1.6; }
.case-results__grid { display: grid; border-top: 1px solid #bdc9d0; border-left: 1px solid #bdc9d0; }
.case-results__grid--three { grid-template-columns: repeat(3,1fr); }
.case-result-card { min-height: 220px; padding: 24px; border-right: 1px solid #bdc9d0; border-bottom: 1px solid #bdc9d0; background: rgba(255,255,255,.52); }
.case-result-card > span { color: var(--orange-dark); font-size: .62rem; font-weight: 900; letter-spacing: .11em; }
.case-result-card strong { display: block; margin-top: 36px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 1.55rem; line-height: 1.15; }
.case-result-card p { margin-top: 12px; color: #5a6871; font-size: .84rem; line-height: 1.6; }
.case-result-summary { display: grid; grid-template-columns: .28fr 1fr; gap: 42px; margin-top: 32px; padding-top: 28px; border-top: 1px solid #bdc9d0; }
.case-result-summary blockquote { margin: 0; max-width: 900px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: clamp(1.3rem, 2vw, 1.95rem); font-weight: 650; line-height: 1.38; letter-spacing: -.01em; }

.case-handoff-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-handoff-grid article { min-height: 170px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.case-handoff-grid strong { display: block; margin-top: 30px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 1.03rem; }
.case-handoff-grid p { margin-top: 9px; color: #5d6b74; font-size: .82rem; line-height: 1.58; }

@media (max-width: 1050px) {
  .case-facts__grid { grid-template-columns: repeat(3,1fr); }
  .case-facts__grid > div:nth-child(4), .case-facts__grid > div:nth-child(5) { border-top: 1px solid rgba(255,255,255,.11); }
  .case-story-intro__grid, .case-section-head, .case-performance__grid { grid-template-columns: 1fr; gap: 28px; }
  .case-before-evidence, .case-problems--compact, .case-process-flow, .case-goals__grid, .case-handoff-grid { grid-template-columns: repeat(2,1fr); }
  .case-architecture__detail { grid-template-columns: 1fr; }
  .case-performance__proof { justify-self: stretch; max-width: none; }
}

@media (max-width: 760px) {
  .case-study-pravecbus .case-hero--flagship { padding-bottom: 50px; }
  .case-study-pravecbus .case-hero h1 { font-size: clamp(2.6rem, 11.5vw, 3.8rem); }
  .case-hero__actions { display: grid; }
  .case-hero__actions .button { width: 100%; }
  .case-facts__grid { grid-template-columns: 1fr; }
  .case-facts__grid > div, .case-facts__grid > div:first-child { min-height: auto; border-left: 1px solid rgba(255,255,255,.11); border-top: 0; border-bottom: 1px solid rgba(255,255,255,.11); }
  .case-before-evidence, .case-problems--compact, .case-process-flow, .case-goals__grid, .case-tech-benefits, .case-feature-grid--compact, .case-showcase-grid, .case-compare-small, .case-score-grid, .case-results__grid--three, .case-handoff-grid, .case-result-summary, .case-result-hero { grid-template-columns: 1fr; }
  .case-evidence-card__image { height: 230px; }
  .case-problems article, .case-goals__grid article, .case-tech-benefits article, .case-feature-grid article, .case-result-card, .case-handoff-grid article { min-height: auto; }
  .case-goals__grid h3, .case-feature-grid h3, .case-result-card strong, .case-handoff-grid strong { margin-top: 22px; }
  .case-benefit-strip { grid-template-columns: 1fr; gap: 8px; }
  .case-showcase-window { height: 390px; }
  .case-showcase-card figcaption { grid-template-columns: 1fr; }
  .case-compare-small--compact img { height: 210px; }
  .case-result-hero p { grid-column: 1; margin-top: 0; }
  .case-result-summary { gap: 12px; }
}


/* =========================================================
   V40 / ACTION FOOTER + SOCIAL PROFILES + BACK TO TOP
   ========================================================= */
.footer { position: relative; overflow: hidden; padding: 0 0 24px; background: #030b12; color: #8ca1ad; }
.footer::before { content: ""; position: absolute; right: -180px; top: 170px; width: 520px; height: 520px; border: 1px solid rgba(255,98,56,.1); border-radius: 50%; box-shadow: 0 0 0 75px rgba(255,98,56,.018), 0 0 0 150px rgba(255,98,56,.012); pointer-events: none; }
.footer-action { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; gap: 56px; align-items: end; padding-top: 56px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,.11); }
.footer-action::before { content: ""; position: absolute; left: 0; top: 0; width: 84px; height: 4px; background: var(--orange); }
.footer-action h2 { max-width: 820px; margin-top: 12px; color: var(--white); font-size: clamp(2.25rem, 3.3vw, 4rem); line-height: 1.16; }
.footer-action__copy > p:last-child { max-width: 740px; margin-top: 18px; color: #9eb2bd; font-size: .96rem; }
.footer-action__buttons { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.footer-action__buttons .button { width: 100%; justify-content: center; }
.footer-action__buttons .button--ghost { border-color: rgba(255,255,255,.28); color: var(--white); }
.footer-action__buttons .button--ghost:hover { border-color: var(--white); background: var(--white); color: var(--ink); }
.footer__brand-row { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-top: 36px; padding-bottom: 28px; }
.footer__brand-row > p { max-width: 480px; color: #718894; font-size: .84rem; text-align: right; }
.footer__grid--rich { position: relative; z-index: 1; grid-template-columns: .9fr .8fr 1.15fr 1.25fr; gap: 44px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.08); }
.footer__column { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.footer__column > span { margin-bottom: 12px; color: #6c8593; font-size: .63rem; font-weight: 900; letter-spacing: .14em; }
.footer__column > a:not(.footer-profile):not(.footer__contact-link) { margin-top: 9px; color: #c9d5db; font-size: .82rem; text-decoration: none; }
.footer__column > a:hover { color: var(--white); }
.footer__more { margin-top: 16px !important; color: var(--orange) !important; font-weight: 850; }
.footer__more b { font-weight: inherit; }
.footer__contact-link { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; text-decoration: none; }
.footer__contact-link small { color: #6f8795; font-size: .67rem; }
.footer__contact-link strong { color: var(--white); font-size: .92rem; font-weight: 750; }
.footer__presence { margin-top: 16px !important; color: #93a7b2 !important; line-height: 1.65; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.footer-socials a { display: grid; place-items: center; width: 38px; height: 38px; margin: 0 !important; border: 1px solid rgba(255,255,255,.18); color: #c8d5dc; text-decoration: none; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.footer-socials a:hover { border-color: var(--orange); background: rgba(255,98,56,.1); color: var(--white); transform: translateY(-2px); }
.footer-socials svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials svg .fill { fill: currentColor; stroke: none; }
.footer-socials svg .cut { fill: #030b12; stroke: none; }
.footer-socials a[aria-label="Facebook"] svg path:first-child,
.footer-socials a[aria-label="LinkedIn"] svg rect,
.footer-socials a[aria-label="LinkedIn"] svg path,
.footer-socials a[aria-label="YouTube"] svg path:first-child { fill: currentColor; stroke: none; }
.footer-profile { display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; width: 100%; margin-top: 9px !important; padding: 11px; border: 1px solid rgba(255,255,255,.13); background: #07131f; text-decoration: none; }
.footer-profile:hover { border-color: rgba(255,98,56,.55); background: #091824; }
.footer-profile__mark { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.14); color: var(--white); font: 800 1.15rem/1 Manrope, Inter, sans-serif; }
.footer-profile__mark--google { color: #fff; border-color: rgba(66,133,244,.55); box-shadow: inset 3px 0 0 #4285f4, inset -3px 0 0 #ea4335; }
.footer-profile__mark--firmy { color: #fff; border-color: rgba(68,180,72,.48); box-shadow: inset 3px 0 0 #44b448; }
.footer-profile span { min-width: 0; }
.footer-profile strong, .footer-profile small { display: block; }
.footer-profile strong { color: var(--white); font-size: .82rem; }
.footer-profile small { margin-top: 2px; color: #7f96a2; font-size: .67rem; }
.footer-profile i { color: var(--orange); font-style: normal; }
.footer__company { margin-top: 16px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.08); }
.footer__company small { color: #6f8795; font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.footer__company p { margin-top: 6px; color: #91a5b0; font-size: .75rem; line-height: 1.6; }
.footer__bottom { position: relative; z-index: 1; }
.footer__legal { align-items: center; }
.footer__legal a, .footer__legal button { white-space: nowrap; }
.back-to-top { position: fixed; z-index: 160; right: 22px; bottom: 22px; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,98,56,.7); background: #07131f; color: var(--white); box-shadow: 0 12px 30px rgba(0,0,0,.22); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .18s ease, visibility .18s ease, transform .18s ease, background .18s ease; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover, .back-to-top:focus-visible { background: var(--orange); }
.back-to-top svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* HTML sitemap */
.sitemap-page { background: var(--paper); }
.sitemap-listing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sitemap-group { padding: 28px; border: 1px solid var(--line); background: var(--white); }
.sitemap-group h2 { font-size: 1.35rem; line-height: 1.25; }
.sitemap-group ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.sitemap-group a { color: #334955; text-decoration: none; font-size: .9rem; }
.sitemap-group a:hover { color: var(--orange); }
.sitemap-group--wide { grid-column: span 2; }
.sitemap-group--cases ul { grid-template-columns: 1fr 1fr; }

@media (max-width: 1080px) {
  .footer__grid--rich { grid-template-columns: 1fr 1fr; }
  .sitemap-listing { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .footer-action { grid-template-columns: 1fr; gap: 28px; }
  .footer-action__buttons { max-width: 520px; flex-direction: row; flex-wrap: wrap; }
  .footer-action__buttons .button { width: auto; }
  .back-to-top { bottom: 76px; }
}
@media (max-width: 620px) {
  .footer-action { padding-top: 44px; padding-bottom: 44px; }
  .footer-action h2 { font-size: clamp(2rem, 10vw, 2.8rem); }
  .footer-action__buttons { display: grid; width: 100%; }
  .footer-action__buttons .button { width: 100%; }
  .footer__brand-row { align-items: flex-start; flex-direction: column; }
  .footer__brand-row > p { text-align: left; }
  .footer__grid--rich { grid-template-columns: 1fr; gap: 32px; }
  .footer-profile { max-width: 430px; }
  .back-to-top { right: 14px; bottom: 72px; width: 44px; height: 44px; }
  .sitemap-listing { grid-template-columns: 1fr; }
  .sitemap-group--wide { grid-column: auto; }
  .sitemap-group--cases ul { grid-template-columns: 1fr; }
}
.footer-profile > span { color: inherit; font-size: inherit; font-weight: inherit; letter-spacing: normal; }

/* V41: Article detail / migrated WordPress guides */
.article-page { background: var(--paper); }
.article-hero { position: relative; overflow: hidden; padding: clamp(4.5rem,7vw,7rem) 0 clamp(4rem,6vw,6rem); background: var(--ink); color: var(--white); }
.article-hero__grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(126,157,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(126,157,184,.08) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,#000,transparent 94%); }
.article-hero::after { content:""; position:absolute; width:520px; height:520px; right:-180px; top:-130px; border:1px solid rgba(255,98,56,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(255,98,56,.025),0 0 0 140px rgba(255,98,56,.018); }
.article-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.55fr); gap: clamp(3rem,7vw,7rem); align-items: end; }
.article-hero__copy h1 { max-width: 13ch; margin: .85rem 0 1.35rem; color: var(--white); font-size: clamp(3.2rem,5.4vw,5.8rem); line-height: 1.08; letter-spacing: -.045em; }
.article-hero__lead { max-width: 760px; margin: 0; color: #b7c7d1; font-size: clamp(1.05rem,1.5vw,1.22rem); line-height: 1.72; }
.article-meta { display: flex; flex-wrap: wrap; gap: 1px; margin-top: 2rem; }
.article-meta span { padding: .65rem .85rem; border: 1px solid rgba(255,255,255,.13); color: #9fb4c2; font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.article-hero__panel { border: 1px solid rgba(255,255,255,.14); background: rgba(7,25,39,.72); backdrop-filter: blur(8px); }
.article-hero__panel-label { display: block; padding: 1rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.12); color: var(--orange); font-size: .67rem; font-weight: 900; letter-spacing: .12em; }
.article-hero__panel > div { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; min-height: 64px; padding: .8rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.article-hero__panel > div:last-child { border-bottom: 0; }
.article-hero__panel b { color: var(--orange); font-size: .67rem; letter-spacing: .1em; }
.article-hero__panel strong { color: var(--white); font-size: .9rem; }
.article-layout { display: grid; grid-template-columns: 260px minmax(0,880px); gap: clamp(3rem,7vw,7rem); align-items: start; padding-top: clamp(4rem,7vw,7rem); padding-bottom: clamp(5rem,8vw,8rem); }
.article-toc { position: sticky; top: 120px; }
.article-toc__inner { padding: 1.35rem 1.2rem 1.2rem; border: 1px solid var(--line); background: var(--white); }
.article-toc__inner > span { display: block; margin-bottom: .9rem; color: var(--orange-dark); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.article-toc a { display: block; padding: .62rem 0; border-top: 1px solid #e3e9ed; color: #53616a; font-size: .84rem; line-height: 1.35; text-decoration: none; }
.article-toc a:hover { color: var(--orange-dark); }
.article-content { min-width: 0; }
.article-intro { margin: 0 0 2rem; color: var(--ink); font-size: clamp(1.3rem,2vw,1.65rem); line-height: 1.58; letter-spacing: -.012em; }
.article-section { scroll-margin-top: 120px; padding: clamp(3.3rem,6vw,5.5rem) 0; border-bottom: 1px solid var(--line); }
.article-section:first-of-type { padding-top: 3rem; }
.article-section h2 { max-width: 15ch; margin: .55rem 0 1.65rem; }
.article-section h3 { margin: 2rem 0 .7rem; color: var(--ink); font-size: 1.18rem; line-height: 1.35; }
.article-section p, .article-section li, .article-note p { color: #53616a; font-size: 1.02rem; line-height: 1.78; }
.article-section p { margin: 0 0 1.25rem; }
.article-section ul { margin: 1rem 0 1.6rem; padding: 0; list-style: none; }
.article-section ul li { position: relative; padding: .36rem 0 .36rem 1.6rem; }
.article-section ul li::before { content: "+"; position: absolute; left: 0; color: var(--orange); font-weight: 900; }
.article-note { margin: 2.1rem 0 0; padding: 1.35rem 1.45rem; border-left: 3px solid var(--orange); background: #e7edf0; }
.article-note strong { display: block; margin-bottom: .45rem; color: var(--ink); }
.article-note p { margin: 0; }
.article-note--warning { background: #fff6f1; }
.article-code { margin: 1rem 0 1.3rem; padding: 1rem 1.1rem; border: 1px solid #314757; background: var(--ink); color: #dbe7ed; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: .92rem; overflow-wrap: anywhere; }
.article-definition-grid, .article-check-grid, .article-settings, .article-mistakes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 2rem 0; background: var(--line); }
.article-definition-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.article-definition-grid article, .article-check-grid article, .article-settings article, .article-mistakes article { min-height: 190px; padding: 1.45rem; background: var(--white); }
.article-definition-grid article > span { color: var(--orange-dark); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.article-definition-grid h3, .article-check-grid h3, .article-mistakes h3 { margin: .7rem 0 .5rem; }
.article-definition-grid p, .article-check-grid p, .article-settings p, .article-mistakes p { margin: 0; font-size: .93rem; line-height: 1.6; }
.article-compare { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 2rem 0; background: var(--line); }
.article-compare article { padding: 1.5rem; background: var(--ink); color: var(--white); }
.article-compare article:last-child { background: #173047; }
.article-compare h3 { margin: 0 0 .55rem; color: var(--white); }
.article-compare p { margin: 0; color: #b8c8d2; font-size: .94rem; }
.article-mini-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 1.6rem 0; background: var(--line); }
.article-mini-grid span { padding: 1rem; background: var(--white); color: #53616a; font-size: .9rem; }
.article-mini-grid b { display: block; margin-bottom: .25rem; color: var(--ink); }
.article-steps { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.article-steps li { padding: 0 !important; border-bottom: 1px solid var(--line); }
.article-steps li::before { display: none; }
.article-steps li > div { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 1.35rem .2rem; }
.article-steps span { color: var(--orange-dark); font-size: .66rem; font-weight: 900; letter-spacing: .12em; padding-top: .3rem; }
.article-steps h3 { margin: 0 0 .35rem; }
.article-steps p { margin: 0; font-size: .95rem; }
.article-settings article { min-height: 155px; }
.article-settings strong { color: var(--ink); }
.article-service-cta { display: grid; grid-template-columns: 1fr .65fr; gap: 2.5rem; align-items: end; margin-top: 2.5rem; padding: clamp(2rem,4vw,3rem); background: var(--ink); color: var(--white); }
.article-service-cta h2 { max-width: 13ch; margin: .55rem 0 1rem; color: var(--white); }
.article-service-cta p { color: #afc0cb; }
.article-service-cta__links { display: grid; gap: .65rem; }
.button--ghost-dark { border-color: rgba(255,255,255,.3); background: transparent; color: var(--white); }
.button--ghost-dark:hover { background: rgba(255,255,255,.06); }
.article-text-link { display: inline-flex; padding: .7rem 0; color: #c6d3da; font-size: .82rem; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }
.article-mistakes article { min-height: 190px; }
.article-mistakes article > b { color: var(--orange-dark); font-size: .68rem; letter-spacing: .1em; }
.article-faq .service-faq__list { margin-top: 2rem; }
.article-faq .service-faq__list details { border: 1px solid var(--line); border-bottom: 0; background: var(--white); }
.article-faq .service-faq__list details:last-child { border-bottom: 1px solid var(--line); }
.article-faq .service-faq__list summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 76px; padding: 0 20px 0 24px; cursor: pointer; list-style: none; color: var(--ink); font-weight: 800; line-height: 1.45; }
.article-faq .service-faq__list summary::-webkit-details-marker { display: none; }
.article-faq .service-faq__list summary span { display: inline-flex; flex: 0 0 38px; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid #f0a18a; background: #fff8f5; color: var(--orange-dark); font-size: 0; }
.article-faq .service-faq__list summary span::before { content: "+"; font-family: "Inter",sans-serif; font-size: 1.35rem; font-weight: 450; line-height: 1; }
.article-faq .service-faq__list details[open] summary span::before { content: "−"; }
.article-faq .service-faq__answer { padding: 0 24px 1.5rem; }
.article-faq .service-faq__answer p { margin: 0; }
.article-footer-nav { display: grid; grid-template-columns: 1fr .8fr; gap: 3rem; align-items: end; padding: clamp(3rem,5vw,4.5rem) 0 0; }
.article-footer-nav > div:first-child > span { color: var(--orange-dark); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.article-footer-nav h2 { max-width: 16ch; margin: .55rem 0 0; }
.article-footer-nav > div:last-child { display: grid; border-top: 1px solid var(--line); }
.article-footer-nav a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 800; text-decoration: none; }
.article-footer-nav a:hover { color: var(--orange-dark); }
@media(max-width:1080px){
  .article-layout { grid-template-columns: 220px minmax(0,1fr); gap: 3rem; }
  .article-definition-grid { grid-template-columns: 1fr; }
  .article-definition-grid article { min-height: auto; }
}
@media(max-width:860px){
  .article-hero__inner, .article-layout, .article-service-cta, .article-footer-nav { grid-template-columns: 1fr; }
  .article-hero__copy h1 { max-width: 14ch; }
  .article-toc { position: static; }
  .article-toc__inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; }
  .article-toc__inner > span { grid-column: 1 / -1; }
  .article-check-grid, .article-settings, .article-mistakes { grid-template-columns: 1fr 1fr; }
}
@media(max-width:600px){
  .article-hero { padding-top: 3.5rem; }
  .article-hero__copy h1 { font-size: clamp(2.7rem,13vw,4rem); line-height: 1.11; }
  .article-toc__inner, .article-check-grid, .article-settings, .article-mistakes, .article-compare, .article-mini-grid { grid-template-columns: 1fr; }
  .article-section { padding: 3rem 0; }
  .article-definition-grid article, .article-check-grid article, .article-settings article, .article-mistakes article { min-height: auto; }
  .article-service-cta { padding: 1.5rem; }
  .article-faq .service-faq__list summary { padding-left: 18px; }
  .article-faq .service-faq__answer { padding-left: 18px; padding-right: 18px; }
}
