/* ============================================================================
   باتری UPS — Industrial design layer
   Loaded last. Defines the visual language of the B2B directory: tokens,
   surfaces, cards, catalogue components, the quote box and the CMS extras.
   Colours build on the theme variables produced by /assets/theme.css.
   ========================================================================== */

:root{
  /* palette */
  --ind-primary:var(--brand,#3F4247);
  --ind-primary-deep:#121519;
  --ind-primary-soft:#E8EDF3;
  --ind-accent:var(--accent,#E2711D);
  --ind-accent-2:#F6A03C;
  --ind-accent-soft:#FDF1E5;
  --ind-ok:#516443;
  --ind-ok-soft:#E3F2F0;
  --ind-ink:var(--ink,#121519);
  --ind-muted:#3F4247;
  --ind-faint:#A9A79F;
  --ind-line:#E3E8EF;
  --ind-line-strong:#CDD6E0;
  --ind-surface:#FFFDF2;
  --ind-card:#FFFFFF;
  /* geometry */
  --ind-radius:18px;
  --ind-radius-sm:12px;
  --ind-radius-lg:26px;
  /* elevation */
  --ind-sh-1:0 1px 2px rgba(18,21,25,.05), 0 2px 8px rgba(18,21,25,.04);
  --ind-sh-2:0 2px 6px rgba(18,21,25,.06), 0 12px 28px rgba(18,21,25,.07);
  --ind-sh-3:0 18px 50px rgba(18,21,25,.14);
  --ind-sh-brand:0 14px 34px rgba(63,66,71,.24);
  --ind-sh-accent:0 12px 28px rgba(226,113,29,.26);
  /* motion */
  --ind-ease:cubic-bezier(.22,.61,.36,1);
}

body.public{background:var(--ind-surface);color:var(--ind-ink)}
body.public ::selection{background:rgba(226,113,29,.22)}
:focus-visible{outline:2px solid var(--ind-accent);outline-offset:2px;border-radius:6px}

/* ---------------------------------------------------------------- buttons */
body.public .button{border-radius:999px;font-weight:700;letter-spacing:0;transition:transform .16s var(--ind-ease),box-shadow .16s var(--ind-ease),background .16s,border-color .16s,color .16s}
body.public .button.primary{background:var(--ind-primary);border-color:var(--ind-primary);color:#fff;box-shadow:var(--ind-sh-brand)}
body.public .button.primary:hover{background:var(--ind-primary-deep);border-color:var(--ind-primary-deep);transform:translateY(-1px)}
body.public .button.accent{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));border-color:transparent;color:#fff;box-shadow:var(--ind-sh-accent)}
body.public .button.accent:hover{filter:brightness(1.04);transform:translateY(-1px)}
body.public .button.accent-soft{background:var(--ind-accent-soft);border:1px solid rgba(226,113,29,.28);color:#A9520E}
body.public .button.accent-soft:hover{background:#FBE4CE;color:#8C420A}
body.public .button.ghost{background:var(--ind-primary-soft);border:1px solid transparent;color:var(--ind-primary)}
body.public .button.ghost:hover{background:#DCE4EE}
body.public .button.outline{border-color:var(--ind-line-strong);color:var(--ind-primary);background:#fff}
body.public .button.outline:hover{border-color:var(--ind-primary);box-shadow:var(--ind-sh-1)}
body.public .button.block{width:100%;justify-content:center}

/* ----------------------------------------------------------------- header */
body.public .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--ind-line);box-shadow:0 1px 0 rgba(18,21,25,.03)}
body.public .site-header .brand span:first-child,body.public .brand-icon{background:linear-gradient(140deg,var(--ind-primary),#DDAC0D);color:#fff;box-shadow:var(--ind-sh-1)}
body.public .nav-main>a,body.public .header-dropdown>summary{border-radius:999px;font-weight:600;color:var(--ind-muted);transition:background .16s,color .16s}
body.public .nav-main>a:hover,body.public .header-dropdown>summary:hover{background:var(--ind-primary-soft);color:var(--ind-primary)}
body.public .nav-main>a[aria-current="page"]{background:var(--ind-primary);color:#fff}
body.public .cities-menu{border-radius:var(--ind-radius);border:1px solid var(--ind-line);box-shadow:var(--ind-sh-3)}
body.public .cities-menu-grid a{border-radius:10px}
body.public .cities-menu-grid a:hover{background:var(--ind-primary-soft);color:var(--ind-primary)}
.header-cta{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:700;
  background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));color:#fff;text-decoration:none;box-shadow:var(--ind-sh-accent);white-space:nowrap}
.header-cta:hover{filter:brightness(1.05)}

/* -------------------------------------------------------------- home hero */
body.public .industrial-hero{position:relative;overflow:hidden;padding:0 0 30px;border-bottom:0;
  background:linear-gradient(165deg,#121519 0%,#3F4247 52%,#3F4247 100%)}
.hero-canvas{position:absolute;inset:0;pointer-events:none}
.hero-grid{position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(120% 90% at 70% 0%,#000 10%,transparent 72%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.hero-glow.one{width:520px;height:520px;background:rgba(226,113,29,.42);inset-block-start:-180px;inset-inline-start:-90px}
.hero-glow.two{width:460px;height:460px;background:rgba(221,172,13,.45);inset-block-end:-200px;inset-inline-end:-60px}
body.public .industrial-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:72px 0 56px}
body.public .industrial-hero-copy .eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:999px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#DCE7F2;font-size:12.5px;font-weight:600;margin-bottom:22px}
body.public .industrial-hero-copy .eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--ind-accent-2);box-shadow:0 0 0 4px rgba(246,160,60,.25)}
body.public .industrial-hero-copy h1{color:#fff;font-size:clamp(30px,4.2vw,50px);line-height:1.38;margin:0 0 18px;letter-spacing:-.01em}
body.public .industrial-hero-copy>p{color:rgba(226,236,246,.86);font-size:clamp(14.5px,1.35vw,17px);line-height:2.1;margin:0 0 26px;max-width:58ch}
.hero-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;font-size:13.5px;font-weight:600;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#EAF1F8;text-decoration:none;
  transition:background .16s,border-color .16s,transform .16s var(--ind-ease)}
.hero-chip:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.34);transform:translateY(-1px);color:#fff}
.hero-chip.more{background:rgba(226,113,29,.22);border-color:rgba(246,160,60,.5);color:#FFD9B3}
body.public .industrial-hero-marks{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;color:rgba(243,240,228,.78);font-size:13px}
body.public .industrial-hero-marks span{display:inline-flex;align-items:center;gap:7px}
body.public .industrial-hero-marks svg{color:var(--ind-accent-2)}

.plant-art{position:relative;aspect-ratio:1/.9;border-radius:var(--ind-radius-lg);overflow:hidden;color:#fff;display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 70px rgba(18,21,25,.45)}
.plant-grid{position:absolute;inset:0;opacity:.3;
  background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:38px 38px;mask-image:radial-gradient(circle at 50% 45%,#000 24%,transparent 76%)}
.plant-core{position:relative;display:grid;place-items:center;width:140px;height:140px;border-radius:36px;
  background:linear-gradient(140deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.34)}
.plant-note{position:absolute;display:flex;gap:11px;align-items:center;background:#fff;color:var(--ind-ink);
  padding:12px 15px;border-radius:16px;box-shadow:0 18px 38px rgba(18,21,25,.3);max-width:66%}
.plant-note svg{color:var(--ind-primary);flex:none}
.plant-note b{display:block;font-size:14px}
.plant-note small{color:var(--ind-muted);font-size:12px}
.plant-note.top{inset-block-start:7%;inset-inline-start:5%}
.plant-note.bottom{inset-block-end:7%;inset-inline-end:5%}
.plant-badge{position:absolute;inset-block-start:7%;inset-inline-end:6%;display:inline-flex;align-items:center;gap:6px;
  padding:7px 13px;border-radius:999px;background:rgba(81,100,67,.92);color:#fff;font-size:12px;font-weight:700}

.hero-search-wrap{position:relative;display:grid;gap:18px;padding-bottom:6px}
.hero-search{background:#fff;border-radius:var(--ind-radius-lg);padding:22px 24px;box-shadow:var(--ind-sh-3);border:1px solid rgba(255,255,255,.6)}
body.public .hero-search .search-caption{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--ind-primary);margin-bottom:14px}
.search-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.search-quick a{font-size:12.5px;color:var(--ind-muted);text-decoration:none;background:var(--ind-surface);border:1px solid var(--ind-line);
  border-radius:999px;padding:5px 13px;transition:all .16s}
.search-quick a:hover{color:var(--ind-primary);border-color:var(--ind-primary-soft);background:var(--ind-primary-soft)}
.hero-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.14);
  border-radius:var(--ind-radius);overflow:hidden;border:1px solid rgba(255,255,255,.16)}
.hero-stats>div{background:rgba(18,21,25,.5);padding:16px 12px;text-align:center;backdrop-filter:blur(6px)}
.hero-stats b{display:block;font-size:22px;color:#fff;line-height:1.4}
.hero-stats small{color:rgba(243,240,228,.72);font-size:12px}

/* --------------------------------------------------------- section rhythm */
body.public .public-sections{display:grid;gap:14px;padding-top:34px}
body.public .public-sections>section{padding:26px 0}
body.public .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
body.public .section-heading h2{position:relative;margin:0;font-size:clamp(19px,2.2vw,25px);padding-inline-start:16px;line-height:1.5}
body.public .section-heading h2::before{content:"";position:absolute;inset-inline-start:0;top:6px;bottom:6px;width:5px;border-radius:5px;
  background:linear-gradient(180deg,var(--ind-accent),var(--ind-accent-2))}
body.public .section-heading .section-sub{margin:6px 0 0;padding-inline-start:16px;color:var(--ind-muted);font-size:13.5px}
body.public .section-heading .text-link{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:999px;
  background:#fff;border:1px solid var(--ind-line);color:var(--ind-primary);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
body.public .section-heading .text-link:hover{border-color:var(--ind-primary);box-shadow:var(--ind-sh-1)}
.listing-head{margin:0 0 28px}
.listing-head h1{margin:0 0 10px;font-size:clamp(25px,3.4vw,36px);line-height:1.38;letter-spacing:-.01em}
.listing-head p{margin:0;max-width:72ch;color:var(--ind-muted);line-height:2.05}
.listing-section{margin:40px 0}
.section-note{margin:-8px 0 16px;color:var(--ind-muted);font-size:13.5px}

/* ------------------------------------------------------------------ chips */
.chip-grid{display:flex;flex-wrap:wrap;gap:9px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;border:1px solid var(--ind-line);
  background:#fff;color:var(--ind-ink);text-decoration:none;font-size:13.5px;font-weight:600;
  transition:border-color .16s,transform .16s var(--ind-ease),box-shadow .16s,color .16s}
.chip:hover{border-color:var(--ind-primary);color:var(--ind-primary);transform:translateY(-2px);box-shadow:var(--ind-sh-1)}
.chip small{color:var(--ind-accent);font-weight:800}
.chip.active{background:var(--ind-primary);border-color:var(--ind-primary);color:#fff}
.filter-chips{margin-bottom:24px}

/* -------------------------------------------------------------- trust row */
body.public .trust-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
body.public .trust-item{background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius);padding:22px;
  box-shadow:var(--ind-sh-1);transition:transform .18s var(--ind-ease),box-shadow .18s}
body.public .trust-item:hover{transform:translateY(-3px);box-shadow:var(--ind-sh-2)}
body.public .trust-item i{width:46px;height:46px;border-radius:14px;background:linear-gradient(140deg,var(--ind-primary),#DDAC0D);
  color:#fff;font-size:20px;box-shadow:var(--ind-sh-1)}
body.public .trust-item b{font-size:15px;margin-bottom:5px}
body.public .trust-item small{color:var(--ind-muted);line-height:1.95}
body.public .steps-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));counter-reset:step}
body.public .step-card{position:relative;background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius);padding:24px 22px 22px;box-shadow:var(--ind-sh-1)}
body.public .step-card::before{counter-increment:step;content:counter(step);position:absolute;inset-block-start:-14px;inset-inline-start:22px;
  width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:15px;
  background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));color:#fff;box-shadow:var(--ind-sh-accent)}
body.public .step-card b{display:block;margin:10px 0 6px;font-size:15px}
body.public .step-card small{color:var(--ind-muted);line-height:1.95}

/* --------------------------------------------------------------- industries */
.industry-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(262px,1fr))}
.industry-card{position:relative;display:flex;flex-direction:column;background:var(--ind-card);border:1px solid var(--ind-line);
  border-radius:var(--ind-radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--ind-sh-1);
  transition:transform .2s var(--ind-ease),box-shadow .2s,border-color .2s}
.industry-card:hover{transform:translateY(-4px);box-shadow:var(--ind-sh-2);border-color:var(--ind-line-strong)}
.industry-cover{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;
  background:linear-gradient(140deg,#EDF2F8,#E2EAF3)}
.industry-cover::after{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(63,66,71,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(63,66,71,.08) 1px,transparent 1px);background-size:26px 26px}
.industry-cover img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.industry-mark{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;
  background:linear-gradient(140deg,var(--ind-primary),#DDAC0D);color:#fff;box-shadow:var(--ind-sh-2)}
.industry-body{padding:18px 20px 20px;display:grid;gap:10px}
.industry-body h3{margin:0;font-size:17px;line-height:1.6}
.industry-body h3 a{color:inherit;text-decoration:none}
.industry-card:hover .industry-body h3 a{color:var(--ind-primary)}
.industry-body p{margin:0;font-size:13.5px;line-height:1.95;color:var(--ind-muted)}
.industry-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--ind-muted)}
.industry-meta span{display:inline-flex;align-items:center;gap:5px}
.tag-featured{background:var(--ind-accent-soft);color:#A9520E;border-radius:999px;padding:3px 10px;font-weight:700}
.industry-subs{display:flex;flex-wrap:wrap;gap:6px}
.industry-subs a{font-size:12px;color:var(--ind-primary);text-decoration:none;border:1px dashed var(--ind-line-strong);border-radius:999px;padding:3px 10px}
.industry-grid.home{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.industry-grid.home .industry-card{align-items:center;text-align:center;padding:22px 14px;gap:10px}
.industry-grid.home .industry-card .industry-mark{width:52px;height:52px;border-radius:16px}
.industry-grid.home .industry-card b{font-size:14.5px;line-height:1.6}
.industry-grid.home .industry-card small{color:var(--ind-faint);font-size:12.5px}
.industry-grid.home .industry-card:hover .industry-mark{background:linear-gradient(140deg,var(--ind-accent),var(--ind-accent-2))}

.industry-hero{position:relative;display:grid;gap:30px;grid-template-columns:1.2fr .8fr;align-items:center;margin-bottom:34px;
  background:linear-gradient(150deg,#121519,#3F4247);border-radius:var(--ind-radius-lg);padding:34px;overflow:hidden;color:#fff;box-shadow:var(--ind-sh-3)}
.industry-hero::before{content:"";position:absolute;inset:0;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:48px 48px;
  mask-image:radial-gradient(100% 90% at 80% 0%,#000 10%,transparent 70%)}
.industry-hero>*{position:relative}
.industry-hero h1{margin:0 0 12px;font-size:clamp(24px,3.4vw,36px);color:#fff;line-height:1.4}
.industry-hero p{margin:0 0 16px;line-height:2.05;color:rgba(226,236,246,.84)}
.industry-hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:20px;font-size:13.5px;color:rgba(226,236,246,.9)}
.industry-hero-meta span{display:inline-flex;align-items:center;gap:7px}
.industry-hero-meta svg{color:var(--ind-accent-2)}
.industry-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.industry-hero-actions .button.outline{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}
.industry-hero-actions .button.outline:hover{background:rgba(255,255,255,.18)}
.industry-hero-image{width:100%;height:100%;max-height:280px;border-radius:var(--ind-radius);object-fit:cover}

/* ----------------------------------------------------------------- products */
.product-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.product-grid.compact{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.product-card{background:var(--ind-card);border:1px solid var(--ind-line);border-radius:var(--ind-radius);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--ind-sh-1);transition:transform .2s var(--ind-ease),box-shadow .2s}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--ind-sh-2)}
.product-cover{position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(140deg,#EEF2F7,#E3EAF3)}
.product-cover::after{content:"";position:absolute;inset:0;opacity:.45;
  background-image:repeating-linear-gradient(135deg,rgba(63,66,71,.06) 0 8px,transparent 8px 16px)}
.product-cover img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.product-mark{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;
  background:linear-gradient(140deg,var(--ind-primary),#DDAC0D);color:#fff;box-shadow:var(--ind-sh-1)}
.product-body{padding:16px 17px 18px;display:grid;gap:9px}
.product-body h3{margin:0;font-size:15.5px;line-height:1.6}
.product-body h3 a{color:inherit;text-decoration:none}
.product-card:hover .product-body h3 a{color:var(--ind-primary)}
.product-body p{margin:0;font-size:13px;line-height:1.95;color:var(--ind-muted)}
.product-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:12px;color:var(--ind-muted)}
.product-meta span{background:var(--ind-surface);border:1px solid var(--ind-line);border-radius:8px;padding:3px 9px}
.product-body .button{width:100%;justify-content:center;margin-top:3px}

.product-hero{display:grid;gap:30px;grid-template-columns:.85fr 1.15fr;align-items:start;margin-bottom:30px;
  background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-lg);padding:26px;box-shadow:var(--ind-sh-1)}
.product-hero-media{position:relative;display:grid;place-items:center;border-radius:var(--ind-radius);padding:20px;min-height:250px;overflow:hidden;
  background:linear-gradient(140deg,#EEF2F7,#E1E9F2);color:var(--ind-primary)}
.product-hero-media::after{content:"";position:absolute;inset:0;opacity:.4;
  background-image:linear-gradient(rgba(63,66,71,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(63,66,71,.1) 1px,transparent 1px);background-size:30px 30px}
.product-hero-media img{position:relative;z-index:1;width:100%;height:auto;border-radius:var(--ind-radius-sm);object-fit:cover}
.product-hero-copy h1{margin:0 0 12px;font-size:clamp(23px,3.2vw,33px);line-height:1.4}
.product-hero-copy>p{margin:0 0 18px;line-height:2.05;color:var(--ind-muted)}
.product-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

.product-facts,.company-facts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(152px,1fr))}
.product-facts>div,.company-facts>div{background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:13px 15px;box-shadow:var(--ind-sh-1)}
.product-facts small,.company-facts small{display:block;color:var(--ind-faint);font-size:12px;margin-bottom:4px}
.product-facts b,.company-facts b{font-size:14.5px;font-weight:700;line-height:1.7}
.company-facts{margin:0}
.company-facts.terms>div{background:linear-gradient(140deg,#FFFFFF,#F7F9FC)}

/* ----------------------------------------------------------------- services */
.service-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.service-card{position:relative;background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius);padding:22px;display:grid;gap:10px;
  box-shadow:var(--ind-sh-1);transition:transform .2s var(--ind-ease),box-shadow .2s,border-color .2s;overflow:hidden}
.service-card::before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--ind-accent),var(--ind-accent-2));transform:scaleX(0);transform-origin:right;transition:transform .25s var(--ind-ease)}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--ind-sh-2)}
.service-card:hover::before{transform:scaleX(1)}
.service-card h3{margin:0;font-size:15.5px}
.service-card h3 a{color:inherit;text-decoration:none}
.service-card p{margin:0;font-size:13px;line-height:1.95;color:var(--ind-muted)}
.service-card small{color:var(--ind-accent);font-weight:700;font-size:12.5px}
.service-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--ind-primary-soft);color:var(--ind-primary)}
.service-mark img{width:100%;height:100%;object-fit:cover;border-radius:15px}

/* -------------------------------------------------------------- mini cards */
.mini-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}
.mini-card{display:grid;gap:8px;padding:15px;border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);
  background:#fff;text-decoration:none;color:inherit;box-shadow:var(--ind-sh-1);transition:transform .18s var(--ind-ease),box-shadow .18s}
.mini-card:hover{transform:translateY(-3px);box-shadow:var(--ind-sh-2)}
.mini-card img{width:100%;height:100px;object-fit:cover;border-radius:10px}
.mini-card b{font-size:14px;line-height:1.6}
.mini-card small{color:var(--ind-muted);font-size:12.5px;line-height:1.85}

/* ------------------------------------------------------------ company card */
.company-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
body.public .company-list{display:grid;gap:16px}
.company-card{position:relative;display:grid;grid-template-columns:1fr minmax(180px,208px);gap:22px;
  background:var(--ind-card);border:1px solid var(--ind-line);border-radius:var(--ind-radius);padding:20px;
  box-shadow:var(--ind-sh-1);transition:transform .2s var(--ind-ease),box-shadow .2s,border-color .2s}
.company-card:hover{transform:translateY(-3px);box-shadow:var(--ind-sh-2);border-color:var(--ind-line-strong)}
.company-card.is-premium{border-color:rgba(226,113,29,.4);background:linear-gradient(180deg,#FFFCF8,#fff 40%)}
.company-card.is-premium::before{content:"";position:absolute;inset-block-start:-1px;inset-inline-start:24px;width:84px;height:4px;border-radius:0 0 6px 6px;
  background:linear-gradient(90deg,var(--ind-accent),var(--ind-accent-2))}
.cc-main{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;min-width:0}
.cc-logo{grid-row:span 3;display:grid;place-items:center;width:78px;height:78px;border-radius:18px;overflow:hidden;
  background:linear-gradient(140deg,#EEF2F7,#E2EAF3);color:var(--ind-primary);border:1px solid var(--ind-line)}
.cc-logo img{width:100%;height:100%;object-fit:contain;padding:8px;background:#fff}
.cc-head{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:space-between;min-width:0}
.cc-title{min-width:0}
.company-card .company-name{display:block;font-size:17.5px;font-weight:800;color:var(--ind-ink);text-decoration:none;line-height:1.55}
.company-card .company-name:hover{color:var(--ind-primary)}
.cc-sub{margin:4px 0 0;color:var(--ind-muted);font-size:13px}
.cc-marks{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cc-marks .mark{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700}
.cc-marks .verified{background:var(--ind-ok-soft);color:var(--ind-ok)}
.cc-marks .premium{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));color:#fff}
.cc-marks .rating{background:var(--ind-surface);color:var(--ind-ink);border:1px solid var(--ind-line)}
.cc-marks .rating small{color:var(--ind-faint);font-weight:600}
.cc-facts{grid-column:2;list-style:none;margin:2px 0 0;padding:0;display:grid;gap:7px 16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.cc-facts li{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ind-muted);min-width:0}
.cc-facts svg{color:var(--ind-primary);flex:none;opacity:.75}
.cc-facts span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-card .tags{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.company-card .tags span{background:var(--ind-primary-soft);color:var(--ind-primary);border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:600}
.cc-side{display:flex;flex-direction:column;gap:9px;justify-content:center;border-inline-start:1px dashed var(--ind-line);padding-inline-start:20px}
.cc-side .button{width:100%;justify-content:center;font-size:13.5px;padding:10px 14px}
.company-card .company-portfolio{grid-column:1/-1;border-top:1px solid var(--ind-line);padding-top:14px;margin-top:4px}
.company-card .company-portfolio{display:block}

/* ---------------------------------------------------- company profile page */
.company-reference{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.company-reference>*{min-width:0}
.company-hero{position:relative;background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-lg);
  overflow:hidden;box-shadow:var(--ind-sh-1);padding:0}
.company-cover{position:relative;height:120px;background:linear-gradient(120deg,#121519,#3F4247 60%,#DDAC0D)}
.cover-grid{position:absolute;inset:0;opacity:.2;
  background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.company-hero-inner{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:flex-end;padding:0 26px 24px;margin-top:-46px}
.company-hero-logo{display:grid;place-items:center;width:104px;height:104px;border-radius:24px;background:#fff;
  border:1px solid var(--ind-line);box-shadow:var(--ind-sh-2);color:var(--ind-primary);overflow:hidden}
.company-hero-logo img{width:100%;height:100%;object-fit:contain;padding:10px}
.company-hero-main{padding-bottom:4px;min-width:0}
.company-hero-main h1{margin:0 0 6px;font-size:clamp(22px,3.1vw,32px);line-height:1.4}
.company-hero-sub{margin:0 0 12px;color:var(--ind-muted);font-size:14px}
.company-trust{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px}
.company-trust span{background:var(--ind-surface);border:1px solid var(--ind-line);border-radius:999px;padding:5px 12px;color:var(--ind-muted)}
.company-trust .verified{background:var(--ind-ok-soft);border-color:transparent;color:var(--ind-ok);display:inline-flex;align-items:center;gap:5px;font-weight:700}
.company-trust .unverified{background:#F1F3F6;border-color:transparent;color:var(--ind-faint)}
.company-trust .premium-label{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));border-color:transparent;color:#fff;font-weight:700}
.company-trust .rating-mark{display:inline-flex;align-items:center;gap:6px;color:var(--ind-ink);font-weight:700}
.company-trust .rating-mark small{color:var(--ind-faint);font-weight:600}
.company-hero-side{display:flex;flex-direction:column;gap:9px;align-items:stretch;min-width:210px;padding-bottom:4px}
.company-hero-side .button{justify-content:center}
.hero-side-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;font-size:12.5px}
.hero-side-links a{color:var(--ind-primary);text-decoration:none;border-bottom:1px dashed var(--ind-line-strong)}
.hero-side-links a:hover{border-bottom-color:var(--ind-primary)}

.company-jump-links{position:sticky;top:72px;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--ind-line);border-radius:999px;
  box-shadow:var(--ind-sh-1);scrollbar-width:thin}
.company-jump-links a{white-space:nowrap;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:999px;
  background:transparent;color:var(--ind-muted);text-decoration:none;transition:background .16s,color .16s}
.company-jump-links a:hover{background:var(--ind-primary-soft);color:var(--ind-primary)}

.company-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.company-column{display:grid;gap:16px;min-width:0}
.company-aside{position:sticky;top:132px;display:grid;gap:14px}
.aside-card{background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius);padding:18px;box-shadow:var(--ind-sh-1)}
.aside-card h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14.5px;color:var(--ind-primary)}
.aside-line{display:block;padding:9px 0;border-bottom:1px dashed var(--ind-line);text-decoration:none;color:inherit}
.aside-line:last-of-type{border-bottom:0}
.aside-line small{display:block;color:var(--ind-faint);font-size:12px;margin-bottom:3px}
.aside-line b{font-size:13.5px;font-weight:700;line-height:1.8}
.aside-card .button{margin-top:12px}
.aside-facts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aside-facts li small{display:block;color:var(--ind-faint);font-size:12px}
.aside-facts li b{font-size:13.5px}
.aside-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.aside-list li{font-size:13px;font-weight:700;padding-inline-start:16px;position:relative}
.aside-list li::before{content:"";position:absolute;inset-inline-start:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--ind-ok)}
.aside-list li small{display:block;font-weight:500;color:var(--ind-faint);font-size:11.5px;margin-top:2px}

.company-detail-section{background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius);padding:24px;box-shadow:var(--ind-sh-1);margin:0}
.company-detail-section>h2{margin:0 0 16px;font-size:18.5px;position:relative;padding-inline-start:15px;line-height:1.5}
.company-detail-section>h2::before{content:"";position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:5px;border-radius:5px;
  background:linear-gradient(180deg,var(--ind-accent),var(--ind-accent-2))}
.company-detail-section .prose-text,.company-detail-section .prose{line-height:2.05;color:var(--ind-muted)}
.capacity-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));margin-top:16px}
.capacity-grid>div{background:var(--ind-surface);border-radius:var(--ind-radius-sm);padding:13px 15px}
.capacity-grid small{display:block;color:var(--ind-faint);font-size:12px;margin-bottom:4px}

.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);overflow:hidden}
.spec-table th,.spec-table td{padding:12px 15px;text-align:start;font-size:13.5px;border-bottom:1px solid var(--ind-line)}
.spec-table thead th{background:var(--ind-primary-soft);color:var(--ind-primary);font-weight:700}
.spec-table tbody th{background:#FAFBFD;width:34%;font-weight:700;color:var(--ind-ink)}
.spec-table tbody td{color:var(--ind-muted)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.spec-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.spec-preview span{background:var(--ind-surface);border:1px solid var(--ind-line);border-radius:8px;padding:5px 11px;font-size:12.5px}
.spec-preview b{margin-inline-end:6px;color:var(--ind-primary)}

.certificate-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(232px,1fr))}
.certificate-card{display:flex;gap:13px;align-items:flex-start;background:linear-gradient(150deg,#fff,#F8FAFC);
  border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:15px}
.certificate-card>svg{color:var(--ind-ok);flex:none;margin-top:2px}
.certificate-card img{width:72px;height:96px;object-fit:cover;border-radius:9px;flex:none}
.certificate-card b{display:block;font-size:14px;margin-bottom:5px}
.certificate-card small{display:block;color:var(--ind-faint);font-size:12px;line-height:1.85}

.project-list{display:grid;gap:14px}
.project-card{display:flex;gap:16px;background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:16px;
  transition:border-color .18s,box-shadow .18s}
.project-card:hover{border-color:var(--ind-line-strong);box-shadow:var(--ind-sh-1)}
.project-card img{width:184px;height:128px;object-fit:cover;border-radius:12px;flex:none}
.project-card h3{margin:0 0 9px;font-size:16px}
.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px;font-size:12px;color:var(--ind-muted)}
.project-meta span{background:var(--ind-surface);border-radius:8px;padding:4px 10px}
.project-card p{margin:0;line-height:1.98;font-size:13.5px;color:var(--ind-muted)}

.facility-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}
.facility-card{background:linear-gradient(150deg,#fff,#F8FAFC);border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:17px}
.facility-card h3{margin:0 0 9px;font-size:15px;color:var(--ind-primary)}
.facility-card p{margin:0 0 7px;font-size:13.5px;line-height:1.95;color:var(--ind-muted)}
.facility-card .text-link{font-size:12.5px;display:inline-flex;align-items:center;gap:5px;color:var(--ind-primary)}

.buyer-review{background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:16px;margin-bottom:12px}
.buyer-review>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:13px}
.buyer-review>div b{color:var(--ind-accent)}
.buyer-review>div small{color:var(--ind-faint)}
.buyer-review p{margin:0;line-height:2;color:var(--ind-muted)}
.company-reply{margin-top:11px;padding:12px 14px;border-radius:12px;background:var(--ind-primary-soft)}
.company-reply b{display:block;margin-bottom:5px;font-size:12.5px;color:var(--ind-primary)}
.reviews-summary{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 14px;border-radius:999px;
  background:var(--ind-surface);font-weight:700;font-size:13px}

/* ------------------------------------------------------------- quote request */
.quote-box{position:relative;overflow:hidden;margin:0;border-radius:var(--ind-radius-lg);padding:30px;color:#fff;
  background:linear-gradient(145deg,#121519,#3F4247 55%,#3F4247);box-shadow:var(--ind-sh-3)}
.quote-box::before{content:"";position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:52px 52px;mask-image:radial-gradient(90% 80% at 85% 0%,#000 5%,transparent 70%)}
.quote-box::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(80px);
  background:rgba(226,113,29,.35);inset-block-end:-160px;inset-inline-start:-80px}
.quote-box>*{position:relative}
.quote-box.compact{padding:22px}
.quote-heading h2{margin:0 0 8px;font-size:21px;color:#fff}
.quote-heading p{margin:0 0 20px;color:rgba(243,240,228,.8);line-height:2;font-size:13.5px}
.quote-form .field>span,.quote-form label>span{color:rgba(233,241,248,.92);font-size:13px}
.quote-form .field small,.quote-form>small{color:rgba(226,222,211,.58);font-size:11.5px}
.quote-form input,.quote-form select,.quote-form textarea{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.35);
  color:var(--ind-ink);border-radius:12px}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--ind-accent-2);box-shadow:0 0 0 3px rgba(246,160,60,.25)}
.quote-form .form-actions{margin-top:16px}
.quote-form .button.primary{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));border-color:transparent;box-shadow:var(--ind-sh-accent)}
.quote-form .form-message{color:#FFD9B3}
.quote-note{display:block;margin-top:12px;color:rgba(226,222,211,.6);font-size:12px}
body.public .mobile-sticky-actions{box-shadow:0 -6px 26px rgba(18,21,25,.16)}
body.public .mobile-sticky-actions a:last-child{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2))}

/* ------------------------------------------------------------------ footer */
body.public .site-footer,body.public .rich-footer{background:linear-gradient(160deg,#121519,#3F4247)}
body.public .rich-footer a:hover{color:var(--ind-accent-2)}
body.public .cta-band{background:linear-gradient(135deg,#3F4247,#DDAC0D);border-radius:var(--ind-radius-lg);box-shadow:var(--ind-sh-3)}
body.public .cta-band .button{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));border-color:transparent;color:#fff}

/* ---------------------------------------------------------------- CMS extras */
.lead-card{background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:17px;margin-bottom:14px;box-shadow:var(--ind-sh-1)}
.lead-card header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px;font-size:13px}
.lead-card header b{font-size:15px}
.lead-card header small{color:var(--ind-faint)}
.lead-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px;font-size:12px;color:var(--ind-muted)}
.lead-meta span{background:var(--ind-surface);border-radius:8px;padding:4px 10px}
.lead-card p{margin:0 0 9px;line-height:2;font-size:13.5px}
.lead-card form{margin-top:12px;border-top:1px dashed var(--ind-line);padding-top:13px}
.repeat-block{margin-bottom:20px}
.repeat-item{border:1px solid var(--ind-line);border-radius:var(--ind-radius-sm);padding:15px;margin-bottom:12px;background:#fff}
.repeat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}
.repeat-head>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--ind-primary-soft);
  color:var(--ind-primary);font-size:13px;font-weight:800}
.repeat-tools{display:flex;gap:6px}
.editor-subheading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.danger-zone{border-color:rgba(190,60,60,.28)}
.link-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.stats-bars{display:flex;align-items:flex-end;gap:3px;height:130px;padding:12px;background:var(--ind-surface);border-radius:var(--ind-radius-sm)}
.stats-bars span{flex:1;min-height:3px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#DDAC0D,var(--ind-primary))}

/* ------------------------------------------------------------ safety guards */
.company-reference,.industry-page,.product-page,.service-page,.city-industry-page{grid-template-columns:minmax(0,1fr)}
.company-reference>*,.industry-page>*,.product-page>*,.service-page>*,.city-industry-page>*{min-width:0}
.industrial-hero-grid,.industrial-hero-grid>*,.industry-hero>*,.product-hero>*,.company-hero>*,
.public-sections,.public-sections section,.company-layout>*{min-width:0}
.hero-links{display:flex;flex-wrap:wrap;gap:10px;max-width:100%}
.hero-links .button,.hero-links .hero-chip{max-width:100%;white-space:normal;text-align:start}
.chip,.chip span{max-width:100%;overflow-wrap:anywhere}
.company-facts b,.product-facts b,.capacity-grid b{overflow-wrap:anywhere}
.table-scroll{overflow-x:auto;max-width:100%}
html,body{overflow-x:clip}

/* ------------------------------------------------------------------ mobile */
@media(max-width:1100px){
  .company-layout{grid-template-columns:minmax(0,1fr)}
  .company-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}
}
@media(max-width:980px){
  body.public .industrial-hero-grid{grid-template-columns:1fr;gap:32px;padding:52px 0 40px}
  .industrial-hero-art{max-width:460px;margin-inline:auto;width:100%}
  .hero-stats{grid-template-columns:repeat(3,1fr)}
  .industry-hero,.product-hero{grid-template-columns:1fr}
  .company-hero-inner{grid-template-columns:auto 1fr;gap:16px}
  .company-hero-side{grid-column:1/-1;min-width:0;flex-direction:row;flex-wrap:wrap}
  .company-hero-side .button{flex:1 1 180px}
  .company-card{grid-template-columns:1fr}
  .cc-side{border-inline-start:0;border-top:1px dashed var(--ind-line);padding-inline-start:0;padding-top:14px;
    flex-direction:row;flex-wrap:wrap}
  .cc-side .button{flex:1 1 140px}
}
@media(max-width:760px){
  .project-card{flex-direction:column}
  .project-card img{width:100%;height:190px}
  .company-detail-section table,.listing-section table{min-width:520px}
  .company-jump-links{top:60px;border-radius:14px}
  .company-detail-section{padding:18px}
  .quote-box{padding:20px;border-radius:var(--ind-radius)}
  .hero-stats{grid-template-columns:repeat(3,1fr)}
  .hero-search{padding:16px}
  .company-hero-inner{padding:0 16px 18px}
  .cc-main{grid-template-columns:1fr}
  .cc-logo{grid-row:auto;width:62px;height:62px;border-radius:15px}
  .cc-facts,.company-card .tags{grid-column:1}
}
@media(max-width:600px){
  .industry-grid,.product-grid,.service-grid{grid-template-columns:repeat(auto-fill,minmax(154px,1fr))}
  .mini-grid{grid-template-columns:repeat(auto-fill,minmax(146px,1fr))}
  .company-facts,.product-facts{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}
  .spec-table th,.spec-table td{padding:10px 11px;font-size:12.5px}
  .industry-hero{padding:22px}
}
@media(prefers-reduced-motion:reduce){
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* hero chips need explicit colour: the shared header/hero rules are darker */
body.public .industrial-hero .hero-chip,body.public .industrial-hero .hero-chip span{color:#EAF1F8}
body.public .industrial-hero .hero-chip svg{color:var(--ind-accent-2);opacity:.95}
body.public .industrial-hero .hero-chip.more{color:#FFD9B3}
body.public .industrial-hero .hero-chip:hover{color:#fff}
.plant-core{width:auto;height:auto;background:none;border:0;padding:0 26px}
.plant-illus{width:100%;max-width:330px;height:auto;filter:drop-shadow(0 10px 24px rgba(18,21,25,.35))}
body.public .header-inner{gap:14px}
body.public .header-cta{order:3}
@media(max-width:1040px){body.public .header-cta{display:none}}
body.public .industrial-hero .hero-chip{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.26)}
body.public .industrial-hero .hero-chip,body.public .industrial-hero .hero-chip *{color:#F2F7FC}
body.public .industrial-hero .hero-chip.more,body.public .industrial-hero .hero-chip.more *{color:#FFE2C2}

/* ---- company card: neutralise the legacy scoped grid and own the layout ---- */
body.public .company-card.cc,
.companies-directory .company-card.cc,
.company-list .company-card.cc,
.similar-section .company-card.cc,
.company-grid .company-card.cc{
  display:grid;grid-template-areas:none;grid-template-columns:minmax(0,1fr) 216px;
  gap:22px;align-items:stretch;padding:20px;border-radius:var(--ind-radius);
  border:1px solid var(--ind-line);background:var(--ind-card);box-shadow:var(--ind-sh-1)}
.company-card.cc>*{grid-area:auto}
.company-card.cc .cc-main{grid-column:1;display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px 16px;align-content:start}
.company-card.cc .cc-logo{grid-column:1;grid-row:1/span 3}
.company-card.cc .cc-head,.company-card.cc .cc-facts,.company-card.cc .tags{grid-column:2}
.company-card.cc .cc-side{grid-column:2}
.company-card.cc .company-portfolio{grid-column:1/-1}
.company-card.cc .avatar{display:none}
@media(max-width:980px){
  body.public .company-card.cc,.companies-directory .company-card.cc,.company-list .company-card.cc,
  .similar-section .company-card.cc,.company-grid .company-card.cc{grid-template-columns:minmax(0,1fr)}
  .company-card.cc .cc-side{grid-column:1}
}
@media(max-width:760px){
  .company-card.cc .cc-main{grid-template-columns:minmax(0,1fr)}
  .company-card.cc .cc-logo{grid-row:auto;grid-column:1}
  .company-card.cc .cc-head,.company-card.cc .cc-facts,.company-card.cc .tags{grid-column:1}
}
.company-card.cc{overflow:hidden}
.company-card.cc .cc-main>*{grid-area:auto}
.company-card.cc .cc-head{grid-column:2;grid-row:1}
.company-card.cc .cc-facts{grid-column:2;grid-row:2;margin-top:6px}
.company-card.cc .tags{grid-column:2;grid-row:3;margin-top:4px}
.company-card.cc.is-premium::before{inset-block-start:0}

/* profile hero: only the logo overlaps the cover */
.company-cover{height:132px}
.company-hero-inner{margin-top:0;padding:16px 26px 24px;align-items:flex-end}
.company-hero-logo{width:112px;height:112px;margin-top:-72px}
.company-hero-main{padding-bottom:2px}
.company-hero-side{padding-bottom:2px}
@media(max-width:980px){
  .company-hero-logo{margin-top:-62px;width:92px;height:92px}
  .company-hero-inner{padding:14px 18px 20px}
}

/* industry hero: readable CTAs on the dark band + decorative mark */
.industry-hero .button.primary{background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));
  border-color:transparent;color:#fff;box-shadow:var(--ind-sh-accent)}
.industry-hero .button.primary:hover{filter:brightness(1.05);background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2))}
.industry-hero-figure{display:grid;place-items:center;min-height:190px;border-radius:var(--ind-radius);
  background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);color:#fff}
.industry-hero-figure svg{width:86px;height:86px;opacity:.9}
.industry-hero-figure b{display:block;margin-top:12px;font-size:13px;color:rgba(226,236,246,.8);text-align:center}

/* editorial prose on catalogue pages reads as a card */
.industry-page>.prose,.product-page>.prose,.service-page>.prose{background:#fff;border:1px solid var(--ind-line);
  border-radius:var(--ind-radius);padding:26px;box-shadow:var(--ind-sh-1);margin:0 0 8px;line-height:2.05;color:var(--ind-muted)}
.industry-page>.prose h2,.product-page>.prose h2,.service-page>.prose h2{margin:0 0 12px;font-size:18.5px;color:var(--ind-ink);
  position:relative;padding-inline-start:15px;line-height:1.5}
.industry-page>.prose h2::before,.product-page>.prose h2::before,.service-page>.prose h2::before{content:"";position:absolute;
  inset-inline-start:0;top:4px;bottom:4px;width:5px;border-radius:5px;background:linear-gradient(180deg,var(--ind-accent),var(--ind-accent-2))}
.industry-page>.prose h2:not(:first-child),.product-page>.prose h2:not(:first-child){margin-top:22px}
.industry-page,.product-page,.service-page,.city-industry-page{display:grid;gap:18px}
.hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;font-size:12px;font-weight:700;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#EAF1F8;margin-bottom:14px}
.hero-kicker svg{color:var(--ind-accent-2)}
.city-hero h1{font-size:clamp(23px,3.2vw,34px)}
.company-column>*,.company-aside>*,.company-detail-section>*{min-width:0}

/* ============================== CMS polish ================================= */
body.cms{--cms-line:#E3E8EF}
body.cms .panel,body.cms .stat-card,body.cms .table-scroll{border-radius:var(--ind-radius);border:1px solid var(--cms-line);box-shadow:var(--ind-sh-1)}
body.cms .panel-heading h2{position:relative;padding-inline-start:14px}
body.cms .panel-heading h2::before{content:"";position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:4px;border-radius:4px;
  background:linear-gradient(180deg,var(--ind-accent),var(--ind-accent-2))}
body.cms .button{border-radius:999px;font-weight:700}
body.cms .button.primary{background:var(--ind-primary);border-color:var(--ind-primary);box-shadow:var(--ind-sh-brand)}
body.cms .button.primary:hover{background:var(--ind-primary-deep);border-color:var(--ind-primary-deep)}
body.cms .badge.published{background:var(--ind-ok-soft);color:var(--ind-ok)}
body.cms .badge.draft{background:#EEF1F5;color:#3F4247}
body.cms .stat-card{background:linear-gradient(150deg,#fff,#F8FAFC)}
body.cms .stat-card strong{color:var(--ind-primary)}
body.cms .stat-icon{background:var(--ind-primary-soft);color:var(--ind-primary);border-radius:12px}
body.cms .sidebar a.active,body.cms nav a.active{background:linear-gradient(135deg,var(--ind-primary),#DDAC0D);color:#fff;border-radius:12px}
body.cms table thead th{background:#F7F9FC;color:var(--ind-primary)}
body.cms .category-tabs button[aria-selected="true"]{background:var(--ind-primary);color:#fff;border-radius:999px}
body.cms .setup-step .step-number.done{background:var(--ind-ok);color:#fff}
body.cms .welcome{background:linear-gradient(135deg,#3F4247,#DDAC0D);color:#fff;border-radius:var(--ind-radius-lg);box-shadow:var(--ind-sh-2)}
body.cms .welcome h2,body.cms .welcome p{color:#fff}
body.cms .welcome .button{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}

/* city tiles + mini card clamping */
body.public .city-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-width:210px;
  padding:16px 18px;background:#fff;border:1px solid var(--ind-line);border-radius:var(--ind-radius);
  text-decoration:none;color:inherit;box-shadow:var(--ind-sh-1);transition:transform .18s var(--ind-ease),box-shadow .18s,border-color .18s}
body.public .city-card:hover{transform:translateY(-3px);box-shadow:var(--ind-sh-2);border-color:var(--ind-line-strong)}
body.public .city-card .city-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
  background:var(--ind-primary-soft);color:var(--ind-primary);overflow:hidden}
body.public .city-card .city-symbol img{width:100%;height:100%;object-fit:cover}
body.public .city-card:hover .city-symbol{background:linear-gradient(140deg,var(--ind-accent),var(--ind-accent-2));color:#fff}
body.public .city-card .city-body b{display:block;font-size:15px;line-height:1.6}
body.public .city-card .city-body small{color:var(--ind-faint);font-size:12px}
body.public .city-card>svg{color:var(--ind-faint)}
body.public .carousel-track{gap:14px;padding-block:6px}
.mini-card small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.industry-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-body p,.service-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mini-card small,.industry-body p,.product-body p,.service-card p{text-overflow:ellipsis}
.mini-grid .mini-card{align-content:start}
body.public .footer-company-access,body.public .rich-footer .footer-company-access{
  background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));color:#fff;border-radius:999px;font-weight:700;box-shadow:var(--ind-sh-accent)}
body.public .rich-footer .footer-company-access:hover{filter:brightness(1.05);background:linear-gradient(135deg,var(--ind-accent),var(--ind-accent-2));color:#fff}
body.public .footer-company-cta .cta-band,body.public .footer-physician-cta .cta-band{margin-bottom:8px}
.industry-cover.is-empty{aspect-ratio:auto;min-height:96px;padding:18px 0}
