/*
Formulist WordPress Theme -- Main Stylesheet
Consolidated & conflict-resolved from 8 static page designs (home, product,
category, services, about, contact, articles archive, single article).
*/

:root{
  --primary:#0E4B4A; --primary-dark:#0A3433; --primary-light:#1D6866;
  --secondary:#2E3A59; --accent:#C97A2B; --accent-dark:#A8621E;
  --background:#FAF9F6; --surface:#FFFFFF; --surface-alt:#F2F0EA;
  --text:#16211F; --text-muted:#5C6B67; --border:#E3E1D9;
  --success:#2F7D4F; --success-bg:#EAF5EE;
  --radius-s:6px; --radius-m:10px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{font-family:'Vazirmatn', Tahoma, sans-serif; background:var(--background); color:var(--text); line-height:1.75; -webkit-font-smoothing:antialiased; overflow-x:hidden;}

img{max-width:100%; display:block;}

a{color:inherit; text-decoration:none;}

ul{list-style:none;}

button{font-family:inherit; cursor:pointer; border:none; background:none;}

input{font-family:inherit;}

.container{max-width:1240px; margin:0 auto; padding:0 24px;}

h1,h2,h3,h4{font-weight:700; line-height:1.4; color:var(--text);}

h1{font-size:clamp(1.7rem, 3.4vw, 2.35rem); font-weight:800;}

h2{font-size:clamp(1.4rem, 2.4vw, 1.85rem);}

h3{font-size:1.08rem;}

p{color:var(--text-muted);}

.section-head{max-width:640px; margin-bottom:26px;}

.section-head.center{ margin-inline:auto; text-align:center; }

.section-head .kicker{display:inline-block; font-size:0.84rem; color:var(--primary); font-weight:600; margin-bottom:8px;}

.section-head p{ margin-top:10px; font-size:0.98rem; }

section{padding:64px 0;}

a:focus-visible, button:focus-visible, input:focus-visible{ outline:2.5px solid var(--accent); outline-offset:3px; border-radius:4px; }

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; border-radius:var(--radius-s); font-weight:600; font-size:0.94rem; transition:transform .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease);}

.btn-primary{background:var(--accent); color:#fff;}

.btn-primary:hover{ background:var(--accent-dark); transform:translateY(-2px); box-shadow:0 10px 24px -10px rgba(169,98,30,.55);}

.btn-primary:active{ transform:translateY(0) scale(.98); }

.btn-outline{background:transparent; color:var(--primary); border:1.5px solid var(--border);}

.btn-outline:hover{ border-color:var(--primary); background:rgba(14,75,74,.05); }

.btn-outline:active{ transform:scale(.98); }

.btn-ghost-light{ background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.4); flex-shrink:0; }

.btn-ghost-light:hover{ background:rgba(255,255,255,.2); border-color:#fff; }

.site-header{position:fixed; inset-inline:0; top:0; z-index:1000; background:rgba(250,249,246,.92); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--border);}

.site-header .bar{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}

.site-header.scrolled{
  background:rgba(250,249,246,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--border), 0 12px 24px -18px rgba(10,52,51,.25);
}

.site-header.scrolled .bar{ padding:12px 0; }

/* Note: the "white nav text over a transparent header" treatment lives
   further down, scoped to body.home only (search "body.home .site-header").
   It must NOT be unscoped here — every other page has a solid/light header
   background from the very first paint, so white text would be invisible
   against it until the user scrolls. */

.logo{display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.2rem; color:var(--primary);}

.logo .mark{width:32px; height:32px; border-radius:8px; background:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.logo .mark svg{width:18px; height:18px; color:#fff;}

.main-nav{display:flex; align-items:center; gap:4px;}

.main-nav > li{ position:relative; }

.nav-link{padding:10px 14px; font-size:0.93rem; font-weight:500; color:var(--text); border-radius:var(--radius-s); transition:color .2s var(--ease);}

.nav-link::after{
  content:"";
  position:absolute;
  right:16px; left:16px; bottom:5px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s var(--ease);
}

.nav-link:hover::after, .nav-link[aria-current="page"]::after{ transform:scaleX(1); }

.nav-link:hover{ color:var(--accent); }

.chev{ width:12px; height:12px; transition:transform .2s var(--ease); }

.has-dropdown:hover .chev{ transform:rotate(180deg); }

.dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:240px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-m);
  box-shadow:0 20px 40px -20px rgba(10,52,51,.25);
  padding:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
}

.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}

.dropdown a{
  display:block;
  padding:10px 14px;
  border-radius:var(--radius-s);
  font-size:0.92rem;
  color:var(--text);
}

.dropdown a:hover{ background:var(--surface-alt); color:var(--primary); }

.dropdown .see-all{ color:var(--primary); font-weight:600; border-top:1px solid var(--border); margin-top:6px; padding-top:12px; }

.header-actions{display:flex; align-items:center; gap:10px;}

.icon-btn{width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:var(--text); transition:background .2s var(--ease);}

.icon-btn:hover{ background:rgba(0,0,0,.06); }

/* (icon-button hover highlight for the transparent homepage header moved
   next to the other body.home-scoped rules below) */

.icon-btn svg{ width:19px; height:19px; }

.hamburger{ display:none; }

.mobile-nav-overlay{
  position:fixed; inset:0;
  background:rgba(10,25,24,.5);
  z-index:1200;
  opacity:0; visibility:hidden;
  transition:opacity .3s var(--ease), visibility .3s;
}

.mobile-nav-overlay.open{ opacity:1; visibility:visible; }

.mobile-nav{
  position:fixed; top:0; bottom:0; right:0;
  width:min(88vw, 380px);
  background:var(--surface);
  z-index:1300;
  transform:translateX(100%);
  transition:transform .35s var(--ease);
  display:flex; flex-direction:column;
  padding:22px;
  overflow-y:auto;
}

.mobile-nav.open{ transform:translateX(0); }

.mobile-nav-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }

.mobile-nav ul{ display:flex; flex-direction:column; gap:2px; }

.mobile-nav a{ display:flex; justify-content:space-between; align-items:center; padding:14px 6px; font-size:1.02rem; font-weight:500; border-bottom:1px solid var(--border); }

.mobile-nav .sub-list{ display:none; flex-direction:column; padding-inline-start:14px; }

.mobile-nav .sub-list.open{ display:flex; }

.mobile-nav .sub-list a{ font-size:0.92rem; color:var(--text-muted); border-bottom:none; padding:10px 6px; }

.mobile-nav .btn-primary{ margin-top:20px; justify-content:center; }

.mnav-toggle-icon{ transition:transform .2s var(--ease); }

.mnav-toggle-icon.open{ transform:rotate(180deg); }

.search-overlay{
  position:fixed; inset:0; z-index:1400;
  background:rgba(10,25,24,.55);
  display:flex; align-items:flex-start; justify-content:center;
  padding:12vh 20px 0;
  opacity:0; visibility:hidden;
  transition:opacity .25s var(--ease), visibility .25s;
}

.search-overlay.open{ opacity:1; visibility:visible; }

.search-box{
  width:100%; max-width:620px;
  background:var(--surface);
  border-radius:var(--radius-m);
  padding:8px;
  display:flex; align-items:center; gap:10px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
  transform:translateY(-14px);
  transition:transform .25s var(--ease);
}

.search-overlay.open .search-box{ transform:translateY(0); }

.search-box input{ flex:1; border:none; outline:none; font-size:1.1rem; padding:14px 10px; background:transparent; color:var(--text); }

.search-box .icon-btn{ color:var(--text-muted); }

.hero{
  position:relative;
  padding:170px 0 100px;
  background:linear-gradient(180deg, var(--primary-dark) 0%, var(--primary) 65%, #12605e 100%);
  color:#fff;
  overflow:hidden;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:56px;
  align-items:center;
}

.hero-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.92rem;
  color:#CFE7E4;
  margin-bottom:20px;
}

.hero-eyebrow .dot{ width:4px; height:4px; border-radius:50%; background:var(--accent); }

.hero h1{ color:#fff; margin-bottom:20px; }

.hero p.lead{ color:#D7E7E4; font-size:1.12rem; max-width:520px; margin-bottom:34px; }

.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }

.hero-visual{ position:relative; }

.hero-visual svg{ width:100%; height:auto; }

.trust-bar{
  background:var(--surface);
  border-bottom:1px solid var(--border);
  padding:34px 0;
}

.trust-list{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}

.trust-item{ display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }

.trust-item svg{ width:26px; height:26px; color:var(--primary); }

.trust-item span{ font-size:0.86rem; font-weight:500; color:var(--text-muted); }

.process-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border-top:1px solid var(--border);
}

.process-step{
  padding:32px 22px;
  border-inline-end:1px solid var(--border);
  transition:background .25s var(--ease), transform .25s var(--ease);
}

.process-step:last-child{ border-inline-end:none; }

.process-step:hover{ background:var(--surface); transform:translateY(-4px); }

.process-num{ font-size:0.85rem; color:var(--accent); font-weight:700; margin-bottom:14px; letter-spacing:.02em; }

.process-step svg{ width:26px; height:26px; color:var(--primary); margin-bottom:14px; }

.process-step h3{ font-size:1.02rem; margin-bottom:8px; }

.process-step p{ font-size:0.9rem; }

.services-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}

.service-card{
  background:var(--surface);
  padding:34px 28px;
  transition:background .25s var(--ease);
  display:flex; flex-direction:column;
}

.service-card:hover{ background:var(--background); }

.service-card svg{ width:28px; height:28px; color:var(--primary); margin-bottom:18px; }

.service-card h3{ margin-bottom:10px; font-size:1.05rem; }

.service-card p{ font-size:0.92rem; flex:1; margin-bottom:18px; }

.service-card .more{
  display:inline-flex; align-items:center; gap:6px;
  font-size:0.88rem; font-weight:600; color:var(--primary);
}

.service-card .more svg{ width:14px; height:14px; margin:0; color:var(--primary); transition:transform .2s var(--ease); }

.service-card:hover .more svg{ transform:translateX(-4px); }

.cat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.cat-card{
  position:relative;
  border-radius:var(--radius-m);
  overflow:hidden;
  height:220px;
  display:flex; align-items:flex-end;
  color:#fff;
  transition:transform .3s var(--ease);
}

.cat-card:hover{ transform:translateY(-5px); }

.cat-card .bg{
  position:absolute; inset:0;
  background:linear-gradient(200deg, var(--primary-light), var(--primary-dark));
}

.cat-card:nth-child(2) .bg{ background:linear-gradient(200deg,#3B4C74,#212A42); }

.cat-card:nth-child(3) .bg{ background:linear-gradient(200deg,#8A5A2A,#4E3115); }

.cat-card:nth-child(4) .bg{ background:linear-gradient(200deg,#1D6866,#0A3433); }

.cat-card:nth-child(5) .bg{ background:linear-gradient(200deg,#5B4B7A,#31283F); }

.cat-card:nth-child(6) .bg{ background:linear-gradient(200deg,#3E5C4F,#20302A); }

.cat-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,.55), transparent 60%);
}

.cat-card .content{ position:relative; padding:22px; width:100%; }

.cat-card h3{ color:#fff; font-size:1.08rem; margin-bottom:4px; }

.cat-card span{ font-size:0.82rem; color:rgba(255,255,255,.8); }

.head-row{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:26px; gap:20px; flex-wrap:wrap; }

.head-row .view-all{ font-weight:600; color:var(--primary); font-size:0.94rem; display:flex; align-items:center; gap:6px; flex-shrink:0; }

.head-row .view-all svg{ width:14px; height:14px; }

.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }

.product-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; transition:box-shadow .25s var(--ease), transform .25s var(--ease), border-color .25s var(--ease); }

.product-card:hover{ transform:translateY(-4px); box-shadow:0 22px 40px -26px rgba(10,52,51,.35); border-color:var(--primary-light); }

.product-media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--surface-alt); }

.product-media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease); }

.product-card:hover .product-media img{ transform:scale(1.045); }

.badge{ position:absolute; top:12px; right:12px; background:var(--accent); color:#fff; font-size:0.72rem; font-weight:700; padding:5px 10px; border-radius:999px; }

.product-body{ padding:18px; }

.product-cat{ font-size:0.78rem; color:var(--primary); font-weight:600; margin-bottom:6px; }

.product-body h3{ font-size:0.98rem; margin-bottom:6px; }

.product-body p{ font-size:0.86rem; margin-bottom:14px; }

.product-foot{ display:flex; align-items:center; justify-content:space-between; }

.product-price{ font-weight:700; font-size:0.92rem; }

.product-link{ display:flex; align-items:center; gap:5px; font-size:0.85rem; font-weight:600; color:var(--primary); }

.product-link svg{ width:13px; height:13px; transition:transform .2s var(--ease); }

.product-card:hover .product-link svg{ transform:translateX(-3px); }

.custom-cta{ background:var(--primary-dark); border-radius:var(--radius-m); padding:48px; display:grid; grid-template-columns:1.2fr auto; align-items:center; gap:28px; color:#fff; }

.custom-cta h2{ color:#fff; margin-bottom:12px; }

.custom-cta p{ color:#CFE0DD; max-width:520px; }

.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px 30px; }

.why-item{ display:flex; gap:14px; }

.why-item svg{ width:22px; height:22px; color:var(--accent); flex-shrink:0; margin-top:2px; }

.why-item h3{ font-size:1rem; margin-bottom:6px; }

.why-item p{ font-size:0.87rem; }

.timeline{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }

.timeline::before{ content:""; position:absolute; top:15px; right:0; left:0; height:1px; background:var(--border); }

.timeline-step{ position:relative; text-align:center; }

.timeline-dot{ width:30px; height:30px; border-radius:50%; background:var(--surface); border:2px solid var(--primary); color:var(--primary); font-size:0.78rem; font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; position:relative; z-index:2; }

.timeline-step h3{ font-size:0.9rem; margin-bottom:4px; }

.timeline-step p{ font-size:0.8rem; }

.consult-banner{ background:linear-gradient(120deg, var(--primary) 0%, #164f4d 100%); border-radius:var(--radius-m); padding:56px; color:#fff; text-align:center; }

.consult-banner h2{ color:#fff; margin-bottom:12px; }

.consult-banner p{ color:#D7E7E4; max-width:560px; margin:0 auto 26px; }

.consult-banner .ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; align-items:center; }

.consult-banner .phone{ font-weight:700; font-size:1.02rem; display:flex; align-items:center; gap:8px; justify-content:center; margin-top:18px; }

.consult-banner .phone svg{ width:17px; height:17px; }

.article-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.article-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; transition:transform .25s var(--ease); }

.article-card:hover{ transform:translateY(-3px); }

.article-media{ aspect-ratio:16/10; background:var(--surface-alt); overflow:hidden; }

.article-media img{ width:100%; height:100%; object-fit:cover; }

.article-body{ max-width:780px; }

.article-cat{ font-size:0.76rem; font-weight:700; color:var(--accent); margin-bottom:8px; }

.article-body h3{ font-size:1rem; margin-bottom:10px; }

.article-body p{ font-size:0.87rem; margin-bottom:16px; }

.article-meta{ display:flex; align-items:center; justify-content:space-between; font-size:0.78rem; color:var(--text-muted); padding-top:14px; border-top:1px solid var(--border); }

.article-meta .read-more{ color:var(--primary); font-weight:600; display:flex; align-items:center; gap:5px; }

.faq-list{ border-top:1px solid var(--border); }

.faq-item{ border-bottom:1px solid var(--border); }

.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 2px; text-align:right; font-weight:600; font-size:0.95rem; transition:background .2s var(--ease); }

.faq-q:hover{ background:var(--surface-alt); }

.faq-q .plus{ width:20px; height:20px; flex-shrink:0; position:relative; }

.faq-q .plus::before, .faq-q .plus::after{ content:""; position:absolute; top:50%; left:50%; background:var(--primary); transition:transform .3s var(--ease); }

.faq-q .plus::before{ width:13px; height:2px; transform:translate(-50%,-50%); }

.faq-q .plus::after{ width:2px; height:13px; transform:translate(-50%,-50%); }

.faq-item.open .plus::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }

.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }

.faq-a p{ padding:0 2px 18px; font-size:0.9rem; }

.final-cta{ text-align:center; }

.final-cta h2{ margin-bottom:14px; }

.final-cta p{ max-width:520px; margin:0 auto 28px; font-size:1.02rem; }

.final-cta .ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.site-footer{ background:var(--primary-dark); color:#CFE0DD; padding:56px 0 24px; }

.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12); }

.footer-logo{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.1rem; color:#fff; margin-bottom:12px; }

.footer-logo .mark{ width:30px; height:30px; border-radius:8px; background:var(--accent); display:flex; align-items:center; justify-content:center; }

.footer-logo .mark svg{ width:16px; height:16px; color:#fff; }

.footer-grid p{ color:#AFC7C3; font-size:0.88rem; max-width:280px; }

.footer-col h4{ color:#fff; font-size:0.92rem; margin-bottom:14px; }

.footer-col ul{ display:flex; flex-direction:column; gap:10px; }

.footer-col a{ font-size:0.86rem; color:#AFC7C3; }

.footer-col a:hover{ color:#fff; }

.footer-contact li{ display:flex; align-items:center; gap:8px; font-size:0.86rem; color:#AFC7C3; }

.footer-contact svg{ width:14px; height:14px; flex-shrink:0; }

.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:20px; font-size:0.8rem; color:#8FADA8; flex-wrap:wrap; gap:10px; }

.footer-bottom .legal{ display:flex; gap:16px; }

.floating-cta{
  position:fixed;
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  left:18px;
  z-index:900;
  display:none;
  align-items:center; gap:8px;
  background:var(--accent);
  color:#fff;
  padding:14px 20px;
  border-radius:999px;
  font-weight:700; font-size:0.92rem;
  box-shadow:0 14px 30px -12px rgba(169,98,30,.6);
}

.floating-cta svg{ width:17px; height:17px; }

.back-to-top{
  position:fixed; bottom:18px; right:18px; z-index:900;
  width:44px; height:44px; border-radius:50%;
  background:var(--surface); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px -12px rgba(0,0,0,.25);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}

.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }

.back-to-top svg{ width:18px; height:18px; color:var(--primary); }

.reveal{ opacity:0; transform:translateY(16px); transition:opacity .55s var(--ease), transform .55s var(--ease); }

.reveal.in{ opacity:1; transform:translateY(0); }

.skip-link{position:absolute; right:12px; top:-60px; background:var(--primary); color:#fff; padding:12px 18px; border-radius:var(--radius-s); z-index:2000; transition:top .2s var(--ease);}

.skip-link:focus{ top:12px; }

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.btn-primary:hover:not(:disabled){ background:var(--accent-dark); transform:translateY(-2px); box-shadow:0 10px 24px -10px rgba(169,98,30,.55);}

.btn-primary:active:not(:disabled){ transform:translateY(0) scale(.98); }

.btn-primary:disabled{ opacity:.6; cursor:not-allowed; }

.btn-block{ width:100%; }

.btn .spinner{ width:16px; height:16px; border-radius:50%; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; animation:spin .7s linear infinite; display:none; }

.btn.is-loading .spinner{ display:inline-block; }

.btn.is-loading .btn-label{ opacity:.001; position:absolute; }

.btn.is-loading{ position:relative; }

.btn.is-success{ background:var(--success); }

.breadcrumb{ padding:116px 0 14px; }

.breadcrumb ol{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:0.85rem; color:var(--text-muted); }

.breadcrumb a{ color:var(--text-muted); }

.breadcrumb a:hover{ color:var(--primary); }

.breadcrumb li[aria-current]{ color:var(--text); font-weight:600; }

.breadcrumb .sep{ color:var(--border); }

.product-hero{ padding:8px 0 40px; }

.product-grid-layout{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }

.gallery-main{
  position:relative; aspect-ratio:1/1; border-radius:var(--radius-m);
  overflow:hidden; background:var(--surface-alt); border:1px solid var(--border);
  cursor:zoom-in;
}

.gallery-main img{ width:100%; height:100%; object-fit:cover; transition:transform .3s var(--ease); }

.gallery-main:hover img{ transform:scale(1.03); }

.gallery-main .zoom-hint{
  position:absolute; bottom:14px; left:14px;
  background:rgba(10,52,51,.75); color:#fff;
  font-size:0.78rem; padding:6px 12px; border-radius:999px;
  display:flex; align-items:center; gap:6px;
}

.gallery-main .zoom-hint svg{ width:13px; height:13px; }

.gallery-thumbs{ display:flex; gap:10px; margin-top:12px; overflow-x:auto; padding-bottom:2px; }

.gallery-thumbs button{
  flex-shrink:0; width:72px; height:72px; border-radius:var(--radius-s);
  overflow:hidden; border:2px solid var(--border); transition:border-color .2s var(--ease), transform .2s var(--ease); padding:0;
}

.gallery-thumbs button:hover{ border-color:var(--primary-light); }

.gallery-thumbs button.active{ border-color:var(--accent); }

.gallery-thumbs img{ width:100%; height:100%; object-fit:cover; }

.product-badges{ display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }

.badge-bestseller{ background:var(--accent); color:#fff; }

.badge-new{ background:var(--primary); color:#fff; }

.badge-limited{ background:var(--surface-alt); color:var(--text); border:1px solid var(--border); }

.product-category a{ font-size:0.86rem; font-weight:600; color:var(--primary); }

.product-title{ margin:10px 0 12px; }

.product-short-desc{ font-size:1.02rem; margin-bottom:20px; max-width:520px; }

.key-attrs{ display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin-bottom:24px; padding:18px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); }

.key-attrs dt{ font-size:0.78rem; color:var(--text-muted); margin-bottom:2px; }

.key-attrs dd{ font-size:0.92rem; font-weight:600; }

.price-block{ margin-bottom:22px; }

.price-old{ font-size:0.95rem; color:var(--text-muted); text-decoration:line-through; margin-inline-start:10px; }

.price-current{ font-size:1.9rem; font-weight:800; color:var(--text); }

.price-current small{ font-size:0.95rem; font-weight:500; color:var(--text-muted); }

.price-discount{ display:inline-block; margin-inline-start:10px; background:var(--success-bg); color:var(--success); font-size:0.8rem; font-weight:700; padding:3px 9px; border-radius:6px; vertical-align:middle; }

.purchase-ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }

.purchase-ctas .btn{ flex:1; min-width:180px; }

.consult-link-inline{ display:inline-flex; align-items:center; gap:6px; font-size:0.9rem; font-weight:600; color:var(--primary); margin-bottom:26px; }

.consult-link-inline svg{ width:15px; height:15px; }

.add-to-cart-msg{
  display:none; align-items:center; gap:8px;
  background:var(--success-bg); color:var(--success);
  font-size:0.88rem; font-weight:600; padding:10px 14px; border-radius:var(--radius-s); margin-bottom:16px;
}

.add-to-cart-msg.show{ display:flex; }

.add-to-cart-msg svg{ width:16px; height:16px; }

.add-to-cart-msg a{ text-decoration:underline; margin-inline-start:auto; }

.trust-mini{ display:flex; flex-direction:column; gap:10px; padding-top:20px; border-top:1px solid var(--border); }

.trust-mini li{ display:flex; align-items:center; gap:10px; font-size:0.86rem; color:var(--text-muted); }

.trust-mini svg{ width:16px; height:16px; color:var(--primary); flex-shrink:0; }

.product-meta-secondary{ margin-top:20px; font-size:0.8rem; color:var(--text-muted); display:flex; flex-wrap:wrap; gap:4px 14px; }

.product-meta-secondary strong{ color:var(--text); font-weight:600; }

.sticky-bar{
  position:fixed; top:0; inset-inline:0; z-index:950;
  background:var(--surface); border-bottom:1px solid var(--border);
  box-shadow:0 8px 20px -14px rgba(10,52,51,.25);
  transform:translateY(-110%); transition:transform .3s var(--ease);
  padding:14px 0;
}

.sticky-bar.show{ transform:translateY(0); }

.sticky-bar .row{ display:flex; align-items:center; justify-content:space-between; gap:20px; }

.sticky-bar .info{ display:flex; align-items:center; gap:14px; min-width:0; }

.sticky-bar .thumb{ width:44px; height:44px; border-radius:var(--radius-s); overflow:hidden; flex-shrink:0; }

.sticky-bar .thumb img{ width:100%; height:100%; object-fit:cover; }

.sticky-bar .name{ font-size:0.9rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.sticky-bar .price{ font-size:0.86rem; color:var(--text-muted); }

.sticky-bar .actions{ display:flex; gap:10px; flex-shrink:0; }

.mobile-sticky-cta{
  display:none;
  position:fixed; bottom:0; inset-inline:0; z-index:950;
  background:var(--surface); border-top:1px solid var(--border);
  box-shadow:0 -8px 20px -14px rgba(10,52,51,.25);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  align-items:center; justify-content:space-between; gap:14px;
}

.mobile-sticky-cta .price-current{ font-size:1.15rem; }

.mobile-sticky-cta .btn{ flex-shrink:0; padding:12px 22px; }

.quick-facts{ border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; background:var(--surface); }

.quick-facts .qf-row{ display:grid; grid-template-columns:180px 1fr; border-bottom:1px solid var(--border); }

.quick-facts .qf-row:last-child{ border-bottom:none; }

.quick-facts .qf-row dt{ padding:14px 18px; background:var(--surface-alt); font-size:0.88rem; font-weight:600; color:var(--text-muted); }

.quick-facts .qf-row dd{ padding:14px 18px; font-size:0.92rem; }

.content-cols{ display:grid; grid-template-columns:1.6fr 1fr; gap:44px; align-items:start; }

.prose p{ color:var(--text); margin-bottom:18px; }

.prose p:last-child{ margin-bottom:0; }

.ingredient-list{ display:flex; flex-direction:column; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; }

.ingredient-item{ background:var(--surface); padding:16px 18px; display:flex; justify-content:space-between; gap:14px; align-items:center; }

.ingredient-item .name{ font-weight:600; font-size:0.94rem; }

.ingredient-item .role{ font-size:0.82rem; color:var(--primary); background:var(--surface-alt); padding:4px 10px; border-radius:999px; flex-shrink:0; }

.get-list{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }

.get-list li{ display:flex; align-items:flex-start; gap:10px; font-size:0.92rem; color:var(--text); }

.get-list svg{ width:18px; height:18px; color:var(--success); flex-shrink:0; margin-top:1px; }

.file-preview{ display:flex; align-items:center; gap:16px; padding:20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); }

.file-preview .icon{ width:50px; height:50px; border-radius:var(--radius-s); background:var(--surface-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.file-preview .icon svg{ width:24px; height:24px; color:var(--primary); }

.file-preview .meta{ font-size:0.82rem; color:var(--text-muted); display:flex; gap:12px; margin-top:4px; flex-wrap:wrap; }

.file-preview h4{ font-size:0.96rem; margin-bottom:2px; }

.mini-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

.mini-card{ padding:20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); }

.mini-card svg{ width:22px; height:22px; color:var(--primary); margin-bottom:12px; }

.mini-card h4{ font-size:0.94rem; margin-bottom:6px; }

.mini-card p{ font-size:0.85rem; }

.level-row{ display:flex; align-items:center; gap:14px; }

.level-track{ flex:1; display:flex; gap:4px; }

.level-track span{ height:8px; flex:1; border-radius:4px; background:var(--border); }

.level-track span.filled{ background:var(--primary); }

.level-label{ font-size:0.9rem; font-weight:700; color:var(--primary); flex-shrink:0; }

.objection-list{ display:flex; flex-direction:column; gap:14px; }

.objection-item{ display:flex; gap:14px; padding:16px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); }

.objection-item svg{ width:20px; height:20px; color:var(--primary); flex-shrink:0; margin-top:2px; }

.objection-item h4{ font-size:0.92rem; margin-bottom:4px; }

.objection-item p{ font-size:0.85rem; }

.support-box{ background:var(--surface-alt); border:1px solid var(--border); border-radius:var(--radius-m); padding:26px; text-align:center; }

.support-box svg{ width:26px; height:26px; color:var(--accent); margin-bottom:12px; }

.support-box h3{ margin-bottom:8px; font-size:1rem; }

.support-box p{ font-size:0.88rem; margin-bottom:16px; }

.benefit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.benefit-item{ display:flex; gap:14px; }

.benefit-item svg{ width:22px; height:22px; color:var(--accent); flex-shrink:0; margin-top:2px; }

.benefit-item h4{ font-size:0.94rem; margin-bottom:4px; }

.benefit-item p{ font-size:0.85rem; }

.read-more{ font-size:0.82rem; font-weight:600; color:var(--primary); }

.final-cta-box{ background:linear-gradient(120deg, var(--primary) 0%, #164f4d 100%); border-radius:var(--radius-m); padding:52px; color:#fff; text-align:center; }

.final-cta-box h2{ color:#fff; margin-bottom:12px; }

.final-cta-box p{ color:#D7E7E4; max-width:540px; margin:0 auto 26px; }

.final-cta-box .ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.footer-col a.active-cat{ color:#fff; font-weight:600; }

.lightbox{ position:fixed; inset:0; z-index:1500; background:rgba(6,20,19,.94); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .25s var(--ease), visibility .25s; }

.lightbox.open{ opacity:1; visibility:visible; }

.lightbox img{ max-width:88vw; max-height:82vh; object-fit:contain; border-radius:4px; }

.lightbox .lb-close{ position:absolute; top:20px; left:20px; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; }

.lightbox .lb-close:hover{ background:rgba(255,255,255,.22); }

.lightbox .lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; }

.lightbox .lb-nav:hover{ background:rgba(255,255,255,.22); }

.lightbox .lb-prev{ right:20px; }

.lightbox .lb-next{ left:20px; }

.lightbox svg{ width:20px; height:20px; }

.view-all{ font-weight:600; color:var(--primary); font-size:0.9rem; display:flex; align-items:center; gap:6px; }

.view-all svg{ width:13px; height:13px; }

input,select{font-family:inherit;}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{ outline:2.5px solid var(--accent); outline-offset:3px; border-radius:4px; }

.cat-hero{ padding:16px 0 40px; }

.cat-hero-inner{
  background:linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 100%);
  border-radius:var(--radius-m);
  padding:44px 40px;
  color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
}

.cat-hero-text{ max-width:640px; }

.cat-hero-icon{
  width:56px; height:56px; border-radius:14px;
  background:rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}

.cat-hero-icon svg{ width:28px; height:28px; }

.cat-hero-text h1{ color:#fff; margin-bottom:12px; }

.cat-hero-text p{ color:#D7E7E4; font-size:0.98rem; }

.cat-hero-count{ font-size:0.86rem; color:#CFE7E4; margin-top:14px; display:inline-block; }

.subcat-scroller{ display:flex; gap:10px; overflow-x:auto; padding:22px 0 0; }

.subcat-chip{
  flex-shrink:0; display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; border-radius:999px; border:1px solid var(--border);
  background:var(--surface); font-size:0.88rem; font-weight:600; color:var(--text);
  transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}

.subcat-chip:hover{ border-color:var(--primary-light); }

.subcat-chip.active{ background:var(--primary); color:#fff; border-color:var(--primary); }

.archive-layout{ display:grid; grid-template-columns:300px 1fr; gap:40px; align-items:start; padding-top:32px; }

.filters{ position:sticky; top:96px; }

.filter-group{ border-bottom:1px solid var(--border); padding-bottom:18px; margin-bottom:18px; }

.filter-group:last-child{ border-bottom:none; }

.filter-group-title{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  font-size:0.94rem; font-weight:700; margin-bottom:14px; color:var(--text);
}

.filter-group-title svg{ width:14px; height:14px; transition:transform .2s var(--ease); color:var(--text-muted); }

.filter-group.collapsed .filter-group-title svg{ transform:rotate(-90deg); }

.filter-group.collapsed .filter-options{ display:none; }

.filter-options{ display:flex; flex-direction:column; gap:10px; }

.filter-check{ display:flex; align-items:center; gap:9px; font-size:0.88rem; color:var(--text-muted); cursor:pointer; }

.filter-check input{ width:16px; height:16px; accent-color:var(--primary); flex-shrink:0; }

.filter-check .count{ margin-inline-start:auto; font-size:0.78rem; color:var(--text-muted); }

.price-inputs{ display:flex; align-items:center; gap:8px; }

.price-inputs input{ width:100%; padding:9px 10px; border:1px solid var(--border); border-radius:var(--radius-s); font-size:0.85rem; background:var(--surface); }

.filters .clear-filters{ font-size:0.85rem; font-weight:600; color:var(--accent); }

.mobile-filter-bar{ display:none; }

.filters-overlay{ display:none; position:fixed; inset:0; background:rgba(10,25,24,.5); z-index:1250; opacity:0; visibility:hidden; transition:opacity .3s var(--ease), visibility .3s; }

.filters-overlay.open{ opacity:1; visibility:visible; }

.filters-drawer-head{ display:none; align-items:center; justify-content:space-between; margin-bottom:20px; }

.filters-apply{ display:none; }

.toolbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; gap:16px; flex-wrap:wrap; }

.results-count{ font-size:0.86rem; color:var(--text-muted); }

.results-count strong{ color:var(--text); }

.toolbar-right{ display:flex; align-items:center; gap:12px; }

.sort-select{ padding:9px 14px; border:1px solid var(--border); border-radius:var(--radius-s); background:var(--surface); font-size:0.85rem; color:var(--text); font-weight:600; }

.view-toggle{ display:flex; border:1px solid var(--border); border-radius:var(--radius-s); overflow:hidden; }

.view-toggle button{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; color:var(--text-muted); }

.view-toggle button.active{ background:var(--surface-alt); color:var(--primary); }

.view-toggle svg{ width:16px; height:16px; }

.active-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }

.active-filters .tag{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--surface-alt); border:1px solid var(--border); border-radius:999px;
  padding:6px 12px; font-size:0.8rem; font-weight:600; color:var(--text);
}

.active-filters .tag button{ display:flex; color:var(--text-muted); }

.active-filters .tag button svg{ width:12px; height:12px; }

.product-grid.list-view{ grid-template-columns:1fr; }

.badge.badge-new{ background:var(--primary); }

.product-grid.list-view .product-card{ display:grid; grid-template-columns:220px 1fr; }

.product-grid.list-view .product-media{ aspect-ratio:auto; height:100%; }

.product-grid.list-view .product-body{ display:flex; flex-direction:column; justify-content:center; }

.skeleton-card{ border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; }

.skeleton-media{ aspect-ratio:4/3; background:linear-gradient(90deg, var(--surface-alt) 25%, #E9E7DF 37%, var(--surface-alt) 63%); background-size:400% 100%; animation:shimmer 1.4s ease infinite; }

.skeleton-line{ height:12px; margin:14px 16px; border-radius:4px; background:linear-gradient(90deg, var(--surface-alt) 25%, #E9E7DF 37%, var(--surface-alt) 63%); background-size:400% 100%; animation:shimmer 1.4s ease infinite; }

.skeleton-line.short{ width:60%; }

.empty-state{ text-align:center; padding:60px 20px; border:1px dashed var(--border); border-radius:var(--radius-m); }

.empty-state svg{ width:36px; height:36px; color:var(--text-muted); margin-bottom:14px; }

.empty-state h3{ margin-bottom:6px; }

.empty-state p{ font-size:0.9rem; }

.pagination{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:40px; }

.pagination a, .pagination span{ min-width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-s); font-size:0.88rem; font-weight:600; color:var(--text); border:1px solid var(--border); background:var(--surface); }

.pagination a:hover{ border-color:var(--primary); color:var(--primary); }

.pagination .current{ background:var(--primary); color:#fff; border-color:var(--primary); }

.pagination .dots{ border:none; background:none; }

.pagination svg{ width:14px; height:14px; }

.seo-block{ background:var(--surface-alt); }

.seo-block .prose{ max-width:820px; }

.seo-block .prose p{ margin-bottom:16px; font-size:0.95rem; color:var(--text); }

.seo-block .prose p:last-child{ margin-bottom:0; }

a:focus-visible, button:focus-visible{ outline:2.5px solid var(--accent); outline-offset:3px; border-radius:4px; }

.btn-sm{ padding:10px 18px; font-size:0.86rem; }

.services-hero{ padding:24px 0 0; }

.services-hero-inner{ max-width:680px; }

.services-hero h1{ margin-bottom:16px; }

.services-hero p.lead{ font-size:1.05rem; margin-bottom:0; }

.services-hero-ctas{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; }

.value-bar{ padding:36px 0; border-bottom:1px solid var(--border); margin-top:40px; }

.value-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

.value-item{ display:flex; align-items:flex-start; gap:12px; }

.value-item svg{ width:22px; height:22px; color:var(--primary); flex-shrink:0; margin-top:2px; }

.value-item h4{ font-size:0.9rem; margin-bottom:3px; }

.value-item p{ font-size:0.82rem; }

.services-layout{ display:grid; grid-template-columns:230px 1fr; gap:48px; align-items:start; }

.anchor-nav{ position:sticky; top:96px; display:flex; flex-direction:column; gap:2px; }

.anchor-nav .an-label{ font-size:0.78rem; color:var(--text-muted); font-weight:600; margin-bottom:10px; }

.anchor-nav a{
  padding:10px 14px; font-size:0.88rem; font-weight:500; color:var(--text-muted);
  border-inline-start:2px solid var(--border); transition:color .2s var(--ease), border-color .2s var(--ease);
}

.anchor-nav a:hover{ color:var(--primary); }

.anchor-nav a.active{ color:var(--primary); border-inline-start-color:var(--accent); font-weight:700; }

.services-detail{ display:flex; flex-direction:column; gap:64px; }

.service-block{ scroll-margin-top:100px; }

.service-block-head{ display:flex; align-items:flex-start; gap:16px; margin-bottom:18px; }

.service-icon{ width:52px; height:52px; border-radius:var(--radius-m); background:var(--surface-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.service-icon svg{ width:26px; height:26px; color:var(--primary); }

.service-block h2{ margin-bottom:6px; }

.service-tagline{ font-size:0.88rem; color:var(--primary); font-weight:600; }

.service-block .lead-text{ font-size:0.98rem; color:var(--text); max-width:720px; margin-bottom:26px; }

.service-cols{ display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-bottom:26px; }

.service-cols h4{ font-size:0.92rem; margin-bottom:14px; color:var(--text); }

.check-list{ display:flex; flex-direction:column; gap:10px; }

.check-list li{ display:flex; align-items:flex-start; gap:9px; font-size:0.9rem; color:var(--text); }

.check-list svg{ width:16px; height:16px; color:var(--success); flex-shrink:0; margin-top:3px; }

.audience-list{ display:flex; flex-direction:column; gap:10px; }

.audience-list li{ display:flex; align-items:flex-start; gap:9px; font-size:0.9rem; color:var(--text-muted); }

.audience-list svg{ width:15px; height:15px; color:var(--accent); flex-shrink:0; margin-top:3px; }

.service-block-foot{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding-top:6px; }

.service-block-foot .note{ font-size:0.82rem; color:var(--text-muted); }

.quick-link-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

.quick-link-card{
  display:flex; align-items:center; gap:14px; padding:20px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m);
  transition:transform .22s var(--ease), border-color .22s var(--ease);
}

.quick-link-card:hover{ transform:translateY(-3px); border-color:var(--primary-light); }

.quick-link-card .icon{ width:42px; height:42px; border-radius:var(--radius-s); background:var(--surface-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.quick-link-card .icon svg{ width:20px; height:20px; color:var(--primary); }

.quick-link-card h4{ font-size:0.92rem; margin-bottom:3px; }

.quick-link-card span.hint{ font-size:0.78rem; color:var(--text-muted); }

.quick-link-card .arrow{ margin-inline-start:auto; color:var(--text-muted); flex-shrink:0; transition:transform .2s var(--ease); }

.quick-link-card:hover .arrow{ transform:translateX(-3px); color:var(--primary); }

.quick-link-card .arrow svg{ width:15px; height:15px; }

.compare-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-m); }

.compare-table{ width:100%; border-collapse:collapse; min-width:560px; }

.compare-table th, .compare-table td{ padding:16px 18px; text-align:right; border-bottom:1px solid var(--border); font-size:0.9rem; }

.compare-table th{ background:var(--surface-alt); font-weight:700; font-size:0.88rem; }

.compare-table td:first-child, .compare-table th:first-child{ color:var(--text-muted); font-weight:500; width:38%; }

.compare-table tr:last-child td{ border-bottom:none; }

.compare-table .yes{ color:var(--success); font-weight:600; }

.compare-table .highlight-col{ background:rgba(201,122,43,.05); }

.why-item h4{ font-size:0.96rem; margin-bottom:5px; }

.about-hero{ padding:28px 0 0; }

.about-hero-inner{ max-width:740px; }

.about-hero h1{ margin-bottom:18px; }

.about-hero p.lead{ font-size:1.06rem; }

.mission-strip{
  margin-top:44px;
  background:linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 100%);
  border-radius:var(--radius-m);
  padding:44px;
  color:#fff;
}

.mission-strip p{ color:#E4F0EE; font-size:1.15rem; font-weight:500; line-height:1.9; max-width:820px; }

.story-cols{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }

.story-cols .prose p{ margin-bottom:16px; font-size:0.98rem; color:var(--text); }

.story-cols .prose p:last-child{ margin-bottom:0; }

.story-visual{ position:relative; aspect-ratio:4/3; border-radius:var(--radius-m); overflow:hidden; background:var(--surface-alt); }

.story-visual svg{ width:100%; height:100%; }

.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

.value-card{ padding:26px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); transition:transform .22s var(--ease); }

.value-card:hover{ transform:translateY(-4px); }

.value-card svg{ width:26px; height:26px; color:var(--primary); margin-bottom:16px; }

.value-card h3{ font-size:0.98rem; margin-bottom:8px; }

.value-card p{ font-size:0.88rem; }

.expertise-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; }

.expertise-card{ background:var(--surface); padding:26px 20px; text-align:center; transition:background .22s var(--ease); }

.expertise-card:hover{ background:var(--background); }

.expertise-card svg{ width:26px; height:26px; color:var(--primary); margin-bottom:14px; }

.expertise-card h4{ font-size:0.9rem; }

.team-intro{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }

.team-roles{ display:flex; flex-direction:column; gap:18px; }

.team-role{ display:flex; gap:14px; padding:18px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); }

.team-role .icon{ width:44px; height:44px; border-radius:var(--radius-s); background:var(--surface-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.team-role .icon svg{ width:21px; height:21px; color:var(--primary); }

.team-role h4{ font-size:0.94rem; margin-bottom:4px; }

.team-role p{ font-size:0.86rem; }

.facility-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

.facility-card{ padding:26px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); }

.facility-card svg{ width:24px; height:24px; color:var(--accent); margin-bottom:16px; }

.facility-card h3{ font-size:0.96rem; margin-bottom:8px; }

.facility-card p{ font-size:0.88rem; }

input, textarea, select{ font-family:inherit; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{ outline:2.5px solid var(--accent); outline-offset:3px; border-radius:4px; }

.contact-hero{ padding:24px 0 0; }

.contact-hero-inner{ max-width:660px; }

.contact-hero h1{ margin-bottom:14px; }

.contact-hero p.lead{ font-size:1.02rem; }

.contact-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; }

.contact-card{
  display:flex; flex-direction:column; gap:12px; padding:24px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m);
  transition:transform .22s var(--ease), border-color .22s var(--ease);
}

.contact-card:hover{ transform:translateY(-3px); border-color:var(--primary-light); }

.contact-card .icon{ width:44px; height:44px; border-radius:var(--radius-s); background:var(--surface-alt); display:flex; align-items:center; justify-content:center; }

.contact-card .icon svg{ width:21px; height:21px; color:var(--primary); }

.contact-card h3{ font-size:0.92rem; }

.contact-card .value{ font-size:0.95rem; font-weight:600; color:var(--text); }

.contact-card .hint{ font-size:0.8rem; color:var(--text-muted); }

.contact-layout{ display:grid; grid-template-columns:1.5fr 1fr; gap:44px; align-items:start; }

.contact-form{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); padding:32px; }

.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }

.form-field{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }

.form-field label{ font-size:0.86rem; font-weight:600; color:var(--text); }

.form-field label .optional{ font-weight:400; color:var(--text-muted); font-size:0.78rem; }

.form-field input, .form-field select, .form-field textarea{
  padding:13px 14px; border:1.5px solid var(--border); border-radius:var(--radius-s);
  font-size:0.92rem; color:var(--text); background:var(--surface);
  transition:border-color .2s var(--ease);
}

.form-field input:focus, .form-field select:focus, .form-field textarea:focus{ border-color:var(--primary); outline:none; }

.form-field textarea{ resize:vertical; min-height:120px; }

.form-field .error-msg{ display:none; font-size:0.8rem; color:var(--error); }

.form-field.has-error input, .form-field.has-error select, .form-field.has-error textarea{ border-color:var(--error); }

.form-field.has-error .error-msg{ display:block; }

.form-privacy{ font-size:0.8rem; color:var(--text-muted); margin-bottom:18px; }

.form-status{
  display:none; align-items:center; gap:10px; padding:12px 16px; border-radius:var(--radius-s);
  font-size:0.88rem; font-weight:600; margin-bottom:18px;
}

.form-status.show{ display:flex; }

.form-status.success{ background:var(--success-bg); color:var(--success); }

.form-status svg{ width:17px; height:17px; flex-shrink:0; }

.contact-sidebar{ display:flex; flex-direction:column; gap:22px; }

.sidebar-box{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); padding:22px; }

.sidebar-box h3{ font-size:0.94rem; margin-bottom:16px; }

.info-list{ display:flex; flex-direction:column; gap:14px; }

.info-list li{ display:flex; gap:12px; align-items:flex-start; }

.info-list svg{ width:18px; height:18px; color:var(--primary); flex-shrink:0; margin-top:2px; }

.info-list .label{ font-size:0.78rem; color:var(--text-muted); margin-bottom:2px; }

.info-list .value{ font-size:0.92rem; font-weight:600; color:var(--text); }

.info-list a.value:hover{ color:var(--primary); }

.hours-table{ display:flex; flex-direction:column; gap:8px; }

.hours-table .row{ display:flex; justify-content:space-between; font-size:0.86rem; }

.hours-table .row span:first-child{ color:var(--text-muted); }

.hours-table .row span:last-child{ font-weight:600; }

.hours-table .row.today span:last-child{ color:var(--primary); }

.social-row{ display:flex; gap:10px; margin-top:6px; }

.social-row a{ width:38px; height:38px; border-radius:50%; background:var(--surface-alt); display:flex; align-items:center; justify-content:center; transition:background .2s var(--ease), color .2s var(--ease); color:var(--text); }

.social-row a:hover{ background:var(--primary); color:#fff; }

.social-row svg{ width:17px; height:17px; }

.support-note{ background:var(--surface-alt); border-radius:var(--radius-m); padding:20px; font-size:0.86rem; color:var(--text-muted); display:flex; gap:12px; align-items:flex-start; }

.support-note svg{ width:18px; height:18px; color:var(--accent); flex-shrink:0; margin-top:2px; }

.map-wrap{
  position:relative; aspect-ratio:16/6; border-radius:var(--radius-m); overflow:hidden;
  border:1px solid var(--border); background:var(--surface-alt);
  display:flex; align-items:center; justify-content:center;
}

.map-wrap .map-placeholder{ text-align:center; color:var(--text-muted); font-size:0.9rem; padding:20px; }

.map-wrap .map-placeholder svg{ width:26px; height:26px; color:var(--primary); margin-bottom:10px; }

.dept-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

.dept-card{
  display:flex; align-items:center; gap:14px; padding:20px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m);
  transition:transform .22s var(--ease), border-color .22s var(--ease);
}

.dept-card:hover{ transform:translateY(-3px); border-color:var(--primary-light); }

.dept-card .icon{ width:42px; height:42px; border-radius:var(--radius-s); background:var(--surface-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.dept-card .icon svg{ width:20px; height:20px; color:var(--primary); }

.dept-card h4{ font-size:0.9rem; margin-bottom:2px; }

.dept-card span{ font-size:0.78rem; color:var(--text-muted); }

.dept-card .arrow{ margin-inline-start:auto; color:var(--text-muted); transition:transform .2s var(--ease); }

.dept-card:hover .arrow{ transform:translateX(-3px); color:var(--primary); }

.dept-card .arrow svg{ width:14px; height:14px; }

.articles-hero{ padding:24px 0 0; }

.articles-hero-inner{ max-width:680px; }

.articles-hero h1{ margin-bottom:14px; }

.articles-hero p.lead{ font-size:1.02rem; margin-bottom:26px; }

.search-bar{
  display:flex; align-items:center; gap:10px;
  background:var(--surface); border:1.5px solid var(--border); border-radius:999px;
  padding:6px 8px 6px 20px; max-width:480px;
}

.search-bar input{ flex:1; border:none; outline:none; background:transparent; font-size:0.94rem; padding:10px 4px; color:var(--text); }

.search-bar button{
  width:40px; height:40px; border-radius:50%; background:var(--primary); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s var(--ease);
}

.search-bar button:hover{ background:var(--primary-dark); }

.search-bar svg{ width:17px; height:17px; }

.featured-article{
  display:grid; grid-template-columns:1.1fr 1fr; gap:0;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m);
  overflow:hidden; margin-top:40px;
  transition:box-shadow .25s var(--ease);
}

.featured-article:hover{ box-shadow:0 24px 46px -28px rgba(10,52,51,.35); }

.featured-media{ position:relative; min-height:260px; background:var(--surface-alt); overflow:hidden; }

.featured-media img{ width:100%; height:100%; object-fit:cover; }

.featured-media .badge{ position:absolute; top:16px; right:16px; background:var(--accent); color:#fff; font-size:0.74rem; font-weight:700; padding:6px 12px; border-radius:999px; }

.featured-body{ padding:34px; display:flex; flex-direction:column; justify-content:center; }

.featured-cat{ font-size:0.8rem; font-weight:700; color:var(--primary); margin-bottom:10px; }

.featured-body h2{ font-size:1.35rem; margin-bottom:12px; }

.featured-body p{ font-size:0.94rem; margin-bottom:20px; }

.featured-meta{ display:flex; align-items:center; gap:14px; font-size:0.8rem; color:var(--text-muted); margin-bottom:22px; }

.featured-meta span{ display:flex; align-items:center; gap:5px; }

.featured-meta svg{ width:14px; height:14px; }

.cat-scroller{ display:flex; gap:10px; overflow-x:auto; padding:32px 0 0; }

.cat-chip{
  flex-shrink:0; display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; border-radius:999px; border:1px solid var(--border);
  background:var(--surface); font-size:0.86rem; font-weight:600; color:var(--text);
  transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}

.cat-chip:hover{ border-color:var(--primary-light); }

.cat-chip.active{ background:var(--primary); color:#fff; border-color:var(--primary); }

.cat-chip .count{ font-size:0.76rem; opacity:0.75; }

.article-card:hover .article-media img{ transform:scale(1.04); }

.article-meta .read-more svg{ width:12px; height:12px; transition:transform .2s var(--ease); }

.article-card:hover .read-more svg{ transform:translateX(-3px); }

.sidebar{ position:sticky; top:96px; display:flex; flex-direction:column; gap:22px; }

.cat-list{ display:flex; flex-direction:column; gap:2px; }

.cat-list a{ display:flex; justify-content:space-between; align-items:center; padding:10px 4px; font-size:0.88rem; color:var(--text); border-bottom:1px solid var(--border); transition:color .2s var(--ease); }

.cat-list li:last-child a{ border-bottom:none; }

.cat-list a:hover{ color:var(--primary); }

.cat-list .count{ font-size:0.78rem; color:var(--text-muted); }

.popular-list{ display:flex; flex-direction:column; gap:16px; }

.popular-item{ display:flex; gap:12px; align-items:center; }

.popular-item .num{ font-size:1.1rem; font-weight:800; color:var(--border); flex-shrink:0; width:22px; }

.popular-item .thumb{ width:52px; height:52px; border-radius:var(--radius-s); overflow:hidden; flex-shrink:0; background:var(--surface-alt); }

.popular-item .thumb img{ width:100%; height:100%; object-fit:cover; }

.popular-item h4{ font-size:0.85rem; line-height:1.5; }

.popular-item h4 a:hover{ color:var(--primary); }

.newsletter-box{ background:linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 100%); color:#fff; }

.newsletter-box h3{ color:#fff; }

.newsletter-box p{ color:#D7E7E4; font-size:0.86rem; margin-bottom:16px; }

.newsletter-form{ display:flex; flex-direction:column; gap:10px; }

.newsletter-form input{ padding:12px 14px; border-radius:var(--radius-s); border:none; font-size:0.88rem; }

.newsletter-note{ font-size:0.74rem; color:#B9D6D2; margin-top:8px; }

.tag-cloud{ display:flex; flex-wrap:wrap; gap:8px; }

.tag-cloud a{ font-size:0.8rem; padding:6px 12px; border-radius:999px; background:var(--surface-alt); color:var(--text-muted); transition:background .2s var(--ease), color .2s var(--ease); }

.tag-cloud a:hover{ background:var(--primary); color:#fff; }

ul,ol{list-style:none;}

.progress-bar{ position:fixed; top:0; inset-inline:0; height:3px; z-index:1010; background:transparent; }

.progress-bar .fill{ height:100%; width:0%; background:var(--accent); transition:width .1s linear; }

.article-header{ padding:0 0 32px; }

.article-header-inner{ max-width:780px; }

.article-cat-badge{ display:inline-block; font-size:0.82rem; font-weight:700; color:var(--primary); background:var(--surface-alt); padding:6px 14px; border-radius:999px; margin-bottom:16px; }

.article-header h1{ margin-bottom:16px; }

.article-excerpt{ font-size:1.06rem; color:var(--text); margin-bottom:22px; }

.article-meta-row{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:0.86rem; color:var(--text-muted); }

.article-meta-row .author{ display:flex; align-items:center; gap:10px; }

.author-avatar{ width:34px; height:34px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.8rem; font-weight:700; flex-shrink:0; }

.article-meta-row span.sep-dot{ width:3px; height:3px; border-radius:50%; background:var(--border); }

.article-meta-row .meta-item{ display:flex; align-items:center; gap:5px; }

.article-meta-row svg{ width:14px; height:14px; }

.featured-image{ border-radius:var(--radius-m); overflow:hidden; aspect-ratio:21/9; background:var(--surface-alt); margin-bottom:8px; }

.featured-image img{ width:100%; height:100%; object-fit:cover; }

.image-caption{ font-size:0.8rem; color:var(--text-muted); text-align:center; margin-bottom:0; }

.article-layout{ display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start; padding:44px 0 0; }

.toc{ position:sticky; top:96px; }

.toc-label{ font-size:0.78rem; color:var(--text-muted); font-weight:600; margin-bottom:12px; }

.toc ol{ display:flex; flex-direction:column; gap:2px; }

.toc a{
  display:block; padding:9px 12px; font-size:0.86rem; font-weight:500; color:var(--text-muted);
  border-inline-start:2px solid var(--border); transition:color .2s var(--ease), border-color .2s var(--ease);
}

.toc a:hover{ color:var(--primary); }

.toc a.active{ color:var(--primary); border-inline-start-color:var(--accent); font-weight:700; }

.toc-share{ display:flex; gap:8px; margin-top:22px; padding-top:22px; border-top:1px solid var(--border); }

.toc-share a{ width:36px; height:36px; border-radius:50%; background:var(--surface-alt); display:flex; align-items:center; justify-content:center; color:var(--text); transition:background .2s var(--ease), color .2s var(--ease); }

.toc-share a:hover{ background:var(--primary); color:#fff; }

.toc-share svg{ width:16px; height:16px; }

.prose{ font-size:1.02rem; color:var(--text); }

.prose h2{ margin-top:44px; margin-bottom:16px; scroll-margin-top:100px; }

.prose h2:first-child{ margin-top:0; }

.prose h3{ margin-top:28px; margin-bottom:12px; scroll-margin-top:100px; }

.prose ul, .prose ol{ margin:0 0 18px; display:flex; flex-direction:column; gap:10px; }

.prose ul li{ display:flex; align-items:flex-start; gap:10px; }

.prose ul li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; margin-top:9px; }

.prose ol{ counter-reset:item; }

.prose ol li{ display:flex; gap:12px; align-items:flex-start; }

.prose ol li::before{ counter-increment:item; content:counter(item); flex-shrink:0; width:24px; height:24px; border-radius:50%; background:var(--surface-alt); color:var(--primary); font-size:0.78rem; font-weight:700; display:flex; align-items:center; justify-content:center; }

.pull-quote{
  border-inline-start:3px solid var(--accent); padding:6px 24px; margin:28px 0;
  font-size:1.12rem; font-weight:600; color:var(--text); line-height:1.8;
}

.tip-box{ background:var(--surface-alt); border-radius:var(--radius-m); padding:22px 24px; margin:28px 0; display:flex; gap:14px; }

.tip-box svg{ width:20px; height:20px; color:var(--primary); flex-shrink:0; margin-top:2px; }

.tip-box h4{ font-size:0.92rem; margin-bottom:6px; }

.tip-box p{ font-size:0.9rem; margin-bottom:0; }

.inline-image{ border-radius:var(--radius-m); overflow:hidden; margin:28px 0 8px; aspect-ratio:16/9; background:var(--surface-alt); }

.inline-image img{ width:100%; height:100%; object-fit:cover; }

.mini-table-wrap{ overflow-x:auto; margin:24px 0; border:1px solid var(--border); border-radius:var(--radius-m); }

.mini-table{ width:100%; border-collapse:collapse; min-width:480px; }

.mini-table th, .mini-table td{ padding:13px 16px; text-align:right; border-bottom:1px solid var(--border); font-size:0.88rem; }

.mini-table th{ background:var(--surface-alt); font-weight:700; font-size:0.85rem; }

.mini-table tr:last-child td{ border-bottom:none; }

.article-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:36px; padding-top:24px; border-top:1px solid var(--border); }

.article-tags a{ font-size:0.82rem; padding:7px 14px; border-radius:999px; background:var(--surface-alt); color:var(--text-muted); transition:background .2s var(--ease), color .2s var(--ease); }

.article-tags a:hover{ background:var(--primary); color:#fff; }

.author-box{ display:flex; gap:16px; padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); margin-top:28px; }

.author-box .avatar{ width:56px; height:56px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0; }

.author-box h4{ font-size:0.96rem; margin-bottom:4px; }

.author-box p{ font-size:0.86rem; }

.related-product-cta{
  display:flex; align-items:center; gap:20px; margin-top:32px;
  background:linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 100%);
  border-radius:var(--radius-m); padding:28px; color:#fff; flex-wrap:wrap;
}

.related-product-cta .icon{ width:48px; height:48px; border-radius:var(--radius-s); background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.related-product-cta .icon svg{ width:24px; height:24px; }

.related-product-cta .text{ flex:1; min-width:200px; }

.related-product-cta h4{ color:#fff; font-size:0.98rem; margin-bottom:4px; }

.related-product-cta p{ color:#CFE0DD; font-size:0.86rem; }

.article-body-card{ padding:18px; }

.article-cat-card{ font-size:0.74rem; font-weight:700; color:var(--accent); margin-bottom:6px; }

.article-body-card h3{ font-size:0.92rem; margin-bottom:10px; }

section.page-section{ padding:64px 0; }


/* ===== Manual reconciliation overrides (multi-page -> single stylesheet merge) ===== */

.hero h1{ font-size:clamp(2rem, 4.2vw, 3.35rem); font-weight:800; letter-spacing:-0.01em; }

body.home .site-header:not(.scrolled){ background:transparent; box-shadow:none; }
body.home .site-header:not(.scrolled) .bar{ padding:22px 0; }
body.home .site-header:not(.scrolled) .nav-link,
body.home .site-header:not(.scrolled) .logo,
body.home .site-header:not(.scrolled) .icon-btn{ color:#fff; }
body.home .site-header:not(.scrolled) .btn-outline{ color:#fff; border-color:rgba(255,255,255,.5); }
body.home .site-header:not(.scrolled) .btn-outline:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
body.home .site-header:not(.scrolled) .icon-btn:hover{ background:rgba(255,255,255,.14); }
body.home .site-header.scrolled{ background:rgba(250,249,246,.92); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--border); }

body.home section{ padding:88px 0; }
@media (max-width:768px){ body.home section{ padding:56px 0; } }

.prose h2{ font-size:1.35rem; margin-top:44px; margin-bottom:16px; scroll-margin-top:100px; }
.prose h2:first-child{ margin-top:0; }

.archive-layout .product-grid{ grid-template-columns:repeat(3,1fr); }
.archive-layout .article-grid{ grid-template-columns:repeat(2,1fr); }
@media (max-width:1024px){ .archive-layout .product-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .archive-layout .article-grid{ grid-template-columns:1fr; } }


/* ===== Responsive rules (all breakpoints, deduplicated) ===== */

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

@media (max-width:768px){ section{padding:56px 0;} }

@media (max-width:960px){
  .main-nav, .header-actions .btn-outline, .header-actions .login-link{ display:none; }
  .hamburger{ display:flex; }
}

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero{ padding:150px 0 70px; text-align:right; }
  .hero-visual{ order:-1; max-width:320px; margin:0 auto 10px; }
}

@media (max-width:900px){ .trust-list{ grid-template-columns:repeat(3,1fr); } }

@media (max-width:560px){ .trust-list{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:900px){
  .process-grid{ grid-template-columns:repeat(2,1fr); }
  .process-step{ border-inline-end:none; border-bottom:1px solid var(--border); }
}

@media (max-width:560px){ .process-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:560px){ .services-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:560px){ .cat-grid{ grid-template-columns:1fr; } }

@media (max-width:1024px){ .product-grid{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:560px){ .product-grid{ grid-template-columns:repeat(2,1fr); gap:14px; } }

@media (max-width:800px){ .custom-cta{ grid-template-columns:1fr; padding:36px 26px; text-align:center; } .custom-cta p{ margin-inline:auto; } }

@media (max-width:900px){ .why-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .why-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){
  .timeline{ grid-template-columns:1fr; text-align:right; gap:0; }
  .timeline::before{ inset:0 14px auto auto; top:0; bottom:0; width:1px; height:auto; right:14px; left:auto; }
  .timeline-step{ display:flex; gap:16px; text-align:right; padding-bottom:28px; }
  .timeline-dot{ margin:0; flex-shrink:0; }
}

@media (max-width:600px){ .consult-banner{ padding:36px 22px; } }

@media (max-width:900px){ .article-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .article-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

@media (max-width:768px){ .floating-cta{ display:inline-flex; } }

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

@media (max-width:768px){ section{padding:42px 0;} }

@keyframes spin{ to{ transform:rotate(360deg);} }

@media (max-width:960px){ .main-nav, .header-actions .btn-outline, .login-link{ display:none; } .hamburger{ display:flex; } }

@media (max-width:900px){ .product-grid-layout{ grid-template-columns:1fr; gap:28px; } }

@media (max-width:480px){ .key-attrs{ grid-template-columns:1fr; } }

@media (max-width:900px){ .sticky-bar{ display:none; } }

@media (max-width:900px){ .mobile-sticky-cta{ display:flex; } body{ padding-bottom:78px; } }

@media (max-width:560px){ .quick-facts .qf-row{ grid-template-columns:130px 1fr; } }

@media (max-width:900px){ .content-cols{ grid-template-columns:1fr; } }

@media (max-width:560px){ .get-list{ grid-template-columns:1fr; } }

@media (max-width:768px){ .mini-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:480px){ .mini-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){ .benefit-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .benefit-grid{ grid-template-columns:1fr; } }

@media (max-width:560px){ .product-grid{ grid-template-columns:repeat(2,1fr); gap:12px; } }

@media (max-width:640px){ .cat-hero-inner{ padding:30px 24px; } }

@media (max-width:960px){ .archive-layout{ grid-template-columns:1fr; } }

@media (max-width:960px){
  .mobile-filter-bar{ display:flex; gap:10px; margin-bottom:20px; }
  .mobile-filter-bar button{ flex:1; }
  .filters{ position:fixed; inset:0 0 0 auto; width:min(86vw,360px); background:var(--surface); z-index:1300; padding:22px; overflow-y:auto; transform:translateX(100%); transition:transform .32s var(--ease); top:0; }
  .filters.open{ transform:translateX(0); }
}

@media (max-width:960px){ .filters-overlay{ display:block; } }

@media (max-width:960px){ .filters-drawer-head{ display:flex; } }

@media (max-width:960px){ .filters-apply{ display:block; position:sticky; bottom:0; background:var(--surface); padding-top:14px; margin-top:6px; } }

@media (max-width:900px){ .product-grid{ grid-template-columns:repeat(2,1fr); } .product-grid.list-view .product-card{ grid-template-columns:130px 1fr; } }

@keyframes shimmer{ 0%{ background-position:100% 0; } 100%{ background-position:0 0; } }

@media (max-width:800px){ .custom-cta{ grid-template-columns:1fr; padding:32px 24px; text-align:center; } .custom-cta p{ margin-inline:auto; } }

@media (max-width:900px){ .value-list{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:560px){ .value-list{ grid-template-columns:1fr; } }

@media (max-width:960px){ .services-layout{ grid-template-columns:1fr; } }

@media (max-width:960px){ .anchor-nav{ position:static; flex-direction:row; overflow-x:auto; gap:8px; padding-bottom:6px; } .anchor-nav a{ flex-shrink:0; border-inline-start:none; border-bottom:2px solid var(--border); white-space:nowrap; } .anchor-nav a.active{ border-bottom-color:var(--accent); } .an-label{ display:none; } }

@media (max-width:700px){ .service-cols{ grid-template-columns:1fr; } }

@media (max-width:900px){ .quick-link-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .quick-link-grid{ grid-template-columns:1fr; } }

@media (max-width:640px){ .mission-strip{ padding:30px 24px; } }

@media (max-width:900px){ .story-cols{ grid-template-columns:1fr; } }

@media (max-width:900px){ .values-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .values-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){ .expertise-grid{ grid-template-columns:repeat(3,1fr); } }

@media (max-width:560px){ .expertise-grid{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:900px){ .team-intro{ grid-template-columns:1fr; } }

@media (max-width:900px){ .facility-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .facility-grid{ grid-template-columns:1fr; } }

@media (max-width:768px){ section{padding:40px 0;} }

@media (max-width:900px){ .contact-cards{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .contact-cards{ grid-template-columns:1fr; } }

@media (max-width:900px){ .contact-layout{ grid-template-columns:1fr; } }

@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }

@media (max-width:640px){ .map-wrap{ aspect-ratio:4/3; } }

@media (max-width:900px){ .dept-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:560px){ .dept-grid{ grid-template-columns:1fr; } }

@media (max-width:768px){ section{padding:38px 0;} }

@media (max-width:800px){ .featured-article{ grid-template-columns:1fr; } .featured-media{ min-height:220px; } }

@media (max-width:640px){ .article-grid{ grid-template-columns:1fr; } }

@media (max-width:960px){ .sidebar{ position:static; } }

@media (max-width:960px){ .article-layout{ grid-template-columns:1fr; } }

@media (max-width:960px){ .toc{ position:static; margin-bottom:8px; } .toc ol{ flex-direction:row; overflow-x:auto; gap:8px; } .toc a{ flex-shrink:0; border-inline-start:none; border-bottom:2px solid var(--border); white-space:nowrap; } .toc a.active{ border-bottom-color:var(--accent); } .toc-share{ display:none; } .toc-label{ display:none; } }

@media (max-width:768px){ section.page-section{ padding:42px 0; } }