/* Approved GRO concept: a single shared visual system over the existing site. */
.gro-modern { --gro-navy:#102c4b; --gro-blue:#205fa7; --gro-pale:#edf4fa; --gro-line:#d9e7f2; --gro-muted:#506987; --refresh-ink:var(--gro-navy); --refresh-blue:var(--gro-blue); --refresh-line:var(--gro-line); color:var(--gro-navy); background:#fff; }
.gro-modern .container { max-width:1320px; padding-inline:32px; }
.gro-modern h1,.gro-modern h2,.gro-modern h3 { letter-spacing:-.035em; color:var(--gro-navy); }
.gro-modern h1 { font-size:clamp(2.25rem,4.4vw,3.8rem); line-height:1.07; }
.gro-modern p { line-height:1.55; }
.gro-modern .section-title { font-size:clamp(1.8rem,3vw,2.65rem); line-height:1.15; }
.gro-modern .section-header { margin-bottom:24px; text-align:left; }
.gro-modern .section-subtitle { margin:10px 0 0; color:var(--gro-muted); font-size:1rem; }
.gro-modern .btn { border-radius:10px; min-height:50px; gap:16px; font-weight:600; box-shadow:none; }
.gro-modern .btn-primary { background:#b94d00; border-color:#b94d00; color:#fff; }
.gro-modern .btn-primary:hover { background:#a74300; border-color:#a74300; }
.gro-modern .btn-secondary { border:1px solid var(--gro-navy); color:var(--gro-navy); background:transparent; }
.gro-modern :is(a,button,summary,input,textarea,select):focus-visible { outline:3px solid #205fa7; outline-offset:4px; }
.gro-modern :is(.modern-hero,.modern-cta,.modern-footer) :is(a,button):focus-visible { outline-color:#fff; }
.gro-modern .site-header { border-bottom:1px solid var(--gro-line); background:#fff; }
.gro-modern .site-topbar { display:none; }
.gro-modern .site-header__inner { min-height:90px; gap:36px; }
.gro-modern .site-brand__artwork { width:164px; height:66px; }
.gro-modern .site-brand__logo { width:164px; height:82px; top:-8px; }
.gro-modern .site-breadcrumbs ol { min-height:28px; }
.gro-modern .site-nav__links { gap:26px; }
.gro-modern .site-nav__link,.gro-modern .site-nav__trigger { font-weight:500; font-size:.9375rem; }
.gro-modern .site-header__phone { background:transparent; padding:12px 0; font-size:1.125rem; color:var(--gro-navy); }
.gro-modern .site-header__phone i { color:var(--gro-navy); }
.gro-modern .site-breadcrumbs { background:#fff; padding:18px 0 0; border:0; font-size:.875rem; color:var(--gro-muted); }
.gro-modern .modern-catalog { padding-top:30px; padding-bottom:0; }
.catalog-intro h1 { margin:0 0 12px; }
.catalog-intro>p { margin:0; color:var(--gro-muted); font-size:clamp(1rem,1.6vw,1.35rem); }
.catalog-shortcuts { display:flex; flex-wrap:wrap; gap:20px 38px; margin:26px 0 34px; }
.catalog-shortcuts a { color:var(--gro-blue); text-decoration:underline; text-decoration-color:#b5ccdf; text-underline-offset:4px; }
.catalog-shortcuts span { margin-left:12px; font-size:1.5rem; }
.catalog-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:26px; align-items:start; }
.catalog-sidebar { background:#f5f9fc; padding:26px 24px; border-radius:16px; }
.catalog-sidebar section { padding:0 0 28px; margin-bottom:26px; border-bottom:1px solid var(--gro-line); }
.catalog-sidebar section:last-child { border:0; padding:0; margin:0; }
.catalog-sidebar h2 { font-size:1rem; line-height:1.35; margin:0 0 18px; }
.catalog-sidebar ul { margin:0; padding:0; list-style:none; }
.catalog-sidebar li+li { margin-top:14px; }
.catalog-sidebar a { color:var(--gro-muted); font-size:.875rem; line-height:1.45; display:inline-block; }
.catalog-sidebar a:hover { color:var(--gro-blue); text-decoration:underline; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.catalog-card { border:1px solid var(--gro-line); border-radius:18px; padding:23px; display:flex; flex-direction:column; min-width:0; scroll-margin-top:115px; transition:border-color .2s,background .2s; }
.catalog-card:hover { border-color:#87b2d8; background:#f8fbfe; }
.catalog-card__top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:17px; color:var(--gro-blue); }
.catalog-card__top i { font-size:2.1rem; }
.catalog-card__top span { font-size:.875rem; color:#637d98; }
.catalog-card h2 { font-size:1.2rem; line-height:1.25; margin:0 0 12px; }
.catalog-card p { font-size:.9375rem; line-height:1.5; color:var(--gro-muted); margin:0 0 20px; }
.catalog-card>a { display:flex; gap:15px; align-items:center; color:var(--gro-blue); font-size:.9375rem; font-weight:500; margin-top:auto; min-height:32px; }
.catalog-card>a span { color:#b94d00; font-size:1.5rem; }
.modern-cta { display:flex; gap:32px; align-items:center; justify-content:space-between; border-radius:16px; padding:32px; margin-top:28px; background:var(--gro-navy); color:#fff; }
.gro-modern .modern-cta h2 { color:#fff; font-size:1.9rem; margin:0 0 8px; }
.modern-cta p { color:#d5e5f4; margin:0; max-width:650px; }
.modern-cta .btn { flex-shrink:0; }
.geo-strip { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px 24px; padding:24px 0; font-size:.875rem; }
.geo-strip a { color:var(--gro-blue); text-decoration:underline; text-underline-offset:3px; }
.geo-strip i { margin-right:12px; font-size:1.5rem; color:var(--gro-blue); }
.gro-modern .site-footer { background:var(--gro-navy); }
.gro-modern .site-nav__secondary { display:none; }
.gro-modern .visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.modern-hero__title-lead { display:block; max-width:460px; }
.company-docs-link { display:inline-block; font-size:.875rem; margin:14px 0 0 16px; color:var(--gro-blue); }
.site-mobile-phone { display:none; }
.gro-modern .site-brand { flex:0 0 200px; min-width:0; }
.gro-modern .site-nav { flex:1; justify-content:space-between; }
.gro-modern .catalog-card p { font-size:1rem; }
.gro-modern :is(.catalog-sidebar a,.catalog-card>a,.modern-footer a) { text-decoration:none; }
.gro-modern :is(.catalog-sidebar a,.catalog-card>a,.modern-footer a):hover { text-decoration:underline; text-underline-offset:4px; }
.gro-modern.home-redesign>section { padding:34px 0; }
.gro-modern.home-redesign>.modern-hero { position:relative; width:calc(100% - 48px); max-width:1360px; margin:0 auto 8px; padding:0; overflow:hidden; border-radius:30px; background:#102c4b; color:#fff; }
.modern-hero__slides { display:grid; }
.modern-hero__slide { grid-area:1/1; position:relative; min-height:540px; padding:58px 54px 110px; isolation:isolate; }
.modern-hero [hidden] { display:none !important; }
/* Reserve the tallest slide's natural height: controls do not jump on switching. */
.modern-hero .modern-hero__slide[hidden] { display:block !important; visibility:hidden; pointer-events:none; }
.modern-hero__image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.modern-hero__slide::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#102c4b 0%,rgba(16,44,75,.97) 28%,rgba(16,44,75,.7) 48%,rgba(16,44,75,0) 78%); }
.modern-hero__copy { width:62%; max-width:710px; }
.gro-modern .modern-hero :is(h1,h2) { color:#fff; font-size:clamp(2.4rem,4.1vw,3.7rem); line-height:1.05; font-weight:700; margin:0 0 20px; text-wrap:balance; letter-spacing:-.045em; }
.modern-hero__copy>p { font-size:1.25rem; line-height:1.5; max-width:550px; margin:0 0 26px; color:#eaf2fa; }
.modern-hero__actions { display:flex; gap:16px; flex-wrap:wrap; }
.gro-modern .modern-hero .btn-secondary { color:#fff; border-color:#b6c8da; background:rgba(16,44,75,.5); }
.gro-modern .modern-hero .btn-secondary:hover { background:#25486b; }
.modern-hero__bottom { position:absolute; inset:auto 36px 22px 54px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.modern-hero__tabs { display:flex; gap:30px; }
.modern-hero__tabs button { background:none; border:0; border-bottom:2px solid transparent; border-radius:0; padding:14px 0; color:#e6eef8; cursor:pointer; font:inherit; font-size:.9375rem; }
.modern-hero__tabs button[aria-selected="true"] { color:#fff; font-weight:600; border-color:#fff; }
.modern-hero__arrows { display:flex; gap:12px; }
.modern-hero__arrows button { display:grid; place-items:center; width:46px; height:46px; border:1px solid #bfd0e0; border-radius:50%; background:rgba(16,44,75,.65); color:#fff; cursor:pointer; font-size:1.35rem; }
.modern-hero__arrows button:hover { background:#205fa7; }
.gro-modern .service-directions { gap:18px; }
.gro-modern .service-direction { background:var(--gro-pale); border:0; border-radius:20px; padding:28px; }
.gro-modern .service-direction__intro { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:center; min-height:70px; }
.gro-modern .service-direction__intro h3 { font-size:1.22rem; line-height:1.3; margin:0; }
.gro-modern .service-direction__intro p { display:none; }
.gro-modern .direction-number { font-size:1.9rem; margin:0; font-weight:500; color:var(--gro-blue); }
.gro-modern .direction-links { margin-top:14px; }
.gro-modern .direction-links li { border-color:#d6e4ef; }
.gro-modern .direction-links a { min-height:46px; font-size:1rem; color:var(--gro-navy); text-decoration:none; }
.gro-modern .direction-links a:hover { color:var(--gro-blue); }
.gro-modern .direction-links a { font-weight:400; }
.gro-modern.home-redesign>.cases { background:#fff; }
.gro-modern .direction-links i { color:var(--gro-blue); font-size:.8rem; }
.gro-modern .cases-grid { gap:20px; }
.gro-modern .case-card { border-radius:20px; background:var(--gro-pale); overflow:hidden; }
.gro-modern .case-card__photo { border-radius:0; aspect-ratio:1.85; }
.gro-modern .case-card__photo img { transition:transform .3s; }
.gro-modern .case-card:hover .case-card__photo img { transform:scale(1.025); }
.gro-modern .case-card__body { position:relative; padding:20px 64px 22px 20px; }
.gro-modern .case-card__type { color:var(--gro-muted); margin-bottom:6px; }
.gro-modern .case-card__title { font-size:1.2rem; margin:0; }
.gro-modern .case-card__title a { color:var(--gro-navy); text-decoration:none; }
.case-card__arrow { position:absolute; right:18px; top:24px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#fff; text-decoration:none; color:var(--gro-blue); }
.modern-company__grid { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.modern-company h2 { font-size:1.9rem; line-height:1.15; margin:0 0 14px; }
.modern-company p { color:var(--gro-muted); margin:0 0 20px; }
.modern-company__media { position:relative; min-height:255px; border-radius:24px; overflow:hidden; background:var(--gro-navy); display:grid; grid-template-columns:1fr 1fr; }
.modern-company__media img { width:100%; height:100%; object-fit:cover; object-position:70%; }
.modern-company__media ul { list-style:none; margin:0; padding:28px; display:flex; flex-direction:column; justify-content:space-between; gap:22px; }
.modern-company__media li { display:flex; gap:18px; align-items:center; color:#fff; font-size:.875rem; line-height:1.4; }
.modern-company__media i { font-size:1.8rem; color:#dcecfb; }
.gro-modern .process-list { gap:26px; margin:0; }
.gro-modern .process-item { border:0; padding:0 0 0 61px; position:relative; }
.gro-modern .process-item__num { position:absolute; inset:0 auto auto 0; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:var(--gro-blue); color:#fff; font-size:1rem; }
.gro-modern .process-item__title { margin:0 0 6px; font-size:1rem; }
.gro-modern .process-item__text { font-size:.875rem; line-height:1.5; color:var(--gro-muted); }
.home-resources { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding-block:24px; align-items:start; }
.gro-modern .home-resources>section { background:var(--gro-pale); border:0; border-radius:22px; padding:28px; min-width:0; }
.gro-modern .home-resources .container { padding:0; }
.gro-modern .home-resources .section-title { font-size:1.5rem; }
.home-resources .section-header { margin-bottom:16px; }
.resource-disclosure>summary { cursor:pointer; color:var(--gro-blue); font-size:.9375rem; list-style:none; }
.resource-disclosure>summary::-webkit-details-marker { display:none; }
.resource-disclosure>summary span { margin-left:14px; }
.resource-disclosure[open]>summary { margin-bottom:24px; }
.gro-modern .home-resources .reviews-grid { grid-template-columns:1fr; gap:20px; }
.gro-modern .home-resources .review-card { background:#fff; border-radius:14px; padding:20px; border:0; }
.gro-modern .home-resources .faq-question { font-size:1rem; }
.gro-modern .home-resources .faq-answer p { font-size:1rem; }
.gro-modern .contact { background:#fff; padding-block:22px 46px !important; }
.gro-modern .contact>.container { display:grid; grid-template-columns:1fr 1.7fr; gap:0 30px; }
.gro-modern .contact>.container>.section-header { grid-column:1; align-self:end; padding:30px 0 0 28px; margin:0; }
.gro-modern .contact>.container>.section-header h2 { font-size:2rem; }
.gro-modern .contact-content { display:contents; }
.gro-modern .contact-info { grid-column:1; padding:16px 0 30px 28px; display:flex; flex-wrap:wrap; gap:10px 20px; }
.gro-modern .contact-info .contact-item { margin:0; display:block; }
.gro-modern .contact-info .contact-item:nth-child(n+3),.gro-modern .contact-info .contact-icon,.gro-modern .contact-info h4 { display:none; }
.gro-modern .contact-form-wrapper { grid-column:2; grid-row:1/3; background:var(--gro-pale); border:0; border-radius:20px; padding:24px; box-shadow:none; }
.gro-modern #contactForm { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.gro-modern #contactForm .form-group { margin:0; min-width:0; }
.gro-modern #contactForm :is(.captcha-group,.form-note,.form-promise,.alert) { grid-column:1/-1; }
.gro-modern #contactForm textarea { min-height:88px; }
.gro-modern #contactForm .btn { grid-column:1/-1; width:fit-content; min-width:190px; }
.gro-modern #contactForm .form-note { margin:0; text-align:left; font-size:.8125rem; }
.gro-modern #contactForm .form-promise { margin:0; text-align:left; font-size:.875rem; }
.contact-details-fields { grid-column:1/-1; }
.contact-details-fields>summary { color:var(--gro-blue); font-size:.875rem; cursor:pointer; padding:4px 0; }
.contact-details-fields[open] { display:grid; gap:14px; }
.contact-details-fields[open]>summary { margin-bottom:14px; }
.contact-details-fields .form-group+.form-group { margin-top:14px !important; }
.gro-modern .service-geography { grid-column:1/-1; padding-top:48px; }
.geo-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.geo-heading h2 { font-size:2rem; margin:0; }
.geo-phone { color:var(--gro-navy); font-size:1.3rem; font-weight:600; white-space:nowrap; text-decoration:none; }
.geo-layout { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.geo-cities { min-width:0; border:1px solid var(--gro-line); border-radius:20px; overflow:hidden; }
.geo-city { border-bottom:1px solid var(--gro-line); }
.geo-city summary { display:flex; justify-content:space-between; align-items:center; padding:22px 24px; list-style:none; gap:16px; cursor:pointer; }
.geo-city summary::-webkit-details-marker { display:none; }
.geo-city summary strong { font-weight:600; font-size:1.125rem; }
.geo-city summary small { display:block; margin-top:7px; font-size:.875rem; color:var(--gro-muted); }
.geo-plus { color:var(--gro-blue); font-size:1.6rem; font-weight:400; transition:transform .15s; }
.geo-city[open] .geo-plus { transform:rotate(45deg); }
.geo-city__body { padding:0 24px 24px; color:var(--gro-muted); font-size:1rem; }
.geo-city__body p { margin:0 0 14px; }
.geo-city__body a { color:var(--gro-blue); }
.geo-city__body .geo-call-button { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 12px; box-sizing:border-box; max-width:100%; min-height:48px; padding:13px 18px; margin:0 0 20px; border:1px solid var(--gro-blue); border-radius:10px; background:var(--gro-blue); color:#fff; font-size:1rem; font-weight:600; line-height:1.4; text-decoration:none; }
.geo-call-button > span { white-space:nowrap; }
.geo-city__body .geo-call-button:hover { background:var(--gro-navy); border-color:var(--gro-navy); color:#fff; }
.geo-call-button:focus-visible { outline:3px solid var(--gro-navy); outline-offset:3px; }
@media (max-width:760px) { .geo-city__body .geo-call-button { width:100%; } }
.geo-city__links { display:flex; flex-wrap:wrap; gap:14px 24px; font-size:.9375rem; }
.geo-city__note { font-size:.875rem; }
.geo-other { padding:20px 24px; margin:0; font-size:.875rem; color:var(--gro-muted); }
.geo-other a { color:var(--gro-blue); }
.geo-map { border-radius:20px; overflow:hidden; background:var(--gro-pale); min-width:0; }
.geo-map iframe { display:block; border:0; width:100%; height:420px; }
.geo-map__surface { position:relative; }
.geo-map__surface iframe { position:relative; z-index:1; }
.geo-map__fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:32px; text-align:center; color:var(--gro-muted); }
.geo-map__fallback i { font-size:2rem; color:var(--gro-blue); }
.geo-map__fallback strong { color:var(--gro-navy); }
.geo-map__fallback span { font-size:.875rem; line-height:1.5; }
.geo-map>a { display:block; padding:18px 22px; font-size:.875rem; color:var(--gro-blue); }
.gro-modern .contact-page-grid { gap:28px; }
.gro-modern .contact-page-grid .service-geography { padding-top:0; }
.gro-modern .contact-summary .contact-page-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.gro-modern .contact-summary .contact-page-list li { align-items:start; margin:0; min-width:0; }
.gro-modern .contact-summary .contact-page-list a { overflow-wrap:anywhere; }
.gro-modern .modern-footer { padding:36px 0 20px; }
.modern-footer__grid { display:grid; grid-template-columns:1fr 1.1fr 1fr; align-items:start; gap:56px; }
.modern-footer__brand p { color:#cad9e8; font-size:.875rem; max-width:275px; margin:12px 0 0; }
.modern-footer__nav { display:grid; grid-template-columns:1fr 1fr; gap:12px 25px; padding-top:10px; }
.modern-footer__nav a,.modern-footer__contact a { color:#fff; font-size:.9375rem; }
.modern-footer__contact { display:flex; flex-direction:column; gap:12px; }
.gro-modern .modern-footer__phone { font-size:1.35rem; font-weight:600; }
.modern-footer__contact p { margin:0; font-size:.875rem; color:#cad9e8; }
.modern-footer__bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 25px; margin-top:28px; padding-top:20px; border-top:1px solid #34516d; color:#cad9e8; font-size:.8125rem; }
.modern-footer__bottom a { color:#cad9e8; }
.gro-modern .modern-footer .site-footer__logo { margin:0; }
.gro-modern .modern-footer .site-footer__logo { background:transparent; }
.gro-modern .modern-footer .site-footer__logo img { filter:grayscale(1) invert(1) contrast(8); mix-blend-mode:screen; background:transparent; }
/* Shared internal page families retain their own information architecture. */
.gro-modern :is(.info-hero,.object-detail-hero) { background:#f2f7fc; padding:40px 0; border:0; }
.gro-modern :is(.info-hero h1,.city-landing__hero h1,.seo-service__hero h1,.object-detail-hero h1) { font-size:clamp(2.15rem,3.8vw,3.35rem); line-height:1.1; }
.gro-modern :is(.info-hero__text>p,.city-landing__hero>p,.seo-service__hero p) { color:var(--gro-muted); }
.gro-modern :is(.info-card,.info-link-card,.knowledge-card,.city-landing__card,.seo-service__commercial-card,.seo-service__case-card,.seo-service__card,.seo-service__aside-card,.object-detail-panel,.object-result-card,.contact-page-card) { background:#fff; border:1px solid var(--gro-line); border-radius:18px; box-shadow:none; }
.gro-modern :is(.info-link-card:hover,.knowledge-card:hover,.city-landing__card:hover) { box-shadow:none; border-color:#91b8db; }
.gro-modern :is(.seo-service__summary,.city-landing__aside,.seo-service__start) { background:var(--gro-pale); border:0; border-radius:20px; box-shadow:none; }
.gro-modern .seo-service__hero { padding-top:20px; }
.gro-modern .seo-service__hero-grid { gap:36px; }
.gro-modern :is(.seo-service__section h2,.info-section h2,.knowledge-topic__head h2,.city-landing__heading h2) { font-size:clamp(1.5rem,2.7vw,2rem); line-height:1.25; }
.gro-modern :is(.info-section,.knowledge-index,.object-detail-content) { padding-block:38px; }
.gro-modern :is(.info-card p,.knowledge-card p,.city-landing__card p,.seo-service__commercial-card p) { color:var(--gro-muted); font-size:1rem; }
.gro-modern :is(.info-hero img,.object-detail-hero__image img,.company-employee-card img) { border-radius:20px; }
@media (max-width:1100px) {
 .gro-modern .site-nav { justify-content:flex-start; gap:12px; }
 .gro-modern .site-nav { top:78px; height:calc(100dvh - 78px); max-height:calc(100dvh - 78px); }
 /* The original production header has no inner close button; retain its toggle. */
 .gro-modern .site-header:has([data-site-nav-close]) .site-nav-toggle[aria-expanded="true"] { visibility:hidden; }
 .gro-modern .site-mobile-phone { display:grid; place-items:center; margin-left:auto; width:44px; height:44px; color:var(--gro-blue); font-size:1.4rem; }
 .gro-modern .site-brand { flex:0 0 auto; }
 .gro-modern .site-nav__secondary { display:grid; gap:16px; padding:18px 8px; border-top:1px solid var(--gro-line); }
 .site-nav__secondary a { color:var(--gro-muted); font-size:.9375rem; text-decoration:none; }
 .modern-hero__slide { min-height:560px; padding:42px 36px 105px; }
 .modern-hero__copy { width:72%; }
 .modern-hero__bottom { left:36px; right:28px; }
 .modern-hero__tabs { gap:20px; }
 .modern-company__grid { gap:26px; }
 .modern-company__media ul { padding:22px 16px; }
 .modern-footer__grid { gap:26px; }
 .gro-modern .contact-summary .contact-page-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-layout { grid-template-columns:190px minmax(0,1fr); gap:18px; }
 .catalog-sidebar { padding:24px 18px; }
 .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gro-modern .site-header__inner { min-height:78px; }
 .gro-modern .site-nav__links { gap:0; }
 .gro-modern .site-nav__link,.gro-modern .site-nav__trigger { font-size:1rem; }
}
@media (max-width:760px) {
 .gro-modern .site-nav { top:72px; height:calc(100dvh - 72px); max-height:calc(100dvh - 72px); }
 .gro-modern.home-redesign>section { padding-block:26px; }
 .gro-modern.home-redesign>.modern-hero { width:calc(100% - 24px); border-radius:22px; }
 .modern-hero__slide { padding:32px 24px 240px; min-height:630px; }
 .modern-hero__copy { width:100%; max-width:none; }
 .gro-modern .modern-hero :is(h1,h2) { font-size:clamp(2rem,5.8vw,2.65rem); line-height:1.08; text-wrap:initial; }
 .modern-hero__copy>p { font-size:1.0625rem; line-height:1.5; }
 .modern-hero__image { height:340px; inset:auto 0 0; object-position:75% 45%; }
 .modern-hero__slide::before { background:linear-gradient(180deg,#102c4b 0%,#102c4b 37%,rgba(16,44,75,.9) 50%,rgba(16,44,75,.12) 82%,rgba(16,44,75,.7) 100%); }
 .modern-hero__actions { gap:12px; }
 .modern-hero__actions .btn { font-size:.875rem; min-height:48px; padding:13px 17px; }
 .modern-hero__bottom { inset:auto 24px 16px; flex-wrap:wrap; gap:10px; }
 .modern-hero__tabs { width:100%; gap:8px 18px; flex-wrap:wrap; }
 .modern-hero__tabs button { font-size:.875rem; padding:12px 0; }
 .modern-hero__arrows { margin-left:auto; gap:10px; }
 .modern-hero__arrows button { width:42px; height:42px; }
 .gro-modern .service-direction { padding:24px; }
 .gro-modern .service-direction+.service-direction { padding:24px; border:0; }
 .modern-company__grid { grid-template-columns:1fr; }
 .modern-company h2 { font-size:1.65rem; }
 .modern-company__media { min-height:240px; }
 .home-resources { grid-template-columns:1fr; padding-block:20px; }
 .gro-modern .home-resources>section { padding:24px; }
 .gro-modern .contact>.container { display:block; }
 .gro-modern .contact>.container>.section-header { padding:0; }
 .gro-modern .contact-info { padding:16px 0 22px; }
 .gro-modern .contact-form-wrapper { padding:22px; }
 .gro-modern #contactForm { grid-template-columns:1fr; }
 .gro-modern .service-geography { padding-top:38px; }
 .geo-heading { align-items:flex-start; flex-direction:column; gap:14px; }
 .geo-heading h2 { font-size:1.75rem; }
 .geo-layout { grid-template-columns:minmax(0,1fr); }
 .geo-city summary { padding:20px; }
 .geo-city__body { padding:0 20px 22px; }
 .geo-map iframe { height:330px; }
 .gro-modern .contact-summary .contact-page-list { grid-template-columns:minmax(0,1fr); }
 .modern-footer__grid { grid-template-columns:1fr; gap:26px; }
 .modern-footer__nav { max-width:420px; }
 .modern-footer__bottom { flex-direction:column; }
 .gro-modern :is(.info-hero,.object-detail-hero) { padding-block:28px; }
 .gro-modern .container { padding-inline:20px; }
 .gro-modern .site-header__inner { min-height:72px; }
 .gro-modern .modern-catalog { padding-top:24px; }
 .catalog-shortcuts { gap:14px 20px; margin:22px 0; font-size:.875rem; }
 .catalog-shortcuts span { margin-left:5px; }
 .catalog-layout { display:block; }
 .catalog-sidebar { display:none; }
 .catalog-card { padding:20px; border-radius:14px; }
 .modern-cta { align-items:flex-start; flex-direction:column; padding:24px; gap:22px; }
 .gro-modern .modern-cta h2 { font-size:1.65rem; }
 .geo-strip { justify-content:flex-start; }
}
@media (max-width:480px) { .catalog-grid { grid-template-columns:minmax(0,1fr); } .catalog-card { padding:24px; } .catalog-card h2 { font-size:1.25rem; } .catalog-card p { font-size:1rem; } }
@media (prefers-reduced-motion:reduce) { .gro-modern * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
