:root {
    --red: #c8102e;
    --red-700: #a70d26;
    --red-50: #fff3f5;
    --black: #141414;
    --ink: #242424;
    --muted: #6f737a;
    --line: #e7e8eb;
    --soft: #f6f7f9;
    --white: #fff;
    --radius: 12px;
    --radius-sm: 8px;
    --shadow-sm: 0 8px 24px rgba(20, 20, 20, .06);
    --shadow-md: 0 18px 48px rgba(20, 20, 20, .10);
    --shadow-lg: 0 28px 70px rgba(20, 20, 20, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: var(--white);
    line-height: 1.65;
    overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(20, 20, 20, .08);
    box-shadow: 0 10px 30px rgba(20, 20, 20, .05);
    backdrop-filter: blur(14px);
}
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.logo, .footer-logo { font-weight: 800; letter-spacing: 0; }
.logo { display: grid; gap: 4px; padding: 4px 0; }
.logo span { display: block; color: var(--red); font-size: 20px; line-height: 1; }
.logo small { display: block; color: var(--black); font-size: 14px; font-weight: 700; }
.main-nav { display: flex; align-items: center; gap: 4px; }
.main-nav a {
    padding: 10px 13px;
    border-radius: 999px;
    color: #2f3033;
    font-size: 15px;
    font-weight: 600;
    transition: color .2s ease, background .2s ease;
}
.main-nav a:hover, .main-nav a.active { background: var(--red-50); color: var(--red); }
.nav-toggle { display: none; }
.nav-button { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: var(--radius-sm); align-items: center; justify-content: center; flex-direction: column; gap: 5px; background: #fff; }
.nav-button span { width: 20px; height: 2px; background: var(--black); border-radius: 999px; }

.hero-carousel {
    min-height: 660px;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 122px 0 144px;
    background: #f3f4f6;
}
.hero-carousel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0,0,0,.84), rgba(0,0,0,.58) 42%, rgba(0,0,0,.22)),
        linear-gradient(0deg, rgba(0,0,0,.50), rgba(0,0,0,.10));
}
.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #f3f4f6;
    opacity: 0;
    animation: heroFade 12s infinite;
}
.slide-one { background-image: url("../images/samsuntoybelen.jpg"); background-position: center center; animation-delay: 0s; }
.slide-two { background-image: url("../images/samsuntoybelen2.jpg"); background-position: center center; animation-delay: 6s; }
@keyframes heroFade {
    0%, 100% { opacity: 0; }
    8%, 45% { opacity: 1; }
    53% { opacity: 0; }
}
.hero-content { color: #fff; max-width: 780px; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    color: var(--red);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 12px;
}
.hero-content .eyebrow { color: #fff; background: rgba(200,16,46,.9); padding: 8px 12px; border-radius: 999px; margin-bottom: 18px; }
h1, h2, h3 { margin: 0 0 14px; line-height: 1.12; letter-spacing: 0; color: var(--black); }
h1 { font-size: clamp(38px, 5vw, 66px); }
h2 { font-size: clamp(28px, 3vw, 42px); }
.hero-content h1 { color: #fff; text-shadow: 0 18px 52px rgba(0,0,0,.36); }
.hero-content p { max-width: 650px; color: rgba(255,255,255,.9); font-size: 20px; margin: 0 0 30px; }
.hero-lines { position: relative; min-height: 68px; }
.hero-lines span { position: absolute; inset: 0 auto auto 0; opacity: 0; animation: lineFade 12s infinite; }
.hero-lines span:nth-child(2) { animation-delay: 6s; }
@keyframes lineFade {
    0%, 100% { opacity: 0; transform: translateY(6px); }
    8%, 45% { opacity: 1; transform: translateY(0); }
    53% { opacity: 0; transform: translateY(-6px); }
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    font-weight: 700;
    font-size: 15px;
    transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
    cursor: pointer;
    white-space: nowrap;
}
.btn-red { background: var(--red); color: #fff; box-shadow: 0 12px 28px rgba(200,16,46,.22); }
.btn-red:hover { background: var(--red-700); }
.btn-light { background: #fff; color: var(--black); }
.btn-light:hover { background: #f0f1f3; }
.btn-dark { background: var(--black); color: #fff; }
.btn-outline { background: #fff; color: var(--red); border-color: rgba(200,16,46,.24); }
.btn-outline:hover { background: var(--red); color: #fff; border-color: var(--red); }
.btn-whatsapp { background: #128c54; color: #fff; }

.stats-bar { margin-top: -76px; position: relative; z-index: 4; }
.stats-grid {
    display: grid;
    grid-template-columns: 1.28fr repeat(3, 1fr);
    min-height: 190px;
    background: linear-gradient(135deg, #b90f2a 0%, var(--red) 50%, #171717 100%);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    color: #fff;
    overflow: hidden;
    position: relative;
}
.stats-grid::before, .stats-grid::after { content: ""; position: absolute; width: 250px; height: 250px; transform: rotate(45deg); pointer-events: none; }
.stats-grid::before { right: -105px; top: -140px; background: rgba(255,255,255,.08); }
.stats-grid::after { left: -120px; bottom: -160px; background: rgba(0,0,0,.12); }
.stats-intro, .stat-item { position: relative; z-index: 1; padding: 34px; }
.stats-intro { display: flex; flex-direction: column; justify-content: center; background: rgba(0,0,0,.12); }
.stats-intro strong { color: #fff; max-width: 200px; font-size: 24px; line-height: 1.12; font-weight: 650; text-transform: uppercase; }
.stats-intro span { margin-top: 10px; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 400; }
.stat-item { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-left: 1px solid rgba(255,255,255,.18); }
.stat-item strong { color: #fff; font-size: clamp(24px, 2.5vw, 32px); line-height: 1; font-weight: 500; }
.stat-item span:last-child { margin-top: 10px; color: rgba(255,255,255,.88); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.stat-icon { width: 38px; height: 38px; margin-bottom: 15px; position: relative; display: block; opacity: .92; }
.stat-icon, .stat-icon::before, .stat-icon::after { border-color: rgba(255,255,255,.9); }
.stat-icon::before, .stat-icon::after { content: ""; position: absolute; background: rgba(255,255,255,.9); }
.stat-icon-company { border: 2px solid rgba(255,255,255,.9); border-radius: 6px; }
.stat-icon-company::before { width: 22px; height: 2px; left: 7px; top: 11px; box-shadow: 0 7px 0 rgba(255,255,255,.9), 0 14px 0 rgba(255,255,255,.9); }
.stat-icon-company::after { width: 5px; height: 8px; left: 16px; bottom: 0; box-shadow: -9px -1px 0 rgba(255,255,255,.9), 9px -1px 0 rgba(255,255,255,.9); }
.stat-icon-category { border: 2px solid rgba(255,255,255,.9); border-top-width: 8px; border-radius: 6px 6px 8px 8px; }
.stat-icon-category::before { width: 17px; height: 2px; left: 9px; top: 10px; box-shadow: 0 7px 0 rgba(255,255,255,.9), 0 14px 0 rgba(255,255,255,.9); }
.stat-icon-category::after { width: 14px; height: 6px; left: 6px; top: -11px; border-radius: 4px 4px 0 0; }
.stat-icon-worker { border: 2px solid rgba(255,255,255,.9); border-radius: 50%; }
.stat-icon-worker::before { width: 9px; height: 9px; left: 12px; top: 7px; border-radius: 50%; }
.stat-icon-worker::after { width: 22px; height: 12px; left: 6px; bottom: 7px; border-radius: 14px 14px 5px 5px; }

.section { padding: 86px 0; }
.companies-section { background: linear-gradient(180deg, #fff 0%, var(--soft) 100%); padding-top: 98px; }
.section-head { margin-bottom: 30px; }
.companies-head { max-width: 760px; }
.companies-head p, .page-hero p, .content-layout article p { color: var(--muted); font-size: 17px; margin: 0; }
.inline-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.soft { background: var(--soft); }

.filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 14px;
    align-items: start;
    padding: 16px;
    margin: 0 0 30px;
    background: rgba(255,255,255,.88);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.search-form { min-width: 0; }
.search-wrap { position: relative; min-width: 0; }
input, select, textarea {
    width: 100%;
    border: 1px solid #d9dce1;
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    font: inherit;
    color: var(--ink);
    background: #fff;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus, select:focus, textarea:focus { border-color: rgba(200,16,46,.55); box-shadow: 0 0 0 4px rgba(200,16,46,.09); }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }
.has-clear input { padding-right: 92px; }
.clear-search {
    position: absolute;
    right: 52px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #202124;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
.clear-search:hover { background: var(--red); }
.search-submit {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--red);
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease;
}
.search-submit::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    left: 10px;
    top: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
}
.search-submit::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 2px;
    right: 9px;
    bottom: 10px;
    background: #fff;
    transform: rotate(45deg);
    border-radius: 999px;
}
.search-submit:hover { background: var(--red-700); box-shadow: 0 10px 22px rgba(200,16,46,.22); }

.category-dropdown {
    position: relative;
    min-width: 0;
    height: 54px;
    min-height: 54px;
    max-height: 54px;
    align-self: start;
    box-sizing: border-box;
}
.category-dropdown summary {
    list-style: none;
    width: 100%;
    height: 54px;
    min-height: 54px;
    max-height: 54px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border: 1px solid #d9dce1;
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    font-weight: 600;
    overflow: hidden;
    box-sizing: border-box;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.category-dropdown summary span {
    display: block;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 1.2;
}
.category-dropdown summary::-webkit-details-marker { display: none; }
.category-dropdown summary::after { content: ""; width: 9px; height: 9px; flex: 0 0 auto; border-right: 2px solid var(--red); border-bottom: 2px solid var(--red); transform: rotate(45deg) translateY(-2px); }
.category-dropdown[open] summary { border-color: rgba(200,16,46,.55); box-shadow: 0 0 0 4px rgba(200,16,46,.09); }
.category-dropdown[open] { z-index: 25; }
.category-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 10;
    max-height: 300px;
    overflow: auto;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
}
.category-menu a { display: block; padding: 10px 12px; border-radius: var(--radius-sm); color: var(--ink); font-size: 14px; transition: background .2s ease, color .2s ease; }
.category-menu a:hover, .category-menu a.active { background: var(--red-50); color: var(--red); }

.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.category-card, .company-card, .info-panel, .form-card, .map-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.category-card { padding: 24px; border-top: 4px solid var(--red); transition: box-shadow .2s ease, border-color .2s ease; }
.category-card:hover { box-shadow: var(--shadow-md); border-color: rgba(200,16,46,.22); }
.category-card p { color: var(--muted); }
.category-card span { color: var(--red); font-weight: 700; }
.page-category-grid { align-items: stretch; }
.page-category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    padding: 26px;
    border-top: 0;
    overflow: hidden;
}
.page-category-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--red), var(--black));
}
.page-category-card h2 { font-size: 22px; margin-top: 12px; }
.page-category-card p { margin: 0; font-size: 15px; }
.page-category-card strong { margin-top: auto; color: var(--red); font-size: 14px; }
.category-count { align-self: flex-start; padding: 6px 10px; border-radius: 999px; background: var(--red-50); border: 1px solid #ffd8df; color: var(--red); font-size: 12px; font-weight: 600; }

.company-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.company-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border-color: #e4e6ea;
    box-shadow: 0 12px 34px rgba(18, 18, 18, .07);
    transition: box-shadow .25s ease, border-color .25s ease;
}
.company-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0%, transparent 36%, rgba(255,255,255,.45) 50%, transparent 64%, transparent 100%);
    transform: translateX(-140%);
    transition: transform .85s ease;
}
.company-card:hover { box-shadow: 0 22px 54px rgba(18, 18, 18, .11); border-color: rgba(200,16,46,.18); }
.company-card:hover::before { transform: translateX(140%); }
.company-image { aspect-ratio: 16 / 10; overflow: hidden; background: #eef0f3; box-shadow: inset 0 -1px 0 rgba(20,20,20,.10), inset 0 0 0 1px rgba(20,20,20,.06); }
.company-image img { width: 100%; height: 100%; object-fit: cover; }
.company-body { padding: 22px; display: flex; flex: 1; flex-direction: column; }
.company-body h3 { margin-bottom: 10px; color: var(--black); font-size: 21px; line-height: 1.25; font-weight: 700; }
.company-body p { margin: 0; color: var(--muted); font-size: 15px; min-height: 92px; }
.tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; }
.tags a {
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--red-50);
    border: 1px solid #ffd8df;
    color: var(--red);
    font-size: 12px;
    font-weight: 600;
}
.card-actions { margin-top: auto; padding-top: 18px; }
.inspect-btn { width: 100%; }

.empty-state {
    padding: 34px;
    border-radius: var(--radius);
    background: #fff;
    color: var(--red);
    border: 1px solid #ffd8df;
    box-shadow: var(--shadow-sm);
    font-weight: 700;
    text-align: center;
}
.pagination { display: flex; gap: 8px; justify-content: center; align-items: center; margin-top: 38px; flex-wrap: wrap; }
.pagination a, .pagination span {
    min-width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-sm);
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    font-size: 14px;
    font-weight: 650;
}
.pagination a.active, .pagination a:hover { background: var(--red); color: #fff; border-color: var(--red); }

.page-hero { padding: 78px 0; background: linear-gradient(135deg, #fff, #f7f7f8); border-bottom: 1px solid var(--line); }
.page-hero-premium {
    position: relative;
    isolation: isolate;
    padding: 96px 0 86px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(246,247,249,.94)),
        radial-gradient(circle at 82% 12%, rgba(200,16,46,.11), transparent 34%);
}
.page-hero-premium::after {
    content: "";
    position: absolute;
    right: -110px;
    top: -130px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(200,16,46,.08);
    z-index: -1;
}
.page-hero-inner { max-width: 820px; }
.page-hero-inner p { color: var(--muted); font-size: 18px; max-width: 680px; margin: 0; }
.page-section { background: linear-gradient(180deg, #fff 0%, var(--soft) 100%); }
.page-section-head { max-width: 720px; }
.page-section-head p { color: var(--muted); margin: 0; font-size: 17px; }
.seo-text-section { background: #fff; padding: 72px 0; }
.seo-text-card, .blog-detail {
    max-width: 900px;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.seo-text-card p, .blog-detail p { color: var(--muted); margin: 0 0 14px; font-size: 17px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.blog-card {
    display: flex;
    min-height: 280px;
    flex-direction: column;
    overflow: hidden;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.blog-card-image {
    display: block;
    overflow: hidden;
    margin: -26px -26px 10px;
    aspect-ratio: 16 / 9;
    background: #f1f2f4;
}
.blog-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.blog-card h2 { font-size: 24px; }
.blog-card p { color: var(--muted); margin: 0 0 22px; }
.blog-card .btn { width: fit-content; margin-top: auto; }
.blog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 18px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}
.blog-card-meta a,
.blog-info-pills a {
    color: var(--red);
}
.blog-detail h2 { margin-top: 24px; font-size: 28px; }
.category-seo-hero .category-breadcrumb, .blog-hero .category-breadcrumb { margin-bottom: 18px; }
.blog-hero-enhanced {
    padding: 92px 0 78px;
    background:
        linear-gradient(135deg, #fff 0%, #f6f7f9 58%, #eef0f3 100%);
}
.blog-hero-enhanced .page-hero-inner { max-width: 980px; }
.blog-hero-enhanced h1 { max-width: 850px; font-size: clamp(40px, 5vw, 68px); }
.blog-hero-enhanced p { max-width: 760px; font-size: 19px; line-height: 1.75; }
.blog-info-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}
.blog-info-pills span,
.blog-info-pills time,
.blog-info-pills a,
.related-service-grid a {
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 999px;
    background: #fff;
    color: var(--black);
    box-shadow: 0 10px 26px rgba(20,20,20,.05);
    font-size: 13px;
    font-weight: 800;
}
.blog-info-pills span,
.blog-info-pills time,
.blog-info-pills a { padding: 8px 12px; }
.blog-detail-enhanced {
    display: grid;
    gap: 28px;
    max-width: 980px;
    border-radius: 22px;
}
.blog-detail-enhanced h2 { margin: 0 0 12px; }
.blog-featured-image {
    overflow: hidden;
    margin: 0 0 2px;
    border-radius: 18px;
    background: #f1f2f4;
}
.blog-featured-image img {
    width: 100%;
    max-height: 460px;
    display: block;
    object-fit: cover;
}
.blog-company-section {
    display: grid;
    gap: 22px;
    padding: 26px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(20,20,20,.06);
}
.blog-company-head {
    max-width: 720px;
    margin-bottom: 0;
}
.blog-company-head p {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
}
.blog-company-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.blog-company-more {
    width: fit-content;
}
.blog-content-flow {
    display: grid;
    gap: 16px;
}
.blog-content-flow > * {
    margin-top: 0;
    margin-bottom: 0;
}
.blog-content-flow ul,
.blog-content-flow ol {
    display: grid;
    gap: 8px;
    padding-left: 24px;
    color: var(--muted);
    line-height: 1.8;
}
.blog-content-flow a,
.blog-category-links a {
    color: var(--red);
    font-weight: 800;
}
.blog-category-links {
    padding: 24px;
    border: 1px solid rgba(200,16,46,.12);
    border-radius: 16px;
    background: #fff8f9;
}
.blog-content-block {
    padding-bottom: 26px;
    border-bottom: 1px solid var(--line);
}
.blog-content-block p:last-child { margin-bottom: 0; }
.blog-map-block .location-map-card { margin-top: 18px; }
.map-direction-btn { width: fit-content; margin-top: 18px; }
.related-services h2 { margin-bottom: 18px; }
.related-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.related-service-grid a {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 18px;
    text-align: center;
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.related-service-grid a:hover {
    border-color: rgba(200,16,46,.28);
    color: var(--red);
    box-shadow: 0 14px 32px rgba(20,20,20,.08);
}
.detail-cover { min-height: 560px; display: flex; align-items: flex-end; background-size: cover; background-position: center; position: relative; isolation: isolate; padding: 96px 0 56px; }
.detail-cover::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.34) 48%, rgba(0,0,0,.10)), linear-gradient(0deg, rgba(0,0,0,.42), rgba(0,0,0,.04) 48%); }
.detail-overlay-card { width: min(760px, 100%); color: #fff; padding: 34px; border-radius: var(--radius); background: rgba(12,12,12,.38); border: 1px solid rgba(255,255,255,.24); box-shadow: 0 22px 58px rgba(0,0,0,.26); backdrop-filter: blur(6px); }
.detail-overlay-card h1 { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.detail-overlay-card p { color: rgba(255,255,255,.9); font-size: 18px; margin: 0; }
.detail-overlay-card .tags a, .detail-tags a { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.22); color: #fff; }
.detail-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.detail-section { background: linear-gradient(180deg, #fff 0%, var(--soft) 100%); padding: 52px 0; }
.detail-info-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 26px; align-items: start; }
.detail-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 24px;
}
.detail-panel-single { max-width: 1120px; margin: 0 auto; }
.detail-panel h2 { margin-bottom: 16px; }
.detail-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}
.detail-icon-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.icon-action {
    width: 46px;
    height: 46px;
    position: relative;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: #fafbfc;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.icon-action:hover { background: #fff; border-color: rgba(200,16,46,.24); box-shadow: var(--shadow-sm); }
.icon-action::before, .icon-action::after { content: ""; position: absolute; }
.icon-phone::before { width: 18px; height: 18px; border: 3px solid var(--red); border-top-color: transparent; border-left-color: transparent; border-radius: 50%; transform: rotate(18deg); }
.icon-whatsapp { background: #effaf4; }
.icon-whatsapp::before { width: 22px; height: 22px; border: 2px solid #128c54; border-radius: 50%; }
.icon-whatsapp::after { width: 8px; height: 8px; left: 13px; bottom: 10px; border-left: 2px solid #128c54; border-bottom: 2px solid #128c54; transform: rotate(-18deg); }
.icon-mail::before { width: 22px; height: 16px; border: 2px solid var(--red); border-radius: 4px; }
.icon-mail::after { width: 14px; height: 14px; border-left: 2px solid var(--red); border-bottom: 2px solid var(--red); transform: rotate(-45deg); top: 13px; }
.icon-web::before { width: 24px; height: 24px; border: 2px solid var(--red); border-radius: 50%; }
.icon-web::after { width: 24px; height: 2px; background: var(--red); box-shadow: 0 -7px 0 rgba(200,16,46,.55), 0 7px 0 rgba(200,16,46,.55); }
.icon-instagram::before { width: 24px; height: 24px; border: 2px solid var(--red); border-radius: 8px; }
.icon-instagram::after { width: 8px; height: 8px; border: 2px solid var(--red); border-radius: 50%; box-shadow: 8px -8px 0 -3px var(--red); }
.detail-page-stack { display: grid; gap: 18px; }
.detail-contact-map-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: 16px;
    align-items: stretch;
    margin-bottom: 14px;
}
.detail-contact-box {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fafbfc;
    margin-bottom: 0;
}
.detail-contact-box > strong {
    display: block;
    margin-bottom: 12px;
    color: var(--black);
    font-size: 15px;
}
.appointment-btn { width: 100%; margin-top: 14px; }
.directions-btn { width: 100%; margin-top: 10px; }
.detail-map-inline {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}
.detail-map-inline > strong {
    display: block;
    margin-bottom: 12px;
    color: var(--black);
    font-size: 15px;
}
.detail-map-inline .map-panel {
    margin-top: 0;
    min-height: 260px;
}
.detail-map-inline .map-panel iframe,
.detail-map-inline .empty-map {
    height: 260px;
    min-height: 260px;
}
.detail-content-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.detail-about-box, .detail-work-box, .detail-info-box {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}
.detail-wide { grid-column: 1 / -1; }
.detail-about-box strong, .detail-work-box strong, .detail-info-box strong {
    display: block;
    color: var(--black);
    margin-bottom: 10px;
}
.detail-about-box p, .detail-info-box p {
    margin: 0;
    color: var(--muted);
}
.work-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.work-tags a {
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--red-50);
    border: 1px solid #ffd8df;
    color: var(--red);
    font-size: 13px;
    font-weight: 600;
}
.company-gallery { margin-top: 16px; }
.gallery-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.gallery-head h2 { margin-bottom: 0; }
.gallery-slider,
.reviews-slider {
    overflow: hidden;
    width: 100%;
}
.gallery-track,
.reviews-track {
    display: flex;
    width: max-content;
    gap: 14px;
}
.gallery-track.is-animated { animation: detailSlider 22s linear infinite; }
.reviews-track.is-animated { animation: detailSlider 28s linear infinite; }
.gallery-slider:hover .gallery-track,
.reviews-slider:hover .reviews-track { animation-play-state: paused; }
@keyframes detailSlider {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-50% - 7px)); }
}
.gallery-item {
    position: relative;
    display: block;
    flex: 0 0 260px;
    width: 260px;
    height: 178px;
    aspect-ratio: 4 / 3;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #f2f3f5;
    box-shadow: 0 12px 30px rgba(20, 20, 20, .08);
    cursor: pointer;
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
}
.gallery-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, .42);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    opacity: 0;
    transition: opacity .25s ease;
}
.gallery-item:hover img { transform: scale(1.06); filter: brightness(.82); }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-fallback {
    position: absolute;
    inset: 0;
    display: none;
    place-items: center;
    padding: 18px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    background: linear-gradient(135deg, #fff, #f4f5f7);
}
.gallery-item.is-broken img { display: none; }
.gallery-item.is-broken .gallery-fallback { display: grid; }
.company-reviews { margin-top: 16px; }
.reviews-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.reviews-head h2 { margin-bottom: 0; }
.review-card {
    flex: 0 0 300px;
    width: 300px;
    min-height: 100%;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 12px 30px rgba(20, 20, 20, .07);
}
.review-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 10px;
    color: #c8ccd2;
    font-size: 17px;
    line-height: 1;
    letter-spacing: 0;
}
.review-stars .active { color: var(--red); }
.review-card strong {
    display: block;
    color: var(--black);
    font-size: 16px;
    margin-bottom: 8px;
}
.review-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}
.reviews-button { margin-top: 16px; }
.gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 70px 78px;
    background: rgba(0, 0, 0, .78);
}
.gallery-modal.active { display: flex; }
.gallery-open { overflow: hidden; }
.gallery-modal-frame {
    width: min(980px, 100%);
    max-height: calc(100vh - 140px);
    display: grid;
    place-items: center;
}
.gallery-modal-frame img {
    max-width: 100%;
    max-height: calc(100vh - 140px);
    border-radius: var(--radius);
    object-fit: contain;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .36);
    background: #fff;
}
.gallery-close,
.gallery-prev,
.gallery-next {
    position: absolute;
    border: 0;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(20, 20, 20, .72);
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}
.gallery-close:hover,
.gallery-prev:hover,
.gallery-next:hover { background: var(--red); }
.gallery-close {
    top: 22px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 30px;
    line-height: 1;
}
.gallery-prev,
.gallery-next {
    top: 50%;
    width: 48px;
    height: 58px;
    border-radius: var(--radius-sm);
    font-size: 44px;
    line-height: 1;
    transform: translateY(-50%);
}
.gallery-prev { left: 22px; }
.gallery-next { right: 22px; }
.detail-contact-box .icon-action::before,
.detail-contact-box .icon-action::after { display: none; }
.icon-action svg {
    width: 22px;
    height: 22px;
    fill: var(--red);
}
.whatsapp-action svg { fill: #128c54; }
.instagram-action svg { fill: var(--red); }
.detail-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.detail-action {
    position: relative;
    display: grid;
    gap: 4px;
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fafbfc;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.detail-action::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--red);
    opacity: .8;
}
.detail-action:hover { border-color: rgba(200,16,46,.24); background: #fff; box-shadow: var(--shadow-sm); }
.detail-action strong { color: var(--black); font-size: 13px; }
.detail-action span { color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.detail-meta { display: grid; gap: 12px; }
.detail-meta div { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.detail-meta strong { display: block; color: var(--black); margin-bottom: 6px; }
.detail-meta p { margin: 0; color: var(--muted); }
.detail-subsection { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.compact-people h2 { margin-bottom: 12px; }
.people-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.person-card {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fafbfc;
}
.person-card strong { display: block; color: var(--black); }
.person-card span { display: block; color: var(--muted); margin: 3px 0 10px; }
.person-card div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.person-card a { padding: 7px 10px; border-radius: 999px; background: var(--red-50); color: var(--red); font-size: 13px; font-weight: 600; }
.person-card .person-call { background: var(--red); color: #fff; }
.empty-mini { padding: 16px; border-radius: var(--radius-sm); background: var(--red-50); color: var(--red); font-weight: 600; }
.detail-map-wrap { margin-top: 34px; }
.detail-map-panel { margin-top: 0; box-shadow: var(--shadow-sm); }
.similar-section { background: #fff; }
.info-grid, .contact-grid, .content-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.info-panel, .form-card { padding: 26px; }
.content-panel, .contact-info-panel, .contact-form-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.content-panel { padding: 34px; }
.content-panel h2 { margin-bottom: 18px; }
.content-panel p { color: var(--muted); margin: 0 0 16px; }
.content-panel .btn { margin-top: 10px; }
.about-layout { align-items: start; gap: 28px; }
.person-row { padding: 14px 0; border-bottom: 1px solid var(--line); display: grid; gap: 3px; }
.person-row:last-child { border-bottom: 0; }
.map-panel { margin-top: 22px; overflow: hidden; min-height: 300px; }
.map-panel iframe { width: 100%; height: 360px; border: 0; display: block; }
.empty-map { min-height: 300px; display: grid; place-items: center; color: var(--muted); background: #fafafa; }
.about-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.about-cards div { padding: 22px; border-radius: var(--radius); background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--red); box-shadow: var(--shadow-sm); }
.about-cards strong, .about-cards span { display: block; }
.about-cards span { color: var(--muted); margin-top: 6px; }
.premium-cards div { min-height: 135px; }
.contact-premium-grid { align-items: start; gap: 28px; }
.contact-info-panel, .contact-form-card { padding: 30px; }
.contact-list { display: grid; gap: 12px; margin-top: 20px; }
.contact-list p {
    margin: 0;
    padding: 15px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--line);
    background: #fafbfc;
}
.contact-list strong { display: block; color: var(--black); font-size: 13px; margin-bottom: 4px; }
.contact-list a, .contact-list span { color: var(--muted); overflow-wrap: anywhere; }
.contact-list a:hover { color: var(--red); }
.center-action { margin-top: 28px; text-align: center; }
.form-card label { display: grid; gap: 6px; margin-bottom: 14px; font-weight: 700; color: var(--black); }
.contact-form-card h2, .contact-info-panel h2 { margin-bottom: 18px; }
.alert { padding: 12px 14px; border-radius: var(--radius-sm); margin-bottom: 14px; font-weight: 700; }
.alert.success { background: #eaf8ef; color: #116734; }
.alert.error { background: var(--red-50); color: var(--red); }

.site-footer { background: #111; color: #fff; padding-top: 58px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.25fr; gap: 34px; }
.footer-logo { display: inline-block; color: #fff; font-size: 21px; margin-bottom: 10px; }
.site-footer h3 { font-size: 16px; color: #fff; margin-bottom: 14px; }
.site-footer p, .site-footer a { color: #cfd2d6; font-size: 14px; }
.site-footer a { display: block; margin: 8px 0; transition: color .2s ease; }
.site-footer a:hover { color: #fff; }
.footer-bottom { margin-top: 34px; padding: 18px; text-align: center; border-top: 1px solid rgba(255,255,255,.1); color: #b8bbc0; font-size: 14px; }

@media (max-width: 980px) {
    .company-grid { grid-template-columns: repeat(2, 1fr); }
    .category-grid, .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-grid { grid-template-columns: repeat(3, 1fr); }
    .stats-intro { grid-column: 1 / -1; min-height: 130px; }
    .stat-item { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
    .detail-contact-map-grid { grid-template-columns: 1fr; }
    .detail-info-grid { grid-template-columns: 1fr; }
    .info-grid, .contact-grid, .content-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .container { width: min(100% - 24px, 1180px); }
    .header-inner { min-height: 68px; }
    .nav-button { display: flex; }
    .main-nav { position: absolute; top: 68px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; background: #fff; padding: 12px; border-bottom: 1px solid var(--line); box-shadow: var(--shadow-md); }
    .nav-toggle:checked ~ .main-nav { display: flex; }
    .main-nav a { border-radius: var(--radius-sm); }
    .hero-carousel { min-height: 560px; padding: 92px 0 118px; }
    .hero-content p { font-size: 17px; }
    .hero-actions .btn { width: 100%; }
    .stats-bar { margin-top: -62px; }
    .stats-grid { grid-template-columns: 1fr; min-height: 0; }
    .stats-intro, .stat-item { min-height: 132px; padding: 24px; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
    .filter-bar { grid-template-columns: 1fr; padding: 12px; overflow: visible; }
    .category-dropdown {
        width: 100%;
        height: 52px;
        min-height: 52px;
        max-height: 52px;
    }
    .category-dropdown summary {
        height: 52px;
        min-height: 52px;
        max-height: 52px;
        padding: 0 14px;
        font-size: 14px;
        line-height: 1.2;
        white-space: nowrap;
        text-overflow: ellipsis;
        gap: 10px;
    }
    .category-dropdown summary::after {
        width: 8px;
        height: 8px;
        flex: 0 0 auto;
    }
    .category-menu {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        margin-top: 0;
        max-height: 260px;
        box-shadow: var(--shadow-md);
    }
    .company-grid, .category-grid, .footer-grid, .about-cards { grid-template-columns: 1fr; }
    .section { padding: 58px 0; }
    .companies-section { padding-top: 74px; }
    .detail-section { padding: 34px 0; }
    .detail-cover { min-height: 500px; padding: 82px 0 34px; }
    .detail-overlay-card { padding: 22px; }
    .detail-overlay-card p { font-size: 16px; }
    .detail-panel { padding: 18px; }
    .detail-topline { align-items: flex-start; flex-direction: column; }
    .detail-content-grid, .people-list { grid-template-columns: 1fr; }
    .detail-action-grid { grid-template-columns: 1fr; }
    .gallery-slider,
    .reviews-slider {
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x proximity;
    }
    .gallery-track,
    .reviews-track {
        width: max-content;
        animation: none !important;
    }
    .gallery-item {
        flex-basis: 230px;
        width: 230px;
        height: 158px;
        scroll-snap-align: start;
    }
    .review-card {
        flex-basis: 280px;
        width: 280px;
        scroll-snap-align: start;
    }
    .reviews-button { width: 100%; }
    .gallery-modal { padding: 64px 16px; }
    .gallery-modal-frame,
    .gallery-modal-frame img { max-height: calc(100vh - 128px); }
    .gallery-prev,
    .gallery-next {
        top: auto;
        bottom: 18px;
        width: 44px;
        height: 44px;
        font-size: 34px;
        transform: none;
    }
    .gallery-prev { left: calc(50% - 54px); }
    .gallery-next { right: calc(50% - 54px); }
    .pagination { justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; flex-wrap: nowrap; }
    .pagination a, .pagination span { flex: 0 0 auto; }
}

@media (max-width: 460px) {
    .gallery-item { flex-basis: 210px; width: 210px; height: 148px; }
    .review-card { flex-basis: 260px; width: 260px; }
}

/* Premium company detail layout */
.premium-detail-cover {
    min-height: 420px;
    padding: 118px 0 76px;
    background-size: cover;
    background-position: center 35%;
    background-repeat: no-repeat;
}
.premium-detail-cover.image-contain,
.premium-detail-cover[data-image-fit="contain"] {
    background-size: contain;
    background-color: #101014;
}
.premium-detail-cover::after {
    background:
        linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.44) 52%, rgba(0,0,0,.18)),
        linear-gradient(0deg, rgba(0,0,0,.48), rgba(0,0,0,.04) 56%);
}
.detail-breadcrumb {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    background: rgba(12,12,12,.34);
    color: rgba(255,255,255,.78);
    font-size: 13px;
    font-weight: 700;
    backdrop-filter: blur(8px);
}
.detail-breadcrumb a { color: #fff; transition: color .2s ease; }
.detail-breadcrumb a:hover { color: #ffdce2; }
.detail-breadcrumb strong { color: #fff; font-weight: 800; }
.premium-hero-card {
    width: min(860px, 100%);
    padding: 38px;
    border-radius: 18px;
    background: rgba(12,12,12,.44);
    box-shadow: 0 32px 90px rgba(0,0,0,.30);
}
.premium-hero-card p {
    max-width: 720px;
    color: rgba(255,255,255,.9);
}
.detail-premium-shell {
    padding: 78px 0 92px;
    background:
        linear-gradient(180deg, #fff 0%, #f7f8fa 44%, #fff 100%);
}
.detail-premium-shell .detail-page-stack { gap: 46px; }
.detail-intro-band {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: 22px;
    align-items: stretch;
}
.detail-action-column {
    display: grid;
    gap: 16px;
}
.premium-contact-box,
.hours-status-card,
.premium-info-block,
.premium-mini-block,
.premium-slider-band,
.premium-map-section {
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 58px rgba(20,20,20,.08);
}
.premium-contact-box {
    padding: 24px;
}
.action-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.action-button-row .btn {
    flex: 1 1 150px;
}
.premium-contact-box .appointment-btn {
    margin-top: 0;
}
.premium-contact-box > strong,
.premium-mini-block > strong {
    display: block;
    margin-bottom: 12px;
    color: var(--black);
    font-size: 15px;
}
.hours-status-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px;
}
.status-dot {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #f59e0b;
    box-shadow: 0 0 0 8px rgba(245,158,11,.13);
}
.hours-status-card.is-open .status-dot {
    background: #16a34a;
    box-shadow: 0 0 0 8px rgba(22,163,74,.13);
}
.hours-status-card.is-closed .status-dot {
    background: #dc2626;
    box-shadow: 0 0 0 8px rgba(220,38,38,.12);
}
.hours-status-card strong {
    display: block;
    color: var(--black);
    font-size: 18px;
    line-height: 1.2;
}
.hours-status-card p {
    margin: 6px 0 2px;
    color: var(--muted);
    font-weight: 700;
}
.hours-status-card small {
    color: var(--muted);
    font-size: 13px;
}
.trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 14px;
    border: 1px solid rgba(200,16,46,.12);
    border-radius: 999px;
    background: #fff;
    color: #252525;
    box-shadow: 0 10px 28px rgba(20,20,20,.05);
    font-size: 14px;
    font-weight: 800;
}
.trust-pill span {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--red-50);
    color: var(--red);
    font-size: 12px;
}
.detail-content-flow {
    display: grid;
    gap: 24px;
}
.premium-info-block {
    padding: 30px;
}
.about-block p {
    max-width: 980px;
    margin: 0;
    color: #4c5056;
    font-size: 17px;
    line-height: 1.82;
}
.premium-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.premium-mini-block {
    padding: 22px;
}
.premium-mini-block p {
    margin: 0;
    color: var(--muted);
}
.people-block .people-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.people-block .person-card {
    border-radius: 16px;
    background: #fafbfc;
    box-shadow: none;
}
.section-kicker {
    margin-bottom: 20px;
}
.section-kicker h2 {
    margin-bottom: 0;
    font-size: clamp(24px, 2.2vw, 34px);
}
.premium-slider-band,
.premium-map-section {
    padding: 30px;
}
.premium-slider-band {
    overflow: hidden;
}
.premium-slider-band .gallery-item {
    flex-basis: 330px;
    width: 330px;
    height: 220px;
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(20,20,20,.11);
}
.premium-slider-band .review-card {
    flex-basis: 340px;
    width: 340px;
    min-height: 210px;
    border-radius: 18px;
}
.premium-map-container {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    border-radius: 22px;
    background: #111;
    box-shadow: 0 22px 68px rgba(20,20,20,.16);
}
.premium-map-container::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0,0,0,.18), transparent 34%),
        linear-gradient(0deg, rgba(0,0,0,.28), transparent 45%);
}
.premium-map-container iframe {
    width: 100%;
    height: 430px;
    border: 0;
    display: block;
    filter: saturate(.95) contrast(1.02);
}
.premium-map-container .empty-map {
    min-height: 430px;
}
.compact-map-card {
    min-width: 0;
}
.compact-map-container {
    min-height: 260px;
    height: 260px;
    border-radius: 20px;
}
.compact-map-container iframe,
.compact-map-container .empty-map {
    height: 260px;
    min-height: 260px;
}
.map-float-btn {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 2;
}

@media (max-width: 980px) {
    .detail-intro-band,
    .premium-info-grid,
    .people-block .people-list {
        grid-template-columns: 1fr;
    }
    .premium-map-container,
    .premium-map-container iframe,
    .premium-map-container .empty-map {
        min-height: 340px;
        height: 340px;
    }
    .compact-map-container,
    .compact-map-container iframe,
    .compact-map-container .empty-map {
        min-height: 260px;
        height: 260px;
    }
}

.quick-info-section {
    padding: 86px 0 96px;
    background:
        linear-gradient(180deg, #f3f4f6 0%, #fff 100%);
}
.quick-info-head {
    max-width: 860px;
    margin-bottom: 32px;
}
.quick-info-head p {
    color: var(--muted);
    font-size: 17px;
    margin: 0;
}
.quick-info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.quick-info-card {
    position: relative;
    min-height: 230px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(20,20,20,.07);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,243,245,.76)),
        linear-gradient(180deg, #fff, #f7f8fa);
    box-shadow: 0 18px 54px rgba(20,20,20,.08);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.quick-info-card::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -54px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: rgba(200,16,46,.08);
}
.quick-info-card:hover {
    transform: translateY(-7px);
    border-color: rgba(200,16,46,.18);
    box-shadow: 0 28px 76px rgba(20,20,20,.13);
}
.quick-info-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--red), var(--black));
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(200,16,46,.22);
}
.quick-info-card h3 {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.2;
}
.quick-info-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.65;
}

@media (max-width: 980px) {
    .quick-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .quick-info-section {
        padding: 58px 0 66px;
    }
    .quick-info-grid {
        grid-template-columns: 1fr;
    }
    .quick-info-card {
        min-height: 0;
    }
    .quick-info-card:hover {
        transform: none;
    }
}

/* Homepage premium refresh */
body {
    background: #fafafa;
}
.site-header {
    z-index: 60;
    background: rgba(255,255,255,.78);
    border-bottom: 1px solid rgba(20,20,20,.07);
    box-shadow: 0 14px 42px rgba(20,20,20,.07);
    backdrop-filter: blur(10px);
    transition: background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease, transform .25s ease;
    will-change: background-color, box-shadow, backdrop-filter, transform;
}
.site-header.is-scrolled {
    background: rgba(255,255,255,.88);
    box-shadow: 0 10px 32px rgba(20,20,20,.09);
}
.header-inner {
    min-height: 92px;
    transition: none;
}
.logo {
    position: relative;
    padding-left: 14px;
}
.logo::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--red), var(--black));
}
.logo span {
    font-size: 24px;
    letter-spacing: 0;
}
.logo small {
    font-size: 13px;
    color: #3a3d42;
}
.main-nav {
    gap: 8px;
    padding: 6px;
    border: 1px solid rgba(20,20,20,.06);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.main-nav a {
    position: relative;
    padding: 10px 14px;
    border-radius: 999px;
    background: transparent;
    color: #27292d;
    font-weight: 750;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.main-nav a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: var(--red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}
.main-nav a:hover {
    color: var(--red);
    background: rgba(200,16,46,.06);
}
.main-nav a:hover::after,
.main-nav a.active::after {
    transform: scaleX(1);
}
.main-nav a.active {
    color: var(--red);
    background: rgba(200,16,46,.08);
}
.nav-button {
    border-radius: 14px;
    border-color: rgba(20,20,20,.10);
    box-shadow: 0 10px 28px rgba(20,20,20,.08);
}
.hero-carousel {
    min-height: 700px;
    padding: 150px 0 156px;
}
.companies-section {
    background:
        linear-gradient(180deg, #fff 0%, #fafafa 42%, #f3f4f6 100%);
    padding-top: 112px;
}
.filter-bar {
    padding: 18px;
    margin-bottom: 36px;
    border-color: rgba(20,20,20,.07);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 20px 58px rgba(20,20,20,.07);
    backdrop-filter: blur(10px);
}
.stats-grid {
    min-height: 204px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.32);
    background:
        linear-gradient(135deg, rgba(200,16,46,.92), rgba(167,13,38,.80) 48%, rgba(20,20,20,.90)),
        linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0));
    box-shadow: 0 28px 84px rgba(200,16,46,.22), 0 18px 54px rgba(20,20,20,.14);
    backdrop-filter: blur(14px);
}
.stats-grid::before {
    inset: 0;
    width: auto;
    height: auto;
    transform: none;
    background:
        radial-gradient(circle at 18% 24%, rgba(255,255,255,.18), transparent 18%),
        radial-gradient(circle at 74% 12%, rgba(255,255,255,.12), transparent 16%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0 1px, transparent 1px 13px);
    opacity: .62;
}
.stats-grid::after {
    display: none;
}
.stats-intro,
.stat-item {
    padding: 36px;
}
.stats-intro {
    background: rgba(255,255,255,.10);
}
.stats-intro strong {
    font-size: 27px;
}
.stat-item {
    border-left-color: rgba(255,255,255,.16);
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.stat-item:hover {
    transform: translateY(-7px);
    background: rgba(255,255,255,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24);
}
.stat-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 18px;
    filter: drop-shadow(0 10px 22px rgba(0,0,0,.22));
}
.stat-item strong {
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 800;
}
.company-grid {
    gap: 30px;
}
.company-card {
    border-radius: 20px;
    border-color: rgba(20,20,20,.07);
    box-shadow: 0 16px 48px rgba(20,20,20,.08);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.company-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 76px rgba(20,20,20,.14);
    border-color: rgba(200,16,46,.20);
}
.company-image {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 20px 20px 0 0;
    box-shadow: inset 0 -1px 0 rgba(20,20,20,.10);
}
.company-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(0deg, rgba(0,0,0,.36), transparent);
    pointer-events: none;
}
.company-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
}
.company-card:hover .company-image img {
    transform: scale(1.03);
    filter: saturate(1.05) contrast(1.02);
}
.company-body {
    padding: 28px;
    gap: 2px;
}
.company-body h3 {
    font-size: 24px;
    line-height: 1.18;
    margin-bottom: 12px;
}
.company-body p {
    min-height: 112px;
    font-size: 15.5px;
    line-height: 1.7;
}
.tags {
    gap: 8px;
    margin-bottom: 16px;
}
.tags a {
    padding: 6px 10px;
    border-color: rgba(200,16,46,.16);
    background: linear-gradient(180deg, #fff, var(--red-50));
    box-shadow: 0 7px 18px rgba(200,16,46,.08);
    font-weight: 750;
}
.card-actions {
    padding-top: 22px;
}
.inspect-btn {
    min-height: 48px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(200,16,46,.10);
}
.inspect-btn:hover {
    box-shadow: 0 16px 36px rgba(200,16,46,.18);
}

@media (max-width: 720px) {
    .header-inner {
        min-height: 78px;
    }
    .main-nav {
        top: 78px;
        padding: 14px;
        border-radius: 0 0 18px 18px;
        border-left: 0;
        border-right: 0;
        background: rgba(255,255,255,.96);
        backdrop-filter: blur(12px);
    }
    .main-nav a {
        border-radius: 14px;
        padding: 13px 14px;
    }
    .main-nav a::after {
        left: 14px;
        right: auto;
        width: 32px;
        bottom: 7px;
    }
    .logo span {
        font-size: 20px;
    }
    .hero-carousel {
        min-height: 590px;
        padding-top: 118px;
    }
    .stats-grid {
        border-radius: 20px;
    }
    .stat-item:hover {
        transform: none;
    }
    .company-body {
        padding: 24px;
    }
}

/* Category detail page */
.category-detail-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 96px 0 74px;
    background:
        radial-gradient(circle at 88% 18%, rgba(217,4,41,.14), transparent 26%),
        linear-gradient(135deg, #0a0d14 0%, #181015 58%, #080b11 100%);
}
.category-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 18px),
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 56%);
}
.category-detail-hero-inner {
    display: grid;
    gap: 34px;
}
.category-detail-hero .category-breadcrumb {
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.09);
    color: rgba(255,255,255,.66);
    box-shadow: 0 16px 42px rgba(0,0,0,.20);
}
.category-detail-hero .category-breadcrumb a { color: rgba(255,255,255,.88); }
.category-detail-hero .category-breadcrumb strong { color: #fff; }
.category-detail-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    align-items: center;
    max-width: 940px;
}
.category-detail-icon {
    display: grid;
    width: 92px;
    height: 92px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(217,4,41,.94), rgba(164,10,36,.88));
    box-shadow: 0 22px 52px rgba(217,4,41,.28);
}
.category-detail-icon svg {
    width: 48px;
    height: 48px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.category-detail-hero-copy .eyebrow {
    margin-bottom: 10px;
    color: #ff7d91;
}
.category-detail-hero-copy h1 {
    max-width: 880px;
    margin-bottom: 14px;
    color: #fff;
    font-size: clamp(38px, 5vw, 66px);
    overflow-wrap: anywhere;
}
.category-detail-hero-copy p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.80);
    font-size: 18px;
    line-height: 1.75;
}
.category-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 24px;
}
.category-count-pill {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-weight: 900;
}
.category-detail-shell {
    padding: 64px 0 92px;
    background:
        radial-gradient(circle at 90% 2%, rgba(217,4,41,.045), transparent 24%),
        #f7f8fa;
}
.category-detail-stack {
    display: grid;
    gap: 22px;
}
.category-description-card,
.category-seo-content-card,
.category-info-card,
.faq-item,
.related-category-card,
.category-tips-card {
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 22px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 52px rgba(20,20,20,.07);
}
.category-description-card,
.category-seo-content-card {
    padding: 34px;
}
.category-seo-content-card h2 {
    margin-bottom: 18px;
}
.category-description-card h2,
.category-seo-content-card h2,
.category-seo-content-card h3,
.category-seo-content-card h4,
.category-tips-card h2 {
    font-size: clamp(24px, 2.5vw, 32px);
}
.category-description-card p,
.seo-content-flow p,
.seo-content-flow li,
.seo-content-flow blockquote {
    max-width: 980px;
    color: #5d6571;
    font-size: 17px;
    line-height: 1.9;
}
.category-description-card p {
    margin: 0;
}
.seo-content-flow {
    display: grid;
    gap: 16px;
}
.seo-content-flow > * {
    margin-top: 0;
    margin-bottom: 0;
}
.seo-content-flow h2,
.seo-content-flow h3,
.seo-content-flow h4 {
    max-width: 900px;
    color: var(--black);
}
.seo-content-flow ul,
.seo-content-flow ol {
    display: grid;
    gap: 8px;
    margin-left: 20px;
    padding-left: 18px;
}
.seo-content-flow a {
    color: var(--red);
    font-weight: 800;
}
.seo-content-flow blockquote {
    padding: 18px 20px;
    border-left: 4px solid var(--red);
    border-radius: 12px;
    background: #fff7f9;
}
.category-seo-section-list,
.category-faq-section,
.category-related-section {
    padding-top: 34px;
}
.category-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.category-info-card {
    padding: 28px;
}
.category-info-card h3 {
    margin-bottom: 14px;
    color: var(--black);
    font-size: 22px;
}
.faq-accordion {
    display: grid;
    gap: 12px;
}
.faq-item {
    overflow: hidden;
    padding: 0;
}
.faq-item summary {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px;
    color: var(--black);
    cursor: pointer;
    font-weight: 900;
    list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    margin-top: 4px;
    border-right: 2px solid var(--red);
    border-bottom: 2px solid var(--red);
    transform: rotate(45deg);
    transition: transform .18s ease;
}
.faq-item[open] summary::after {
    transform: rotate(225deg);
}
.faq-item .seo-content-flow {
    padding: 0 24px 22px;
}
.related-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.related-category-card {
    display: grid;
    gap: 7px;
    padding: 20px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.related-category-card:hover {
    transform: translateY(-2px);
    border-color: rgba(200,16,46,.20);
    box-shadow: 0 18px 42px rgba(20,20,20,.09);
}
.related-category-card strong {
    color: var(--black);
    font-size: 17px;
}
.related-category-card span {
    color: var(--muted);
    font-weight: 800;
}
.category-tips-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    padding: 28px 30px;
    border-color: rgba(217,4,41,.12);
    background: linear-gradient(135deg, #fff8f9, #fff);
}
.category-tips-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    box-shadow: 0 12px 26px rgba(200,16,46,.22);
    font-weight: 900;
}
.category-tips-card h2 {
    margin-bottom: 14px;
}
.category-tips-card ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 19px;
    color: #5d6571;
    line-height: 1.7;
}
.category-tips-card li::marker { color: var(--red); }
.category-company-section {
    padding-top: 52px;
}
.category-detail-stack > .category-company-section:first-child {
    padding-top: 0;
}
.category-company-head {
    max-width: 760px;
    margin-bottom: 28px;
}
.category-company-head p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
}
.category-company-card .company-body p {
    display: -webkit-box;
    min-height: calc(1.7em * 3);
    max-height: calc(1.7em * 3);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
.category-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.category-card-actions .btn {
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 14px;
}
.category-card-actions .inspect-btn { width: auto; }
.category-card-actions .btn:only-child { grid-column: 1 / -1; }

@media (max-width: 720px) {
    .category-detail-hero {
        padding: 80px 0 56px;
    }
    .category-detail-hero-inner {
        gap: 26px;
    }
    .category-detail-hero-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .category-detail-icon {
        width: 72px;
        height: 72px;
        border-radius: 21px;
    }
    .category-detail-icon svg {
        width: 38px;
        height: 38px;
    }
    .category-detail-hero-copy h1 {
        font-size: 38px;
    }
    .category-detail-hero-copy p,
    .category-description-card p,
    .seo-content-flow p,
    .seo-content-flow li,
    .seo-content-flow blockquote,
    .category-company-head p {
        font-size: 16px;
    }
    .category-detail-shell {
        padding: 42px 0 66px;
    }
    .category-description-card,
    .category-seo-content-card {
        padding: 24px;
        border-radius: 18px;
    }
    .category-tips-card {
        grid-template-columns: 1fr;
        padding: 22px;
        border-radius: 18px;
    }
    .category-info-grid,
    .related-category-grid {
        grid-template-columns: 1fr;
    }
    .category-info-card,
    .faq-item summary,
    .related-category-card {
        padding: 20px;
    }
    .faq-item .seo-content-flow {
        padding: 0 20px 20px;
    }
    .category-company-section {
        padding-top: 34px;
    }
}

/* Premium categories page */
.category-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 118px 0 86px;
    background:
        radial-gradient(circle at top right, rgba(217,4,41,.10), transparent 28%),
        linear-gradient(135deg, #fff 0%, #f4f5f7 56%, #fff 100%);
}
.category-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.88), rgba(255,255,255,.70)),
        repeating-linear-gradient(135deg, rgba(20,20,20,.035) 0 1px, transparent 1px 16px);
}
.category-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(0,0,0,.04), transparent 44%);
}
.category-hero-inner {
    display: grid;
    gap: 28px;
}
.category-breadcrumb {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--muted);
    box-shadow: 0 12px 32px rgba(20,20,20,.06);
    backdrop-filter: blur(10px);
    font-size: 13px;
    font-weight: 800;
}
.category-breadcrumb a { color: var(--black); }
.category-breadcrumb strong { color: var(--red); overflow-wrap: anywhere; }
.category-hero-content {
    max-width: 880px;
}
.category-hero-content h1 {
    max-width: 780px;
    font-size: clamp(40px, 5vw, 68px);
}
.category-hero-content p {
    max-width: 650px;
    margin: 0 0 28px;
    color: #555b63;
    font-size: 19px;
}
.category-hero-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: min(620px, 100%);
    gap: 10px;
    padding: 10px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 20px 58px rgba(20,20,20,.08);
    backdrop-filter: blur(10px);
}
.category-hero-search input {
    border: 0;
    background: transparent;
    box-shadow: none;
}
.category-hero-search input:focus {
    box-shadow: none;
}
.category-hero-search button {
    min-width: 96px;
    border: 0;
    border-radius: 14px;
    background: var(--red);
    color: #fff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease;
}
.category-hero-search button:hover {
    background: var(--red-700);
    box-shadow: 0 12px 28px rgba(200,16,46,.22);
}
.category-directory-section {
    background:
        radial-gradient(circle at top right, rgba(217,4,41,.04), transparent 25%),
        #fafafa;
}
.featured-category-section {
    padding-bottom: 42px;
    background:
        radial-gradient(circle at top left, rgba(217,4,41,.05), transparent 28%),
        #fff;
}
.featured-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.featured-category-card,
.page-category-card {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 54px rgba(20,20,20,.08);
    transition: transform .28s ease, box-shadow .28s ease, color .25s ease;
}
.featured-category-card {
    min-height: 340px;
    padding: 30px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,250,250,.94)),
        radial-gradient(circle at top right, rgba(217,4,41,.10), transparent 34%);
}
.page-category-card {
    min-height: 300px;
    padding: 28px;
}
.featured-category-card::before,
.page-category-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #d90429, #ef233c);
}
.featured-category-card::after,
.page-category-card::after {
    content: "";
    position: absolute;
    right: -56px;
    top: 44px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(217,4,41,.06);
}
.featured-category-card:hover,
.page-category-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 82px rgba(20,20,20,.14);
}
.category-icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 54px;
    height: 54px;
    margin-bottom: 18px;
    place-items: center;
    border-radius: 18px;
    background: rgba(217,4,41,.08);
    color: var(--red);
    font-size: 27px;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px rgba(217,4,41,.08);
    transition: transform .28s ease, background .28s ease, color .28s ease;
}
.featured-category-card:hover .category-icon,
.page-category-card:hover .category-icon {
    transform: scale(1.08) rotate(-2deg);
    background: var(--red);
    color: #fff;
}
.featured-category-card .category-count,
.page-category-card .category-count {
    width: fit-content;
    margin-bottom: 16px;
    padding: 8px 12px;
    border: 0;
    border-radius: 999px;
    background: var(--red);
    color: #fff;
    box-shadow: 0 12px 28px rgba(200,16,46,.20);
    font-size: 13px;
    font-weight: 900;
    transition: transform .25s ease, box-shadow .25s ease;
}
.featured-category-card:hover .category-count,
.page-category-card:hover .category-count {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(200,16,46,.26);
}
.featured-category-card h2,
.page-category-card h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 12px;
    color: var(--black);
    font-size: 24px;
    line-height: 1.18;
    transition: color .25s ease;
}
.featured-category-card:hover h2,
.page-category-card:hover h2 {
    color: var(--red);
}
.featured-category-card p,
.page-category-card p {
    position: relative;
    z-index: 1;
    margin: 0 0 22px;
    color: var(--muted);
    font-size: 15.5px;
    line-height: 1.75;
}
.featured-category-card strong,
.page-category-card strong {
    position: relative;
    z-index: 1;
    margin-top: auto;
    color: var(--black);
    font-size: 14px;
    font-weight: 900;
    transition: color .25s ease, transform .25s ease;
}
.featured-category-card:hover strong,
.page-category-card:hover strong {
    color: var(--red);
    transform: translateX(4px);
}
.category-cta-section {
    padding: 76px 0 92px;
    background: #fafafa;
}
.category-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 38px;
    overflow: hidden;
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(200,16,46,.94), rgba(20,20,20,.94)),
        radial-gradient(circle at top right, rgba(255,255,255,.20), transparent 28%);
    color: #fff;
    box-shadow: 0 30px 92px rgba(20,20,20,.18);
}
.category-cta .eyebrow,
.category-cta h2 {
    color: #fff;
}
.category-cta p {
    max-width: 620px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 17px;
}
.category-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.category-cta-actions .btn-red {
    background: #fff;
    color: var(--red);
}
.home-owner-cta-section {
    padding: 0 0 92px;
    background: #fff;
}
.home-owner-cta {
    margin-top: 0;
}

@media (max-width: 980px) {
    .featured-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .category-cta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .category-hero {
        padding: 92px 0 56px;
    }
    .category-hero-content h1 {
        font-size: 38px;
    }
    .category-hero-search {
        grid-template-columns: 1fr;
        padding: 12px;
    }
    .category-hero-search button {
        min-height: 46px;
    }
    .page-category-grid {
        grid-template-columns: 1fr;
    }
    .featured-category-grid {
        grid-template-columns: 1fr;
    }
    .featured-category-card {
        min-height: 0;
        padding: 24px;
    }
    .page-category-card {
        min-height: 0;
        padding: 24px;
    }
    .featured-category-card:hover,
    .page-category-card:hover {
        transform: none;
    }
    .category-cta {
        padding: 26px;
        border-radius: 20px;
    }
    .category-cta-actions .btn {
        width: 100%;
    }
}

/* Stable dark premium navigation */
.site-header {
    background-color: rgba(8, 11, 18, .82);
    border-bottom-color: rgba(255,255,255,.10);
    box-shadow: 0 18px 48px rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
}
.site-header.is-scrolled {
    background-color: rgba(8, 11, 18, .90);
    border-bottom-color: rgba(255,255,255,.08);
    box-shadow: 0 12px 36px rgba(0,0,0,.28);
}
.site-header .header-inner {
    min-height: 92px;
}
.site-header .logo {
    padding-left: 18px;
}
.site-header .logo::before {
    top: 4px;
    bottom: 4px;
    width: 5px;
    background: linear-gradient(180deg, var(--red), #fff);
    box-shadow: 0 0 22px rgba(200,16,46,.34);
}
.site-header .logo span {
    color: #fff;
    font-size: 27px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.8px;
}
.site-header .logo small {
    color: rgba(255,255,255,.70);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 3px;
}
.site-header .main-nav {
    gap: 26px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.site-header .main-nav a {
    padding: 14px 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.84);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2.2px;
    transition: color .22s ease, transform .22s ease;
}
.site-header .main-nav a::after {
    left: 0;
    right: 0;
    bottom: 5px;
    height: 2px;
    background: var(--red);
    box-shadow: 0 0 18px rgba(200,16,46,.72);
}
.site-header .main-nav a:hover,
.site-header .main-nav a.active {
    color: #fff;
    background: transparent;
}
.site-header .main-nav a:hover {
    transform: translateY(-1px);
}
.site-header .nav-button {
    width: 48px;
    height: 48px;
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.site-header .nav-button span {
    width: 22px;
    background: #fff;
}

@media (max-width: 980px) {
    .site-header .main-nav {
        gap: 16px;
    }
    .site-header .main-nav a {
        font-size: 12px;
        letter-spacing: 2px;
    }
}

@media (max-width: 720px) {
    .site-header .header-inner {
        min-height: 78px;
    }
    .site-header .logo span {
        font-size: 21px;
        letter-spacing: 1px;
    }
    .site-header .logo small {
        font-size: 10px;
        letter-spacing: 2px;
    }
    .site-header .main-nav {
        top: 78px;
        gap: 2px;
        padding: 18px 16px 20px;
        border-top: 1px solid rgba(255,255,255,.10);
        border-bottom: 1px solid rgba(255,255,255,.10);
        border-radius: 0;
        background: rgba(8, 11, 18, .96);
        box-shadow: 0 22px 48px rgba(0,0,0,.32);
        backdrop-filter: blur(12px);
    }
    .site-header .main-nav a {
        padding: 15px 4px;
        color: rgba(255,255,255,.84);
        font-size: 12px;
        letter-spacing: 2px;
    }
    .site-header .main-nav a::after {
        left: 4px;
        right: auto;
        width: 42px;
        bottom: 8px;
    }
}

@media (max-width: 720px) {
    .premium-detail-cover {
        min-height: 320px;
        padding: 92px 0 42px;
        background-position: center top;
    }
    .premium-hero-card {
        padding: 24px;
        border-radius: 16px;
    }
    .detail-premium-shell {
        padding: 44px 0 58px;
    }
    .detail-premium-shell .detail-page-stack {
        gap: 30px;
    }
    .detail-breadcrumb {
        border-radius: 14px;
        gap: 6px;
    }
    .premium-contact-box,
    .hours-status-card,
    .premium-info-block,
    .premium-mini-block,
    .premium-slider-band,
    .premium-map-section {
        border-radius: 16px;
    }
    .premium-info-block,
    .premium-slider-band,
    .premium-map-section {
        padding: 20px;
    }
    .premium-slider-band .gallery-item {
        flex-basis: 250px;
        width: 250px;
        height: 170px;
    }
    .premium-slider-band .review-card {
        flex-basis: 280px;
        width: 280px;
    }
    .action-button-row .btn {
        flex-basis: 100%;
    }
    .premium-map-container,
    .premium-map-container iframe,
    .premium-map-container .empty-map {
        min-height: 260px;
        height: 260px;
    }
    .map-float-btn {
        left: 14px;
        right: 14px;
        bottom: 14px;
        width: auto;
    }
}

/* Stable filters and non-shifting company cards */
.filter-bar {
    position: relative;
    z-index: 50;
}
.category-dropdown,
.category-dropdown[open],
.category-menu,
.dropdown-menu {
    z-index: 9999;
}
.category-menu,
.dropdown-menu {
    position: absolute;
}
.company-grid,
.company-card,
.company-card img,
.company-image,
.company-image::after,
.image-overlay {
    z-index: auto;
}
.company-card {
    isolation: isolate;
}
.company-card::before {
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
    transform: none;
    opacity: 1;
    transition: left .6s ease;
    pointer-events: none;
    z-index: 3;
}
.company-card:hover {
    transform: none;
    box-shadow: 0 22px 58px rgba(20,20,20,.12);
}
.company-card:hover::before {
    left: 120%;
    transform: none;
}
.company-card:hover .company-image img {
    transform: none;
    filter: none;
}

.back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--red), #9f0d22);
    color: #fff;
    box-shadow: 0 14px 34px rgba(200,16,46,.34), 0 8px 22px rgba(20,20,20,.18);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease, box-shadow .25s ease;
    z-index: 9999;
}
.back-to-top::before {
    content: "";
    position: absolute;
    inset: 0;
    left: -130%;
    width: 70%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.36), transparent);
    transition: left .55s ease;
}
.back-to-top span {
    position: relative;
    z-index: 1;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}
.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.back-to-top.show:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(200,16,46,.40), 0 10px 26px rgba(20,20,20,.20);
}
.back-to-top.show:hover::before {
    left: 120%;
}

.floating-whatsapp {
    position: fixed;
    right: 24px;
    bottom: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    overflow: hidden;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    box-shadow: 0 14px 34px rgba(37,211,102,.35), 0 8px 22px rgba(20,20,20,.18);
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
    z-index: 9998;
}
.floating-whatsapp::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
    transition: left .6s ease;
}
.floating-whatsapp:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(37,211,102,.45), 0 10px 26px rgba(20,20,20,.20);
}
.floating-whatsapp:hover::before {
    left: 130%;
}
.floating-whatsapp svg {
    position: relative;
    z-index: 2;
    width: 30px;
    height: 30px;
    fill: currentColor;
}

/* Professional static stat icons */
.stat-item {
    transition: none;
}
.stat-item:hover {
    transform: none !important;
    background: transparent;
    box-shadow: none;
}
.stat-icon {
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    opacity: .88;
    transition: none;
}
.stat-icon::before,
.stat-icon::after {
    display: none;
}
.stat-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: rgba(255,255,255,.92);
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.stat-item:hover .stat-icon,
.stat-item:hover .stat-icon svg {
    transform: none !important;
}

/* Premium contact page without phone/WhatsApp channels */
.contact-hero-modern {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 118px 0 86px;
    background:
        radial-gradient(circle at top right, rgba(217,4,41,.16), transparent 28%),
        linear-gradient(135deg, #10131a, #1d1116 58%, #080b12);
}
.contact-hero-modern::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.06), transparent 55%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 18px);
}
.contact-hero-inner {
    display: grid;
    gap: 28px;
    max-width: 940px;
}
.contact-breadcrumb {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    color: rgba(255,255,255,.74);
    box-shadow: 0 16px 42px rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
    font-size: 13px;
    font-weight: 800;
}
.contact-breadcrumb a,
.contact-breadcrumb strong,
.contact-hero-modern .eyebrow,
.contact-hero-modern h1 {
    color: #fff;
}
.contact-hero-modern h1 {
    max-width: 740px;
    font-size: clamp(42px, 5vw, 70px);
}
.contact-hero-modern p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 19px;
    line-height: 1.75;
}
.contact-modern-section {
    background:
        radial-gradient(circle at top right, rgba(217,4,41,.045), transparent 25%),
        #fafafa;
}
.contact-channel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}
.contact-channel-card {
    position: relative;
    display: flex;
    min-height: 220px;
    flex-direction: column;
    overflow: hidden;
    padding: 26px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 54px rgba(20,20,20,.08);
    color: inherit;
    text-decoration: none;
    transition: border-color .25s ease, box-shadow .25s ease;
}
.contact-channel-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #d90429, #ef233c);
}
.contact-channel-card:hover {
    border-color: rgba(200,16,46,.18);
    box-shadow: 0 26px 74px rgba(20,20,20,.12);
}
.contact-email-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,245,247,.92)),
        radial-gradient(circle at top right, rgba(217,4,41,.12), transparent 30%);
}
.contact-whatsapp-card::before {
    background: linear-gradient(90deg, #128c54, #25d366);
}
.contact-whatsapp-card .contact-channel-icon {
    background: rgba(18,140,84,.10);
    color: #128c54;
}
.contact-whatsapp-card small {
    color: #128c54;
}
.contact-channel-icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin-bottom: 20px;
    place-items: center;
    border-radius: 18px;
    background: rgba(217,4,41,.08);
    color: var(--red);
}
.contact-channel-icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.contact-channel-icon svg * {
    fill: none;
}
.contact-channel-card small,
.contact-channel-card strong,
.contact-channel-card em {
    position: relative;
    z-index: 1;
    display: block;
}
.contact-channel-card small {
    color: var(--red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.contact-channel-card strong {
    margin-top: 8px;
    color: var(--black);
    font-size: 21px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.contact-channel-card em {
    margin-top: auto;
    color: var(--muted);
    font-style: normal;
    line-height: 1.6;
}
.contact-reason-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}
.contact-reason-strip span {
    padding: 9px 13px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 999px;
    background: #fff;
    color: var(--black);
    box-shadow: 0 10px 28px rgba(20,20,20,.05);
    font-size: 13px;
    font-weight: 900;
}
.contact-layout-modern {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(380px, 1.18fr);
    gap: 28px;
    align-items: start;
}
.contact-copy-panel,
.contact-form-premium {
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 24px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 22px 70px rgba(20,20,20,.09);
}
.contact-copy-panel {
    padding: 32px;
}
.contact-copy-panel p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}
.contact-form-premium {
    padding: 34px;
}
.contact-form-premium label {
    margin-bottom: 16px;
}
.contact-form-premium input,
.contact-form-premium select,
.contact-form-premium textarea {
    border-radius: 14px;
    background: #fbfbfc;
}
.contact-form-premium input:focus,
.contact-form-premium select:focus,
.contact-form-premium textarea:focus {
    border-color: rgba(200,16,46,.42);
    box-shadow: 0 0 0 4px rgba(200,16,46,.09);
}

@media (max-width: 980px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
    .related-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .contact-channel-grid,
    .contact-layout-modern {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .contact-hero-modern {
        padding: 94px 0 58px;
    }
    .contact-hero-modern h1 {
        font-size: 38px;
    }
    .contact-channel-card {
        min-height: 0;
        padding: 22px;
    }
    .contact-form-premium,
    .contact-copy-panel {
        padding: 24px;
        border-radius: 18px;
    }
}

/* Premium about page */
.about-hero-modern {
    position: relative;
    isolation: isolate;
    min-height: 560px;
    padding: 118px 0 78px;
    display: grid;
    align-items: end;
    overflow: hidden;
    background-position: center;
    background-size: cover;
}
.about-hero-modern::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(5,8,14,.84), rgba(8,11,18,.55) 55%, rgba(8,11,18,.28)),
        linear-gradient(0deg, rgba(5,8,14,.72), rgba(5,8,14,.08) 52%);
}
.about-hero-modern::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 18% 16%, rgba(217,4,41,.34), transparent 28%);
    pointer-events: none;
}
.about-hero-inner,
.about-hero-copy {
    display: grid;
    gap: 24px;
}
.about-breadcrumb {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.76);
    box-shadow: 0 16px 42px rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
    font-size: 13px;
    font-weight: 800;
}
.about-breadcrumb a,
.about-breadcrumb strong,
.about-hero-copy h1,
.about-hero-copy .eyebrow {
    color: #fff;
}
.about-hero-copy {
    max-width: 860px;
}
.about-hero-copy h1 {
    max-width: 780px;
    font-size: clamp(42px, 5.2vw, 72px);
    text-shadow: 0 20px 56px rgba(0,0,0,.32);
}
.about-hero-copy p {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,.9);
    font-size: 20px;
    line-height: 1.7;
}
.about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.about-modern-shell,
.about-platform-section,
.about-timeline-section {
    background:
        radial-gradient(circle at top right, rgba(217,4,41,.045), transparent 25%),
        #fafafa;
}
.about-section-head {
    max-width: 780px;
    margin-bottom: 32px;
}
.about-section-head p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}
.about-work-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.about-feature-card,
.about-platform-grid article,
.about-highlight-stack article,
.about-timeline article {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 54px rgba(20,20,20,.08);
}
.about-feature-card {
    min-height: 285px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    transition: box-shadow .25s ease, border-color .25s ease;
}
.about-feature-card.wide {
    grid-column: span 2;
}
.about-feature-card::before,
.about-platform-grid article::before,
.about-highlight-stack article::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #d90429, #ef233c);
}
.about-feature-card:hover,
.about-platform-grid article:hover {
    border-color: rgba(200,16,46,.18);
    box-shadow: 0 26px 74px rgba(20,20,20,.12);
}
.about-card-icon,
.about-platform-grid article span {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    place-items: center;
    border-radius: 17px;
    background: rgba(217,4,41,.08);
    color: var(--red);
}
.about-card-icon svg,
.about-platform-grid svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-card-icon svg *,
.about-platform-grid svg * {
    fill: none;
}
.about-feature-card h3,
.about-platform-grid h3,
.about-highlight-stack strong,
.about-timeline strong {
    margin: 0 0 10px;
    color: var(--black);
    font-size: 20px;
}
.about-feature-card p,
.about-platform-grid p,
.about-highlight-stack span,
.about-timeline p,
.about-story-copy p,
.about-why-panel p,
.about-map-grid p {
    margin: 0;
    color: var(--muted);
    line-height: 1.75;
}
.about-story-section,
.about-map-section {
    background: #fff;
}
.about-story-grid,
.about-map-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 34px;
    align-items: center;
}
.about-story-copy h2,
.about-why-panel h2,
.about-map-grid h2 {
    max-width: 720px;
}
.about-story-copy p + p {
    margin-top: 16px;
}
.about-highlight-stack {
    display: grid;
    gap: 16px;
}
.about-highlight-stack article {
    padding: 24px;
}
.about-highlight-stack strong,
.about-highlight-stack span {
    display: block;
}
.about-stats-section {
    padding: 44px 0;
    background: #fafafa;
}
.about-mini-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.about-mini-stats div {
    padding: 24px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(20,20,20,.07);
    text-align: center;
}
.about-mini-stats strong,
.about-mini-stats span {
    display: block;
}
.about-mini-stats strong {
    color: var(--red);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
}
.about-mini-stats span {
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.about-platform-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.about-platform-grid article {
    min-height: 270px;
    padding: 26px;
}
.about-why-section {
    background:
        linear-gradient(135deg, rgba(8,11,18,.96), rgba(35,8,14,.94)),
        radial-gradient(circle at top right, rgba(217,4,41,.18), transparent 30%);
}
.about-why-panel {
    max-width: 980px;
    padding: 42px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 26px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 26px 82px rgba(0,0,0,.22);
    backdrop-filter: blur(10px);
}
.about-why-panel .eyebrow,
.about-why-panel h2 {
    color: #fff;
}
.about-why-panel p {
    max-width: 850px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
}
.about-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.about-timeline::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 33px;
    height: 2px;
    background: linear-gradient(90deg, rgba(217,4,41,.12), rgba(217,4,41,.55), rgba(20,20,20,.12));
}
.about-timeline article {
    padding: 28px 24px 24px;
}
.about-timeline article span {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    place-items: center;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    box-shadow: 0 14px 32px rgba(200,16,46,.24);
    font-weight: 900;
}
.about-map-grid {
    align-items: stretch;
}
.about-map-grid > div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.about-map-grid .btn {
    width: fit-content;
    margin-top: 22px;
}
.location-map-card {
    min-height: 320px;
    overflow: hidden;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 18px;
    background: #f4f5f7;
    box-shadow: 0 18px 46px rgba(20,20,20,.09);
}
.location-map-card iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 0;
    filter: saturate(.95) contrast(1.02);
}
.about-final-cta-section {
    padding: 0 0 92px;
    background: #fafafa;
}
.about-final-cta {
    margin-top: 0;
}

@media (max-width: 980px) {
    .about-work-grid,
    .about-platform-grid,
    .about-mini-stats,
    .about-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-story-grid,
    .about-map-grid {
        grid-template-columns: 1fr;
    }
    .about-timeline::before {
        display: none;
    }
}

@media (max-width: 720px) {
    .about-hero-modern {
        min-height: 500px;
        padding: 96px 0 54px;
    }
    .about-hero-copy h1 {
        font-size: 38px;
    }
    .about-hero-copy p {
        font-size: 17px;
    }
    .about-hero-actions .btn {
        width: 100%;
    }
    .about-section-head {
        margin-bottom: 24px;
    }
    .about-work-grid,
    .about-platform-grid,
    .about-mini-stats,
    .about-timeline {
        grid-template-columns: 1fr;
    }
    .about-feature-card,
    .about-feature-card.wide,
    .about-platform-grid article {
        grid-column: auto;
        min-height: 0;
        padding: 22px;
    }
    .about-why-panel {
        padding: 26px;
        border-radius: 20px;
    }
    .location-map-card,
    .location-map-card iframe {
        min-height: 260px;
    }
    .about-final-cta-section {
        padding-bottom: 64px;
    }
    .back-to-top {
        right: 16px;
        bottom: 16px;
        width: 44px;
        height: 44px;
    }
    .floating-whatsapp {
        right: 16px;
        bottom: 74px;
        width: 52px;
        height: 52px;
    }
}

/* Current category and homepage platform refinements */
.home-platform-section {
    padding: 86px 0 96px;
    background:
        radial-gradient(circle at top right, rgba(217,4,41,.045), transparent 25%),
        linear-gradient(180deg, #f3f4f6 0%, #fff 100%);
}
.home-platform-section .about-section-head {
    margin-bottom: 32px;
}
.page-category-card {
    position: relative;
    display: flex;
    height: 340px;
    min-height: 340px;
    max-height: 340px;
    flex-direction: column;
    overflow: hidden;
    padding: 26px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15,23,42,.06);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.page-category-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #d90429, #ef233c);
}
.page-category-card::after,
.page-category-card .category-icon {
    display: none;
}
.page-category-card:hover {
    transform: translateY(-6px);
    border-color: rgba(217,4,41,.35);
    box-shadow: 0 26px 62px rgba(15,23,42,.13);
}
.page-category-card .category-count {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(217,4,41,.08);
    color: #d90429;
    box-shadow: none;
    font-size: 12px;
    font-weight: 800;
}
.page-category-card:hover .category-count {
    transform: none;
    box-shadow: none;
}
.page-category-card .category-title,
.page-category-card h2 {
    margin: 18px 0 0;
    color: #111827;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
}
.page-category-card:hover h2 {
    color: #111827;
}
.page-category-card .category-desc,
.page-category-card p {
    display: -webkit-box;
    overflow: hidden;
    max-height: calc(1.7em * 3);
    margin: 10px 0 22px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
.page-category-card .category-link,
.page-category-card strong {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    border-radius: 12px;
    background: #d90429;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: background .25s ease, box-shadow .25s ease;
}
.page-category-card:hover strong {
    background: #b80d28;
    color: #fff;
    transform: none;
    box-shadow: 0 12px 24px rgba(200,16,46,.20);
}
.category-seo-text-section {
    padding-top: 72px;
    padding-bottom: 72px;
}

@media (max-width: 720px) {
    .blog-hero-enhanced { padding: 70px 0 54px; }
    .blog-hero-enhanced h1 { font-size: 36px; }
    .blog-detail { padding: 24px; }
    .blog-info-pills span { max-width: 100%; }
    .blog-company-section { padding: 20px; }
    .blog-company-grid { grid-template-columns: 1fr; }
    .blog-company-more { width: 100%; }
    .related-service-grid { grid-template-columns: 1fr; }
    .home-platform-section {
        padding: 58px 0 66px;
    }
    .page-category-card {
        height: 340px;
        min-height: 340px;
        max-height: 340px;
        padding: 24px;
    }
}

/* Stable company card image framing */
.company-card .company-image {
    width: 100%;
    height: 260px;
    min-height: 260px;
    aspect-ratio: auto;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    background: #f3f5f8;
}
.company-card .company-image img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px 20px 0 0;
}

@media (max-width: 720px) {
    .company-card .company-image {
        height: 220px;
        min-height: 220px;
    }
    .company-card .company-image img {
        height: 220px;
    }
}

@media (max-width: 720px) {
    .stats-bar {
        display: none;
    }
}

/* Mobile-first homepage redesign */
.home-mobile-hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    padding: 118px 0 92px;
    background:
        linear-gradient(180deg, rgba(4,11,25,.82), rgba(8,14,25,.88)),
        url("../images/samsuntoybelen.jpg") center/cover no-repeat;
    color: #fff;
}
.home-mobile-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 26%, rgba(217,4,41,.35), transparent 28%),
        linear-gradient(135deg, rgba(4,11,25,.24), rgba(4,11,25,.9));
    pointer-events: none;
}
.home-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    max-width: 880px;
    min-height: 410px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.home-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.9);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.home-hero-inner h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 10vw, 78px);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.045em;
    text-shadow: 0 14px 34px rgba(0,0,0,.36);
}
.home-hero-inner p {
    max-width: 660px;
    margin: 22px auto 30px;
    color: rgba(255,255,255,.9);
    font-size: clamp(17px, 3.8vw, 23px);
    line-height: 1.55;
}
.home-hero-search {
    display: grid;
    width: min(100%, 720px);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 22px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 68px rgba(0,0,0,.34);
}
.home-hero-search input[type="search"] {
    width: 100%;
    min-width: 0;
    height: 56px;
    border: 0;
    border-radius: 16px;
    background: #f4f6f8;
    color: #111827;
    font-size: 16px;
    font-weight: 700;
    outline: none;
    padding: 0 18px;
}
.home-hero-search input[type="search"]::placeholder {
    color: #7b8494;
    font-weight: 600;
}
.home-hero-search button {
    min-width: 112px;
    height: 56px;
    border: 0;
    border-radius: 16px;
    background: #d90429;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 900;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.home-hero-search button:hover {
    transform: translateY(-1px);
    background: #b80d28;
    box-shadow: 0 12px 24px rgba(217,4,41,.28);
}
.popular-category-section {
    padding: 32px 0 72px;
    background:
        radial-gradient(circle at top left, rgba(217,4,41,.07), transparent 28%),
        linear-gradient(180deg, #f3f5f8 0%, #fff 100%);
}
.mobile-section-head {
    margin-bottom: 20px;
    text-align: center;
}
.mobile-section-head h2 {
    margin: 8px 0 8px;
    color: #101828;
    font-size: clamp(24px, 5vw, 38px);
    line-height: 1.15;
}
.mobile-section-head p {
    max-width: 680px;
    margin: 0 auto;
    color: #64748b;
    font-size: 16px;
    line-height: 1.6;
}
.popular-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.popular-category-card {
    display: flex;
    min-width: 0;
    min-height: 116px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 8px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    background: #fff;
    color: #111827;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(15,23,42,.07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.popular-category-card:hover {
    transform: translateY(-4px);
    border-color: rgba(217,4,41,.28);
    box-shadow: 0 22px 44px rgba(15,23,42,.12);
}
.popular-category-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(217,4,41,.09);
    color: #d90429;
}
.popular-category-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.popular-category-card strong {
    display: -webkit-box;
    overflow: hidden;
    max-width: 100%;
    color: #111827;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.popular-category-card small {
    color: #7b8494;
    font-size: 11px;
    font-weight: 800;
}
.popular-all-card {
    background: #101828;
    color: #fff;
}
.popular-all-card strong,
.popular-all-card small {
    color: #fff;
}
.popular-all-card .popular-category-icon {
    background: rgba(255,255,255,.12);
    color: #fff;
}
.home-info-card {
    margin-top: 22px;
    padding: 24px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15,23,42,.08);
    text-align: center;
}
.home-info-card h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(22px, 5vw, 34px);
    line-height: 1.2;
}
.home-info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.home-info-item {
    display: flex;
    min-height: 88px;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px;
    border-radius: 18px;
    background: #f5f7fa;
    color: #101828;
}
.home-info-item span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(217,4,41,.1);
    color: #d90429;
}
.home-info-item svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-info-item strong {
    color: #111827;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    text-align: left;
}

@media (min-width: 721px) {
    .home-mobile-hero {
        min-height: 680px;
        padding: 142px 0 112px;
    }
    .popular-category-section {
        padding-top: 44px;
    }
    .popular-category-grid {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 14px;
    }
    .popular-category-card {
        min-height: 134px;
        padding: 18px 12px;
    }
    .popular-category-card strong {
        font-size: 14px;
    }
    .home-info-card {
        margin-top: 28px;
        padding: 32px;
    }
    .home-info-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .home-mobile-hero {
        min-height: 560px;
        padding: 92px 0 66px;
    }
    .home-hero-inner {
        min-height: 360px;
    }
    .home-hero-search {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }
    .home-hero-search button {
        width: 100%;
    }
    .popular-category-grid {
        gap: 8px;
    }
    .popular-category-card {
        min-height: 108px;
        border-radius: 16px;
        padding: 12px 6px;
    }
    .popular-category-icon {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }
    .popular-category-card strong {
        font-size: 12px;
    }
    .home-info-card {
        padding: 20px;
    }
    .home-info-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }
    .home-info-item {
        min-height: 82px;
        flex-direction: column;
        gap: 7px;
        padding: 10px 6px;
        border-radius: 14px;
    }
    .home-info-item span {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        border-radius: 10px;
    }
    .home-info-item svg {
        width: 18px;
        height: 18px;
    }
    .home-info-item strong {
        font-size: 10px;
        line-height: 1.15;
        text-align: center;
    }
}

/* Company detail services list */
.services-card {
    grid-column: 1 / -1;
    width: 100%;
    padding: 30px;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,.05);
}
.services-card .services-title,
.premium-mini-block > strong {
    display: inline-flex;
    align-items: center;
    margin: 0 0 18px;
    color: var(--red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 40px;
}
.service-item {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
    color: #374151;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
    text-decoration: none;
}
.service-item svg {
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    fill: none;
    stroke: #dc2626;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.service-item span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .services-card {
        padding: 24px;
    }
    .services-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* Refined contact page */
.contact-request-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
.contact-request-grid a,
.contact-request-grid div {
    position: relative;
    overflow: hidden;
    min-height: 116px;
    padding: 22px;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 20px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    box-shadow: 0 14px 38px rgba(20,20,20,.07);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.contact-request-grid a::before,
.contact-request-grid div::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #d90429, #ef233c);
}
.contact-request-grid a:hover {
    transform: translateY(-4px);
    border-color: rgba(217,4,41,.24);
    box-shadow: 0 24px 58px rgba(20,20,20,.12);
}
.contact-request-grid span,
.contact-request-grid small {
    display: block;
    position: relative;
    z-index: 1;
}
.contact-request-grid span {
    color: #111827;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
}
.contact-request-grid small {
    margin-top: 10px;
    color: #d90429;
    font-size: 13px;
    font-weight: 800;
}
.contact-info-grid-modern {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 30px;
}
.contact-info-grid-modern .contact-channel-card {
    min-height: 210px;
    border-radius: 22px;
}
.contact-info-grid-modern .contact-channel-card strong {
    font-size: 19px;
}

@media (max-width: 980px) {
    .contact-request-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .contact-info-grid-modern {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .contact-request-grid {
        grid-template-columns: 1fr;
    }
    .contact-request-grid a,
    .contact-request-grid div {
        min-height: 92px;
        padding: 20px;
    }
}

/* Keep company cards aligned while preserving each full photo */
.company-card > .company-image {
    position: relative;
    display: block;
    width: 100%;
    height: 300px;
    min-height: 300px;
    aspect-ratio: auto;
    overflow: hidden;
    background: #dfe3e8;
    isolation: isolate;
}
.company-card > .company-image > .company-image-background {
    position: absolute;
    inset: -18px;
    z-index: 0;
    width: calc(100% + 36px) !important;
    max-width: none;
    height: calc(100% + 36px) !important;
    min-height: 0;
    object-fit: cover !important;
    object-position: center;
    filter: blur(14px);
    transform: scale(1.08);
}
.company-card > .company-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    height: auto;
    background: rgba(15,23,42,.08);
}
.company-card > .company-image > img:not(.company-image-background) {
    position: relative;
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 100% !important;
    min-height: 100%;
    object-fit: contain !important;
    object-position: center center;
    z-index: 2;
}

@media (max-width: 720px) {
    .company-card > .company-image {
        height: 280px;
        min-height: 280px;
        aspect-ratio: auto;
    }
}

/* Smart search */
.smart-search-fab {
    position: fixed;
    right: 24px;
    bottom: 152px;
    z-index: 9998;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    max-width: calc(100vw - 48px);
    padding: 0 16px 0 10px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: #101828;
    color: #fff;
    box-shadow: 0 14px 34px rgba(16,24,40,.24), 0 8px 22px rgba(20,20,20,.18);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.smart-search-fab::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.36), transparent);
    transition: left .6s ease;
}
.smart-search-fab:hover,
.smart-search-fab[aria-expanded="true"] {
    transform: translateY(-2px);
    background: var(--red);
    box-shadow: 0 18px 42px rgba(200,16,46,.36), 0 10px 26px rgba(20,20,20,.20);
}
.smart-search-fab:hover::before {
    left: 130%;
}
.smart-search-fab-icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
}
.smart-search-fab span:last-child {
    position: relative;
    z-index: 1;
    white-space: nowrap;
}
.smart-search-fab svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.smart-search-section {
    position: fixed;
    right: 24px;
    bottom: 218px;
    z-index: 10000;
    width: min(620px, calc(100vw - 48px));
    max-height: min(760px, calc(100vh - 120px));
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(14px) scale(.98);
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease;
}
.smart-search-section.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}
.smart-search-card {
    position: relative;
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15,23,42,.22);
}
.smart-search-close {
    position: absolute;
    right: 14px;
    top: 14px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    background: #fff;
    color: #111827;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}
.smart-search-copy {
    max-width: 500px;
    padding-right: 34px;
}
.smart-search-copy h2 {
    margin: 0 0 8px;
    color: #101828;
    font-size: 28px;
}
.smart-search-copy p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
}
.smart-search-form {
    display: grid;
    gap: 10px;
}
.smart-search-form label {
    color: #111827;
    font-weight: 900;
}
.smart-search-form small {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}
.smart-search-control {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
}
.smart-search-control textarea {
    min-height: 84px;
    resize: vertical;
}
.smart-search-control .btn {
    width: 100%;
    min-width: 0;
}
.smart-search-status {
    min-height: 0;
    color: #64748b;
    font-weight: 800;
}
.smart-search-status.is-error {
    padding: 12px 14px;
    border: 1px solid #ffd8df;
    border-radius: 12px;
    background: #fff5f7;
    color: var(--red);
}
.smart-results-panel {
    display: grid;
    gap: 14px;
    padding-top: 4px;
}
.smart-conversation-start {
    padding-top: 0;
}
.smart-chat-message {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(200,16,46,.14);
    border-radius: 16px 16px 16px 4px;
    background: #fff5f7;
}
.smart-chat-message.is-user {
    grid-template-columns: minmax(0, 1fr) auto;
    margin-left: 46px;
    border-color: rgba(16,24,40,.08);
    border-radius: 16px 16px 4px 16px;
    background: #101828;
}
.smart-chat-message.is-muted {
    border-color: #e5e7eb;
    background: #f8fafc;
}
.smart-chat-message.is-warning {
    border-color: rgba(200,16,46,.24);
    background: #fff;
}
.smart-chat-avatar {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}
.smart-chat-message.is-user .smart-chat-avatar {
    background: rgba(255,255,255,.14);
    color: #fff;
}
.smart-chat-message strong {
    display: block;
    margin-bottom: 3px;
    color: #111827;
    font-size: 15px;
}
.smart-chat-message.is-user strong {
    color: rgba(255,255,255,.78);
}
.smart-chat-message p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
}
.smart-chat-message.is-user p {
    color: #fff;
}
.smart-typing {
    opacity: .88;
}
.smart-safety {
    padding: 12px 14px;
    border-left: 4px solid var(--red);
    border-radius: 12px;
    background: #fff;
    color: #111827;
    font-weight: 900;
    box-shadow: 0 10px 28px rgba(15,23,42,.06);
}
.smart-section-label {
    color: #111827;
    font-size: 13px;
    font-weight: 900;
}
.smart-category-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.smart-category-strip a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid #ffd8df;
    border-radius: 999px;
    background: var(--red-50);
    color: var(--red);
    font-size: 13px;
    font-weight: 900;
}
.smart-firm-note {
    padding: 12px 14px;
    border-radius: 14px;
    background: #101828;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}
.smart-company-grid {
    grid-template-columns: 1fr;
    padding-top: 4px;
    gap: 12px;
}
.smart-company-card {
    min-height: 0;
    overflow: visible;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(15,23,42,.08);
}
.smart-company-card::before,
.smart-company-card > .company-image {
    display: none;
}
.smart-company-card .company-body {
    padding: 16px;
}
.smart-company-card .company-body h3 {
    margin-bottom: 7px;
    font-size: 18px;
}
.smart-company-card .company-body p {
    min-height: 0;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.55;
}
.smart-company-card .tags {
    margin-bottom: 10px;
}
.smart-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.smart-card-actions .btn {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    font-size: 13px;
}
.smart-card-actions .inspect-btn {
    grid-column: 1 / -1;
}

@media (max-width: 860px) {
    .smart-search-fab {
        right: 16px;
        bottom: 136px;
        min-height: 52px;
    }
    .smart-search-section {
        right: 16px;
        bottom: 198px;
        width: min(520px, calc(100vw - 32px));
    }
    .smart-search-card {
        padding: 22px;
        border-radius: 18px;
    }
    .smart-search-control {
        grid-template-columns: 1fr;
    }
    .smart-search-control .btn {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 520px) {
    .smart-search-section {
        right: 12px;
        bottom: 128px;
        width: calc(100vw - 24px);
        max-height: calc(100vh - 152px);
    }
    .smart-search-fab {
        right: 12px;
        bottom: 72px;
        min-height: 50px;
        padding-right: 14px;
    }
    .smart-card-actions {
        grid-template-columns: 1fr;
    }
}
