:root {
    --navy: #06275d;
    --navy-dark: #031b43;
    --blue: #0787eb;
    --blue-soft: #eaf5ff;
    --orange: #f15317;
    --green: #0dbd82;
    --ink: #0a204c;
    --muted: #536481;
    --line: #dce5f0;
    --surface: #f6faff;
    --white: #fff;
    --shadow: 0 12px 32px rgba(5, 38, 88, .1);
    --radius: 16px;
    --container-max: 1240px;
    --page-gutter: clamp(20px, 3vw, 32px);
    --section-space: clamp(64px, 6vw, 96px);
    --section-space-compact: clamp(48px, 5vw, 72px);
    --space-sm: 12px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 48px;
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; overflow-x: clip; }
body { margin: 0; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); overflow-x: clip; }
body, button, a { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 9999; background: #fff; color: var(--navy); padding: .75rem 1rem; border-radius: 8px; }
.skip-link:focus { top: 1rem; }
.container { --bs-gutter-x: calc(var(--page-gutter) * 2); max-width: var(--container-max); padding-right: var(--page-gutter); padding-left: var(--page-gutter); }
.section { padding-block: var(--section-space); }
.section--compact { padding-block: var(--section-space-compact); }
.section-header { max-width: 620px; margin: 0 auto var(--space-2xl); }
.section-header h2, .areas-copy h2, .faq-intro h2, .contact-cta h2 { color: var(--navy); font-weight: 800; letter-spacing: -.035em; }
.section-header h2 { margin-bottom: var(--space-md); font-size: clamp(2rem, 3vw, 3rem); }
.section-header > p:last-child { margin-bottom: 0; color: var(--muted); font-size: 1.04rem; }
.eyebrow { display: inline-flex; align-items: center; gap: var(--space-sm); margin: 0 0 var(--space-md); padding: .38rem .85rem; border: 1px solid #add5fb; border-radius: 100px; color: #0878d4; background: rgba(242, 249, 255, .9); font-size: .78rem; line-height: 1; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.btn { border-radius: 8px; font-weight: 700; }
.btn-lg { min-height: 52px; padding: .8rem 1.6rem; font-size: 1rem; }
.btn-primary { border-color: var(--navy); background: var(--navy); }
.btn-primary:hover, .btn-primary:focus { border-color: #0b3b85; background: #0b3b85; }
.btn-whatsapp { color: #fff; border-color: var(--green); background: var(--green); }
.btn-whatsapp:hover, .btn-whatsapp:focus { color: #fff; border-color: #079867; background: #079867; }

.site-header { position: sticky; top: 0; z-index: 1030; min-height: 82px; border-top: 3px solid var(--navy); border-bottom: 1px solid #e2e7ef; background: rgba(255,255,255,.97); box-shadow: 0 3px 14px rgba(5,38,88,.05); transition: box-shadow .22s ease, border-color .22s ease, background-color .22s ease; }
.navbar { min-height: 79px; padding: .5rem 0; transition: padding .22s ease; }
.site-header.header--scrolled { border-bottom-color: rgba(6,39,93,.18); background: rgba(255,255,255,.985); box-shadow: 0 8px 24px rgba(5,38,88,.12); }
@media (min-width: 768px) {
    .site-header.header--scrolled .navbar { padding-block: .25rem; }
    .site-header.header--scrolled .navbar-brand img { width: 196px; }
}
.navbar-brand img { display: block; width: 208px; height: auto; }
.navbar-nav { gap: .8rem; }
.nav-link { position: relative; padding: 1rem .55rem !important; color: var(--ink); font-weight: 650; font-size: .92rem; }
.nav-link::after { position: absolute; right: .55rem; bottom: .45rem; left: .55rem; height: 2px; content: ''; background: var(--blue); transform: scaleX(0); transition: transform .2s ease; }
.nav-link:hover, .nav-link.active { color: var(--blue) !important; }
.nav-link.active::after, .nav-link:hover::after { transform: scaleX(1); }
.header-call { display: flex; align-items: center; gap: .65rem; color: var(--navy); text-decoration: none; white-space: nowrap; }
.header-call__icon { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; color: #fff; background: var(--orange); font-size: 1.3rem; }
.header-call small, .header-call strong { display: block; }
.header-call small { color: var(--orange); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.header-call strong { font-size: 1.15rem; line-height: 1.1; }
.language-switcher { display: inline-flex; align-items: center; gap: .15rem; margin-right: 1rem; margin-left: 1rem; padding: .2rem; border: 1px solid rgba(7,135,235,.15); border-radius: 999px; color: var(--muted); background: #f3f8fd; box-shadow: inset 0 1px 1px rgba(6,39,93,.03); font-size: .75rem; font-weight: 800; letter-spacing: .04em; line-height: 1; }
.language-switcher__link { display: inline-flex; min-width: 2.55rem; min-height: 2.15rem; align-items: center; justify-content: center; padding: .35rem .55rem; border-radius: 999px; color: var(--muted); text-decoration: none; transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.language-switcher__link:hover, .language-switcher__link:focus-visible { color: var(--navy); background: var(--blue-soft); }
.language-switcher__link:focus-visible { outline: 3px solid rgba(7,135,235,.25); outline-offset: 1px; }
.language-switcher__link.is-active { color: #fff; background: var(--blue); box-shadow: 0 3px 8px rgba(7,135,235,.28); }
.language-switcher__link.is-active:hover, .language-switcher__link.is-active:focus-visible { color: #fff; background: #0678d2; }
@media (max-width: 1199.98px) {
    .language-switcher { align-self: flex-start; margin: .7rem 0 .45rem; }
}

.hero { position: relative; padding: 48px 0 56px; background: radial-gradient(ellipse 58% 82% at 14% 46%, rgba(226,242,255,.72) 0%, rgba(246,251,255,.58) 47%, transparent 78%), linear-gradient(90deg, #f7fbff 0%, #fff 39%, rgba(255,255,255,.8) 53%, rgba(255,255,255,.08) 78%), #f7fafc; }
.hero__inner { position: relative; min-height: 490px; }
.hero__content { position: relative; z-index: 2; width: 51%; padding-top: 20px; }
.hero h1 { margin-bottom: 1.35rem; color: var(--navy); font-size: clamp(2.55rem, 3.85vw, 3.85rem); line-height: 1.05; font-weight: 820; letter-spacing: -.042em; }
.hero h1 span { color: var(--blue); }
.hero__lead { max-width: 540px; margin-bottom: 1.8rem; color: var(--muted); font-size: 1.06rem; line-height: 1.62; }
.hero__lead--mobile { display: none; }
.hero__actions { display: flex; gap: .9rem; }
.hero__actions .btn { min-width: 174px; }
.hero__actions .btn span { margin-right: .4rem; }
.hero__visual { position: absolute; top: -48px; right: calc((100vw - min(var(--container-max), calc(100vw - (2 * var(--page-gutter))))) / -2); bottom: -28px; left: 39%; overflow: hidden; }
.hero__visual::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, #fff 0, rgba(255,255,255,.75) 12%, transparent 38%), linear-gradient(0deg, #fff 0, transparent 16%); }
.hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__badge { display: none; }
.price-strip { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; border: 1px solid #e1e8f0; border-radius: 16px; background: rgba(255,255,255,.98); box-shadow: 0 14px 32px rgba(5,38,88,.13); }
.price-strip__item { display: flex; align-items: center; gap: 1.05rem; min-height: 116px; padding: 1.35rem 1.85rem; border-right: 1px solid var(--line); }
.price-strip__item:last-child { border: 0; }
.price-strip__symbol { display: grid; width: 54px; height: 54px; flex: 0 0 54px; place-items: center; color: var(--blue); }
.price-strip__symbol svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; }
.price-strip__item.is-emergency .price-strip__symbol, .price-strip__item.is-emergency b { color: var(--orange); }
.price-strip__item strong, .price-strip__item small { display: block; }
.price-strip__item strong { min-height: 42px; color: var(--navy); line-height: 1.18; }
.price-strip__item small { margin-top: .35rem; color: var(--muted); }
.price-strip__item b { margin-left: .35rem; color: var(--navy); font-size: 1.95rem; line-height: 1; }

.services-section { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #f9fcff, #edf6ff); }
.services-section::before { position: absolute; bottom: -36px; left: 0; width: 310px; height: 330px; background-image: radial-gradient(rgba(156,197,235,.42) 1px, transparent 1px); background-size: 12px 12px; content: ''; opacity: .42; pointer-events: none; }
.services-section > .container { position: relative; z-index: 1; }
.services-section .section-header > p:last-child { max-width: 580px; margin-right: auto; margin-left: auto; font-size: .98rem; line-height: 1.5; }
.service-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(6,39,93,.12); border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(6,39,93,.065); transition: transform .2s ease, box-shadow .2s ease; }
.service-card:hover { transform: translateY(-3px); box-shadow: 0 13px 28px rgba(6,39,93,.11); }
.service-card__image { position: relative; height: clamp(198px, 17vw, 214px); overflow: hidden; }
.service-card__image img { width: 100%; height: 100%; object-fit: cover; }
.service-card__image > span { position: absolute; top: 14px; left: 14px; display: grid; width: 46px; height: 46px; place-items: center; border: 2px solid rgba(255,255,255,.75); border-radius: 12px; color: #fff; background: var(--blue); box-shadow: 0 5px 12px rgba(6,39,93,.2); font-size: .9rem; font-weight: 800; letter-spacing: .02em; }
.service-card.is-emergency .service-card__image > span { background: var(--orange); }
.service-card__body { display: flex; flex: 1; flex-direction: column; min-height: 0; padding: 1.2rem 1.25rem 1.15rem; }
.service-card__intro { display: flex; align-items: center; gap: .8rem; }
.service-card__icon { display: grid; width: 50px; height: 50px; flex: 0 0 50px; place-items: center; border: 1px solid #add5fb; border-radius: 12px; color: var(--blue); background: #fbfdff; }
.service-card__icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.6; }
.service-card.is-emergency .service-card__icon { border-color: #ffd1bf; color: var(--orange); background: #fffaf7; }
.service-card h3 { margin: 0; color: var(--navy); font-size: 1.12rem; line-height: 1.25; font-weight: 800; }
.service-card__description { max-width: 27rem; margin: .78rem 0 0 4.25rem; color: var(--muted); font-size: .94rem; line-height: 1.5; }
.service-card__footer { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: 1.15rem; padding-top: .9rem; border-top: 1px solid #e4ebf3; font-size: .82rem; }
.service-card__price { margin: 0; color: var(--muted); line-height: 1; white-space: nowrap; }
.service-card__price strong { margin-left: .28rem; color: var(--navy); font-size: 1.32rem; line-height: 1; }
.service-card__link { display: inline-flex; align-items: center; gap: .32rem; color: var(--blue); font-weight: 800; line-height: 1; text-decoration: none; white-space: nowrap; }
.service-card__link span { font-size: 1.05rem; line-height: .8; }
.service-card__link:hover, .service-card__link:focus-visible { color: var(--navy); }

.process-section { background: #fff; }
.process-section .section-header { max-width: 760px; }
.process-section .section-header h2 { font-size: clamp(2.75rem, 4vw, 4.1rem); }
.process-section .section-header > p:last-child { font-size: 1.08rem; line-height: 1.55; }
.process-list { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.8rem; margin: 0; padding: 0; list-style: none; }
.process-step { position: relative; z-index: 1; min-width: 0; text-align: center; }
.process-step__icon { position: relative; display: grid; width: 142px; height: 142px; margin: 0 auto 2.45rem; place-items: center; border: 0; border-radius: 50%; color: #1768d6; background: #fff; box-shadow: 0 15px 30px rgba(6,39,93,.11), inset 0 0 0 1px rgba(194,213,237,.66); }
.process-step__icon svg { width: 62px; height: 62px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.6; }
.process-step__number { position: absolute; top: -13px; left: -15px; display: grid; width: 45px; height: 45px; place-items: center; border: 2px solid #eef6ff; border-radius: 50%; color: #fff; background: #1768d6; box-shadow: 0 7px 14px rgba(6,39,93,.15); font-size: .98rem; font-weight: 800; line-height: 1; }
.process-step__connector { position: absolute; top: 71px; left: calc(50% + 76px); display: block; width: calc(100% + 2.8rem - 152px); height: 2px; background: repeating-linear-gradient(90deg, rgba(58,129,224,.78) 0 6px, transparent 6px 12px); }
.process-step__connector::after { position: absolute; top: -5px; right: -1px; width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid rgba(58,129,224,.78); content: ''; }
.process-step h3 { min-height: 1.3em; margin: 0; color: var(--navy); font-size: clamp(1.08rem, 1.7vw, 1.45rem); line-height: 1.2; font-weight: 800; letter-spacing: -.03em; }
.process-step h3::after { display: block; width: 72px; height: 4px; margin: 1.15rem auto 1.5rem; border-radius: 999px; content: ''; background: var(--blue); }
.process-step p { max-width: 270px; margin: 0 auto; color: var(--muted); font-size: 1rem; line-height: 1.7; }

.results-section { background: #fff; }
.results-section .section-header { max-width: 760px; }
.results-section .section-header > p:last-child { line-height: 1.55; }
.results-grid { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(310px, .9fr); gap: var(--space-lg); align-items: stretch; }
.result-featured, .result-card { overflow: hidden; border: 1px solid #d8e2ed; border-radius: var(--radius); background: #fff; box-shadow: 0 9px 24px rgba(6,39,93,.09); }
.result-featured { min-width: 0; }
.result-comparison { --position: 50%; position: relative; height: 100%; min-height: 500px; overflow: hidden; isolation: isolate; background: #dfe6ed; }
.result-comparison__picture { position: absolute; inset: 0; overflow: hidden; }
.result-comparison__picture--before { z-index: 1; }
.result-comparison__picture--after { z-index: 2; clip-path: inset(0 0 0 var(--position)); }
.result-comparison__picture img { position: absolute; top: 0; width: 200%; max-width: none; height: 100%; object-fit: cover; user-select: none; pointer-events: none; transition: opacity .18s ease; }
.result-comparison__picture--before img { left: 0; }
.result-comparison__picture--after img { right: 0; }
.result-label { position: absolute; z-index: 4; top: 18px; padding: .48rem 1.1rem; border-radius: 100px; color: #fff; background: var(--navy); font-size: .9rem; font-weight: 750; line-height: 1.15; pointer-events: none; }
.result-label--before { left: 18px; }
.result-label--after { right: 18px; background: var(--blue); }
.result-comparison__range { position: absolute; z-index: 6; inset: 0; width: 100%; height: 100%; margin: 0; opacity: .001; cursor: ew-resize; touch-action: pan-y; }
.result-comparison__control { position: absolute; z-index: 5; top: 0; bottom: 0; left: var(--position); width: 0; pointer-events: none; }
.result-comparison__divider { position: absolute; top: 0; bottom: 0; left: -1px; width: 2px; background: #fff; box-shadow: 0 0 0 1px rgba(6,39,93,.08); }
.result-comparison__handle { position: absolute; top: 50%; left: 0; display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid rgba(6,39,93,.12); border-radius: 50%; color: var(--blue); background: #fff; box-shadow: 0 8px 22px rgba(6,39,93,.2); transform: translate(-50%, -50%); }
.result-comparison__handle svg { width: 34px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; }
.result-comparison__range:focus-visible + .result-comparison__control .result-comparison__handle { outline: 3px solid rgba(7,135,235,.42); outline-offset: 4px; }
.result-comparison.is-switching .result-comparison__picture img, .result-comparison.is-switching .result-featured__caption { opacity: .72; }
.result-featured__caption { position: absolute; z-index: 4; right: 20px; bottom: 18px; left: 20px; display: grid; grid-template-columns: 1fr 1fr; min-height: 86px; border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 7px 20px rgba(6,39,93,.15); pointer-events: none; transition: opacity .18s ease; }
.result-featured__detail { display: flex; min-width: 0; align-items: center; gap: .9rem; padding: 1rem 1.15rem; }
.result-featured__detail--after { position: relative; }
.result-featured__detail--after::before { position: absolute; top: 22px; bottom: 22px; left: 0; width: 1px; content: ''; background: #d9e3ed; }
.result-featured__icon, .result-card__icon { display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--blue); background: #edf6ff; }
.result-featured__icon { width: 48px; height: 48px; }
.result-featured__icon svg { width: 27px; height: 27px; }
.result-featured__icon svg, .result-card__icon svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.result-featured__caption strong, .result-featured__caption small, .result-card strong, .result-card small { display: block; }
.result-featured__caption strong { color: var(--navy); font-size: 1.05rem; line-height: 1.2; }
.result-featured__caption small, .result-card small { margin-top: .3rem; color: var(--muted); line-height: 1.4; }
.result-list { display: grid; grid-template-rows: repeat(4, minmax(0, 1fr)); gap: var(--space-md); }
.result-card { display: grid; grid-template-columns: 52% 48%; min-height: 0; width: 100%; padding: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.result-card:hover { border-color: #b8d8f4; box-shadow: 0 12px 28px rgba(6,39,93,.13); }
.result-card:focus-visible { outline: 3px solid rgba(7,135,235,.38); outline-offset: 3px; }
.result-card[aria-pressed="true"], .result-card.is-active { border-color: #72b4ed; background: #f6fbff; box-shadow: 0 12px 28px rgba(7,135,235,.16); }
.result-card__preview { position: relative; min-width: 0; overflow: hidden; }
.result-card__preview img { width: 100%; height: 100%; object-fit: cover; }
.result-card__arrow { position: absolute; top: 50%; left: 50%; display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(6,39,93,.08); border-radius: 50%; color: var(--blue); background: #fff; box-shadow: 0 5px 14px rgba(6,39,93,.14); line-height: 1; text-align: center; transform: translate(-50%, -50%); }
.result-card__arrow svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.result-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 1rem .95rem; }
.result-card__heading { position: relative; display: flex; align-items: center; gap: .7rem; }
.result-card__heading::after { position: absolute; bottom: -.8rem; left: 48px; width: 24px; height: 3px; border-radius: 999px; content: ''; background: var(--blue); }
.result-card__icon { width: 40px; height: 40px; }
.result-card__icon svg { width: 23px; height: 23px; }
.result-card strong { min-width: 0; color: var(--navy); font-size: .9rem; line-height: 1.25; }
.result-card__body > small { margin-top: 1.35rem; font-size: .78rem; }
.results-cta { margin-top: var(--space-xl); }
.results-cta span { display: inline-block; margin-left: .65rem; }

.real-results-section { border-top: 1px solid #e8edf2; background: #f8fafc; }
.real-results-section .section-header { max-width: 760px; }
.real-results-section .section-header > p:last-child { line-height: 1.55; }
.real-results-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); align-items: start; }
.real-job-card { display: block; min-width: 0; overflow: hidden; border: 1px solid #d8e2ed; border-radius: var(--radius); background: #fff; box-shadow: 0 9px 24px rgba(6,39,93,.09); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.real-job-card:hover { border-color: #b8d8f4; box-shadow: 0 12px 28px rgba(6,39,93,.13); transform: translateY(-2px); }
.real-job-card:focus-visible { outline: 3px solid rgba(7,135,235,.38); outline-offset: 3px; }
.real-job-card__image { display: flex; aspect-ratio: 3 / 2; min-height: 0; align-items: center; justify-content: center; padding: clamp(.6rem, 1.4vw, 1rem); background: #f7fafc; }
.real-job-card__image img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: contain; }

.areas-section { background: linear-gradient(135deg, #f8fcff 0%, #eef7ff 100%); }
.areas-grid { display: grid; grid-template-columns: minmax(420px, .95fr) minmax(0, 1.32fr); gap: clamp(34px, 4.2vw, 66px); align-items: center; }
.areas-copy { max-width: 520px; }
.areas-copy h2 { margin-bottom: 1rem; color: var(--navy); font-size: clamp(2.35rem, 3.8vw, 3.45rem); line-height: 1.04; }
.areas-copy > p:not(.eyebrow) { max-width: 510px; margin-bottom: 0; color: var(--muted); font-size: 1.03rem; line-height: 1.65; }
.area-benefits { display: grid; gap: 1.25rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.area-benefits li { display: flex; align-items: center; gap: 1rem; }
.area-benefit__icon { display: grid; width: 56px; height: 56px; flex: 0 0 56px; place-items: center; border: 1px solid #b9daf9; border-radius: 50%; color: var(--blue); background: rgba(255,255,255,.58); box-shadow: inset 0 0 0 5px rgba(237,247,255,.72); }
.area-benefit__icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.area-benefits strong, .area-benefits small { display: block; }
.area-benefits strong { color: var(--navy); font-size: 1.02rem; line-height: 1.25; }
.area-benefits small { margin-top: .34rem; color: var(--muted); font-size: .91rem; line-height: 1.4; }
.areas-experience { min-width: 0; }
.area-card { min-width: 0; padding: 28px; border: 1px solid #e0ebf6; border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 18px 42px rgba(19,83,146,.1); }
.area-card__tabs { display: flex; width: max-content; max-width: 100%; margin-bottom: 20px; padding: 3px; border: 1px solid #dfE8f2; border-radius: 15px; background: #fff; box-shadow: 0 5px 14px rgba(6,39,93,.06); }
.area-tab { display: inline-flex; min-width: 154px; min-height: 56px; align-items: center; justify-content: center; gap: .65rem; padding: .7rem 1.45rem; border: 0; border-radius: 12px; color: var(--muted); background: transparent; font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; transition: color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.area-tab svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.area-tab:hover { color: var(--blue); background: #f5faff; }
.area-tab.is-active, .area-tab[aria-selected="true"] { color: #fff; background: linear-gradient(135deg, #147cf0, #0968df); box-shadow: 0 7px 16px rgba(7,115,229,.24); }
.area-tab:focus-visible, .area-chip:focus-visible, .area-chip-next:focus-visible { outline: 3px solid rgba(7,135,235,.3); outline-offset: 2px; }
.areas-panel[hidden] { display: none; }
.area-map-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 .25rem .55rem; }
.area-map-header__label { color: var(--navy); font-size: .76rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.area-map-header__hint { color: #8190a5; font-size: .78rem; }
.area-map-stage { position: relative; overflow: hidden; aspect-ratio: 640 / 370; min-height: 284px; border: 1px solid #e8f0f8; border-radius: 18px; background: radial-gradient(circle at 50% 44%, #fff 0%, #f8fbff 58%, #f0f7fe 100%); }
.area-map-stage::before { position: absolute; top: 12%; right: 7%; width: 80px; height: 80px; border: 1px solid rgba(105,168,228,.2); border-radius: 50%; content: ''; box-shadow: 0 0 0 12px rgba(105,168,228,.035), 0 0 0 24px rgba(105,168,228,.025); }
.berlin-district-map { display: block; width: 100%; height: 100%; }
.berlin-district__shape { fill: url(#district-fill); stroke: #fff; stroke-width: 5; stroke-linejoin: round; filter: url(#district-shadow); cursor: pointer; transition: fill .18s ease, stroke .18s ease; }
.berlin-district { outline: 0; -webkit-tap-highlight-color: transparent; }
.berlin-district:focus, .berlin-district:focus-visible { outline: 0; }
.berlin-district__label { dominant-baseline: middle; fill: var(--navy); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 13px; font-weight: 750; letter-spacing: -.01em; text-anchor: middle; pointer-events: none; }
.berlin-district__label--two-line { font-size: 12px; }
.berlin-district__marker { display: none; fill: #fff; pointer-events: none; }
.berlin-district:hover .berlin-district__shape { fill: #cfe6fc; stroke: #1978ed; stroke-width: 6; }
.berlin-district:focus-visible .berlin-district__shape { stroke: #67b7f6; stroke-width: 6; filter: drop-shadow(0 0 4px rgba(7,135,235,.42)); }
.berlin-district.is-active .berlin-district__shape { fill: url(#district-active-fill); stroke: #fff; stroke-width: 5; }
.berlin-district.is-active .berlin-district__label { fill: #fff; }
.berlin-district.is-active .berlin-district__marker { display: block; }
.berlin-district.is-active:focus-visible .berlin-district__shape { stroke: #d9efff; filter: drop-shadow(0 0 5px rgba(7,135,235,.55)); }
.area-map-note { margin: .55rem .1rem .85rem; color: #7c8da3; font-size: .7rem; line-height: 1.35; text-align: right; }
.area-chip-row { display: flex; min-width: 0; align-items: center; gap: .55rem; }
.area-district-chips { display: flex; min-width: 0; align-items: stretch; gap: .65rem; overflow-x: auto; padding: .2rem .1rem .45rem; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-x: contain; }
.area-district-chips::-webkit-scrollbar { display: none; width: 0; height: 0; }
.area-chip { display: inline-flex; min-height: 48px; flex: 0 0 auto; align-items: center; justify-content: center; padding: .62rem 1rem; border: 1px solid #dfe8f3; border-radius: 12px; color: var(--navy); background: #fff; box-shadow: 0 4px 11px rgba(6,39,93,.06); font: inherit; font-size: .78rem; font-weight: 700; line-height: 1.18; cursor: pointer; transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.area-chip:hover { border-color: #a9d1f5; background: #f4faff; }
.area-chip.is-active, .area-chip[aria-pressed="true"] { border-color: #1478ea; color: #fff; background: linear-gradient(135deg, #147cf0, #0968df); box-shadow: 0 7px 16px rgba(7,115,229,.19); }
.area-chip-next { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; padding: 0; border: 1px solid #dfe8f3; border-radius: 12px; color: var(--navy); background: #fff; box-shadow: 0 4px 11px rgba(6,39,93,.06); cursor: pointer; transition: color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.area-chip-next:hover { border-color: #a9d1f5; color: var(--blue); box-shadow: 0 7px 16px rgba(6,39,93,.1); }
.area-chip-next svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.area-info-panel { display: flex; min-width: 0; align-items: center; gap: 1rem; margin-top: .8rem; padding: 1rem 1.15rem; border: 1px solid #dfE9f4; border-radius: 16px; background: #fff; box-shadow: 0 6px 16px rgba(6,39,93,.065); }
.area-info-panel__icon { display: grid; width: 58px; height: 58px; flex: 0 0 58px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #147cf0, #0968df); box-shadow: 0 8px 18px rgba(7,115,229,.2); }
.area-info-panel__icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.area-info-panel__copy { min-width: 0; }
.area-info-panel__copy > strong { display: block; color: var(--navy); font-size: 1.05rem; line-height: 1.2; }
.area-info-panel__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem 0; margin-top: .42rem; color: var(--muted); font-size: .79rem; line-height: 1.25; }
.area-info-panel__meta > span { display: inline-flex; align-items: center; gap: .35rem; }
.area-info-panel__meta > span + span { margin-left: .85rem; padding-left: .85rem; border-left: 1px solid #c8d5e4; }
.area-status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #16bd70; }
.area-bolt, .area-check { color: var(--blue); font-size: 1.15rem; font-style: normal; font-weight: 900; line-height: .8; }
.area-check { font-size: .95rem; }
.potsdam-coverage { position: relative; display: grid; min-height: 284px; overflow: hidden; place-items: center; border: 1px solid #e8f0f8; border-radius: 18px; background: radial-gradient(circle at 50% 48%, #fff 0%, #f8fbff 54%, #f0f7fe 100%); isolation: isolate; }
.potsdam-coverage__grid { position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(133,182,228,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(133,182,228,.1) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); }
.potsdam-coverage__halo { position: absolute; border: 1px solid rgba(41,133,225,.18); border-radius: 50%; }
.potsdam-coverage__halo--one { width: 270px; height: 270px; box-shadow: 0 0 0 22px rgba(41,133,225,.035), 0 0 0 44px rgba(41,133,225,.025); }
.potsdam-coverage__halo--two { width: 174px; height: 174px; border-style: dashed; }
.potsdam-coverage__shape { position: absolute; width: 280px; height: 185px; border: 2px solid #a8d2f7; border-radius: 47% 53% 44% 56% / 52% 43% 57% 48%; background: linear-gradient(145deg, #eef7ff, #dceefd); box-shadow: inset 0 0 50px rgba(7,135,235,.08), 0 15px 28px rgba(6,39,93,.08); transform: rotate(-8deg); }
.potsdam-coverage__pin { position: relative; z-index: 2; display: grid; width: 64px; height: 64px; margin-top: -34px; place-items: center; border: 5px solid #fff; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #147cf0, #0968df); box-shadow: 0 10px 20px rgba(7,115,229,.24); }
.potsdam-coverage__pin svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.potsdam-coverage__label { position: absolute; z-index: 2; display: grid; margin-top: 108px; color: var(--navy); text-align: center; }
.potsdam-coverage__label strong { font-size: 1.2rem; letter-spacing: .08em; }
.potsdam-coverage__label small { margin-top: .3rem; color: var(--muted); font-size: .8rem; }
.area-info-panel--potsdam { margin-top: 1.1rem; }

.faq-grid { display: grid; grid-template-columns: minmax(300px, .95fr) minmax(0, 1.55fr); gap: clamp(32px, 4vw, 58px); align-items: center; }
.faq-intro { min-width: 0; }
.faq-intro h2 { max-width: 440px; margin-bottom: 20px; font-size: clamp(2.1rem, 3.1vw, 3rem); line-height: 1.08; }
.faq-intro__copy { max-width: 410px; margin: 0; color: var(--muted); font-size: 1.04rem; line-height: 1.65; }
.faq-intro img { display: block; width: min(84%, 330px); max-height: 260px; margin-top: clamp(20px, 2.5vw, 30px); object-fit: contain; object-position: left center; }
.faq-panel { min-width: 0; }
.faq-accordion-card { padding: clamp(18px, 1.8vw, 24px); border: 1px solid #d9e5f2; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(5, 38, 88, .08); }
.faq-accordion { overflow: hidden; border: 1px solid #dbe7f3; border-radius: 14px; }
.faq-item { border: 0; border-bottom: 1px solid #dbe7f3; }
.faq-item:last-child { border-bottom: 0; }
.faq-button { display: flex; align-items: center; min-height: 84px; padding: 1.05rem 1.1rem; color: var(--navy); font-size: 1.04rem; font-weight: 800; line-height: 1.35; background: #fff; box-shadow: none !important; }
.faq-button:not(.collapsed) { color: var(--navy); background: #f4f8fd; }
.faq-button::after { display: none; }
.faq-button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(7, 135, 235, .3); outline-offset: -3px; }
.faq-question-icon { position: relative; display: grid; flex: 0 0 42px; width: 42px; height: 42px; margin-right: 20px; place-items: center; border: 2px solid #a8d4ff; border-radius: 50%; color: var(--blue); }
.faq-question-icon__horizontal, .faq-question-icon__vertical { position: absolute; display: block; width: 14px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease; }
.faq-question-icon__vertical { transform: rotate(90deg); }
.faq-button:not(.collapsed) .faq-question-icon__vertical { transform: rotate(90deg) scaleX(0); }
.faq-button__question { min-width: 0; }
.faq-chevron { width: 13px; height: 13px; margin-right: 3px; margin-left: auto; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg) translateY(-3px); transition: transform .2s ease; }
.faq-button:not(.collapsed) .faq-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.faq-answer { max-width: 700px; padding: 0 1.1rem 1.1rem 5rem; color: var(--muted); font-size: 1rem; line-height: 1.62; background: #f4f8fd; }
.faq-link { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; margin-top: 28px; padding: .55rem 1.45rem; border: 1.5px solid #4aa4ff; border-radius: 100px; color: var(--blue); font-size: .98rem; font-weight: 800; text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.faq-link:hover, .faq-link:focus-visible { color: #fff; background: var(--blue); transform: translateY(-1px); }
.faq-link:focus-visible { outline: 3px solid rgba(7, 135, 235, .24); outline-offset: 3px; }

.contact-cta { position: relative; isolation: isolate; overflow: hidden; padding-block: var(--section-space-compact); color: #fff; background: radial-gradient(ellipse 55% 115% at 88% 50%, rgba(14, 77, 157, .55), transparent 70%), linear-gradient(120deg, #06275d, #031b43); }
.contact-cta::before { position: absolute; right: 3%; bottom: 10%; width: 270px; height: 130px; background-image: radial-gradient(rgba(61, 148, 239, .3) 1px, transparent 1px); background-size: 12px 12px; content: ''; opacity: .32; pointer-events: none; }
.contact-cta::after { position: absolute; top: -210px; right: -90px; width: 460px; height: 460px; border: 1px solid rgba(45, 132, 231, .2); border-radius: 50%; box-shadow: 0 0 0 44px rgba(45, 132, 231, .06), 0 0 0 88px rgba(45, 132, 231, .035); content: ''; pointer-events: none; }
.contact-cta__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.contact-cta__copy { min-width: 0; }
.eyebrow--dark { color: #65c4ff; border-color: #1d83d7; background: rgba(1, 20, 55, .32); }
.eyebrow--dark svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.contact-cta h2 { max-width: 540px; margin-bottom: 0; color: #fff; font-size: clamp(2.35rem, 4vw, 3.65rem); line-height: 1.04; }
.contact-cta h2 span { display: block; }
.contact-cta p:not(.eyebrow) { max-width: 500px; margin: 1.25rem 0 0; color: #cbd9eb; font-size: 1.04rem; line-height: 1.6; }
.contact-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.contact-button { display: flex; align-items: center; gap: 1rem; min-width: 0; min-height: 108px; padding: 1.15rem 1.25rem; border: 1px solid transparent; border-radius: 18px; text-decoration: none; box-shadow: 0 10px 24px rgba(0, 16, 48, .2); transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.contact-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0, 16, 48, .28); }
.contact-button:focus-visible { outline: 3px solid rgba(112, 202, 255, .9); outline-offset: 4px; }
.contact-button__icon { display: grid; width: 56px; height: 56px; flex: 0 0 56px; place-items: center; border-radius: 50%; }
.contact-button__icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.contact-button__copy { min-width: 0; }
.contact-button small, .contact-button strong { display: block; }
.contact-button small { margin-bottom: .4rem; font-size: .98rem; font-weight: 750; line-height: 1; }
.contact-button strong { font-size: clamp(1rem, 1.6vw, 1.3rem); line-height: 1.1; letter-spacing: .01em; white-space: nowrap; }
.contact-button--call { color: var(--navy); border-color: rgba(255,255,255,.8); background: #fff; box-shadow: 0 10px 0 -5px #1677df, 0 10px 24px rgba(0, 16, 48, .2); }
.contact-button--call .contact-button__icon { color: var(--navy); background: #eaf3ff; }
.contact-button--whatsapp { color: #fff; border-color: rgba(83, 255, 143, .25); background: #0cbd50; box-shadow: 0 10px 0 -5px #078d3d, 0 10px 24px rgba(0, 16, 48, .2); }
.contact-button--whatsapp .contact-button__icon { color: #fff; }
.contact-button--whatsapp:hover { background: #0aac49; }
.contact-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 2rem 0 0; padding: 0; color: #e0eafb; list-style: none; font-size: .92rem; }
.contact-trust li { display: flex; align-items: center; gap: .75rem; min-width: 0; padding: .1rem 1.25rem; border-left: 1px solid rgba(142, 186, 237, .25); white-space: nowrap; }
.contact-trust li:first-child { padding-left: 0; border-left: 0; }
.contact-trust__icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; color: #1683f7; }
.contact-trust__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.contact-trust li:first-child .contact-trust__icon svg { fill: currentColor; stroke: none; }

.site-footer { position: relative; isolation: isolate; overflow: hidden; padding: clamp(70px, 6.2vw, 96px) 0 24px; color: #d9e3f2; background: linear-gradient(135deg, #06285e 0%, #021735 100%); border-top: 1px solid rgba(255,255,255,.13); }
.site-footer::before, .site-footer::after { position: absolute; z-index: -1; content: ''; pointer-events: none; }
.site-footer::before { right: 50%; bottom: -70%; width: 92%; height: 125%; border-radius: 50%; background: rgba(17, 112, 224, .16); transform: translateX(-12%); }
.site-footer::after { bottom: -74%; left: 58%; width: 72%; height: 128%; border-radius: 50%; background: rgba(8, 99, 210, .14); }
.site-footer > .container { position: relative; z-index: 1; }
.footer-grid { display: grid; grid-template-columns: minmax(335px, 1.5fr) minmax(215px, 1.05fr) minmax(185px, .9fr) minmax(290px, 1.35fr); gap: clamp(24px, 2.4vw, 36px); }
.footer-brand { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; text-align: left; }
.footer-brand img { display: block; width: min(304px, 100%); height: auto; margin: 0; transform: translateX(-16.8%); }
.footer-brand p { max-width: 320px; margin: 1.2rem 0 0; color: #bdcbe0; line-height: 1.62; text-align: left; }
.site-footer h2 { margin: .4rem 0 1.3rem; color: #fff; font-size: .95rem; font-weight: 800; letter-spacing: .01em; text-transform: uppercase; }
.site-footer h2::after { display: block; width: 32px; height: 3px; margin-top: .95rem; background: var(--blue); content: ''; }
.site-footer ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.site-footer a { color: #d9e3f2; text-decoration: none; }
.site-footer a:hover { color: #6dc6ff; }
.site-footer a:focus-visible { outline: 2px solid #6dc6ff; outline-offset: 5px; border-radius: 3px; }
.site-footer li { min-width: 0; font-size: .88rem; }
.footer-links > li > a { display: flex; align-items: center; gap: .62rem; min-height: 58px; }
.footer-link__arrow { flex: 0 0 auto; color: #16a3ff; font-size: 1.5rem; font-weight: 300; line-height: 1; transform: translateY(-1px); transition: transform .2s ease; }
.footer-links a:hover .footer-link__arrow { transform: translate(3px, -1px); }
.footer-icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; color: #149df4; }
.footer-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.footer-contact > li { display: flex; align-items: center; min-height: 66px; }
.footer-contact > li > a { display: flex; align-items: center; gap: .8rem; width: 100%; min-height: 66px; }
.footer-contact > li > span { display: flex; align-items: center; gap: .8rem; }
.footer-contact > li > .footer-icon, .footer-contact > li > a > .footer-icon { display: grid; width: 42px; height: 42px; flex-basis: 42px; border-radius: 50%; background: rgba(14, 129, 239, .16); box-shadow: inset 0 0 0 1px rgba(75, 176, 255, .08); }
.footer-contact > li > a > span:last-child, .footer-contact > li > span:last-child { min-width: 0; }
.footer-contact__email { white-space: nowrap; }
.footer-trust { display: flex !important; align-items: flex-start; justify-content: space-between; gap: 1rem; width: 100%; max-width: 420px; margin-top: 2rem !important; }
.footer-trust__item { display: flex; min-width: max-content; flex: 0 0 auto; flex-direction: column; align-items: center; gap: .55rem; color: #b7c8e0; font-size: .82rem; line-height: 1.45; text-align: center; white-space: nowrap; }
.footer-trust__icon { width: 42px; height: 42px; flex-basis: 42px; border-radius: 50%; background: rgba(14, 129, 239, .16); box-shadow: inset 0 0 0 1px rgba(75, 176, 255, .08); }
.footer-trust__icon svg { width: 24px; height: 24px; stroke-width: 1.55; }
.footer-trust__label--mobile { display: none; }
.footer-accordion__trigger { display: block; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; }
.footer-accordion__title { display: inline-flex; align-items: center; }
.footer-accordion__icon, .footer-accordion__chevron { display: none; }
.footer-contact-actions { display: none; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(155,184,220,.23); color: #9fb0c8; font-size: .8rem; }
.mobile-actions { display: none; }

/* Global operational status ticker */
.operational-status { position: relative; z-index: 1031; height: 32px; overflow: hidden; color: #f4a340; background: #071326; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; font-size: .68rem; font-weight: 650; letter-spacing: .055em; line-height: 1; text-transform: uppercase; }
.operational-status__viewport { width: 100%; height: 100%; overflow: hidden; }
.operational-status__track { display: flex; width: max-content; min-width: max-content; height: 100%; align-items: center; animation: operational-status-scroll 42s linear infinite; }
.operational-status__sequence { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 1.05rem; padding-right: 3rem; white-space: nowrap; }
.operational-status__segment { display: inline-flex; align-items: center; gap: .42rem; }
.operational-status__segment strong { color: #ffc268; font-weight: 800; }
.operational-status__segment--status { color: #ffb453; }
.operational-status__segment--status strong { color: #ffbd61; }
.operational-status__dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #31d07f; box-shadow: 0 0 0 2px rgba(49,208,127,.12), 0 0 10px rgba(49,208,127,.42); }
.operational-status__separator { color: rgba(255,255,255,.28); font-size: .85rem; }
@keyframes operational-status-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (max-width: 767.98px) {
    .operational-status { height: 30px; font-size: .59rem; letter-spacing: .035em; }
    .operational-status__sequence { gap: .75rem; padding-right: 2.25rem; }
    .operational-status__segment { gap: .3rem; }
    .operational-status__dot { width: 6px; height: 6px; flex-basis: 6px; }
}

/* About page */
.about-story { overflow: hidden; }
.about-story__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.about-story__visual { position: relative; min-height: 470px; margin: 0; overflow: hidden; border-radius: 20px; background: #dfeaf5; box-shadow: var(--shadow); }
.about-story__visual::after { position: absolute; inset: auto 0 0; height: 38%; content: ''; background: linear-gradient(transparent, rgba(3,27,67,.7)); }
.about-story__visual img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; object-position: center; }
.about-story__visual figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; color: #fff; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.about-story__content { max-width: 610px; }
.about-story__content h2 { max-width: 41rem; margin: 0 0 1.35rem; color: var(--navy); font-size: clamp(1.9rem, 2.8vw, 2.9rem); font-weight: 850; letter-spacing: -.045em; line-height: 1.06; }
.about-story__content > p:not(.eyebrow) { margin: 0 0 1rem; color: var(--muted); font-size: 1.04rem; line-height: 1.68; }
.about-story__content > p:last-child { margin-bottom: 0; }
.about-experience { color: #fff; background: linear-gradient(115deg, #031b43, #083f84); }
.about-experience__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: clamp(26px, 3.2vw, 38px) 0; list-style: none; }
.about-experience__list li { min-width: 0; padding: .3rem clamp(18px, 3vw, 38px); border-right: 1px solid rgba(255,255,255,.22); }
.about-experience__list li:first-child { padding-left: 0; }.about-experience__list li:last-child { padding-right: 0; border-right: 0; }
.about-experience strong, .about-experience span { display: block; }.about-experience strong { font-size: clamp(1.12rem, 1.7vw, 1.45rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.2; }.about-experience span { margin-top: .3rem; color: #bdd8f5; font-size: .8rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
@media (max-width: 991.98px) {
    .about-story__grid { grid-template-columns: 1fr; gap: 2rem; }.about-story__visual, .about-story__visual img { min-height: 380px; }.about-story__content { max-width: 720px; }.about-experience__list li { padding-right: 20px; padding-left: 20px; }
}
@media (max-width: 767.98px) {
    .about-story__visual, .about-story__visual img { min-height: 270px; }.about-story__visual { border-radius: 16px; }.about-story__visual figcaption { right: 17px; bottom: 14px; }.about-story__content > p:not(.eyebrow) { font-size: 1rem; }.about-experience__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.2rem; padding-block: 26px; }.about-experience__list li { padding: .2rem 18px; }.about-experience__list li:nth-child(2) { border-right: 0; }.about-experience__list li:nth-child(-n + 2) { border-bottom: 1px solid rgba(255,255,255,.22); padding-bottom: 1.2rem; }.about-experience__list li:nth-child(n + 3) { padding-top: 0; }.about-experience__list li:nth-child(odd) { padding-left: 0; }.about-experience__list li:nth-child(even) { padding-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .operational-status__track { animation: none; }
    .operational-status__sequence--duplicate { display: none; }
}

@media (max-width: 1199.98px) {
    .navbar-nav { gap: .15rem; }.navbar-brand img { width: 175px; }.header-call__icon { width: 40px; height: 40px; }.header-call strong { font-size: 1rem; }
    .navbar-collapse { position: absolute; top: 79px; right: 0; left: 0; padding: .5rem 1.5rem 1.5rem; border-top: 1px solid var(--line); background: #fff; box-shadow: 0 12px 20px rgba(6,39,93,.12); }
    .navbar-nav { gap: 0; }.nav-link { padding: .8rem 0 !important; }.nav-link::after { right: auto; bottom: .4rem; left: 0; width: 32px; }
    .header-call { margin-top: .5rem; }
    .hero__content { width: 58%; }.hero__visual { left: 43%; }
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px; }.footer-brand, .footer-column--contact { grid-column: span 1; }
    .footer-trust { gap: 1rem; max-width: 420px; }
}

@media (max-width: 1099.98px) {
    .areas-grid { grid-template-columns: 1fr; }
    .areas-copy { max-width: 650px; }
}

@media (max-width: 991.98px) {
    .hero { padding-top: 0; background: #fff; }.hero__inner { display: flex; flex-direction: column-reverse; min-height: 0; padding-right: 0; padding-left: 0; }
    .hero__visual { position: relative; inset: auto; height: 400px; }.hero__visual::after { background: linear-gradient(0deg, #f7fbff 0, transparent 24%); }
    .hero__content { width: auto; padding: 1.25rem var(--page-gutter) 2.6rem; }
    .hero h1 { font-size: clamp(2.5rem, 6vw, 3.7rem); }
    .price-strip { margin-top: 0; }.price-strip__item { padding: 1.2rem 1.35rem; }.price-strip__symbol { width: 48px; height: 48px; flex-basis: 48px; }.price-strip__item b { font-size: 1.6rem; }
    .process-section .section-header h2 { font-size: clamp(2rem, 3vw, 3rem); }.process-section .section-header > p:last-child { font-size: 1.04rem; }
    .process-list { grid-template-columns: repeat(2, 1fr); gap: 3rem 5rem; }.process-list::before { display: none; }
    .process-step__connector { display: none; }
    .results-grid { grid-template-columns: 1fr; }.result-comparison { height: 500px; min-height: 0; }.result-list { grid-template-columns: repeat(4, 1fr); grid-template-rows: none; }.result-card { grid-template-columns: 1fr; }.result-card__preview { height: 112px; }.result-card__body { min-height: 126px; }
    .areas-grid { grid-template-columns: 1fr; }.areas-copy { max-width: 650px; }.areas-experience { width: 100%; }
    .faq-grid { grid-template-columns: 1fr; gap: 28px; }.faq-intro { display: grid; grid-template-columns: minmax(0, 1fr) 188px; column-gap: 24px; align-items: center; }.faq-intro .eyebrow { width: max-content; }.faq-intro h2, .faq-intro__copy { grid-column: 1; }.faq-intro h2 { margin-bottom: 16px; }.faq-intro img { grid-column: 2; grid-row: 1 / 4; width: 188px; margin: 0; }.faq-accordion-card { padding: 18px; }
    .contact-cta__grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }.footer-brand { grid-column: span 2; }.footer-grid > div:last-child { grid-column: auto; }.footer-trust { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    body { padding-bottom: 64px; }
    .site-header { min-height: 72px; }.navbar { min-height: 69px; }.navbar-brand img { width: 170px; }.navbar-collapse { top: 69px; }
    .hero__visual { height: 300px; }.hero__content { padding-right: var(--page-gutter); padding-bottom: 2.8rem; padding-left: var(--page-gutter); }.hero h1 { font-size: clamp(2.1rem, 9vw, 2.65rem); }.hero h1 br { display: none; }
    .hero__lead { font-size: 1rem; }.hero__actions { display: grid; grid-template-columns: 1fr 1fr; }.hero__actions .btn { min-width: 0; padding-inline: .75rem; }
    .price-strip { grid-template-columns: 1fr; margin-right: var(--page-gutter); margin-left: var(--page-gutter); }.price-strip__item { min-height: 76px; padding-top: .9rem; padding-bottom: .9rem; border-right: 0; border-bottom: 1px solid var(--line); }.price-strip__item strong { min-height: 0; }.price-strip__item small { display: inline; float: right; margin: 0 0 0 1rem; }.price-strip__item b { font-size: 1.4rem; }
    .service-card__image { height: 210px; }
    .process-section .section-header > p:last-child { font-size: 1.04rem; }
    .process-list { grid-template-columns: 1fr; gap: 2.2rem; }.process-step { display: grid; grid-template-columns: 92px 1fr; text-align: left; column-gap: 1.2rem; }.process-step__icon { grid-row: 1 / 3; width: 92px; height: 92px; margin: 0; border-width: 7px; font-size: 1.8rem; }.process-step__icon svg { width: 46px; height: 46px; }.process-step__number { top: -11px; left: -9px; width: 32px; height: 32px; }.process-step h3 { align-self: end; margin: 0; }.process-step h3::after { margin: .55rem 0; }.process-step p { margin: 0; }
    .result-comparison { height: 410px; }.result-featured__caption { right: 12px; bottom: 12px; left: 12px; min-height: 78px; }.result-featured__detail { gap: .65rem; padding: .8rem; }.result-featured__icon { width: 42px; height: 42px; }.result-featured__caption strong { font-size: .9rem; }.result-featured__caption small { font-size: .76rem; }.result-list { grid-template-columns: 1fr; }.result-card { grid-template-columns: 42% 1fr; }.result-card__preview { height: auto; min-height: 126px; }.result-card__body { min-height: 0; }
    .real-results-gallery { grid-template-columns: 1fr; gap: var(--space-md); }
    .areas-grid { gap: 30px; }.area-card { padding: 22px; }.area-map-stage, .potsdam-coverage { min-height: 300px; }.berlin-district__label { font-size: 14px; }
    .faq-intro { display: block; }.faq-intro h2 { margin-bottom: 14px; font-size: clamp(1.95rem, 8vw, 2.35rem); }.faq-intro__copy { font-size: 1rem; }.faq-intro img { width: 185px; height: 135px; margin: 20px auto 0; }.faq-accordion-card { padding: 10px; border-radius: 15px; }.faq-button { min-height: 64px; padding: .65rem .65rem; font-size: .94rem; }.faq-question-icon { flex-basis: 38px; width: 38px; height: 38px; margin-right: 14px; }.faq-answer { padding: 0 .65rem .9rem 4rem; font-size: .92rem; }.faq-link { min-height: 50px; margin-top: 20px; padding: .5rem 1.35rem; }
    .contact-buttons { grid-template-columns: 1fr; }
    .site-footer { padding: 44px 0 24px; }
    .footer-grid { grid-template-columns: 1fr; gap: 0; }
    .footer-brand, .footer-column--contact { grid-column: auto; align-items: center; text-align: center; }
    .footer-brand img { width: min(360px, 100%); margin-right: auto; margin-left: auto; transform: none; }
    .footer-brand p { max-width: 360px; margin-top: .85rem; font-size: .92rem; line-height: 1.55; text-align: center; }
    .footer-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; max-width: 390px; margin-top: 1.45rem !important; gap: .65rem; }
    .footer-trust__item { min-width: 0; gap: .4rem; font-size: .74rem; }
    .footer-trust__icon { width: 40px; height: 40px; flex-basis: 40px; }
    .footer-trust__icon svg { width: 22px; height: 22px; }
    .footer-trust__label--desktop { display: none; }.footer-trust__label--mobile { display: inline; }
    .footer-accordion { border-top: 1px solid rgba(155,184,220,.25); }
    .footer-accordion:last-child { border-bottom: 1px solid rgba(155,184,220,.25); }
    .footer-accordion h2 { margin: 0; }
    .footer-accordion h2::after { display: none; }
    .footer-accordion__trigger { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 1rem; color: #fff; }
    .footer-accordion__title { gap: .9rem; font-size: 1.06rem; }
    .footer-accordion__icon { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; color: #25a9ff; }
    .footer-accordion__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
    .footer-accordion__chevron { display: block; width: 14px; height: 14px; flex: 0 0 14px; margin-right: .2rem; border-right: 3px solid #25a9ff; border-bottom: 3px solid #25a9ff; transform: rotate(45deg) translateY(-3px); transition: transform .2s ease; }
    .footer-accordion__trigger[aria-expanded="true"] .footer-accordion__chevron { transform: rotate(225deg) translate(-2px, -2px); }
    .footer-accordion__panel { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
    .footer-accordion__panel.is-open { max-height: 420px; }
    .footer-accordion__panel .footer-links { padding-bottom: .45rem; }
    .footer-accordion__panel .footer-links > li > a { min-height: 44px; padding-left: 2.35rem; font-size: .84rem; }
    .footer-accordion__panel .footer-link__arrow { font-size: 1.2rem; }
    .footer-accordion__panel .footer-contact > li, .footer-accordion__panel .footer-contact > li > a { min-height: 54px; }
    .footer-accordion__panel .footer-contact > li > a, .footer-accordion__panel .footer-contact > li > span { gap: .7rem; }
    .footer-accordion__panel .footer-contact .footer-icon { width: 34px; height: 34px; flex-basis: 34px; }
    .footer-contact__email { white-space: normal; overflow-wrap: anywhere; }
    .footer-contact-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin: 1.65rem auto 0; max-width: 390px; }
    .footer-contact-action { display: flex; min-width: 0; min-height: 78px; align-items: center; flex-direction: column; justify-content: flex-start; gap: .45rem; color: #e4edfa; font-size: .78rem; text-align: center; text-decoration: none; }
    .footer-contact-action:hover { color: #fff; }
    .footer-contact-action__icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 50%; color: #25a9ff; background: rgba(14,129,239,.18); }
    .footer-contact-action__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
    .footer-bottom { align-items: center; margin-top: 1.3rem; padding-top: 1.3rem; flex-direction: column; gap: .55rem; color: #b8c9df; font-size: .82rem; text-align: center; }
    .footer-bottom > span:first-child { width: 100%; line-height: 1.55; }
    .footer-bottom__service-area { display: none; }
    .mobile-actions { position: fixed; z-index: 1040; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 64px; box-shadow: 0 -4px 18px rgba(2,24,58,.2); }
    .mobile-actions a { display: flex; align-items: center; justify-content: center; gap: .5rem; color: #fff; background: var(--navy); font-weight: 800; text-decoration: none; }.mobile-actions a:last-child { background: var(--green); }
}

/* Reviews & Gallery page */
.reviews-trust-section { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 86% 50%, rgba(66,133,244,.1), transparent 31%), radial-gradient(circle at 65% 28%, rgba(234,67,53,.045), transparent 21%), linear-gradient(112deg, #f7fbff 0%, #fff 48%, #f0f8ff 100%); }
.reviews-trust-section::before { position: absolute; z-index: -1; top: 10%; right: 7%; width: 430px; height: 430px; border: 46px solid rgba(66,133,244,.045); border-radius: 50%; content: ''; filter: blur(1px); }
.reviews-trust-section::after { position: absolute; z-index: -1; right: 26%; bottom: 6%; width: 360px; height: 240px; border-radius: 50%; content: ''; background: radial-gradient(circle, rgba(52,168,83,.07), rgba(251,188,5,.025) 40%, transparent 70%); filter: blur(16px); }
.reviews-trust-section--hero { padding-block: clamp(38px, 5vw, 64px) clamp(72px, 7vw, 108px); }
.reviews-trust-section__breadcrumb { position: relative; z-index: 2; display: flex; gap: .55rem; margin-bottom: clamp(2rem, 4vw, 3.75rem); color: var(--muted); font-size: .9rem; }
.reviews-trust-section__breadcrumb a { color: var(--blue); font-weight: 700; text-decoration: none; }
.reviews-trust-panel { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .42fr) minmax(0, .58fr); gap: clamp(22px, 3vw, 48px); align-items: center; min-height: 540px; padding: 0; overflow: visible; }
.reviews-trust-panel__copy { position: relative; z-index: 2; max-width: 520px; padding-block: 18px; }
.reviews-trust-panel__copy .eyebrow { margin-bottom: clamp(1.65rem, 3vw, 2.6rem); }
.reviews-trust-panel__copy .eyebrow::after { width: 30px; height: 2px; content: ''; background: #9dcaf2; }
.reviews-trust-panel h1, .reviews-trust-panel h2 { max-width: 520px; margin: 0 0 clamp(2rem, 4vw, 3.25rem); color: var(--navy); font-size: clamp(2.7rem, 5vw, 4.8rem); font-weight: 850; letter-spacing: -.06em; line-height: 1.01; }
.reviews-trust-panel__action { display: grid; justify-items: start; gap: clamp(1.35rem, 2.3vw, 2rem); }
.reviews-count { display: flex; min-width: min(100%, 360px); min-height: 112px; align-items: center; gap: 1.15rem; padding: 1rem 1.45rem; border: 1px solid #d5e8fa; border-radius: 20px; background: linear-gradient(135deg, rgba(237,247,255,.94), rgba(229,242,255,.74)); box-shadow: 0 14px 28px rgba(6,39,93,.08); }
.reviews-count__mark { display: grid; width: 66px; height: 66px; flex: 0 0 66px; place-items: center; border: 1px solid #e4edf6; border-radius: 18px; background: #fff; box-shadow: 0 8px 16px rgba(6,39,93,.07); }
.reviews-google-mark { display: block; width: 43px; height: 43px; }
.reviews-count__copy strong, .reviews-count__copy span { display: block; }
.reviews-count__copy strong { color: var(--navy); font-size: clamp(2rem, 3.1vw, 3rem); font-weight: 850; letter-spacing: -.05em; line-height: 1; }
.reviews-count__copy span { margin-top: .42rem; color: var(--muted); font-size: .84rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.reviews-trust-panel__action .btn { display: inline-flex; min-height: 68px; align-items: center; gap: .75rem; padding: .9rem 1.45rem; border-radius: 12px; font-size: 1.08rem; box-shadow: 0 12px 22px rgba(6,39,93,.16); }
.reviews-cta__icon { display: block; width: 28px; height: 28px; padding: 3px; border-radius: 50%; background: #fff; }
.reviews-trust-panel__visual { position: relative; z-index: 1; display: flex; min-width: 0; align-items: center; justify-content: center; width: calc(100% + clamp(70px, 9vw, 155px)); margin: -58px -125px -58px -34px; }
.reviews-trust-panel__visual img { display: block; width: min(100%, 850px); height: auto; max-width: none; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(6,39,93,.06)); -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 96%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 96%, transparent 100%); }
.real-jobs-section { background: #fff; }
.real-jobs-section .section-header { margin-bottom: var(--space-2xl); }
.reviews-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 26px); align-items: start; }
.reviews-gallery__item { position: relative; display: block; aspect-ratio: 4 / 3; min-width: 0; padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #eef6fb; box-shadow: 0 5px 16px rgba(6,39,93,.045); cursor: zoom-in; isolation: isolate; transition: box-shadow .22s ease, transform .22s ease; }
.reviews-gallery__item::after { position: absolute; z-index: 1; inset: 0; content: ''; background: linear-gradient(135deg, rgba(3,27,67,.04), rgba(3,27,67,.28)); opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.reviews-gallery__item:hover { box-shadow: 0 11px 24px rgba(6,39,93,.1); transform: translateY(-2px); }
.reviews-gallery__item:hover::after { opacity: 1; }
.reviews-gallery__item:focus-visible { outline: 3px solid rgba(7,135,235,.38); outline-offset: 3px; }
.reviews-gallery__image { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, #f5faff, #eaf3f9); }
.reviews-gallery__image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; transition: transform .3s ease; }
.reviews-gallery__item:hover .reviews-gallery__image img { transform: scale(1.015); }
.reviews-gallery__zoom { position: absolute; z-index: 2; right: 14px; bottom: 14px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; color: var(--navy); background: rgba(255,255,255,.92); box-shadow: 0 5px 14px rgba(6,39,93,.12); font-size: 1.1rem; line-height: 1; opacity: 0; transform: scale(.9); transition: opacity .22s ease, transform .22s ease; }
.reviews-gallery__item:hover .reviews-gallery__zoom, .reviews-gallery__item:focus-visible .reviews-gallery__zoom { opacity: 1; transform: scale(1); }

.gallery-lightbox { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: clamp(12px, 3vw, 34px); }
.gallery-lightbox__backdrop { position: absolute; inset: 0; background: rgba(3, 20, 48, .88); }
.gallery-lightbox__dialog { position: relative; z-index: 1; display: grid; width: min(1180px, 100%); max-height: 100%; grid-template-rows: auto minmax(0, 1fr) auto; padding: clamp(12px, 2vw, 20px); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #071f49; box-shadow: 0 24px 70px rgba(0,0,0,.36); }
.gallery-lightbox__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 0 .75rem; }
.gallery-lightbox__toolbar h2 { margin: 0; color: #fff; font-size: .88rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.gallery-lightbox__close, .gallery-lightbox__nav { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); color: #fff; background: rgba(255,255,255,.1); cursor: pointer; transition: background-color .18s ease, border-color .18s ease; }
.gallery-lightbox__close { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; font-size: 1.7rem; line-height: 1; }
.gallery-lightbox__close:hover, .gallery-lightbox__nav:hover { border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.2); }
.gallery-lightbox__stage { position: relative; display: flex; min-height: 0; align-items: center; justify-content: center; }
.gallery-lightbox__image { display: block; width: auto; max-width: calc(100% - 96px); height: auto; max-height: min(75vh, 820px); object-fit: contain; }
.gallery-lightbox__nav { position: absolute; top: 50%; width: 46px; height: 58px; border-radius: 14px; font-size: 2.25rem; line-height: 1; transform: translateY(-50%); }
.gallery-lightbox__nav--previous { left: .5rem; }
.gallery-lightbox__nav--next { right: .5rem; }
.gallery-lightbox__status { min-height: 1.2em; margin: .75rem 0 0; color: #b9d8f7; font-size: .78rem; text-align: center; }
body.is-lightbox-open { overflow: hidden; }

@media (max-width: 991.98px) {
    .reviews-trust-panel { grid-template-columns: 1fr; }
    .reviews-trust-panel { min-height: 0; }
    .reviews-trust-panel__copy { max-width: 640px; padding-top: 0; }
    .reviews-trust-panel__visual { margin: 20px auto -24px; width: min(100%, 760px); }
    .reviews-trust-panel__visual img { width: 100%; max-width: 760px; }
    .reviews-trust-panel__action { grid-template-columns: auto auto; align-items: center; justify-content: start; }
    .reviews-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .reviews-trust-section--hero { padding-block: 34px 72px; }
    .reviews-trust-section__breadcrumb { margin-bottom: 2rem; }
    .reviews-trust-panel { gap: 26px; }
    .reviews-trust-panel__copy { padding-inline: 0; }
    .reviews-trust-panel h1, .reviews-trust-panel h2 { margin-bottom: 1.8rem; font-size: clamp(2.55rem, 11vw, 3.5rem); }
    .reviews-trust-panel__action { grid-template-columns: 1fr; gap: 1.1rem; }
    .reviews-trust-panel__action .btn { width: 100%; }
    .reviews-count { width: 100%; min-width: 0; min-height: 96px; padding: .8rem 1rem; }
    .reviews-count__mark { width: 58px; height: 58px; flex-basis: 58px; border-radius: 16px; }
    .reviews-google-mark { width: 38px; height: 38px; }
    .reviews-trust-panel__visual { margin: 0 auto -18px; width: calc(100% + 12px); }
    .reviews-trust-panel__visual img { width: 100%; }
    .reviews-gallery-grid { grid-template-columns: 1fr; gap: var(--space-md); }
    .reviews-gallery__zoom { right: 12px; bottom: 12px; opacity: 1; transform: none; }
    .gallery-lightbox { padding: 10px; }
    .gallery-lightbox__dialog { padding: 10px; border-radius: 14px; }
    .gallery-lightbox__toolbar { padding-bottom: .5rem; }
    .gallery-lightbox__toolbar h2 { font-size: .72rem; }
    .gallery-lightbox__image { max-width: calc(100% - 54px); max-height: 78vh; }
    .gallery-lightbox__nav { width: 36px; height: 48px; border-radius: 11px; font-size: 1.8rem; }
    .gallery-lightbox__nav--previous { left: .15rem; }
    .gallery-lightbox__nav--next { right: .15rem; }
}

@media (max-width: 399.98px) {
    .faq-intro img { width: 175px; height: 125px; }
    .faq-accordion-card { padding: 8px; }
    .faq-question-icon { flex-basis: 34px; width: 34px; height: 34px; margin-right: 10px; }
    .faq-button { min-height: 60px; padding-right: .55rem; padding-left: .55rem; font-size: .9rem; }
    .faq-answer { padding-left: 3.6rem; font-size: .9rem; }
    .contact-cta h2 { font-size: 2.1rem; }
    .contact-button { min-height: 84px; padding-right: .9rem; padding-left: .9rem; }
    .contact-button__icon { width: 46px; height: 46px; flex-basis: 46px; }
    .contact-button strong { font-size: 1rem; }
    .contact-trust { font-size: .7rem; }
    .trust-list { grid-template-columns: 1fr; }.trust-list li { flex-direction: row; align-items: center; }
    .footer-grid { grid-template-columns: 1fr; }.footer-brand, .footer-column--contact { grid-column: auto; }
}

/* Contact page */
.contact-page { background: var(--surface); }
.contact-page__grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(28px, 5vw, 72px); align-items: stretch; }
.contact-info-panel, .contact-form-panel { height: 100%; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.contact-info-panel { padding: clamp(26px, 4vw, 48px); background: linear-gradient(150deg, #06275d, #0a3e88); }
.contact-info-panel .eyebrow { border-color: rgba(255,255,255,.28); color: #b9e3ff; background: rgba(255,255,255,.1); }
.contact-info-panel h2 { margin: 0 0 1rem; color: #fff; font-size: clamp(2rem, 3vw, 3rem); font-weight: 850; letter-spacing: -.045em; line-height: 1.08; }
.contact-info-panel__intro { margin: 0; color: #d6e6fa; line-height: 1.65; }
.contact-details { display: grid; gap: 0; margin: 2rem 0 0; }
.contact-detail { padding: 1.1rem 0; border-top: 1px solid rgba(255,255,255,.18); }
.contact-detail dt { display: flex; align-items: center; gap: .7rem; color: #b9e3ff; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.contact-detail dd { margin: .45rem 0 0 2.15rem; color: #fff; font-size: 1.08rem; font-weight: 700; overflow-wrap: anywhere; }
.contact-detail a { color: inherit; text-decoration: none; }.contact-detail a:hover, .contact-detail a:focus-visible { color: #b9e3ff; }
.contact-detail__icon { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(185,227,255,.4); border-radius: 50%; color: #fff; font-size: .95rem; font-weight: 700; }
.contact-info-panel__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1.8rem; }
.contact-info-panel__actions .btn { padding-inline: .8rem; font-size: .9rem; }.contact-info-panel__actions .btn-primary { color: var(--navy); border-color: #fff; background: #fff; }.contact-info-panel__actions .btn-primary:hover, .contact-info-panel__actions .btn-primary:focus { color: var(--navy); border-color: #e4f3ff; background: #e4f3ff; }
.contact-form-panel { padding: clamp(26px, 4vw, 48px); }.contact-form-panel__heading { margin-bottom: 2.8rem; }.contact-form-panel__heading h2 { margin: 0 0 .65rem; color: var(--navy); font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 850; letter-spacing: -.045em; }.contact-form-panel__heading .eyebrow { margin-bottom: .85rem; }
.contact-form .form-label { margin-bottom: .5rem; color: var(--ink); font-size: .9rem; font-weight: 750; }.contact-form .form-label > span { color: var(--orange); }.contact-form .form-control, .contact-form .form-select { min-height: 52px; border-color: #cfdae8; border-radius: 9px; color: var(--ink); }.contact-form textarea.form-control { min-height: 148px; resize: vertical; }.contact-form .form-control::placeholder { color: #8a9ab0; }.contact-form .form-control:focus, .contact-form .form-select:focus { border-color: var(--blue); box-shadow: 0 0 0 .2rem rgba(7,135,235,.14); }.contact-form__submit { min-width: 190px; }.contact-alert { margin-bottom: 1.5rem; border-radius: 10px; }.contact-form__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Admin */
.admin-body { min-height: 100vh; color: var(--ink); background: var(--surface); }.admin-header { border-top: 3px solid var(--navy); border-bottom: 1px solid var(--line); background: #fff; }.admin-header__inner { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 1rem; }.admin-header__brand { color: var(--navy); font-size: 1.05rem; font-weight: 850; text-decoration: none; }.admin-header__brand span { margin-left: .35rem; color: var(--blue); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }.admin-header__user { display: flex; align-items: center; gap: 1rem; color: var(--muted); font-size: .9rem; }.admin-header__user form { margin: 0; }.admin-link-button { padding: 0; border: 0; color: var(--blue); background: transparent; font-weight: 750; }.admin-link-button:hover, .admin-link-button:focus-visible { color: var(--navy); text-decoration: underline; }.admin-main { min-height: calc(100vh - 79px); }.admin-container { padding-top: clamp(34px, 5vw, 64px); padding-bottom: clamp(48px, 7vw, 96px); }.admin-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }.admin-page-heading h1 { margin: 0 0 .5rem; color: var(--navy); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 850; letter-spacing: -.05em; }.admin-page-heading .eyebrow { margin-bottom: .8rem; }.admin-muted { color: var(--muted); }.admin-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.5rem; }.admin-summary-card { display: flex; align-items: center; justify-content: space-between; min-height: 104px; padding: 1.25rem 1.5rem; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 13px; background: #fff; box-shadow: 0 6px 18px rgba(5,38,88,.05); }.admin-summary-card--contacted { border-left-color: #e8a41a; }.admin-summary-card--closed { border-left-color: #8090a6; }.admin-summary-card span { color: var(--muted); font-weight: 750; }.admin-summary-card strong { color: var(--navy); font-size: 2rem; }.admin-table-card, .admin-detail-card, .admin-login-card { border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(5,38,88,.06); }.admin-table-card { overflow: hidden; }.admin-table-card__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--line); }.admin-table-card h2, .admin-detail-card h2 { margin: 0; color: var(--navy); font-size: 1.2rem; font-weight: 800; }.admin-filter-form { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }.admin-filter-form .form-control { width: 220px; }.admin-filter-form .form-select { width: auto; min-width: 145px; }.admin-table { --bs-table-bg: #fff; --bs-table-border-color: #e5ebf2; font-size: .9rem; }.admin-table th { padding: .95rem 1rem; color: var(--muted); background: #f8fbff; font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }.admin-table td { padding: 1rem; }.admin-table td a { color: var(--blue); text-decoration: none; }.admin-table td a:hover, .admin-table td a:focus-visible { color: var(--navy); text-decoration: underline; }.admin-status { display: inline-flex; align-items: center; min-height: 28px; padding: .25rem .6rem; border-radius: 999px; color: #1d6fbe; background: #eaf5ff; font-size: .76rem; font-weight: 800; }.admin-status--contacted { color: #8a6100; background: #fff4d6; }.admin-status--closed { color: #526174; background: #edf1f5; }.admin-empty { padding: 3rem 1rem !important; color: var(--muted); text-align: center; }.admin-pagination { padding: 1rem 1.5rem; }.admin-pagination .pagination { margin-bottom: 0; }.admin-back-link { display: inline-block; margin-bottom: 1.75rem; color: var(--blue); font-weight: 750; text-decoration: none; }.admin-back-link:hover, .admin-back-link:focus-visible { color: var(--navy); text-decoration: underline; }.admin-detail-container .admin-page-heading { align-items: center; }.admin-detail-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 1.5rem; }.admin-detail-card { padding: clamp(22px, 3vw, 34px); }.admin-detail-list { display: grid; gap: 0; margin: 1.5rem 0 0; }.admin-detail-list > div { display: grid; grid-template-columns: minmax(150px, .42fr) 1fr; gap: 1rem; padding: .85rem 0; border-top: 1px solid #e5ebf2; }.admin-detail-list dt { color: var(--muted); font-size: .83rem; font-weight: 750; }.admin-detail-list dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; white-space: pre-wrap; }.admin-detail-list a { color: var(--blue); text-decoration: none; }.admin-detail-list a:hover, .admin-detail-list a:focus-visible { text-decoration: underline; }.admin-detail-list__message dd { line-height: 1.65; }.admin-direct-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }.admin-form .form-label { color: var(--ink); font-weight: 750; }.admin-form .form-control, .admin-form .form-select { border-color: #cfdae8; }.admin-form .form-control:focus, .admin-form .form-select:focus { border-color: var(--blue); box-shadow: 0 0 0 .2rem rgba(7,135,235,.14); }.admin-login-wrap { display: grid; min-height: calc(100vh - 79px); place-items: center; padding: 2rem var(--page-gutter); }.admin-login-card { width: min(100%, 460px); padding: clamp(28px, 5vw, 48px); }.admin-login-card h1 { margin: 0 0 .5rem; color: var(--navy); font-size: 2.3rem; font-weight: 850; letter-spacing: -.05em; }.admin-login-card .eyebrow { margin-bottom: 1rem; }.admin-login-card .admin-muted { margin-bottom: 2rem; }.admin-login-card .form-label { font-weight: 750; }

@media (max-width: 991.98px) { .contact-page__grid, .admin-detail-grid { grid-template-columns: 1fr; }.contact-info-panel, .contact-form-panel { height: auto; }.contact-info-panel { max-width: 700px; }.admin-table-card__toolbar { align-items: stretch; flex-direction: column; }.admin-filter-form { justify-content: flex-start; } }
@media (max-width: 767.98px) { .contact-page__grid { gap: 1.25rem; }.contact-info-panel, .contact-form-panel { padding: 24px 20px; border-radius: 16px; }.contact-info-panel__actions { grid-template-columns: 1fr; }.admin-header__inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 1rem; }.admin-header__user { width: 100%; justify-content: space-between; }.admin-page-heading, .admin-detail-container .admin-page-heading { align-items: flex-start; flex-direction: column; }.admin-summary-card { min-height: 84px; padding: 1rem; }.admin-summary-card strong { font-size: 1.6rem; }.admin-filter-form { display: grid; grid-template-columns: 1fr 1fr; }.admin-filter-form .form-control, .admin-filter-form .form-select { width: 100%; min-width: 0; }.admin-filter-form .form-control { grid-column: 1 / -1; }.admin-filter-form .btn { grid-column: 1 / -1; }.admin-table thead { display: none; }.admin-table, .admin-table tbody, .admin-table tr, .admin-table td { display: block; width: 100%; }.admin-table tr { padding: 1rem; border-bottom: 1px solid var(--line); }.admin-table tr:last-child { border-bottom: 0; }.admin-table td { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .42rem 0; border: 0; text-align: right; }.admin-table td::before { color: var(--muted); content: attr(data-label); font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-align: left; text-transform: uppercase; }.admin-table td[data-label=""] { justify-content: flex-end; padding-top: .75rem; }.admin-table td[data-label=""]::before { display: none; }.admin-detail-list > div { grid-template-columns: 1fr; gap: .35rem; }.admin-detail-list dd { text-align: left; }.admin-detail-card { padding: 22px 20px; } }

/* Intentional phone composition: keeps desktop and tablet styling unchanged. */
@media (max-width: 767.98px) {
    body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .site-header .container { padding-right: var(--page-gutter); padding-left: var(--page-gutter); }
    .navbar-brand img { width: 158px; }
    .navbar-toggler { width: 46px; height: 44px; padding: .5rem .6rem; border-color: #cbd8e8; border-radius: 12px; }
    .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(7,135,235,.16); }
    .language-switcher__link { min-width: 2.75rem; min-height: 2.5rem; }

    .hero__inner { flex-direction: column; }
    .hero__content { padding: 1.15rem var(--page-gutter) 0; }
    .hero__content .hero__actions { display: none; }
    .hero__visual { width: calc(100% - 24px); height: clamp(216px, 56vw, 264px); margin: 1.15rem 12px 0; border-radius: 20px; }
    .hero__visual img { object-position: 61% center; border-radius: 20px; }
    .hero__visual::after { border-radius: 20px; }
    .hero__badge { position: absolute; z-index: 2; bottom: 12px; left: 10px; display: flex; align-items: center; gap: .45rem; width: 118px; min-height: 62px; padding: .6rem .7rem; border-radius: 15px; background: rgba(255,255,255,.98); box-shadow: 0 8px 18px rgba(6,39,93,.16); pointer-events: none; }
    .hero__badge-icon { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; color: var(--orange); }
    .hero__badge-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.7; }
    .hero__badge-copy { display: block; color: var(--navy); line-height: 1; }
    .hero__badge-copy strong, .hero__badge-copy small { display: block; }
    .hero__badge-copy strong { margin-bottom: .2rem; color: var(--orange); font-size: 1rem; line-height: 1; }
    .hero__badge-copy small { font-size: .58rem; font-weight: 850; letter-spacing: .04em; line-height: 1.15; }
    .hero h1 { max-width: 23rem; margin-bottom: 1.1rem; font-size: clamp(2.05rem, 8.7vw, 2.65rem); line-height: 1.06; }
    .hero__lead { max-width: 34rem; margin-bottom: 0; font-size: .92rem; line-height: 1.5; }
    .hero__lead--desktop { display: none; }.hero__lead--mobile { display: inline; }

    .hero > .price-strip { width: calc(100% - (2 * var(--page-gutter))); margin: 1rem var(--page-gutter) 0; border-radius: 15px; box-shadow: 0 10px 26px rgba(5,38,88,.12); grid-template-columns: 1fr; }
    .price-strip__item { position: relative; min-height: 72px; padding: .4rem 2.8rem .4rem 1rem; gap: .8rem; }
    .price-strip__item:last-child { grid-column: auto; }
    .price-strip__item::after { position: absolute; top: 50%; right: 1rem; color: var(--muted); content: '›'; font-size: 2rem; font-weight: 300; line-height: 1; transform: translateY(-54%); }
    .price-strip__symbol { width: 42px; height: 42px; flex-basis: 42px; }
    .price-strip__item > span:last-child { min-width: 0; flex: 1; }
    .price-strip__item strong { display: flex; align-items: center; min-height: 2.35em; overflow-wrap: anywhere; font-size: .9rem; line-height: 1.15; letter-spacing: -.012em; }
    .price-strip__item small { display: flex; align-items: center; justify-content: space-between; gap: .3rem; margin-top: .15rem; font-size: .74rem; line-height: 1; }
    .price-strip__item b { margin-left: auto; font-size: 1.35rem; line-height: 1; }

    .services-section .section-header > p:last-child { max-width: 31rem; margin-right: auto; margin-left: auto; }
    .service-card__image { height: clamp(190px, 52vw, 210px); }
    .service-card__body { padding: 1.15rem 1.15rem 1.05rem; }
    .service-card__icon { width: 46px; height: 46px; flex-basis: 46px; border-radius: 11px; }
    .service-card__icon svg { width: 28px; height: 28px; }
    .service-card h3 { font-size: 1.08rem; }
    .service-card__description { margin-top: .72rem; margin-left: 3.95rem; font-size: .9rem; line-height: 1.48; }
    .service-card__footer { gap: .75rem; margin-top: 1.05rem; padding-top: .8rem; font-size: .79rem; }
    .service-card__price strong { font-size: 1.24rem; }

    .process-list { grid-template-columns: 1fr; gap: var(--space-xl); }
    .process-step { grid-template-columns: 104px minmax(0, 1fr); column-gap: var(--space-lg); align-items: start; }
    .process-step__icon { grid-row: 1 / span 2; width: 100px; height: 100px; margin: 0; }
    .process-step__icon svg { width: 54px; height: 54px; }
    .process-step__number { top: -12px; left: -12px; width: 36px; height: 36px; font-size: .84rem; }
    .process-step__connector { top: 100px; left: 50px; display: block; width: 2px; height: calc(100% + 2.25rem - 100px); background: repeating-linear-gradient(180deg, rgba(58,129,224,.78) 0 6px, transparent 6px 12px); }
    .process-step__connector::after { display: none; }
    .process-step h3 { align-self: start; min-height: 0; margin: .55rem 0 0; font-size: 1.15rem; line-height: 1.25; }
    .process-step h3::after { width: 56px; height: 4px; margin: .75rem 0 1.05rem; }
    .process-step p { max-width: none; margin: 0; font-size: .95rem; line-height: 1.6; }

    .result-comparison { height: clamp(360px, 106vw, 430px); }
    .result-label { top: 12px; padding: .42rem .85rem; font-size: .78rem; }.result-label--before { left: 12px; }.result-label--after { right: 12px; }
    .result-comparison__handle { width: 56px; height: 56px; }.result-comparison__handle svg { width: 30px; }
    .result-featured__caption { right: 10px; bottom: 10px; left: 10px; grid-template-columns: 1fr; }
    .result-featured__detail { min-height: 68px; padding: .65rem .8rem; }
    .result-featured__detail--after::before { top: 0; right: 14px; bottom: auto; left: 14px; width: auto; height: 1px; }
    .result-featured__caption strong, .result-card strong { font-size: .9rem; }
    .result-featured__caption small, .result-card small { font-size: .76rem; }
    .result-card { min-height: 130px; }
    .result-card__preview { min-height: 112px; }

    .areas-section .container { padding-right: var(--page-gutter); padding-left: var(--page-gutter); }
    .area-card { padding: 18px 16px; border-radius: 18px; }
    .area-card__tabs { width: 100%; margin-bottom: 18px; }
    .area-tab { min-width: 0; min-height: 52px; flex: 1 1 0; padding-right: .7rem; padding-left: .7rem; }
    .area-map-stage, .potsdam-coverage { min-height: 0; height: clamp(230px, 60vw, 280px); border-radius: 15px; }
    .area-map-stage { aspect-ratio: auto; }
    .berlin-district__label { font-size: 15px; }
    .area-map-note { text-align: center; }
    .area-chip-row { align-items: stretch; }
    .area-district-chips { gap: .5rem; }
    .area-chip { min-height: 50px; padding-right: .85rem; padding-left: .85rem; }
    .area-chip-next { width: 44px; height: 50px; flex-basis: 44px; }
    .area-info-panel { gap: .75rem; padding: .9rem; }
    .area-info-panel__icon { width: 52px; height: 52px; flex-basis: 52px; border-radius: 13px; }
    .area-info-panel__meta { font-size: .76rem; }

    .faq-section .faq-intro img { width: 185px; height: 135px; }
    .faq-section .faq-button { min-height: 64px; font-size: .94rem; }
    .faq-section .faq-answer { font-size: .92rem; }

    .contact-cta { padding-block: var(--section-space-compact); }
    .contact-cta__grid { gap: 32px; }
    .contact-cta h2 { font-size: clamp(2.2rem, 8.6vw, 3rem); }
    .contact-cta p:not(.eyebrow) { margin-top: 1rem; font-size: 1rem; }
    .contact-buttons { gap: 12px; }
    .contact-button { min-height: 88px; padding: 1rem 1.1rem; border-radius: 16px; }
    .contact-button__icon { width: 50px; height: 50px; flex-basis: 50px; }
    .contact-button__icon svg { width: 28px; height: 28px; }
    .contact-button strong { font-size: 1.08rem; }
    .contact-trust { margin-top: 1.5rem; font-size: .77rem; }
    .contact-trust li { flex-direction: column; gap: .35rem; padding: 0 .45rem; text-align: center; white-space: normal; }
    .contact-trust li:first-child { padding-left: 0; }
    .contact-trust__icon { width: 24px; height: 24px; flex-basis: 24px; }

    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer-brand, .footer-column--contact { grid-column: auto; }
    .site-footer { padding-bottom: 30px; }
    .site-footer h2 { margin-top: 0; margin-bottom: .7rem; }
    .site-footer h2::after { margin-top: .7rem; }
    .footer-links > li > a { min-height: 52px; }
    .footer-contact > li, .footer-contact > li > a { min-height: 58px; }
    .footer-trust { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 360px; }
    .footer-bottom { align-items: center; margin-top: 30px; padding-top: 18px; }
    .mobile-actions { min-height: 64px; padding-bottom: env(safe-area-inset-bottom); }
}

@media (max-width: 440px) {
    .services-section__grid { --bs-gutter-x: 0; --bs-gutter-y: 0; flex-wrap: nowrap; gap: var(--space-md); margin-right: calc(var(--page-gutter) * -1); margin-left: calc(var(--page-gutter) * -1); padding: 0 var(--page-gutter) .5rem; overflow-x: auto; overflow-y: hidden; scroll-padding-inline: var(--page-gutter); scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
    .services-section__grid::-webkit-scrollbar { display: none; width: 0; height: 0; }
    .services-section__grid > .col-md-6 { width: 88%; max-width: 88%; flex: 0 0 88%; padding-right: 0; padding-left: 0; scroll-snap-align: start; }
}

@media (max-width: 339.98px) {
    .footer-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 230px; row-gap: .8rem; }
}

@media (max-width: 399.98px) {
    .faq-section .faq-intro img { width: 175px; height: 125px; }
    .faq-section .faq-accordion-card { padding: 8px; }
    .faq-section .faq-question-icon { flex-basis: 34px; width: 34px; height: 34px; margin-right: 10px; }
    .faq-section .faq-button { min-height: 60px; padding-right: .55rem; padding-left: .55rem; font-size: .9rem; }
    .faq-section .faq-answer { padding-left: 3.6rem; font-size: .9rem; }
}

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

/* Services page */
.inner-page-hero { position: relative; overflow: hidden; padding: clamp(52px, 7vw, 88px) 0 clamp(56px, 7vw, 92px); background: linear-gradient(115deg, #f1f8ff, #fff 67%); }
.inner-page-hero::after { position: absolute; top: -105px; right: 8%; width: 300px; height: 300px; border: 44px solid rgba(7,135,235,.07); border-radius: 50%; content: ''; }
.inner-page-hero .container { position: relative; z-index: 1; }
.inner-page-hero__breadcrumb { display: flex; gap: .55rem; margin-bottom: 1.4rem; color: var(--muted); font-size: .9rem; }
.inner-page-hero__breadcrumb a { color: var(--blue); font-weight: 700; text-decoration: none; }
.inner-page-hero__content { max-width: 690px; }
.inner-page-hero h1 { margin: 0 0 1rem; color: var(--navy); font-size: clamp(2.45rem, 4.2vw, 4.25rem); font-weight: 850; letter-spacing: -.05em; line-height: 1.04; }
.inner-page-hero p { max-width: 570px; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.45vw, 1.16rem); line-height: 1.6; }
.faq-page { background: var(--surface); }
.faq-page__panel { width: 100%; max-width: none; margin: 0; padding: clamp(14px, 1.8vw, 24px); border: 1px solid #d9e5f2; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(5, 38, 88, .08); }
.faq-page .faq-button { min-height: 88px; }
.faq-page .faq-answer { max-width: none; }
@media (max-width: 991.98px) {
    .faq-page .faq-button { padding-right: 1rem; }
    .faq-page .faq-button__question { flex: 1 1 auto; min-width: 0; }
    .faq-page .faq-chevron { display: grid; flex: 0 0 34px; width: 34px; height: 34px; margin: 0 0 0 .75rem; place-items: center; border: 0; transform: none; }
    .faq-page .faq-chevron::before { width: 13px; height: 13px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); content: ''; transform: rotate(45deg); transition: transform .2s ease; }
    .faq-page .faq-button:not(.collapsed) .faq-chevron::before { transform: rotate(225deg); }
}
.services-page { overflow: hidden; }
.service-detail { position: relative; }
.service-detail--soft { background: var(--surface); }
.service-detail__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 92px); align-items: center; }
.service-detail--reverse .service-detail__visual { order: 2; }
.service-detail__visual { position: relative; min-height: 405px; margin: 0; overflow: hidden; border-radius: 20px; background: #dfeaf5; box-shadow: var(--shadow); }
.service-detail__visual img { width: 100%; height: 100%; min-height: 405px; object-fit: cover; }
.service-detail__visual::after { position: absolute; inset: auto 0 0; height: 38%; content: ''; background: linear-gradient(transparent, rgba(3,27,67,.74)); }
.service-detail__visual figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; color: #fff; font-size: .82rem; font-weight: 700; text-align: right; text-transform: uppercase; letter-spacing: .05em; }
.service-detail__visual figcaption span, .service-detail__visual figcaption strong { display: block; }.service-detail__visual figcaption strong { margin-top: .18rem; font-size: 2rem; letter-spacing: -.04em; }
.service-detail__content h2, .emergency-service h2 { margin: 0 0 1.1rem; color: var(--navy); font-size: clamp(2rem, 3.2vw, 3.25rem); font-weight: 850; letter-spacing: -.045em; line-height: 1.08; }
.service-detail__intro { max-width: 580px; margin: 0 0 1.65rem; color: var(--muted); font-size: 1.04rem; line-height: 1.65; }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .72rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.service-list li { position: relative; padding-left: 1.55rem; color: var(--ink); font-size: .95rem; line-height: 1.45; }
.service-list li::before, .emergency-service__list li::before { position: absolute; top: .35rem; left: 0; width: .78rem; height: .78rem; border-radius: 50%; content: ''; background: var(--blue); box-shadow: inset 0 0 0 3px #dff1ff; }
.emergency-service { padding-top: calc(var(--section-space) - 10px); background: #fff; }
.emergency-service__panel { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr); overflow: hidden; border-radius: 22px; color: #fff; background: linear-gradient(135deg, #031b43, #083f84); box-shadow: 0 18px 44px rgba(3,27,67,.2); }
.emergency-service__copy { padding: clamp(32px, 5vw, 68px); }.emergency-service .eyebrow { border-color: rgba(255,255,255,.24); color: #fff; background: rgba(255,255,255,.1); }.emergency-service h2 { max-width: 650px; color: #fff; }.emergency-service__copy > p:not(.eyebrow) { max-width: 630px; margin: 0 0 1.6rem; color: #d7e6fb; line-height: 1.65; }
.emergency-service__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .72rem 1rem; margin: 0 0 2rem; padding: 0; list-style: none; }.emergency-service__list li { position: relative; padding-left: 1.5rem; color: #fff; font-size: .94rem; }.emergency-service__list li::before { background: var(--orange); box-shadow: inset 0 0 0 3px rgba(255,255,255,.22); }
.btn-emergency { border-color: var(--orange); color: #fff; background: var(--orange); }.btn-emergency:hover, .btn-emergency:focus { border-color: #d9430d; color: #fff; background: #d9430d; }.btn-emergency span { display: inline-block; margin-left: .45rem; padding-left: .55rem; border-left: 1px solid rgba(255,255,255,.35); }
.emergency-service__visual { position: relative; min-height: 100%; margin: 0; overflow: hidden; }.emergency-service__visual::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, #083f84 0, transparent 44%), linear-gradient(0deg, rgba(3,27,67,.5), transparent 45%); }.emergency-service__visual img { width: 100%; height: 100%; min-height: 450px; object-fit: cover; }.emergency-service__visual figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; color: #fff; font-weight: 700; }.emergency-service__visual strong { display: block; color: #fff; font-size: 2.25rem; letter-spacing: -.04em; }
.pricing-section { background: var(--surface); }.pricing-section .section-header { max-width: 740px; }.pricing-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: clamp(26px, 4vw, 52px); align-items: start; }
.price-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(6,39,93,.06); }.price-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 82px; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }.price-list > div:nth-last-child(-n + 2) { border-bottom: 0; }.price-list > div:nth-child(odd) { border-right: 1px solid var(--line); }.price-list dt { color: var(--ink); font-size: .94rem; font-weight: 700; }.price-list dd { margin: 0; color: var(--navy); font-size: 1.25rem; font-weight: 850; letter-spacing: -.03em; white-space: nowrap; }.price-list dd small { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: 0; }
.pricing-conditions { padding: clamp(24px, 3vw, 34px); border: 1px solid #cfe4f8; border-radius: 16px; background: #e9f5ff; }.pricing-conditions h3 { margin: 0 0 1.1rem; color: var(--navy); font-size: 1.22rem; font-weight: 800; }.pricing-conditions ul { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; }.pricing-conditions li { position: relative; padding-left: 1.5rem; color: #36516f; font-size: .92rem; line-height: 1.45; }.pricing-conditions li::before { position: absolute; top: .4rem; left: 0; width: .62rem; height: .62rem; border-radius: 50%; content: ''; background: var(--blue); }

@media (max-width: 991.98px) {
    .service-detail__grid, .pricing-layout { grid-template-columns: 1fr; }.service-detail--reverse .service-detail__visual { order: 0; }.service-detail__visual, .service-detail__visual img { min-height: 360px; }.service-detail__content { max-width: 700px; }.emergency-service__panel { grid-template-columns: 1fr; }.emergency-service__visual { min-height: 280px; }.emergency-service__visual::after { background: linear-gradient(0deg, #083f84 0, transparent 58%); }.emergency-service__visual img { min-height: 280px; max-height: 380px; }.pricing-conditions { max-width: 700px; }
}
@media (max-width: 767.98px) {
    .inner-page-hero { padding-block: 42px 50px; }.inner-page-hero::after { top: -94px; right: -95px; }.inner-page-hero__breadcrumb { margin-bottom: 1.15rem; }.inner-page-hero h1 { font-size: clamp(2.3rem, 11vw, 3rem); }.faq-page__panel { padding: 10px; border-radius: 15px; }.faq-page .faq-button { min-height: 64px; }.service-detail__grid { gap: 1.8rem; }.service-detail__visual, .service-detail__visual img { min-height: 255px; }.service-detail__visual { border-radius: 16px; }.service-detail__visual figcaption { right: 17px; bottom: 14px; }.service-list, .emergency-service__list { grid-template-columns: 1fr; }.service-detail__intro { font-size: 1rem; }.emergency-service__copy { padding: 30px 22px; }.emergency-service__visual { min-height: 235px; }.emergency-service__visual img { min-height: 235px; }.btn-emergency { width: 100%; font-size: .93rem; }.emergency-service__visual figcaption { right: 18px; bottom: 14px; }.pricing-section .section-header { margin-bottom: 2rem; }.price-list { grid-template-columns: 1fr; }.price-list > div { min-height: 68px; padding: .85rem 1rem; }.price-list > div:nth-last-child(-n + 2) { border-bottom: 1px solid var(--line); }.price-list > div:last-child { border-bottom: 0; }.price-list > div:nth-child(odd) { border-right: 0; }
}
