/* ==========================================================================
   KAS BIOTECH — SHARED SITE STYLESHEET (responsive fixes applied)
   Extracted from index.html design system. Used by about.html, products.html
   and product-details.html so all pages share one visual language.

   FIXES IN THIS PASS
   - Removed duplicate/conflicting rule blocks for .contact-info-card,
     .contact-form-card, .map-panel, .faq-accordion, .legal-toc that were
     defined twice (CONTACT PAGE + PRIVACY POLICY PAGE sections) and were
     silently fighting each other in the cascade. Consolidated into one
     definitive rule set per class.
   - Fixed the broken selector `.page-hero-stats{...}.page-hero-stats{...}`
     (two separate rules glued together) — merged into one rule.
   - Added missing container gutter safety on very small screens.
   - Shrunk logo, hero, card, and section paddings on mobile so nothing
     feels oversized/cramped on small phones.
   - Added a small-screen breakpoint (<=400px / <=575.98px) throughout for
     tighter gaps, font sizes and padding.
   - Made .detail-tabs horizontally scrollable instead of overflowing on
     narrow screens.
   - Disabled position:sticky on .legal-toc below 991.98px so it doesn't
     overlap page content once the sidebar stacks.
   - Normalized gaps in flex layouts (hero-stats, page-hero-stats, why-item,
     detail-badges, filter-bar) for small viewports.
   ========================================================================== */
:root{
  --kas-navy:#0A2622;
  --kas-navy-2:#0D332D;
  --kas-teal:#0F6E62;
  --kas-teal-light:#17998A;
  --kas-amber:#EF4525;
  --kas-amber-2:#FC6E35;
  --kas-bg:#FAF8F7;
  --kas-bg-alt:#F5F1EE;
  --kas-ink:#0E211D;
  --kas-ink-soft:#4C625D;
  --kas-line:#DFE9E5;
  --radius:14px;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'JetBrains Mono', monospace;

  --fs-hero: clamp(2.1rem, 4.6vw + 1rem, 4.35rem);
  --fs-h2:   clamp(1.5rem, 1.6vw + 1.1rem, 2.65rem);
  --fs-h3:   clamp(1.12rem, .8vw + 1rem, 1.55rem);
  --fs-body: clamp(.92rem, .2vw + .9rem, 1.02rem);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  color:var(--kas-ink);
  background:var(--kas-bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display-font{font-family:var(--font-display); color:var(--kas-navy); letter-spacing:-0.02em; font-weight:700;}
.mono{font-family:var(--font-mono);}
p{color:var(--kas-ink-soft); line-height:1.75;}
a{text-decoration:none;}
img,svg{max-width:100%;}
::selection{background:var(--kas-amber); color:var(--kas-navy);}
.container{max-width:1240px;}
@media (max-width:575.98px){
  .container{padding-left:18px; padding-right:18px;}
}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none;} }

/* ---------- utility bar ---------- */
.topbar{ background:var(--kas-navy); color:#CFE3DE; font-size:.8rem; padding:7px 0; }
.topbar a{color:#CFE3DE; opacity:.9;}
.topbar a:hover{color:var(--kas-amber); opacity:1;}
.topbar .divider{opacity:.25; margin:0 .6rem;}

/* ---------- navbar ---------- */
.navbar-kas{ background:#fff; padding:10px 0; border-bottom:1px solid transparent; transition:all .3s ease; }
.brand-mark img{height:70px; transition:height .25s ease;}
.navbar-kas.scrolled{ padding:8px 0; border-bottom:1px solid var(--kas-line); box-shadow:0 8px 24px -18px rgba(10,38,34,.4); }
.navbar-kas.scrolled .brand-mark img { height: 54px; }
.brand-mark{display:flex; align-items:center; gap:0px;}
.brand-word{font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--kas-navy); line-height:1; white-space:nowrap;}
.brand-word small{display:block; font-family:var(--font-body); font-weight:600; font-size:.6rem; letter-spacing:.16em; color:var(--kas-teal-light); margin-top:4px;}
.navbar-kas .nav-link{ font-weight:600; font-size:.92rem; color:var(--kas-ink); margin:0 10px; position:relative; padding:8px 10px !important; }
.navbar-kas .nav-link::after{ content:""; position:absolute; left:0; bottom:2px; height:2px; width:0; background:var(--kas-amber); transition:width .25s ease; }
.navbar-kas .nav-link:hover::after, .navbar-kas .nav-link.active::after{width:100%;}
.navbar-kas .nav-link:hover, .navbar-kas .nav-link.active{color:var(--kas-amber);}
@media (max-width:991.98px){
  .navbar-collapse{ background:#fff; border-radius:16px; margin-top:14px; padding:1.2rem 1.4rem; box-shadow:0 20px 40px -20px rgba(10,38,34,.35); border:1px solid var(--kas-line); }
  .navbar-kas .nav-link{margin:0; padding:.55rem 0 !important; border-bottom:1px solid var(--kas-line);}
  .navbar-kas .nav-item:last-child .nav-link{border-bottom:0;}
}
@media (max-width:575.98px){
  .brand-mark img{height:44px;}
  .navbar-kas.scrolled .brand-mark img{height:40px;}
  .brand-word{font-size:.98rem;}
  .brand-word small{font-size:.52rem; letter-spacing:.12em;}
}
.btn-kas-amber{ background:var(--kas-amber); border:1px solid var(--kas-amber); color:#fff !important; font-weight:700; padding:.65rem 1.4rem; border-radius:999px; font-size:.9rem; transition:all .25s ease; white-space:nowrap; }
.btn-kas-amber:hover{background:var(--kas-amber-2); border-color:var(--kas-amber-2); color:var(--kas-navy) !important; transform:translateY(-1px);}
.btn-kas-outline{ background:transparent; border:1.5px solid rgba(255,255,255,.55); color:#fff; font-weight:600; padding:.62rem 1.4rem; border-radius:999px; font-size:.9rem; transition:all .25s ease; }
.btn-kas-outline:hover{background:rgba(255,255,255,.12); border-color:#fff; color:#fff;}
.btn-kas-outline-dark{ background:transparent; border:1.5px solid var(--kas-line); color:var(--kas-navy); font-weight:600; padding:.62rem 1.4rem; border-radius:999px; font-size:.9rem; transition:all .25s ease; }
.btn-kas-outline-dark:hover{background:var(--kas-navy); border-color:var(--kas-navy); color:#fff;}
.btn-kas-teal{ background:var(--kas-amber); border:1px solid var(--kas-amber); color:#fff !important; font-weight:700; padding:.65rem 1.5rem; border-radius:999px; font-size:.9rem; transition:all .25s ease; }
.btn-kas-teal:hover{background:var(--kas-amber-2); border-color:var(--kas-amber-2); color:#fff !important; transform:translateY(-1px);}
.btn-icon-circle{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:#fff; color:var(--kas-navy); box-shadow:0 10px 24px -12px rgba(10,38,34,.4); border:0; transition:all .2s ease; }
.btn-icon-circle:hover{background:var(--kas-amber); color:#fff;}
@media (max-width:575.98px){
  .btn-kas-amber, .btn-kas-teal, .btn-kas-outline, .btn-kas-outline-dark{ padding:.6rem 1.2rem; font-size:.86rem; }
}

/* ---------- page hero (interior pages) ---------- */
.page-hero{
  position:relative; background:linear-gradient(165deg, var(--kas-navy) 0%, var(--kas-navy-2) 60%, #0b443c 130%);
  padding:60px 0; overflow:hidden; color:#fff;
}
.page-hero::before{
  content:""; position:absolute; inset:0; opacity:.35; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 25% 30%, black 5%, transparent 60%);
}
.page-hero::after{
  content:""; position:absolute; right:-120px; top:-120px; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(246,166,35,.22), transparent 70%); filter:blur(6px);
}
.page-hero .container{position:relative; z-index:2;}
.breadcrumb-kas{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.74rem; letter-spacing:.06em; color:#B9CEC8; text-transform:uppercase; margin-bottom:1.1rem; flex-wrap:wrap; }
.breadcrumb-kas a{color:#B9CEC8;}
.breadcrumb-kas a:hover{color:var(--kas-amber-2);}
.breadcrumb-kas i{font-size:.65rem; opacity:.7;}
.page-hero h1{ color:#fff; font-size:clamp(1.85rem, 3.2vw + 1rem, 3.2rem); line-height:1.1; margin-bottom:1rem; text-wrap:balance; }
.page-hero p.lead-text{color:#D7E6E1; max-width:640px; font-size:clamp(.95rem,.4vw + .95rem,1.12rem);}
.page-hero-stats{display:flex; gap:clamp(1.2rem,3vw,2.4rem); margin-top:2.2rem; flex-wrap:wrap;}
.page-hero-stats .item{border-left:2px solid rgba(255,255,255,.25); padding-left:.85rem;}
.page-hero-stats .item strong{display:block; font-family:var(--font-mono); font-size:1.35rem; color:#fff;}
.page-hero-stats .item span{display:block; font-size:.7rem; color:#B9CEC8; text-transform:uppercase; letter-spacing:.06em; margin-top:2px;}
@media (max-width:575.98px){
  .page-hero{padding:30px 0;}
}

/* ---------- section basics ---------- */
section{padding:50px 0;}
.section-tight{padding:clamp(2.2rem,4vw,4.2rem) 0;}
.section-eyebrow{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--kas-amber); font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.section-eyebrow::before{content:""; width:22px; height:2px; background:var(--kas-amber); display:inline-block;}
.section-title{font-size:var(--fs-h2); line-height:1.18; margin-top:.6rem; text-wrap:balance;}
.bg-alt{background:var(--kas-bg-alt);}

/* ---------- feature / value cards ---------- */
.feature-card{ background:#fff; border:1px solid var(--kas-line); border-radius:var(--radius); padding:2rem 1.6rem; height:100%; transition:all .3s ease; position:relative; overflow:hidden; }
.feature-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--kas-teal), var(--kas-amber)); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.feature-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px -26px rgba(10,38,34,.35); border-color:transparent;}
.feature-card:hover::before{transform:scaleX(1);}
.feature-icon{ width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--kas-bg-alt); color:var(--kas-amber); font-size:1.4rem; margin-bottom:1.1rem; transition:all .3s ease; }
.feature-card:hover .feature-icon{background:var(--kas-amber); color:#fff;}
.feature-card h5{font-size:var(--fs-h3); margin-bottom:.5rem;}
.feature-card p{font-size:.92rem; margin-bottom:0;}
@media (max-width:575.98px){
  .feature-card{padding:1.6rem 1.3rem;}
  .feature-icon{width:46px; height:46px; font-size:1.2rem; margin-bottom:.9rem;}
}

/* ---------- welcome-style split ---------- */
.welcome-visual{position:relative; padding:20px;}
.cassette-panel{ background:linear-gradient(155deg, var(--kas-navy), var(--kas-navy-2)); border-radius:22px; position:relative; display:flex; flex-direction:column; justify-content:center; }
.cassette-panel img{width:100%; height:auto; border-radius:22px; display:block;}
.float-chip{ position:absolute; background:#fff; border-radius:12px; padding:.7rem 1rem; box-shadow:0 18px 34px -18px rgba(10,38,34,.5); font-family:var(--font-mono); z-index:4; }
.float-chip.chip-1{top:-16px; left:-10px;}
.float-chip.chip-2{bottom:-16px; right:-8px;}
.float-chip strong{display:block; color:var(--kas-navy); font-size:1.1rem;}
.float-chip span{font-size:.62rem; color:var(--kas-ink-soft); text-transform:uppercase; letter-spacing:.05em; white-space:nowrap;}
.welcome-list{list-style:none; padding:0; margin:1.6rem 0;}
.welcome-list li{display:flex; align-items:flex-start; gap:12px; margin-bottom:.9rem; font-weight:500; color:var(--kas-ink); font-size:.96rem;}
.welcome-list li i{color:var(--kas-amber); font-size:1.1rem; margin-top:0px; flex-shrink:0;}
@media (max-width:575.98px){
  .welcome-visual{padding:10px;}
  .float-chip{display:inline-flex; align-items:center; gap:.5rem; margin:.6rem .5rem 0 0;  box-shadow:0 8px 18px -10px rgba(10,38,34,.35);}
  .float-chip strong{font-size:.95rem;}
  .welcome-list{margin:1.2rem 0;}
  .welcome-list li{gap:10px; font-size:.9rem;}
}

/* ---------- mission / vision / values ---------- */
.pillar-card{ background:#fff; border:1px solid var(--kas-line); border-radius:var(--radius); padding:2.1rem 1.7rem; height:100%; position:relative; }
.pillar-card .pillar-icon{ width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--kas-navy); color:#fff; font-size:1.5rem; margin-bottom:1.2rem; }
.pillar-card h5{font-size:1.15rem; margin-bottom:.6rem;}
.pillar-card p{font-size:.92rem; margin-bottom:0;}
@media (max-width:575.98px){
  .pillar-card{padding:1.6rem 1.3rem;}
  .pillar-card .pillar-icon{width:48px; height:48px; font-size:1.25rem; margin-bottom:1rem;}
}

/* ---------- timeline (about page) ---------- */
.timeline{position:relative; padding-left:0;}
.timeline::before{ content:""; position:absolute; left:19px; top:6px; bottom:6px; width:2px; background:var(--kas-line); }
.timeline-item{position:relative; padding-left:56px; margin-bottom:2.1rem;}
.timeline-item:last-child{margin-bottom:0;}
.timeline-dot{ position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; background:var(--kas-navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700; font-size:.8rem; border:4px solid var(--kas-bg); z-index:1; }
.timeline-item h6{font-family:var(--font-display); font-weight:700; margin-bottom:.35rem; font-size:1.02rem;}
.timeline-item p{font-size:.9rem; margin-bottom:0;}
@media (max-width:400px){
  .timeline::before{left:16px;}
  .timeline-item{padding-left:46px; margin-bottom:1.7rem;}
  .timeline-dot{width:34px; height:34px; font-size:.72rem; border-width:3px;}
}

/* ---------- why / numbered list ---------- */
.why-item{display:flex; gap:1.1rem; padding:1.3rem 0; border-bottom:1px dashed var(--kas-line);}
.why-item:last-child{border-bottom:0;}
.why-num{ font-family:var(--font-mono); font-weight:700; color:var(--kas-teal); font-size:.85rem; width:38px; height:38px; border:1.5px solid var(--kas-teal); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.why-item h6{font-family:var(--font-display); font-weight:700; margin-bottom:.3rem; font-size:1.02rem;}
.why-item p{font-size:.9rem; margin-bottom:0;}
.why-visual{ border-radius:22px; overflow:hidden; position:relative; min-height:340px; background:linear-gradient(165deg, var(--kas-teal), var(--kas-navy)); display:flex; align-items:center; justify-content:center; }
.why-visual img{width:100%; height:100%; object-fit:cover;}
@media (min-width:992px){ .why-visual{min-height:100%;} }
@media (max-width:575.98px){
  .why-item{gap:.85rem; padding:1.05rem 0;}
  .why-num{width:34px; height:34px; font-size:.78rem;}
  .why-visual{min-height:220px; border-radius:16px;}
}

/* ---------- counters ---------- */
.always-section{ background:linear-gradient(180deg, var(--kas-navy) 0%, var(--kas-navy-2) 100%); color:#fff; position:relative; overflow:hidden; }
.always-section::before{ content:""; position:absolute; inset:0; opacity:.5; background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size:22px 22px; }
.always-section .section-eyebrow{color:var(--kas-amber-2);}
.always-section .section-eyebrow::before{background:#fff;}
.always-section h2{color:#fff;}
.always-section p.lead-sub{color:#C6DAD4; max-width:640px;}
.counter-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:1.8rem 1.4rem; position:relative; height:100%; backdrop-filter:blur(6px); transition:all .3s ease; }
.counter-card:hover{background:rgba(255,255,255,.09); transform:translateY(-4px);}
.counter-card .ctrl-line{height:4px; width:34px; border-radius:3px; background:var(--kas-amber); margin-bottom:1rem;}
.counter-card .count{ font-family:var(--font-mono); font-weight:700; font-size:clamp(1.6rem,2.6vw,2.5rem); color:#fff; display:flex; align-items:baseline; gap:4px; flex-wrap:wrap; }
.counter-card .count .suffix{font-size:1.1rem; color:var(--kas-amber-2);}
.counter-card .label{font-size:.8rem; color:#B9CEC8; text-transform:uppercase; letter-spacing:.05em; margin-top:.5rem;}
@media (max-width:575.98px){
  .counter-card{padding:1.4rem 1.1rem;}
  .counter-card .label{font-size:.72rem;}
}

/* ---------- team ---------- */
.team-card{ background:#fff; border:1px solid var(--kas-line); border-radius:var(--radius); overflow:hidden; height:100%; transition:all .3s ease; text-align:center; padding:2rem 1.4rem 1.6rem; }
.team-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px -26px rgba(10,38,34,.35);}
.team-avatar{ width:82px; height:82px; border-radius:50%; background:linear-gradient(155deg, var(--kas-teal), var(--kas-navy)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:1.5rem; margin:0 auto 1rem; }
.team-card h6{font-family:var(--font-display); font-weight:700; margin-bottom:.15rem;}
.team-card .role{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--kas-amber); margin-bottom:.7rem; display:block;}
.team-card p{font-size:.85rem; margin-bottom:0;}
@media (max-width:575.98px){
  .team-card{padding:1.6rem 1.1rem 1.3rem;}
  .team-avatar{width:68px; height:68px; font-size:1.25rem; margin-bottom:.8rem;}
}

/* ---------- testimonials ---------- */
.testi-card{ background:#fff; border:1px solid var(--kas-line); border-radius:18px; padding:clamp(1.4rem,3vw,2.4rem); max-width:760px; margin:0 auto; text-align:center; }
.testi-stars{color:var(--kas-amber); font-size:1rem; margin-bottom:1rem;}
.testi-quote{font-family:var(--font-display); font-size:clamp(1rem,1.4vw,1.2rem); font-weight:500; color:var(--kas-navy); line-height:1.65;}
.testi-avatar{ width:52px; height:52px; border-radius:50%; background:var(--kas-teal); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; margin:1.4rem auto .6rem; }
.testi-name{font-weight:700; color:var(--kas-navy); margin-bottom:0;}
.testi-role{font-size:.82rem; color:var(--kas-ink-soft);}
#testiCarousel .carousel-indicators{position:static; margin-top:2rem;}
#testiCarousel .carousel-indicators [data-bs-target]{width:8px; height:8px; border-radius:50%; background:var(--kas-line); opacity:1; border:0;}
#testiCarousel .carousel-indicators .active{background:var(--kas-teal); width:22px; border-radius:4px;}

/* ---------- CTA ---------- */
.cta-section{ background:linear-gradient(120deg, var(--kas-teal), #0C7A6C 55%, var(--kas-teal-light)); border-radius:28px; padding:clamp(2rem,4vw,3.4rem) clamp(1.3rem,4vw,2.6rem); color:#fff; position:relative; overflow:hidden; }
.cta-section::before{content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.09);}
.cta-section::after{content:""; position:absolute; left:-40px; bottom:-60px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.06);}
.cta-section h2{color:#fff; margin-bottom:.6rem; font-size:var(--fs-h2);}
.cta-section p{color:#E1F2EE;}


/* ===== FEATURE LIST ICONS (pure CSS) ===== */
.detail-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: .9rem;
    font-size: .94rem;
    color: var(--kas-ink);
}

/* Add the icon via pseudo-element */
.detail-feature-list li::before {
    content: "\F26B";                 /* Unicode for bi-check-circle-fill */
    font-family: 'bootstrap-icons';   /* required to render the icon */
    color:var(--kas-amber);  /* or var(--kas-amber) */
    font-size: 1.0rem;
    line-height: 1.4;
    flex-shrink: 0;                  /* prevents icon from shrinking */
    margin-top: 0px;                 /* fine-tune vertical alignment */
}

@media (max-width:575.98px){
  .cta-section .btn{width:100%; text-align:center;}
}

/* ---------- footer ---------- */
footer{background:var(--kas-navy); color:#B9CEC8; padding:50px 0;}
footer h6{color:#fff; font-family:var(--font-display); font-weight:700; margin-bottom:1.2rem; font-size:.95rem; letter-spacing:.02em;}
footer a{color:#B9CEC8; font-size:.9rem;}
footer a:hover{color:var(--kas-amber-2);}
footer ul{list-style:none; padding:0;}
footer ul li{margin-bottom:.65rem;display:inline;margin-left:5px;}
.footer-social a{ width:36px; height:36px; border:1px solid rgba(255,255,255,.2); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin-right:8px; transition:all .2s ease; }
.footer-social a:hover{background:var(--kas-amber); border-color:var(--kas-amber); color:var(--kas-navy);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:3rem; padding:1.4rem 0; font-size:.82rem;}
.newsletter-form{flex-wrap:nowrap;}
.newsletter-form input{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); color:#fff; border-radius:999px 0 0 999px; padding:.6rem 1.1rem; font-size:.85rem; min-width:0; }
.newsletter-form input::placeholder{color:#8FA9A3;}
.newsletter-form input:focus{outline:none; box-shadow:none; background:rgba(255,255,255,.1);}
.newsletter-form button{border-radius:0 999px 999px 0; flex-shrink:0;}
@media (max-width:575.98px){
  .footer-bottom{margin-top:2rem; text-align:center;}
  .footer-social{margin-top:.6rem;}
  .txt_center{text-align:center}
  footer {
  padding: 30px 0;
}
.g-5, .gy-5 {
  --bs-gutter-y: 0;
}
.g-5, .gx-5 {
  --bs-gutter-x: 0;
}
}

/* ---------- back to top ---------- */
.back-to-top{ position:fixed; bottom:22px; right:22px; width:46px; height:46px; border-radius:50%; background:var(--kas-navy); color:#fff; display:flex; align-items:center; justify-content:center; z-index:999; opacity:0; pointer-events:none; transition:all .3s ease; box-shadow:0 14px 28px -14px rgba(0,0,0,.5); border:0; }
.back-to-top.show{opacity:1; pointer-events:auto;}
.back-to-top:hover{background:var(--kas-teal); color:#fff;}
@media (max-width:575.98px){
  .back-to-top{width:40px; height:40px; bottom:16px; right:16px;}
}

/* ---------- homepage product scroller (index.html) ---------- */
.product-scroller{ display:flex; gap:1.4rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:.5rem .2rem 1.4rem; scrollbar-width:none; -ms-overflow-style:none; }
.product-scroller::-webkit-scrollbar{display:none;}
.product-scroller .product-slide{ flex:0 0 auto; width:78%; max-width:340px; scroll-snap-align:start; }
@media (min-width:576px){ .product-scroller .product-slide{width:46%;} }
@media (min-width:992px){ .product-scroller .product-slide{width:31.5%;} }
@media (max-width:575.98px){ .product-scroller{gap:1rem;} }
.scroll-progress{height:3px; background:var(--kas-line); border-radius:3px; overflow:hidden; margin-top:1rem;}
.scroll-progress .bar{height:100%; width:33%; background:#ccc; border-radius:3px; transition:width .2s ease;}

/* ---------- hero (index.html only) ---------- */
 .hero {
    position: relative;
    height: calc(100vh - 90px);
    min-height: calc(100vh - 90px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--kas-navy);
    padding-top: 48px;
}
.hero-carousel, .hero-carousel .carousel-inner, .hero-carousel .carousel-item{height:100%; position:absolute; inset:0;}
.hero-carousel{position:absolute; inset:0;}
.hero-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.08) brightness(.7) contrast(1.05); }
.hero-fallback{ position:absolute; inset:0; width:100%; height:100%; background:radial-gradient(circle at 18% 20%, rgba(23,153,138,.55), transparent 45%), radial-gradient(circle at 82% 78%, rgba(246,166,35,.28), transparent 42%); }
.hero-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(9,32,28,.78) 0%, rgba(9,32,28,.58) 42%, rgba(9,32,28,.92) 100%); }
.hero-grid-fx{ position:absolute; inset:0; z-index:1; opacity:.35; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size:44px 44px; mask-image:radial-gradient(ellipse at 30% 40%, black 10%, transparent 65%); }
.hero-scanline{ position:absolute; left:0; right:0; height:2px; z-index:2; background:linear-gradient(90deg, transparent, var(--kas-amber) 20%, #fff 50%, var(--kas-amber) 80%, transparent); opacity:.55; box-shadow:0 0 18px 2px rgba(246,166,35,.6); animation:scan 5.5s linear infinite; }
@keyframes scan{0%{top:10%;} 50%{top:90%;} 100%{top:10%;}}
.hero-content{position:relative; z-index:3; color:#fff; padding:6.5rem 0 8rem;}
.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--kas-amber-2); border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:7px 16px; background:rgba(255,255,255,.06); }
.eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--kas-amber); box-shadow:0 0 0 3px rgba(246,166,35,.28); flex-shrink:0;}
.hero h1{ font-size:var(--fs-hero); font-weight:800; color:#fff; line-height:1.08; margin:1.3rem 0 1.3rem; text-wrap:balance; }
.hero h1 .accent{ background:linear-gradient(100deg, var(--kas-amber-2), var(--kas-amber) 60%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p.lead-text{color:#D7E6E1; font-size:clamp(.96rem, .4vw + .95rem, 1.18rem); max-width:600px; line-height:1.7;}
.hero-actions{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.1rem;}
.hero-stats{ display:flex; gap:clamp(1.1rem,3vw,2.6rem); margin-top:2.8rem; flex-wrap:wrap; position:relative; z-index:3; }
.hero-stats .item{border-left:2px solid rgba(255,255,255,.25); padding-left:.9rem;}
.hero-stats .item strong{display:flex; align-items:baseline; gap:2px; font-family:var(--font-mono); font-size:clamp(1.15rem,1.6vw,1.5rem); color:#fff;}
.hero-stats .item span{display:block; font-size:.72rem; color:#B9CEC8; text-transform:uppercase; letter-spacing:.06em; margin-top:2px;}
.hero-carousel .carousel-indicators{bottom:24px; z-index:5; margin-bottom:0;}
.hero-carousel .carousel-indicators [data-bs-target]{ width:28px; height:3px; border-radius:2px; background:rgba(255,255,255,.4); opacity:1; border:0; }
.hero-carousel .carousel-indicators .active{background:var(--kas-amber);}
.scroll-cue{ position:absolute; bottom:30px; right:5%; z-index:5; color:#EAF2EF; font-family:var(--font-mono); font-size:.68rem; writing-mode:vertical-rl; letter-spacing:.2em; display:flex; align-items:center; gap:10px; }
.scroll-cue::after{content:""; width:1px; height:46px; background:linear-gradient(#EAF2EF, transparent);}
.hero-infobar{position:relative; z-index:4; margin-top:-58px;}
.hero-infobar .inner{ background:#fff; border-radius:18px; box-shadow:0 26px 50px -22px rgba(10,38,34,.35); padding:1.4rem 1.6rem; display:flex; flex-wrap:wrap; gap:1.2rem 2rem; align-items:center; justify-content:space-between; }
.hero-infobar .badge-item{display:flex; align-items:center; gap:.7rem; font-weight:600; color:var(--kas-navy); font-size:.88rem;}
.hero-infobar .badge-item i{color:var(--kas-amber); font-size:1.25rem;}
@media (max-width:991.98px){ .hero{min-height:100svh;} }
@media (max-width:767.98px){
  .hero-content{padding:0 20px 3rem; text-align:center;}
  .eyebrow{gap:5px; letter-spacing:0; padding:5px 10px;}
  .hero-infobar{margin-top:-40px;}
  .hero-infobar .inner{padding:1.1rem 1.2rem; justify-content:center; text-align:center; gap:.9rem 1.4rem;}
  .scroll-cue{display:none;}
  .always-section .row .col-lg-7{text-align:left;}
  .hero-stats{justify-content:center; gap:1.4rem;}
}
@media (max-width:575.98px){
  .hero h1{margin:1rem 0;}
  .hero-actions .btn{width:100%; text-align:center;}
  .hero-actions{flex-direction:column; gap:.7rem;}
  .hero-stats{gap:1rem 1.4rem; margin-top:2rem;}
  .hero-stats .item{padding-left:.7rem;}
  .hero-infobar .inner{gap:.7rem 1.1rem; padding:1rem;}
  .hero-infobar .badge-item{font-size:.8rem;}
}
@media (prefers-reduced-motion: reduce){ .hero-scanline{animation:none;} }

/* ==========================================================================
   PRODUCTS LISTING PAGE
   ========================================================================== */
.filter-bar{ background:#fff; border:1px solid var(--kas-line); border-radius:999px; padding:.4rem; display:inline-flex; flex-wrap:wrap; gap:.3rem; }
.filter-chip{ font-family:var(--font-mono); font-size:.76rem; letter-spacing:.03em; font-weight:600; color:var(--kas-ink-soft); background:transparent; border:0; border-radius:999px; padding:.55rem 1.1rem; transition:all .2s ease; cursor:pointer; white-space:nowrap; }
.filter-chip:hover{color:var(--kas-navy);}
.filter-chip.active{background:var(--kas-navy); color:#fff;}
.product-search{ position:relative; max-width:340px; width:100%; }
.product-search input{ background:#fff; border:1px solid var(--kas-line); border-radius:999px; padding:.62rem 1.1rem .62rem 2.6rem; font-size:.88rem; width:100%; }
.product-search input:focus{outline:none; border-color:var(--kas-teal); box-shadow:0 0 0 3px rgba(15,110,98,.12);}
.product-search i{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--kas-ink-soft); }
.result-count{font-family:var(--font-mono); font-size:.78rem; color:var(--kas-ink-soft);}
@media (max-width:575.98px){
  .filter-bar{width:100%; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch;}
  .filter-chip{padding:.5rem .9rem; font-size:.72rem;}
  .product-search{max-width:100%;}
}

.product-grid{display:grid; grid-template-columns:repeat(1,1fr); gap:1.5rem;}
@media (min-width:576px){ .product-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .product-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:575.98px){ .product-grid{gap:1.1rem;} }
.product-card{ background:#fff; border-radius:var(--radius); border:1px solid var(--kas-line); overflow:hidden; height:100%; transition:all .3s ease; display:flex; flex-direction:column; }
.product-card:hover{transform:translateY(-6px); box-shadow:0 24px 44px -26px rgba(10,38,34,.35);}
.product-visual{ position:relative; border-bottom:1px solid var(--kas-line); background:linear-gradient(155deg, var(--kas-bg-alt), #DDEAE5); aspect-ratio:4/3; overflow:hidden; }
.product-visual img{width:100%; height:100%; object-fit:cover; display:block;}
.product-tag{ position:absolute; top:14px; left:14px; background:var(--kas-amber); color:#fff; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.07em; padding:5px 10px; border-radius:999px; }
.product-body{padding:1.5rem 1.4rem; display:flex; flex-direction:column; flex:1;}
.product-body h5{font-size:1.05rem; margin-bottom:.5rem;}
.product-body p{font-size:.9rem; margin-bottom:1rem;}
.product-link{color:var(--kas-amber); font-weight:700; font-size:.86rem; display:inline-flex; align-items:center; gap:6px; margin-top:auto;}
.product-link i{transition:transform .2s ease;}
.product-link:hover i{transform:translateX(4px);}
.no-results{display:none; text-align:center; padding:3.5rem 1rem;}
.no-results i{font-size:2.4rem; color:var(--kas-line); margin-bottom:1rem; display:block;}
@media (max-width:575.98px){
  .product-body{padding:1.2rem 1.1rem;}
}

/* ==========================================================================
   PRODUCT DETAILS PAGE
   ========================================================================== */
.detail-gallery{ background:linear-gradient(155deg, var(--kas-bg-alt), #DDEAE5); border-radius:var(--radius); border:1px solid var(--kas-line); overflow:hidden; position:relative; aspect-ratio:4/3; }
.detail-gallery img{width:100%; height:100%; object-fit:cover; display:block;}
.detail-tag{ position:absolute; top:16px; left:16px; background:var(--kas-amber); color:#fff; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.07em; padding:6px 12px; border-radius:999px; }
.detail-badges{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.1rem;}
.detail-badge{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:.72rem; color:var(--kas-navy); background:var(--kas-bg-alt); border:1px solid var(--kas-line); border-radius:999px; padding:.4rem .85rem; }
.detail-badge i{color:var(--kas-teal);}
.price-tag{font-family:var(--font-mono); font-size:.82rem; color:var(--kas-ink-soft); background:var(--kas-bg-alt); border:1px dashed var(--kas-line); border-radius:10px; padding:.7rem 1rem; display:inline-flex; align-items:center; gap:8px; margin-top:1.2rem;}

.spec-table{width:100%; border-collapse:collapse;}
.spec-table tr{border-bottom:1px solid var(--kas-line);}
.spec-table tr:last-child{border-bottom:0;}
.spec-table td{padding:.85rem .3rem; font-size:.92rem; vertical-align:top;}
.spec-table td:first-child{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; color:var(--kas-ink-soft); width:42%; padding-right:1rem; }
.spec-table td:last-child{color:var(--kas-navy); font-weight:600;}
@media (max-width:575.98px){
  .spec-table td{padding:.65rem .2rem; font-size:.86rem;}
  .spec-table td:first-child{width:46%; padding-right:.6rem;}
  .detail-badges{gap:.4rem;}
  .detail-badge{font-size:.68rem; padding:.35rem .7rem;}
}

.detail-tabs{border-bottom:1px solid var(--kas-line);}
.detail-tabs .nav-link{ font-weight:600; color:var(--kas-ink-soft); border:0; border-bottom:2px solid transparent; border-radius:0; padding:.85rem 1.2rem .85rem 0; margin-right:1.4rem; }
.detail-tabs .nav-link.active{color:var(--kas-navy); background:transparent; border-bottom-color:var(--kas-amber);}

.detail-feature-list ul, .detail-feature-list ol{list-style:none; padding:0; margin:0;}
.detail-feature-list li{display:flex; align-items:flex-start; gap:12px; margin-bottom:.9rem; font-size:.94rem; color:var(--kas-ink);}
.detail-feature-list li i{color:var(--kas-amber); font-size:1.05rem; margin-top:2px; flex-shrink:0;}
@media (max-width:575.98px){
  .detail-tabs{overflow-x:auto; flex-wrap:nowrap; white-space:nowrap; -webkit-overflow-scrolling:touch;}
  .detail-tabs .nav-link{margin-right:1rem; padding:.7rem .9rem .7rem 0; font-size:.86rem;}
}

.related-scroller{ display:flex; gap:1.3rem; overflow-x:auto; padding:.3rem .2rem 1rem; scrollbar-width:none; }
.related-scroller::-webkit-scrollbar{display:none;}
.related-scroller .rel-slide{flex:0 0 auto; width:260px;}
@media (max-width:575.98px){
  .related-scroller{gap:1rem;}
  .related-scroller .rel-slide{width:78%; max-width:230px;}
}

.inquiry-card{ background:var(--kas-navy); border-radius:var(--radius); padding:1.8rem 1.6rem; color:#fff; }
.inquiry-card h6{color:#fff; font-family:var(--font-display); font-weight:700; margin-bottom:.4rem;}
.inquiry-card p{color:#B9CEC8; font-size:.86rem; margin-bottom:1.2rem;}
.inquiry-card .form-control{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); color:#fff; font-size:.86rem; }
.inquiry-card .form-control::placeholder{color:#8FA9A3;}
.inquiry-card .form-control:focus{background:rgba(255,255,255,.1); border-color:var(--kas-amber); box-shadow:none; color:#fff;}
.inquiry-card label{font-size:.76rem; color:#B9CEC8; margin-bottom:.3rem; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.04em;}
@media (max-width:575.98px){
  .inquiry-card{padding:1.4rem 1.2rem;}
}

/* ==========================================================================
   CONTACT PAGE  (single consolidated definition — was previously duplicated)
   ========================================================================== */
.contact-info-card{ background:#fff; border:1px solid var(--kas-line); border-radius:var(--radius); padding:1.8rem 1.5rem; height:100%; transition:all .3s ease; }
.contact-info-card:hover{transform:translateY(-5px); box-shadow:0 20px 38px -24px rgba(10,38,34,.32);}
.contact-info-card .feature-icon{margin-bottom:1rem;}
.contact-info-card h6{font-family:var(--font-display); font-weight:700; margin-bottom:.35rem; font-size:1rem;}
.contact-info-card p{font-size:.88rem; margin-bottom:.15rem;}
.contact-info-card a{color:var(--kas-ink-soft);}
.contact-info-card a:hover{color:var(--kas-amber);}
@media (max-width:575.98px){
  .contact-info-card{padding:1.4rem 1.2rem;}
}

.contact-form-panel, .contact-form-card{ background:#fff; border:1px solid var(--kas-line); border-radius:var(--radius); padding:clamp(1.4rem,3vw,2.6rem); }
.contact-form-panel .form-label, .contact-form-card .form-label{ font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--kas-ink-soft); margin-bottom:.4rem; }
.contact-form-panel .form-control, .contact-form-panel .form-select,
.contact-form-card .form-control, .contact-form-card .form-select{ background:var(--kas-bg-alt); border:1px solid var(--kas-line); border-radius:10px; padding:.7rem .9rem; font-size:.92rem; }
.contact-form-panel .form-control:focus, .contact-form-panel .form-select:focus,
.contact-form-card .form-control:focus, .contact-form-card .form-select:focus{ border-color:var(--kas-teal); box-shadow:0 0 0 3px rgba(15,110,98,.12); background:#fff; }
.contact-form-panel textarea.form-control, .contact-form-card textarea.form-control{resize:vertical; min-height:130px;}
.form-success{ display:none; align-items:center; gap:10px; background:#EAF7F1; border:1px solid #BEE6D2; color:var(--kas-teal); border-radius:10px; padding:.9rem 1.1rem; font-size:.88rem; font-weight:600; margin-bottom:1.2rem; }
.form-success.show{display:flex;}

.map-panel{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--kas-line); position:relative; min-height:320px; background:linear-gradient(155deg, var(--kas-navy), var(--kas-navy-2)); }
.map-panel iframe{width:100%; height:100%; min-height:320px; border:0; display:block; filter:grayscale(.15) contrast(1.05);}
.map-pin-badge{ position:absolute; top:16px; left:16px; background:#fff; border-radius:12px; padding:.7rem 1rem; box-shadow:0 14px 30px -16px rgba(10,38,34,.4); font-size:.82rem; font-weight:600; color:var(--kas-navy); display:flex; align-items:center; gap:8px; z-index:2; }
.map-pin-badge i{color:var(--kas-amber);}
@media (max-width:575.98px){
  .map-panel, .map-panel iframe{min-height:220px;}
  .map-pin-badge{top:10px; left:10px; padding:.55rem .8rem; font-size:.76rem;}
}

.office-card{ background:var(--kas-navy); border-radius:var(--radius); padding:1.6rem 1.5rem; color:#fff; }
.office-card h6{color:#fff; font-family:var(--font-display); font-weight:700; margin-bottom:1rem; display:flex; align-items:center; gap:8px;}
.office-card ul{list-style:none; padding:0; margin:0;}
.office-card ul li{display:flex; gap:10px; align-items:flex-start; margin-bottom:.9rem; font-size:.86rem; color:#CFE3DE;}
.office-card ul li:last-child{margin-bottom:0;}
.office-card ul li i{color:var(--kas-amber-2); margin-top:2px; flex-shrink:0;}
@media (max-width:575.98px){ .office-card{padding:1.3rem 1.2rem;} }

.hours-list{list-style:none; padding:0; margin:0;}
.hours-list li{display:flex; justify-content:space-between; padding:.65rem 0; border-bottom:1px dashed var(--kas-line); font-size:.9rem; gap:1rem;}
.hours-list li:last-child{border-bottom:0;}
.hours-list li span:first-child{color:var(--kas-ink); font-weight:600;}
.hours-list li span:last-child{color:var(--kas-ink-soft); font-family:var(--font-mono); font-size:.84rem; text-align:right;}

.faq-accordion .accordion-item{ border:1px solid var(--kas-line); border-radius:12px !important; overflow:hidden; margin-bottom:.8rem; }
.faq-accordion .accordion-button{ font-family:var(--font-display); font-weight:700; color:var(--kas-navy); font-size:.96rem; background:#fff; padding:1.1rem 1.3rem; }
.faq-accordion .accordion-button:not(.collapsed){color:var(--kas-teal); background:var(--kas-bg-alt); box-shadow:none;}
.faq-accordion .accordion-button:focus{box-shadow:none; border-color:var(--kas-line);}
.faq-accordion .accordion-button::after{filter:none;}
.faq-accordion .accordion-body{font-size:.9rem; color:var(--kas-ink-soft); padding:0 1.3rem 1.2rem;}
@media (max-width:575.98px){
  .faq-accordion .accordion-button{padding:.9rem 1rem; font-size:.9rem;}
  .faq-accordion .accordion-body{padding:0 1rem 1rem; font-size:.86rem;}
}

/* ==========================================================================
   LEGAL / PRIVACY PAGE  (single consolidated definition — was previously
   duplicated across "LEGAL / PRIVACY PAGE" and "PRIVACY POLICY PAGE")
   ========================================================================== */
.legal-toc{ position:sticky; top:100px; background:#fff; border:1px solid var(--kas-line); border-radius:var(--radius); padding:1.4rem 1.3rem; }
.legal-toc .toc-label{ font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:var(--kas-amber); font-weight:700; margin-bottom:.9rem; display:block; }
.legal-toc ul{list-style:none; padding:0!important; margin:0!important;}
.legal-toc ul li{margin-bottom:.15rem;}.legal-toc ul li:before{display:none;}
.legal-toc ul li a{ display:block; padding:.5rem .6rem; border-radius:8px; font-size:.86rem; font-weight:600; color:var(--kas-ink-soft); border-left:2px solid transparent; }
.legal-toc ul li a:hover{background:var(--kas-bg-alt); color:var(--kas-navy);}
.legal-toc ul li a.active{background:var(--kas-bg-alt); color:var(--kas-navy); border-left-color:var(--kas-amber);}
.legal-updated{ font-family:var(--font-mono); font-size:.78rem; color:var(--kas-ink-soft); display:inline-flex; align-items:center; gap:8px; background:var(--kas-bg-alt); border:1px solid var(--kas-line); border-radius:999px; padding:.5rem 1rem; }
.legal-meta{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.legal-meta span{ font-family:var(--font-mono); font-size:.72rem; color:var(--kas-ink-soft); background:var(--kas-bg-alt); border:1px solid var(--kas-line); border-radius:999px; padding:.35rem .8rem; }
/* Sidebar shouldn't stay sticky once it stacks above the content on tablets/phones */
@media (max-width:991.98px){
  .legal-toc{position:static; top:auto; margin-bottom:1.6rem;}
}
@media (max-width:575.98px){
  .legal-toc{padding:1.1rem 1rem;}
}

.legal-body h2, .legal-content h2{ font-size:1.3rem; scroll-margin-top:100px; margin-top:2.6rem; padding-top:.2rem; }
.legal-body h2:first-child, .legal-content > h2:first-of-type{margin-top:0; padding-top:0;}
.legal-content h3{font-size:1.02rem; margin-top:1.4rem; margin-bottom:.5rem; color:var(--kas-navy);}
.legal-body p, .legal-body li, .legal-content p, .legal-content li{font-size:.94rem; color:var(--kas-ink-soft); line-height:1.8;}
.legal-body ul, .legal-content ul{padding-left:1.2rem; margin-bottom:1rem;}
.legal-body ul li, .legal-content ul li{margin-bottom:.5rem;}
.legal-content ul li strong{color:var(--kas-ink);}
.legal-body .legal-note, .legal-callout{ background:var(--kas-bg-alt); border-left:3px solid var(--kas-amber); border-radius:0 10px 10px 0; padding:1rem 1.2rem; font-size:.88rem; color:var(--kas-ink-soft); margin:1.2rem 0; }
@media (max-width:575.98px){
  .legal-body h2, .legal-content h2{font-size:1.12rem; margin-top:1.9rem;}
  .legal-content h3{font-size:.96rem;}
  .legal-body p, .legal-body li, .legal-content p, .legal-content li{font-size:.9rem;}
}

@media (max-width:991.98px){ section{scroll-margin-top:78px;} }
@media (max-width:767.98px){
  .page-hero{text-align:center;}
  .page-hero .breadcrumb-kas{justify-content:center;}
  .page-hero-stats{justify-content:center; display:none;}
  .cta-section{text-align:center;}
  .cta-section .col-lg-4{margin-top:1rem;}
}
@media (max-width:575.98px){
  .topbar{display:none;}
  .brand-word{font-size:1.02rem;}
  .brand-word small{font-size:.55rem;}
  .newsletter-form{flex-wrap:wrap;}
  .newsletter-form input{border-radius:999px; margin-bottom:.6rem; width:100%;}
  .newsletter-form button{border-radius:999px; width:100%;}
}
  /* ===== FOOTER ACCORDION (mobile only) ===== */
        .footer-accordion-mobile .accordion-item {
            background: transparent;
            border: 0;
            border-bottom: 1px solid rgba(255, 255, 255, .08);
            border-radius: 0 !important;
        }
        .footer-accordion-mobile .accordion-item:last-child {
            border-bottom: 0;
        }
        .footer-accordion-mobile .accordion-header {
            margin: 0;
        }
        .footer-accordion-mobile .accordion-button {
            background: transparent;
            color: #fff;
            font-family: var(--font-display);
            font-weight: 700;
            font-size: .95rem;
            padding: 1rem 0 .7rem 0;
            border: 0;
            border-radius: 0 !important;
            box-shadow: none !important;
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            text-align: left;
            transition: color .2s ease;
        }
        .footer-accordion-mobile .accordion-button::after {
            content: "\F282";
            font-family: "bootstrap-icons";
            font-size: 1.1rem;
            background: none !important;
            transform: none !important;
            transition: transform .3s ease;
            color: rgba(255, 255, 255, .5);
            margin-left: auto;
            flex-shrink: 0;
        }
        .footer-accordion-mobile .accordion-button:not(.collapsed)::after {
            transform: rotate(180deg);
            color: var(--kas-amber);
        }
        .footer-accordion-mobile .accordion-button:focus {
            box-shadow: none;
            border-color: transparent;
        }
        .footer-accordion-mobile .accordion-button:hover {
            color: var(--kas-amber-2);
        }
        .footer-accordion-mobile .accordion-button:not(.collapsed) {
            color: var(--kas-amber);
            background: transparent;
            box-shadow: none;
        }
        .footer-accordion-mobile .accordion-body {
            padding: 0 0 1.2rem 0;
            color: #B9CEC8;
        }
        .footer-accordion-mobile .accordion-body ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-accordion-mobile .accordion-body ul li {
            margin-bottom: .6rem;
        }
        .footer-accordion-mobile .accordion-body ul li a {
            color: #B9CEC8;
            font-size: .9rem;
            text-decoration: none;
            transition: color .2s ease;
        }
        .footer-accordion-mobile .accordion-body ul li a:hover {
            color: var(--kas-amber-2);
        }

        /* desktop footer: hide accordion, show regular columns */
        @media (min-width: 992px) {
            .footer-accordion-mobile {
                display: none !important;
            }
            .footer-desktop-cols {
                display: flex !important;
            }
        }
        @media (max-width: 991.98px) {
            .footer-desktop-cols {
                display: none !important;
            }
            .footer-accordion-mobile {
                display: block !important;
                margin-top: 1.2rem;
            }
            /* hide the "Quick Links" & "Products" static headings on mobile */
            .footer-heading-mobile-hidden {
                display: none !important;
            }
           .footer-brand-col{text-align:center}
           .footer-brand-col .brand-mark{justify-content:center}
           .navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
  position: absolute;
  width: 98%;margin-top:0px;
  top: 90px;
  left: 1%;border-radius: 0;
}
.navbar-kas.scrolled .navbar-collapse {
  top: 70px;
}
        }
        /* on mobile, the brand column stays full width, accordion below */
        @media (max-width: 575.98px) {
          .navbar-collapse {
  top: 65px;
  left: 1%;border-radius: 0;
}
.navbar-kas.scrolled .navbar-collapse {
  top: 56px;
}
            .footer-accordion-mobile .accordion-button {
                font-size: .9rem;
                padding: .85rem 0 .6rem 0;
            }
            .footer-accordion-mobile .accordion-body ul li a {
                font-size: .85rem;
            }
            .footer-accordion-mobile .accordion-body {
                padding: 0 0 1rem 0;
            }
        }

        /* topbar hidden on mobile already in site.css — keep it */
        /* ensure footer columns on desktop are shown */
        .footer-desktop-cols {
            display: flex;
            flex-wrap: wrap;
        }
        .footer-desktop-cols .col-6,
        .footer-desktop-cols .col-12 {
            flex: 0 0 auto;
        }
        @media (min-width: 992px) {
            .footer-desktop-cols .col-lg-2 {
                flex: 0 0 16.666%;
                max-width: 16.666%;
            }
            .footer-desktop-cols .col-lg-3 {
                flex: 0 0 25%;
                max-width: 25%;
            }
            .footer-desktop-cols .col-lg-4 {
                flex: 0 0 33.333%;
                max-width: 33.333%;
            }
        }

        /* small fix: brand column on mobile */
        .footer-brand-col p {
            color: #9FC3BB;
            font-size: .9rem;
        }
        @media (max-width: 575.98px) {
            .footer-brand-col p {
                font-size: .85rem;
            }
            .footer-brand-col .brand-mark img {
                height: 48px;
            }
        }

        
/* ---------- FAQ PAGE ---------- */
.faq-search{ position:relative; max-width:480px; width:100%;  }
.faq-search input{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:.85rem 1.2rem .85rem 3rem; font-size:.92rem; width:100%; color:#fff; }
.faq-search input::placeholder{color:#B9CEC8;}
.faq-search input:focus{outline:none; border-color:var(--kas-amber); box-shadow:0 0 0 3px rgba(239,69,37,.18); background:rgba(255,255,255,.12);}
.faq-search i{ position:absolute; left:1.15rem; top:50%; transform:translateY(-50%); color:#B9CEC8; }
.faq-topics{display:flex; flex-wrap:wrap; gap:.6rem;  margin-top:1.4rem;}
.faq-topic-chip{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.03em; font-weight:600; color:#D7E6E1; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:.5rem 1rem; }

.faq-cat-nav{ display:flex; flex-wrap:wrap; gap:.5rem; background:#fff; border:1px solid var(--kas-line); border-radius:999px; padding:.4rem; }
.faq-cat-nav .faq-cat-link{ font-family:var(--font-mono); font-size:.76rem; letter-spacing:.03em; font-weight:600; color:var(--kas-ink-soft); background:transparent; border:0; border-radius:999px; padding:.55rem 1.1rem; transition:all .2s ease; cursor:pointer; white-space:nowrap; }
.faq-cat-nav .faq-cat-link:hover{color:var(--kas-navy);}
.faq-cat-nav .faq-cat-link.active{background:var(--kas-navy); color:#fff;}
@media (max-width:575.98px){
  .faq-topics{display:none}
  .faq-cat-nav{width:100%; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch;}
  .faq-cat-nav .faq-cat-link{padding:.5rem .9rem; font-size:.72rem;}
}

.faq-cat-heading{display:flex; align-items:center; gap:14px; margin-bottom:1.4rem;}
.faq-cat-heading .icon{ width:44px; height:44px; border-radius:12px; background:var(--kas-bg-alt); color:var(--kas-amber); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.faq-cat-heading h3{font-size:1.2rem; margin-bottom:.15rem;}
.faq-cat-heading span{font-family:var(--font-mono); font-size:.74rem; color:var(--kas-ink-soft); text-transform:uppercase; letter-spacing:.04em;}
.faq-group{margin-bottom:3rem;}
.faq-group:last-child{margin-bottom:0;}
.faq-no-results{display:none; text-align:center; padding:3.5rem 1rem;}
.faq-no-results i{font-size:2.4rem; color:var(--kas-line); margin-bottom:1rem; display:block;}

.faq-still-card{ background:var(--kas-navy); border-radius:var(--radius); padding:2rem 1.8rem; color:#fff; display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; justify-content:space-between; }
.faq-still-card h5{color:#fff; margin-bottom:.3rem;}
.faq-still-card p{color:#B9CEC8; margin-bottom:0; font-size:.9rem;}
@media (max-width:575.98px){
  .faq-still-card{padding:1.5rem 1.3rem; text-align:center; justify-content:center;}
}

.nav-folderized .nav {
padding: 0 !important; margin: 0 !important;
display: block !important;

}

.nav-folderized h5{display:none!important}
