:root {
    --soft-bg: #f6f5f1;
    --soft-surface: #fffefa;
    --soft-surface-alt: #eef2ef;
    --soft-ink: #26343d;
    --soft-muted: #6f7b82;
    --soft-accent: #587681;
    --soft-accent-dark: #3e5963;
    --soft-accent-pale: #e7eeee;
    --soft-sage: #84988a;
    --soft-sand: #b69a76;
    --soft-line: #e2e4df;
    --soft-danger: #a95862;
    --soft-success: #557d68;
    --soft-radius-sm: 12px;
    --soft-radius: 18px;
    --soft-radius-lg: 26px;
    --soft-shadow: 0 12px 34px rgba(38, 52, 61, .07);
    --soft-shadow-hover: 0 18px 44px rgba(38, 52, 61, .11);
}

body.public-site {
    --primary: var(--soft-accent);
    --secondary: var(--soft-sage);
    --dark: var(--soft-ink);
    --light: var(--soft-bg);
    --text-muted: var(--soft-muted);
    margin: 0 !important;
    padding-top: 76px !important;
    color: var(--soft-ink) !important;
    background: var(--soft-bg) !important;
    background-image: none !important;
    overflow-x: clip;
}

.public-site,
.public-site button,
.public-site input,
.public-site select,
.public-site textarea {
    font-family: 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, Arial, sans-serif !important;
}

.public-site a { text-underline-offset: 4px; }
.public-site img { max-width: 100%; }
.public-site .container {
    width: calc(100% - 32px) !important;
    max-width: 1180px !important;
    padding-inline: 0 !important;
    box-sizing: border-box;
}

/* Shared header */
.public-site .top-bar,
.public-site .home-header {
    height: 76px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(38, 52, 61, .08) !important;
    background: rgba(255, 254, 250, .94) !important;
    box-shadow: 0 8px 26px rgba(38, 52, 61, .055) !important;
    backdrop-filter: blur(16px) saturate(125%);
}

.public-site .top-bar .container,
.public-site .home-header-inner { min-height: 100%; }

.public-site .logo,
.public-site .home-logo,
.public-site .home-header.is-scrolled .home-logo {
    max-height: 48px !important;
    height: 48px !important;
    filter: none !important;
}

.public-site .main-nav,
.public-site .home-desktop-nav { gap: 2px !important; }

.public-site .main-nav a,
.public-site .home-desktop-nav a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    padding: 9px 12px !important;
    color: #536068 !important;
    background: transparent !important;
    border-radius: 11px !important;
    font-size: .84rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.public-site .main-nav a::after { display: none !important; }
.public-site .main-nav a:hover,
.public-site .main-nav a.active,
.public-site .home-desktop-nav a:hover,
.public-site .home-desktop-nav a.active {
    color: var(--soft-accent-dark) !important;
    background: var(--soft-accent-pale) !important;
}

.public-site .btn-platform,
.public-site .home-client-button {
    min-height: 44px !important;
    padding: 10px 17px !important;
    color: #fff !important;
    background: var(--soft-accent-dark) !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.public-site .btn-platform:hover,
.public-site .home-client-button:hover { background: #314a53 !important; transform: none !important; }

.public-site .hamburger-btn,
.public-site .home-menu-button {
    width: 46px !important;
    height: 46px !important;
    place-items: center;
    padding: 0 !important;
    color: var(--soft-ink) !important;
    background: #f0f1ed !important;
    border: 1px solid var(--soft-line) !important;
    border-radius: 12px !important;
}

.public-site .mobile-nav,
.public-site .home-mobile-nav {
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
    padding: 10px !important;
    background: rgba(255,254,250,.99) !important;
    border: 1px solid var(--soft-line) !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: var(--soft-shadow) !important;
}

.public-site .mobile-nav a,
.public-site .home-mobile-nav a {
    min-height: 48px;
    padding: 12px 14px !important;
    color: var(--soft-ink) !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
}

.public-site .mobile-nav a:hover,
.public-site .mobile-nav a.active,
.public-site .home-mobile-nav a:hover,
.public-site .home-mobile-nav a.active { color: var(--soft-accent-dark) !important; background: var(--soft-accent-pale) !important; }

.public-site .home-mobile-nav a.mobile-client-link {
    color: #fff !important;
    background: var(--soft-accent-dark) !important;
}

/* Inner-page introduction */
body.public-site .public-page-header {
    margin: 0 0 clamp(36px, 6vw, 68px) !important;
    padding: clamp(54px, 7vw, 82px) 0 !important;
    color: var(--soft-ink) !important;
    background: linear-gradient(145deg, #f0f2ed, #e8eeec) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--soft-line) !important;
    border-radius: 0 0 28px 28px !important;
    box-shadow: none !important;
}

body.public-site .public-page-header::before,
body.public-site .public-page-header::after { display: none !important; }

body.public-site .public-page-header .container { align-items: flex-start !important; text-align: right !important; }
body.public-site .public-page-header h1 { max-width: 760px; margin: 0 0 14px !important; color: var(--soft-ink) !important; font-size: clamp(2rem, 4.5vw, 3.3rem) !important; line-height: 1.25 !important; }
body.public-site .public-page-header p { max-width: 700px !important; margin: 0 !important; color: var(--soft-muted) !important; font-size: clamp(.92rem, 1.7vw, 1.04rem) !important; line-height: 1.9 !important; text-align: right !important; }
.public-site .ds-page-kicker { margin-bottom: 15px; padding: 7px 11px; color: var(--soft-accent-dark); background: rgba(255,255,255,.58); border: 1px solid rgba(88,118,129,.18); font-size: .75rem; }
.public-site .ds-page-highlights { justify-content: flex-start; margin-top: 22px; color: #69787f; }
.public-site .ds-page-highlights i { color: var(--soft-sage); }

/* Shared content surfaces */
.public-site .service-card,
.public-site .port-item,
.public-site .e-card,
.public-site .post-card,
.public-site .featured-post,
.public-site .form-card,
.public-site .info-card,
.public-site .post-container,
.public-site .ds-empty-state,
.public-site .ds-content-cta {
    border: 1px solid var(--soft-line) !important;
    border-radius: var(--soft-radius) !important;
    background: var(--soft-surface) !important;
    box-shadow: 0 7px 24px rgba(38,52,61,.045) !important;
}

.public-site .service-card:hover,
.public-site .port-item:hover,
.public-site .e-card:hover,
.public-site .post-card:hover,
.public-site .featured-post:hover {
    border-color: #ccd7d5 !important;
    box-shadow: var(--soft-shadow-hover) !important;
    transform: translateY(-4px) !important;
}

.public-site .ds-content-cta {
    margin: 48px 0 72px;
    padding: clamp(23px, 4vw, 34px);
    background: #edf1ee !important;
}

.public-site .ds-content-cta h2 { color: var(--soft-ink); }
.public-site .ds-content-cta p { color: var(--soft-muted); }
.public-site .ds-content-cta a,
.public-site .btn-submit,
.public-site button[type='submit'],
.public-site .btn-order,
.public-site .e-card-btn,
.public-site .read-more-btn {
    min-height: 46px;
    color: #fff !important;
    background: var(--soft-accent-dark) !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-weight: 650 !important;
}

.public-site .ds-content-cta a:hover,
.public-site .btn-submit:hover,
.public-site button[type='submit']:hover,
.public-site .btn-order:hover,
.public-site .e-card-btn:hover,
.public-site .read-more-btn:hover { background: #304a53 !important; transform: none !important; }

.public-site .alert,
.public-site .alert-toast { border-radius: 12px !important; box-shadow: none !important; }
.public-site .alert-success { color: #3f6652 !important; background: #edf5ef !important; border-color: #cadfce !important; }
.public-site .alert-error { color: #8a4650 !important; background: #fbefef !important; border-color: #edd0d4 !important; }

/* Services */
.public-services .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; padding-bottom: 50px !important; }
.public-services .service-card { overflow: hidden; }
.public-services .card-img-wrap { height: 205px !important; background: #eef0ec !important; }
.public-services .card-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.public-services .service-price { top: 14px !important; right: 14px !important; padding: 7px 12px !important; color: var(--soft-accent-dark) !important; background: rgba(255,254,250,.92) !important; border: 1px solid rgba(255,255,255,.72); box-shadow: none !important; }
.public-services .card-body { padding: 24px !important; text-align: right !important; }
.public-services .card-body h3 { color: var(--soft-ink) !important; font-size: 1.15rem !important; }
.public-services .card-body p { color: var(--soft-muted) !important; font-weight: 400 !important; }
.public-services .card-actions { margin-top: 22px; }
.public-services .btn-details { min-height: 46px; color: var(--soft-accent-dark) !important; background: #eff2ef !important; border: 1px solid var(--soft-line) !important; border-radius: 12px !important; }

/* Portfolio */
.public-portfolio .filter-wrap { justify-content: flex-start !important; gap: 8px !important; margin-bottom: 28px !important; }
.public-portfolio .filter-btn { min-height: 44px; padding: 9px 17px !important; color: #5e6a70 !important; background: var(--soft-surface) !important; border: 1px solid var(--soft-line) !important; border-radius: 11px !important; font-size: .82rem !important; }
.public-portfolio .filter-btn.active,
.public-portfolio .filter-btn:hover { color: #fff !important; background: var(--soft-accent-dark) !important; border-color: var(--soft-accent-dark) !important; box-shadow: none !important; }
.public-portfolio .port-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; padding-bottom: 50px !important; }
.public-portfolio .port-item { overflow: hidden; }
.public-portfolio .port-img { height: 235px !important; object-fit: cover; }
.public-portfolio .port-overlay { background: linear-gradient(to top, rgba(31,45,52,.88), rgba(31,45,52,.05)) !important; }
.public-portfolio .client-badge { color: #536068 !important; background: #f1f2ee !important; }

/* Store */
.public-store .main-view { padding-bottom: 60px; }
.public-store .store-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; }
.public-store .e-card { overflow: hidden; }
.public-store .e-card-img { height: 220px !important; background: #eceeea !important; }
.public-store .e-card-img img { width: 100%; height: 100%; object-fit: cover; }
.public-store .e-card-body { padding: 23px !important; }
.public-store .e-card-title { color: var(--soft-ink) !important; font-size: 1.12rem !important; }
.public-store .e-card-price { color: var(--soft-accent-dark) !important; }

/* Blog listing */
.public-blog .featured-post { grid-template-columns: 1.05fr .95fr !important; gap: 0 !important; margin-bottom: 36px !important; overflow: hidden; }
.public-blog .fp-img-wrap { height: 350px !important; }
.public-blog .fp-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.public-blog .fp-content { padding: 34px !important; }
.public-blog .fp-badge { color: var(--soft-accent-dark) !important; background: var(--soft-accent-pale) !important; }
.public-blog .fp-content h2 { color: var(--soft-ink) !important; font-size: clamp(1.45rem, 3vw, 2.15rem) !important; }
.public-blog .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; padding-bottom: 50px !important; }
.public-blog .post-card { overflow: hidden; }
.public-blog .post-img { height: 205px !important; }
.public-blog .post-img img { width: 100%; height: 100%; object-fit: cover; }
.public-blog .post-content { padding: 22px !important; }
.public-blog .post-content h3 { color: var(--soft-ink) !important; font-size: 1.06rem !important; }
.public-blog .post-meta, .public-blog .post-content p { color: var(--soft-muted) !important; }

/* Article */
.public-article .post-container { max-width: 860px !important; margin: 46px auto 72px !important; overflow: hidden; }
.public-article .post-full-image { max-height: 470px !important; object-fit: cover; }
.public-article .post-header { padding: clamp(25px, 5vw, 46px) clamp(20px, 6vw, 54px) 24px !important; text-align: right !important; }
.public-article .post-header h1 { color: var(--soft-ink) !important; font-size: clamp(1.8rem, 4.5vw, 3rem) !important; line-height: 1.4 !important; }
.public-article .post-meta { justify-content: flex-start !important; color: var(--soft-muted) !important; }
.public-article .post-content { padding: 0 clamp(20px, 6vw, 54px) 46px !important; color: #38474f !important; font-size: 1.02rem !important; line-height: 2.05 !important; }
.public-article .post-content img { height: auto !important; border-radius: 14px; }
.public-article .share-section { margin-top: 30px !important; padding-top: 22px !important; border-top: 1px solid var(--soft-line) !important; }
.public-article .share-btn { min-width: 44px; min-height: 44px; box-shadow: none !important; }

/* Contact */
.public-contact .contact-grid { grid-template-columns: .82fr 1.18fr !important; gap: 22px !important; padding-bottom: 70px !important; }
.public-contact .info-card, .public-contact .form-card { padding: clamp(24px, 4vw, 36px) !important; }
.public-contact .info-card h2, .public-contact .form-card h2 { color: var(--soft-ink) !important; }
.public-contact .info-item { align-items: flex-start !important; padding: 15px 0 !important; border-bottom: 1px solid var(--soft-line); }
.public-contact .info-icon { color: var(--soft-accent-dark) !important; background: var(--soft-accent-pale) !important; }
.public-contact .info-details p, .public-contact .info-details a { color: var(--soft-muted) !important; }

/* Forms */
.public-site .form-group { margin-bottom: 18px !important; }
.public-site .form-label { margin-bottom: 7px !important; color: #4f5c63 !important; font-size: .82rem !important; font-weight: 600 !important; }
.public-site .form-control,
.public-site input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
.public-site select,
.public-site textarea {
    min-height: 48px;
    padding: 11px 13px !important;
    color: var(--soft-ink) !important;
    background: #fff !important;
    border: 1px solid #d9ddd8 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    outline: none !important;
}

.public-site textarea { min-height: 130px; resize: vertical; }
.public-site .form-control:focus,
.public-site input:focus,
.public-site select:focus,
.public-site textarea:focus { border-color: #91aaa9 !important; box-shadow: 0 0 0 3px rgba(88,118,129,.1) !important; }

/* Modals become calm desktop dialogs and mobile sheets */
.public-site .modal-overlay { padding: 18px !important; background: rgba(35,47,54,.56) !important; backdrop-filter: blur(8px) !important; }
.public-site .modal-content,
.public-site .modal-content-split,
.public-site .modal-buy {
    max-height: min(88dvh, 760px);
    overflow-y: auto;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 22px !important;
    background: var(--soft-surface) !important;
    box-shadow: 0 28px 75px rgba(26,38,44,.2) !important;
}
.public-site .close-btn { width: 44px !important; height: 44px !important; color: var(--soft-ink) !important; background: #eff1ed !important; border-radius: 12px !important; }
.public-site .close-btn:hover { color: #fff !important; background: var(--soft-danger) !important; transform: none !important; }

/* Home page, softened */
.public-home { padding-top: 76px !important; }
.public-home .home-hero { min-height: 650px !important; padding: 92px 0 100px !important; color: var(--soft-ink) !important; background: linear-gradient(145deg, #f4f4ef, #e8efec) !important; }
.public-home .home-hero-copy h1 { color: var(--soft-ink) !important; font-size: clamp(2.45rem, 5vw, 4.65rem) !important; }
.public-home .home-hero-copy h1 em { color: var(--soft-accent-dark) !important; }
.public-home .home-eyebrow { color: var(--soft-accent-dark) !important; }
.public-home .home-hero-lead { color: var(--soft-muted) !important; }
.public-home .home-button-primary { color: #fff !important; background: var(--soft-accent-dark) !important; box-shadow: none !important; }
.public-home .home-button-ghost { color: var(--soft-ink) !important; background: rgba(255,255,255,.58) !important; border-color: rgba(62,89,99,.16) !important; }
.public-home .home-trust-row { color: #67767c !important; }
.public-home .home-trust-row i { color: var(--soft-sage) !important; }
.public-home .home-command-card { color: var(--soft-ink) !important; background: rgba(255,254,250,.92) !important; border: 1px solid rgba(88,118,129,.16) !important; box-shadow: var(--soft-shadow) !important; transform: none !important; }
.public-home .command-topbar strong { color: var(--soft-ink) !important; }
.public-home .command-live { color: var(--soft-success) !important; background: #edf4ef !important; border-color: #d8e6dc !important; }
.public-home .command-highlight { border: 1px solid var(--soft-line); box-shadow: none; }
.public-home .command-highlight-icon { background: var(--soft-accent) !important; }
.public-home .pipeline-item { background: #f6f7f3 !important; border-color: var(--soft-line) !important; }
.public-home .pipeline-item strong { color: var(--soft-ink) !important; }
.public-home .pipeline-item small, .public-home .pipeline-state { color: var(--soft-muted) !important; }
.public-home .pipeline-item.active { background: var(--soft-accent-pale) !important; border-color: #cbd9d8 !important; }
.public-home .pipeline-item.active .pipeline-icon { background: var(--soft-accent) !important; }
.public-home .command-link { color: var(--soft-accent-dark) !important; }
.public-home .home-stat-grid { border-color: var(--soft-line) !important; box-shadow: var(--soft-shadow) !important; }
.public-home .home-stat-icon.blue,
.public-home .home-stat-icon.cyan,
.public-home .home-stat-icon.gold,
.public-home .home-stat-icon.violet { color: var(--soft-accent-dark) !important; background: var(--soft-accent-pale) !important; }
.public-home .home-platform-section { color: var(--soft-ink) !important; background: #e9eeeb !important; }
.public-home .home-platform-section h2, .public-home .platform-benefits strong { color: var(--soft-ink) !important; }
.public-home .platform-copy > p, .public-home .platform-benefits small { color: var(--soft-muted) !important; }
.public-home .home-section-kicker.light { color: var(--soft-accent-dark) !important; }
.public-home .platform-benefits li > span { color: #fff !important; background: var(--soft-sage) !important; }
.public-home .home-button-white { color: #fff !important; background: var(--soft-accent-dark) !important; box-shadow: none !important; }
.public-home .platform-ui { background: var(--soft-surface) !important; border-color: var(--soft-line) !important; box-shadow: var(--soft-shadow) !important; }
.public-home .platform-avatar, .public-home .platform-progress-track span { background: var(--soft-accent) !important; }
.public-home .home-service-card, .public-home .home-work-card, .public-home .home-process-grid article, .public-home .home-gateway-card { border-color: var(--soft-line) !important; border-radius: var(--soft-radius) !important; box-shadow: none !important; }
.public-home .service-icon, .public-home .home-service-card:nth-child(2) .service-icon, .public-home .home-service-card:nth-child(3) .service-icon, .public-home .gateway-icon, .public-home .home-gateway-card.blog .gateway-icon, .public-home .home-gateway-card.portal .gateway-icon { color: var(--soft-accent-dark) !important; background: var(--soft-accent-pale) !important; }
.public-home .service-card-footer a { background: var(--soft-accent-dark) !important; }
.public-home .home-process-grid article > i, .public-home .home-process-grid article:nth-child(2) > i, .public-home .home-process-grid article:nth-child(3) > i, .public-home .home-process-grid article:nth-child(4) > i { color: var(--soft-accent-dark) !important; background: var(--soft-accent-pale) !important; }
.public-home .home-newsletter-panel { background: #3d565f !important; border-radius: 24px !important; box-shadow: none !important; }
.public-home .newsletter-copy h2 { color: #fff !important; }

/* Footer */
.public-site .main-footer,
.public-site .home-footer {
    color: #c7cfce !important;
    background: #2f3d42 !important;
}
.public-site .main-footer h4,
.public-site .home-footer h3 { color: #fff !important; }
.public-site .footer-links a,
.public-site .home-footer-column a,
.public-site .home-footer-column > span { color: #b7c0bf !important; }
.public-site .footer-links a:hover,
.public-site .home-footer-column a:hover { color: #fff !important; }
.public-site .social-links a,
.public-site .home-social-links a { color: #e5e9e7 !important; background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.08) !important; box-shadow: none !important; }
.public-site .social-links a:hover,
.public-site .home-social-links a:hover { background: var(--soft-accent) !important; transform: none !important; }
.public-site .newsletter-form input { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.12) !important; color: #fff !important; }

@media (max-width: 992px) {
    .public-site .main-nav, .public-site .home-desktop-nav { display: none !important; }
    .public-site .hamburger-btn, .public-site .home-menu-button { display: grid !important; }
    .public-site .top-bar .container { position: relative; }
    .public-site .mobile-nav { top: 76px !important; }
    .public-services .services-grid,
    .public-portfolio .port-grid,
    .public-store .store-grid,
    .public-blog .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .public-contact .contact-grid { grid-template-columns: 1fr !important; }
    .public-home .home-hero-grid, .public-home .home-platform-grid, .public-home .home-newsletter-panel { grid-template-columns: 1fr !important; }
}

@media (max-width: 720px) {
    body.public-site { padding-top: 68px !important; }
    .public-site .container, .public-site .home-container {
        width: calc(100% - 22px) !important;
        max-width: 1180px !important;
    }
    .public-site .top-bar, .public-site .home-header { height: 68px !important; }
    .public-site .logo, .public-site .home-logo, .public-site .home-header.is-scrolled .home-logo { height: 42px !important; max-height: 42px !important; }
    .public-site .mobile-nav { top: 68px !important; left: 11px !important; right: 11px !important; width: auto !important; border-radius: 0 0 16px 16px !important; }
    .public-site .home-mobile-nav { top: calc(100% + 7px) !important; }
    body.public-site .public-page-header { padding: 40px 0 43px !important; border-radius: 0 0 20px 20px !important; }
    body.public-site .public-page-header h1 { font-size: clamp(1.75rem, 9vw, 2.45rem) !important; }
    .public-site .ds-page-highlights { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .public-site .ds-content-cta { align-items: stretch !important; flex-direction: column !important; margin-bottom: 50px; text-align: right !important; }
    .public-site .ds-content-cta a { width: 100%; }
    .public-services .services-grid,
    .public-portfolio .port-grid,
    .public-store .store-grid,
    .public-blog .blog-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
    .public-services .card-img-wrap,
    .public-store .e-card-img,
    .public-blog .post-img { height: 195px !important; }
    .public-portfolio .port-img { height: 220px !important; }
    .public-services .card-body, .public-store .e-card-body, .public-blog .post-content { padding: 20px !important; }
    .public-services .card-actions { display: grid !important; grid-template-columns: 1fr 1fr; }
    .public-portfolio .filter-wrap { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; padding: 2px 0 10px; scroll-snap-type: x proximity; scrollbar-width: none; }
    .public-portfolio .filter-wrap::-webkit-scrollbar { display: none; }
    .public-portfolio .filter-btn { flex: 0 0 auto; scroll-snap-align: start; }
    .public-blog .featured-post { grid-template-columns: 1fr !important; }
    .public-blog .fp-img-wrap { height: 230px !important; }
    .public-blog .fp-content { padding: 23px !important; }
    .public-article .post-container { width: calc(100% - 22px) !important; margin-top: 24px !important; border-radius: 16px !important; }
    .public-article .post-full-image { max-height: 290px !important; }
    .public-article .post-header, .public-article .post-content { padding-inline: 19px !important; }
    .public-article .post-content { font-size: .96rem !important; line-height: 2 !important; }
    .public-article .share-icons { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 8px; }
    .public-contact .contact-grid { padding-bottom: 48px !important; }
    .public-contact .info-card, .public-contact .form-card { padding: 22px !important; }
    .public-site input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
    .public-site select, .public-site textarea { font-size: 16px !important; }
    .public-site .modal-overlay { align-items: flex-end !important; padding: 0 !important; }
    .public-site .modal-content, .public-site .modal-content-split, .public-site .modal-buy { width: 100% !important; max-width: none !important; max-height: 92dvh !important; margin: 0 !important; border-radius: 22px 22px 0 0 !important; }
    .public-site .modal-content-split { grid-template-columns: 1fr !important; }
    .public-site .modal-img, .public-site .modal-gallery { min-height: 190px !important; max-height: 230px !important; }
    .public-site .modal-body, .public-site .modal-info, .public-site .form-section-modal { padding: 20px !important; }
    .public-home .home-hero { min-height: 0 !important; padding: 72px 0 82px !important; }
    .public-home .home-hero-copy { text-align: right !important; }
    .public-home .home-hero-copy h1 { margin-inline: 0 !important; font-size: clamp(2.15rem, 12vw, 3.1rem) !important; }
    .public-home .home-hero-lead { margin-inline: 0 !important; }
    .public-home .home-hero-actions, .public-home .home-trust-row { justify-content: flex-start !important; }
    .public-home .home-command-card { padding: 14px !important; }
    .public-home .home-stat-grid { grid-template-columns: 1fr 1fr !important; }
    .public-home .home-stat-item { min-height: 82px; padding: 13px !important; border: 0 !important; }
    .public-home .home-stat-item:nth-child(odd) { border-left: 1px solid var(--soft-line) !important; }
    .public-home .home-services-grid, .public-home .home-work-grid, .public-home .home-process-grid { grid-template-columns: 1fr !important; }
    .public-home .home-section-heading { text-align: right !important; }
    .public-home .home-newsletter-panel { width: calc(100% - 16px) !important; padding: 28px 18px !important; }
    .public-site .footer-grid, .public-site .home-footer-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 30px !important; }
    .public-site .footer-col,
    .public-site .newsletter-form,
    .public-site .newsletter-form input { min-width: 0 !important; }
    .public-site .home-footer-brand, .public-site .home-footer-contact { grid-column: auto !important; }
}

@media (max-width: 420px) {
    .public-home .home-stat-grid { grid-template-columns: 1fr !important; }
    .public-home .home-stat-item:nth-child(odd) { border-left: 0 !important; }
    .public-services .card-actions { grid-template-columns: 1fr !important; }
    .public-site .home-client-button { width: 44px !important; padding: 0 !important; justify-content: center; }
    .public-site .home-client-button span { display: none; }
}

@media (hover: none) {
    .public-site .service-card:hover,
    .public-site .port-item:hover,
    .public-site .e-card:hover,
    .public-site .post-card:hover,
    .public-site .featured-post:hover { transform: none !important; box-shadow: 0 7px 24px rgba(38,52,61,.045) !important; }
}

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