/*
Theme Name: OKTW Oral Films B2B V59 New Factory Workflow Images
Theme URI: https://oktworalstrips.com/
Author: OKTW
Description: Unified light-blue editorial B2B WordPress theme for functional oral dissolving strip manufacturing.
Version: 59.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: oktw-oral-films
License: GPL-2.0-or-later
*/
:root{
  --ink:#082d56;
  --ink2:#17466c;
  --teal:#54cbc6;
  --teal2:#0c9497;
  --ice:#eef8fc;
  --ice2:#f7fbfd;
  --line:#bdd4e1;
  --muted:#5b7388;
  --white:#fff;
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.wrap{width:min(var(--max),calc(100% - 56px));margin:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500;letter-spacing:-.045em}
h1{font-size:clamp(50px,5.1vw,84px);line-height:.94;margin:18px 0 22px;max-width:620px}
h2{font-size:clamp(38px,4vw,62px);line-height:1;margin:14px 0 20px;max-width:760px}
h3{font-size:21px;line-height:1.15;margin:0 0 10px}
p{color:var(--muted)}
.kicker{display:inline-block;color:#0a8695;font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.lead{font-size:16px;line-height:1.72;color:#3e5e78;max-width:560px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 28px;border:1px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;transition:.2s}
.btn:hover{transform:translateY(-1px);border-color:var(--teal2);color:var(--teal2)}
.btn--dark{background:var(--teal);border-color:var(--teal);color:var(--ink)}
.btn--light{background:#fff;border-color:#fff;color:var(--ink)}

/* Header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);border-bottom:1px solid #d5e5ed;backdrop-filter:blur(14px)}
.nav-shell{height:70px;display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:var(--max)}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.03em}
.brand-mark{width:30px;height:30px;border:1.5px solid #2c6fca;border-radius:9px;position:relative}
.brand-mark:after{content:"";position:absolute;width:10px;height:10px;border-radius:4px;background:#2c6fca;right:-5px;bottom:4px}
.brand small{display:block;font-size:8px;letter-spacing:.1em;color:#71879a}
.custom-logo{max-height:38px;width:auto}
.primary-menu{display:flex;align-items:center;gap:29px;list-style:none;margin:0;padding:0;font-size:12px;font-weight:700}
.primary-menu a:hover{color:var(--teal2)}
.header-cta{min-height:40px;padding:0 20px;border-radius:22px;background:var(--ink);border-color:var(--ink);color:#fff}
.header-cta:hover{background:var(--teal);border-color:var(--teal);color:var(--ink)}
.menu-toggle{display:none;border:0;background:transparent;font-size:22px;color:var(--ink)}

/* Hero */
.hero{padding:0;background:var(--ice)}
.hero .wrap{width:100%;max-width:none;margin:0}
.hero-shell{
  position:relative;
  width:100%;
  aspect-ratio:2048/682;
  overflow:hidden;
  background:url("assets/images/hero-full-background-v50.webp") center center/100% 100% no-repeat;
}
.hero-copy{
  position:absolute;
  left:clamp(42px,7vw,145px);
  top:50%;
  transform:translateY(-50%);
  width:min(520px,35vw);
  z-index:2;
}
.hero-copy h1{font-size:clamp(48px,4.65vw,79px);max-width:510px}
.hero-copy .lead{font-size:15px;max-width:520px}
.hero-status{display:flex;gap:0;margin:18px 0 13px}
.hero-status span{padding:7px 12px;border:1px solid #93afc0;background:rgba(255,255,255,.68);font-size:9px;font-weight:900;letter-spacing:.1em}
.hero-status span:first-child{background:var(--teal);border-color:var(--teal)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.cert-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.cert-badges span{padding:5px 9px;border:1px solid #9bb5c5;background:rgba(255,255,255,.58);font-size:9px;font-weight:900;letter-spacing:.08em}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);max-width:545px;border-top:1px solid #9eb7c6}
.hero-metric{padding:13px 16px 0 0;border-right:1px solid #9eb7c6;margin-right:16px}
.hero-metric:last-child{border-right:0;margin-right:0}
.hero-metric strong{display:block;font-size:16px}
.hero-metric span{font-size:9px;color:#637b8d}

/* Shared sections */
.section{padding:112px 0}
.section--soft{background:var(--ice)}
.section--white{background:#fff}
.section-head{display:grid;grid-template-columns:1.05fr .75fr;gap:88px;align-items:end;margin-bottom:46px}
.section-head p{font-size:15px;line-height:1.75;margin-bottom:4px}
.rule{height:1px;background:var(--line)}
.mini-label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--teal2)}

/* Functions */
.functions-board{border-top:1px solid var(--line);border-left:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.62)}
.function-card{
  min-height:210px;padding:27px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.44);cursor:pointer;transition:.2s;position:relative
}
.function-card:hover,.function-card.is-active{background:#fff}
.function-card .num{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--teal2);margin-bottom:42px}
.function-card h3{font-size:24px}
.function-card p{font-size:13px;max-width:270px}
.function-card .arrow{position:absolute;right:24px;bottom:22px;font-size:18px}
.function-detail{
  margin-top:18px;display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--line);background:#fff
}
.function-visual{
  min-height:300px;position:relative;overflow:hidden;background:#dff1f7;display:grid;place-items:center
}
.function-visual:before,.function-visual:after{content:"";position:absolute;border:1px solid rgba(12,148,151,.25);border-radius:50%}
.function-visual:before{width:330px;height:330px;right:-80px;top:-20px}
.function-visual:after{width:220px;height:220px;right:0;top:55px}
.function-disc{width:180px;height:180px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;z-index:2}
.function-disc svg{width:78px;height:78px;stroke:var(--teal2);fill:none;stroke-width:1.7}
.function-copy{padding:38px 42px;display:flex;flex-direction:column;justify-content:center}
.function-copy p{font-size:15px}
.function-copy .formula{padding-top:16px;margin-top:7px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ink)}

/* Capability */
.cap-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cap-item{padding:28px 26px 32px;border-right:1px solid var(--line);min-height:245px}
.cap-item:last-child{border-right:0}
.cap-item .cap-no{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--teal2);margin-bottom:52px}
.cap-item h3{font-size:24px}
.cap-item p{font-size:13px}

/* Factory */
.factory-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.factory-image{min-height:560px;overflow:hidden;border:1px solid var(--line);background:#dfeef5}
.factory-image img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.factory-info{border:1px solid var(--line);background:#fff;display:grid;grid-template-rows:repeat(4,1fr)}
.factory-row{padding:25px 26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start}
.factory-row:last-child{border-bottom:0}
.factory-row .n{font-size:9px;letter-spacing:.12em;color:var(--teal2);font-weight:900}
.factory-row strong{display:block;font-size:19px;margin-bottom:4px}
.factory-row p{font-size:12px;margin-bottom:0}
.factory-foot{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-top:0;background:#fff}
.factory-foot div{padding:16px 18px;border-right:1px solid var(--line);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.factory-foot div:last-child{border-right:0}

/* Certificates */
.cert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.cert-card{border:1px solid var(--line);background:#fff;min-height:255px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.cert-image{height:150px;background:#f8fbfd;border:1px solid #d8e5ec;display:grid;place-items:center;overflow:hidden}
.cert-image img{width:100%;height:100%;object-fit:cover}
.cert-placeholder{width:55px;height:72px;border:1px solid var(--teal2);position:relative}
.cert-placeholder:before{content:"";position:absolute;left:11px;right:11px;top:20px;height:1px;background:var(--teal2);box-shadow:0 12px 0 var(--teal2),0 24px 0 var(--teal2)}
.cert-card strong{font-size:17px;font-weight:600}
.cert-card small{font-size:10px;color:var(--muted)}

/* Process */
.process-line{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-step{min-height:210px;padding:24px 20px;border-right:1px solid var(--line);cursor:pointer;transition:.2s}
.process-step:last-child{border-right:0}
.process-step:hover,.process-step.is-active{background:var(--ice)}
.process-step .step-no{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--teal2);margin-bottom:50px}
.process-step h3{font-size:22px}
.process-step p{font-size:12px}
.process-detail{margin-top:18px;border:1px solid var(--line);display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;padding:30px;background:#fff}
.process-detail .tiny{font-size:9px;letter-spacing:.13em;color:var(--teal2);font-weight:900;text-transform:uppercase}
.process-detail p{margin:0;font-size:14px}

/* Inquiry */
.inquiry-panel{background:var(--ink);color:#fff;padding:48px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.inquiry-panel .kicker{color:#69d7d2}
.inquiry-panel h2{color:#fff}
.inquiry-panel p{color:rgba(255,255,255,.68)}
.inquiry-points{margin-top:30px;border-top:1px solid rgba(255,255,255,.18)}
.inquiry-point{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:700}
.inquiry-form{background:#fff;color:var(--ink);padding:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{margin-bottom:12px}
.field label{display:block;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid #c7d9e3;background:#fff;padding:12px 13px;color:var(--ink);outline:none}
.field textarea{min-height:112px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal2)}
.form-note{font-size:9px;color:#718599;margin-top:10px}
.form-status{padding:10px 12px;margin-bottom:12px;background:#e6f7f3;color:#17685f;font-size:12px;font-weight:700}

/* Footer */
.site-footer{padding:42px 0;border-top:1px solid #d5e5ed;background:#fff}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr .85fr;gap:34px}
.footer-title{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:13px}
.footer-list{list-style:none;margin:0;padding:0}
.footer-list li{margin:7px 0;font-size:12px;color:var(--muted)}
.footer-grid p{font-size:12px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #d5e5ed;margin-top:30px;padding-top:18px;font-size:10px;color:var(--muted)}
.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:70;width:50px;height:50px;border-radius:50%;background:#20a765;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.18)}

@media(max-width:1050px){
  .primary-menu{position:absolute;display:none;left:20px;right:20px;top:68px;padding:18px;background:#fff;border:1px solid var(--line);flex-direction:column;align-items:flex-start}.primary-menu.is-open{display:flex}.menu-toggle{display:block}.header-cta{display:none}
  .hero-shell{aspect-ratio:auto;padding-top:33.300781%;overflow:visible;background-size:100% auto;background-position:top center}
  .hero-copy{position:relative;left:auto;top:auto;transform:none;width:100%;padding:40px 28px;background:var(--ice)}
  .section-head,.function-detail,.factory-layout,.process-detail,.inquiry-panel{grid-template-columns:1fr}
  .section-head{gap:18px}
  .functions-board{grid-template-columns:1fr 1fr}
  .cap-strip{grid-template-columns:1fr 1fr}
  .cap-item:nth-child(2){border-right:0}.cap-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .cert-grid{grid-template-columns:repeat(3,1fr)}
  .process-line{grid-template-columns:repeat(3,1fr)}
  .process-step:nth-child(3){border-right:0}.process-step:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  body.admin-bar .site-header{top:46px}
  .wrap{width:min(var(--max),calc(100% - 24px))}
  .section{padding:74px 0}
  .nav-shell{height:62px}
  .hero-copy{padding:34px 20px 40px}
  .hero-copy h1{font-size:44px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-metrics{grid-template-columns:1fr}
  .hero-metric{border-right:0;border-bottom:1px solid #afc4d0;margin:0;padding:10px 0}
  .hero-metric:last-child{border-bottom:0}
  .functions-board,.cap-strip,.cert-grid,.process-line,.form-row,.footer-grid{grid-template-columns:1fr}
  .function-card,.cap-item,.process-step{border-right:0!important;border-bottom:1px solid var(--line)}
  .function-card:last-child,.cap-item:last-child,.process-step:last-child{border-bottom:0}
  .factory-foot{grid-template-columns:1fr}
  .factory-foot div{border-right:0;border-bottom:1px solid var(--line)}
  .factory-foot div:last-child{border-bottom:0}
  .inquiry-panel{padding:30px 22px}
  .inquiry-form{padding:20px}
}


/* =========================================================
   V9 — Interactive Function Categories under Hero
   ========================================================= */
#functions.function-showcase{
  padding:100px 0 110px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 20%, rgba(177,212,244,.28), transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#edf6fc 100%);
}
#functions.function-showcase::after{
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  right:-170px;
  top:120px;
  border-radius:50%;
  border:1px solid rgba(86,146,215,.13);
  box-shadow:
    0 0 0 58px rgba(113,168,228,.05),
    0 0 0 116px rgba(113,168,228,.035);
  pointer-events:none;
}
.function-showcase .function-intro{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:84px;
  align-items:end;
  margin-bottom:34px;
}
.function-showcase .function-intro .kicker{
  margin-bottom:12px;
}
.function-showcase .function-intro h2{
  max-width:690px;
  font-size:clamp(44px,4.8vw,76px);
  line-height:.95;
  margin:0;
  letter-spacing:-.055em;
}
.function-showcase .function-intro h2 .accent{
  color:#206ed5;
}
.function-showcase .function-intro-copy{
  max-width:580px;
  justify-self:end;
  padding-bottom:8px;
}
.function-showcase .function-intro-copy p{
  margin:0;
  font-size:17px;
  line-height:1.55;
  color:#6d7e95;
}
.function-showcase .function-intro-copy .microline{
  display:block;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(83,122,166,.28);
  font-size:10px;
  letter-spacing:.28em;
  color:#7796c0;
  text-transform:uppercase;
  font-weight:800;
}

.function-tabs-shell{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  margin-bottom:14px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(164,190,218,.45);
  border-radius:34px;
  box-shadow:0 18px 46px rgba(25,64,111,.10);
  box-shadow:0 12px 36px rgba(30,72,120,.07);
  position:relative;
  z-index:3;
}
.function-tabs-scroll{
  min-width:0;
  flex:1;
  display:flex;
  gap:5px;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.function-tabs-scroll::-webkit-scrollbar{display:none}
.function-tab-v9{
  flex:0 0 auto;
  min-height:46px;
  padding:0 22px;
  border:0;
  border-radius:26px;
  background:transparent;
  color:#102e54;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  transition:
    background .24s ease,
    color .24s ease,
    transform .24s ease;
}
.function-tab-v9:hover{
  background:#eff6fd;
}
.function-tab-v9.is-active{
  color:#fff;
  background:linear-gradient(135deg,#0f58b8,#287de3);
  box-shadow:0 8px 20px rgba(28,101,199,.2);
}
.function-tab-v9:focus-visible,
.function-next:focus-visible{
  outline:3px solid rgba(41,118,218,.28);
  outline-offset:2px;
}
.function-next{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid #d7e4f0;
  background:#fff;
  color:#163a64;
  font-size:24px;
  cursor:pointer;
  transition:.22s ease;
  box-shadow:0 5px 14px rgba(31,74,121,.06);
}
.function-next:hover{
  transform:translateX(2px);
  border-color:#9ebde0;
  color:#1c6fd3;
}

.function-stage{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:460px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(171,195,219,.52);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(43,78,120,.08);
  position:relative;
  z-index:2;
}
.function-scene{
  min-height:460px;
  position:relative;
  overflow:hidden;
  background:#dceafb;
}
.function-scene img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:
    opacity .32s ease,
    transform .55s cubic-bezier(.2,.7,.2,1);
}
.function-stage.is-changing .function-scene img{
  opacity:.2;
  transform:scale(1.025);
}
.function-scene::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,40,77,.03),transparent 36%),
    linear-gradient(180deg,transparent 68%,rgba(3,30,64,.08));
  pointer-events:none;
}
.function-content{
  padding:48px 46px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.function-content-inner{
  transition:
    opacity .26s ease,
    transform .26s ease;
}
.function-stage.is-changing .function-content-inner{
  opacity:.12;
  transform:translateY(8px);
}
.function-label-v9{
  font-size:11px;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-weight:900;
  color:#315a91;
  margin-bottom:13px;
}
.function-title-v9{
  font-size:clamp(30px,3vw,42px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 14px;
  color:#0a2f5d;
}
.function-description-v9{
  font-size:16px;
  line-height:1.58;
  color:#61758e;
  margin:0 0 22px;
  max-width:530px;
}
.function-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  padding-top:20px;
  border-top:1px solid #dce7f2;
}
.function-benefit{
  min-width:0;
}
.function-benefit-icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef5ff;
  color:#2876da;
  margin-bottom:11px;
}
.function-benefit-icon svg{
  width:23px;
  height:23px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
}
.function-benefit strong{
  display:block;
  font-size:11px;
  line-height:1.35;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#233c61;
}
.function-counter{
  margin-top:24px;
  font-size:10px;
  color:#8092a7;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.function-counter b{
  color:#1e67c3;
}

@media(max-width:1050px){
  .function-showcase .function-intro{
    grid-template-columns:1fr;
    gap:22px;
  }
  .function-showcase .function-intro-copy{
    justify-self:start;
  }
  .function-stage{
    grid-template-columns:1fr;
  }
  .function-scene{
    min-height:420px;
  }
}
@media(max-width:700px){
  #functions.function-showcase{
    padding:72px 0 80px;
  }
  .function-showcase .function-intro h2{
    font-size:44px;
  }
  .function-showcase .function-intro-copy p{
    font-size:15px;
  }
  .function-tabs-shell{
    border-radius:22px;
    padding:8px;
  }
  .function-tab-v9{
    min-height:42px;
    padding:0 16px;
    font-size:12px;
  }
  .function-next{
    flex-basis:42px;
    width:42px;
    height:42px;
  }
  .function-scene{
    min-height:300px;
  }
  .function-content{
    padding:30px 24px 28px;
  }
  .function-benefits{
    grid-template-columns:1fr;
    gap:17px;
  }
  .function-benefit{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:12px;
    align-items:center;
  }
  .function-benefit-icon{
    margin:0;
  }
}
@media (prefers-reduced-motion: reduce){
  .function-tab-v9,
  .function-next,
  .function-scene img,
  .function-content-inner{
    transition:none!important;
  }
}


/* V10 banner sharp overlay */
.hero-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(247,251,255,.38) 0%,
    rgba(247,251,255,.18) 24%,
    rgba(247,251,255,.04) 46%,
    rgba(247,251,255,0) 62%
  );
  z-index:1;
}
.hero-copy{z-index:2}


/* =========================================================
   V11 — 10 real certificate documents + lightbox
   ========================================================= */
#quality{background:#f5f6f0}
#quality .section-head{margin-bottom:38px}
.cert-grid-v11{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.cert-card-v11{
  appearance:none;
  width:100%;
  padding:0;
  text-align:left;
  border:1px solid #d8ded5;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.cert-card-v11:hover{
  transform:translateY(-3px);
  border-color:#aebdba;
  box-shadow:0 16px 34px rgba(18,48,69,.08);
}
.cert-card-v11:focus-visible{
  outline:3px solid rgba(39,118,218,.26);
  outline-offset:3px;
}
.cert-doc-v11{
  position:relative;
  aspect-ratio:3/4;
  padding:10px;
  display:grid;
  place-items:center;
  background:#fafbf8;
  border-bottom:1px solid #dde2da;
  overflow:hidden;
}
.cert-doc-v11 img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.cert-number-v11{
  position:absolute;
  left:8px;
  top:8px;
  min-width:23px;
  height:23px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#163e34;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  z-index:2;
}
.cert-copy-v11{padding:14px 13px 16px}
.cert-copy-v11 strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.25;
  font-weight:500;
  color:#1a2d21;
}
.cert-copy-v11 small{
  display:block;
  min-height:25px;
  margin-top:6px;
  color:#7a867d;
  font-size:8px;
  line-height:1.45;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cert-view-v11{
  display:inline-block;
  margin-top:10px;
  color:#536700;
  font-size:9px;
  font-weight:900;
}
.cert-modal-v11{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:34px;
  background:rgba(5,18,29,.8);
  backdrop-filter:blur(10px);
}
.cert-modal-v11.is-open{display:flex}
.cert-modal-dialog-v11{
  width:min(920px,94vw);
  max-height:92vh;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}
.cert-modal-head-v11{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  gap:20px;
  padding:12px 16px 12px 20px;
  border-bottom:1px solid #e1e6e8;
}
.cert-modal-title-v11{
  margin:0;
  font-size:15px;
  font-weight:800;
  color:#0e3152;
}
.cert-modal-close-v11{
  width:38px;
  height:38px;
  border:1px solid #d6e0e6;
  border-radius:50%;
  background:#fff;
  color:#183b5f;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.cert-modal-media-v11{
  max-height:calc(92vh - 58px);
  overflow:auto;
  padding:20px;
  background:#edf2f4;
  display:grid;
  place-items:center;
}
.cert-modal-media-v11 img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:none;
  background:#fff;
  box-shadow:0 7px 28px rgba(15,40,60,.12);
}
body.cert-modal-open-v11{overflow:hidden}
@media(max-width:1100px){.cert-grid-v11{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){
  .cert-grid-v11{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cert-modal-v11{padding:12px}
  .cert-modal-media-v11{padding:10px}
}
@media(max-width:420px){.cert-grid-v11{grid-template-columns:1fr 1fr}}


/* =========================================================
   V12 — Reference-style 3-step inquiry + editorial footer
   ========================================================= */
.project-inquiry-v12{
  padding:112px 0 118px;
  background:#eef5f2;
  position:relative;
  overflow:hidden;
}
.project-inquiry-v12 .project-intro-v12{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:74px;
  align-items:end;
}
.project-inquiry-v12 .project-intro-copy-v12{
  padding-top:4px;
}
.project-inquiry-v12 .project-intro-copy-v12 .kicker{
  color:#47bdb9;
}
.project-inquiry-v12 .project-intro-copy-v12 h2{
  font-size:clamp(48px,5.4vw,78px);
  line-height:.94;
  max-width:520px;
  letter-spacing:-.055em;
  margin:16px 0 20px;
  color:#102f48;
}
.project-inquiry-v12 .project-intro-copy-v12 p{
  max-width:390px;
  color:#98adba;
  font-size:13px;
  line-height:1.62;
}
.project-card-v12{
  background:#fff;
  border:1px solid #e2ebe5;
  box-shadow:0 22px 60px rgba(31,63,70,.08);
  padding:30px 31px 26px;
  min-height:455px;
}
.project-card-v12 .eyebrow-v12{
  font-size:10px;
  letter-spacing:.13em;
  font-weight:900;
  color:#4d842c;
  margin-bottom:8px;
}
.project-card-v12 .project-card-title-v12{
  font-family:Georgia,"Times New Roman",serif;
  font-size:45px;
  line-height:.98;
  font-weight:400;
  letter-spacing:-.04em;
  color:#073e36;
  margin:0 0 13px;
}
.project-card-v12 .project-card-title-v12 em{
  color:#789a2d;
  font-weight:400;
}
.project-card-v12 .project-card-sub-v12{
  margin:0 0 20px;
  font-size:11px;
  color:#48625d;
}
.project-rule-v12{
  height:1px;
  background:#cbd9d0;
  margin-bottom:21px;
}
.project-progress-meta-v12{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:8px;
  font-size:9px;
  font-weight:900;
  color:#143e36;
}
.project-progress-v12{
  width:100%;
  height:5px;
  background:#e9efeb;
  overflow:hidden;
  margin-bottom:21px;
}
.project-progress-bar-v12{
  height:100%;
  width:33.333%;
  background:#1daf78;
  transition:width .25s ease;
}
.project-step-v12{
  display:none;
}
.project-step-v12.is-active{
  display:block;
}
.project-step-v12 h3{
  font-size:19px;
  letter-spacing:-.025em;
  margin-bottom:6px;
  color:#0b4138;
}
.project-step-v12 .step-copy-v12{
  font-size:10px;
  margin:0 0 18px;
  color:#526b65;
}
.project-fields-v12{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
}
.project-field-v12{
  min-width:0;
}
.project-field-v12.full{
  grid-column:1/-1;
}
.project-field-v12 label{
  display:block;
  font-size:9px;
  letter-spacing:.08em;
  font-weight:900;
  color:#16483f;
  margin-bottom:7px;
}
.project-field-v12 input,
.project-field-v12 select,
.project-field-v12 textarea{
  width:100%;
  border:0;
  border-bottom:1px solid #c5d4cb;
  background:transparent;
  color:#123b35;
  min-height:38px;
  padding:5px 6px;
  border-radius:0;
  outline:none;
  font-size:12px;
}
.project-field-v12 textarea{
  min-height:82px;
  resize:vertical;
  border:1px solid #d4dfd8;
  padding:10px 11px;
}
.project-field-v12 input:focus,
.project-field-v12 select:focus,
.project-field-v12 textarea:focus{
  border-color:#1daf78;
}
.project-field-v12 .help-v12{
  font-size:9px;
  color:#7d918c;
  margin-top:4px;
}
.project-actions-v12{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:22px;
}
.project-actions-v12 .spacer-v12{
  flex:1;
}
.project-btn-v12{
  min-height:39px;
  padding:0 17px;
  border:0;
  border-radius:7px;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.project-btn-v12.primary{
  background:#1daf78;
  color:#fff;
}
.project-btn-v12.secondary{
  background:#edf4ef;
  color:#27554b;
}
.project-btn-v12:hover{
  filter:brightness(.98);
}
.project-error-v12{
  margin-top:11px;
  padding:9px 11px;
  background:#fff4f1;
  color:#9b3d31;
  border:1px solid #efd6cf;
  font-size:10px;
  display:none;
}
.project-error-v12.is-visible{
  display:block;
}
.project-success-v12{
  margin-bottom:16px;
  padding:11px 13px;
  background:#e7f6ef;
  border:1px solid #bfe4d2;
  color:#176049;
  font-size:11px;
  font-weight:800;
}
.project-privacy-v12{
  font-size:9px;
  color:#7a8c86;
  margin-top:13px;
}
.project-form-v12 [hidden]{
  display:none!important;
}

/* Footer */
.site-footer-v12{
  background:#102f2c;
  color:#edf8f3;
  padding:0;
}
.footer-cta-v12{
  border-bottom:1px solid rgba(255,255,255,.13);
}
.footer-cta-v12 .wrap{
  min-height:150px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:44px;
  align-items:center;
}
.footer-cta-v12 h3{
  font-size:28px;
  color:#fff;
  margin:0 0 7px;
  letter-spacing:-.035em;
}
.footer-cta-v12 p{
  color:#a9c0ba;
  max-width:720px;
  margin:0;
  font-size:13px;
}
.footer-cta-v12 .footer-start-v12{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  border:1px solid #64c8ad;
  color:#fff;
  font-size:11px;
  font-weight:900;
  border-radius:3px;
}
.footer-main-v12{
  padding:54px 0 24px;
}
.footer-grid-v12{
  display:grid;
  grid-template-columns:1.25fr .85fr .85fr 1fr;
  gap:46px;
}
.footer-brand-v12 .brand{
  color:#fff;
}
.footer-brand-v12 p{
  color:#96afa8;
  max-width:340px;
  font-size:12px;
  margin:18px 0 0;
}
.footer-heading-v12{
  font-size:9px;
  letter-spacing:.14em;
  font-weight:900;
  color:#5ed0b1;
  margin-bottom:13px;
}
.footer-links-v12{
  list-style:none;
  margin:0;
  padding:0;
}
.footer-links-v12 li{
  margin:8px 0;
}
.footer-links-v12 a,
.footer-contact-v12{
  color:#b9cdc7;
  font-size:11px;
  line-height:1.55;
}
.footer-links-v12 a:hover{
  color:#fff;
}
.footer-contact-v12 a{
  color:#fff;
}
.footer-bottom-v12{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:42px;
  padding:18px 0 21px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  color:#89a29b;
  font-size:9px;
}
.footer-policies-v12{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.footer-policies-v12 a{
  color:#a8bbb6;
}
.site-footer-v12 .whatsapp-float{
  background:#1daf78;
}

@media(max-width:1000px){
  .project-inquiry-v12 .project-intro-v12{
    grid-template-columns:1fr;
    gap:34px;
  }
  .project-inquiry-v12 .project-intro-copy-v12 h2{
    max-width:720px;
  }
  .footer-grid-v12{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  .project-inquiry-v12{
    padding:74px 0 82px;
  }
  .project-inquiry-v12 .project-intro-copy-v12 h2{
    font-size:48px;
  }
  .project-card-v12{
    padding:23px 20px 22px;
  }
  .project-card-v12 .project-card-title-v12{
    font-size:36px;
  }
  .project-fields-v12{
    grid-template-columns:1fr;
  }
  .project-field-v12.full{
    grid-column:auto;
  }
  .project-actions-v12{
    align-items:stretch;
  }
  .project-actions-v12 .spacer-v12{
    display:none;
  }
  .project-btn-v12{
    flex:1;
  }
  .footer-cta-v12 .wrap{
    grid-template-columns:1fr;
    padding-top:34px;
    padding-bottom:34px;
  }
  .footer-grid-v12{
    grid-template-columns:1fr;
    gap:28px;
  }
  .footer-bottom-v12{
    flex-direction:column;
  }
}
@media(prefers-reduced-motion:reduce){
  .project-progress-bar-v12{transition:none}
}



/* =========================================================
   V13 — Function Categories Grid (Option A)
   ========================================================= */
#functions.function-grid-v13{
  padding:102px 0 112px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 91% 16%, rgba(180,213,243,.24), transparent 26%),
    linear-gradient(180deg,#f6fbff 0%, #edf6fc 100%);
}
#functions.function-grid-v13::after{
  content:"";
  position:absolute;
  right:-170px;
  top:96px;
  width:480px;
  height:480px;
  border-radius:50%;
  border:1px solid rgba(109,160,219,.12);
  box-shadow:
    0 0 0 56px rgba(109,160,219,.045),
    0 0 0 112px rgba(109,160,219,.028);
  pointer-events:none;
}
.function-grid-v13 .function-grid-head{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:78px;
  align-items:end;
  margin-bottom:38px;
  position:relative;
  z-index:2;
}
.function-grid-v13 .function-grid-head .kicker{
  margin-bottom:10px;
}
.function-grid-v13 .function-grid-head h2{
  margin:0;
  max-width:700px;
  font-size:clamp(46px,4.9vw,76px);
  line-height:.95;
  letter-spacing:-.055em;
}
.function-grid-v13 .function-grid-head h2 .accent{
  color:#206ed5;
}
.function-grid-v13 .function-grid-head-copy{
  max-width:530px;
  justify-self:end;
  padding-bottom:8px;
}
.function-grid-v13 .function-grid-head-copy p{
  margin:0;
  color:#6e7f95;
  font-size:17px;
  line-height:1.55;
}
.function-grid-v13 .function-grid-head-copy .microline{
  display:block;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(88,123,165,.24);
  color:#7f9dc2;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:800;
}

.function-grid-v13 .function-grid-wrap{
  display:grid;
  grid-template-columns:repeat(12, minmax(0,1fr));
  gap:18px;
  position:relative;
  z-index:2;
  align-items:stretch;
}
.function-card-v13{
  min-width:0;
  grid-column:span 3;
  display:flex;
  flex-direction:column;
  height:100%;
  border:1px solid rgba(171,194,217,.58);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(251,254,255,.95) 100%);
  box-shadow:0 10px 28px rgba(34,69,108,.05);
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease;
}
.function-card-v13:hover{
  transform:translateY(-6px);
  border-color:#8eb4df;
  box-shadow:0 18px 42px rgba(34,69,108,.11);
  background:#fff;
}
.function-card-v13.is-wide{
  grid-column:span 3;
}
.function-card-v13:nth-child(n+5){
  grid-column:span 4;
}
.function-card-v13 .media{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#dceafb;
}
.function-card-v13.is-wide .media{
  aspect-ratio:16/10;
}
.function-card-v13 .media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s cubic-bezier(.2,.7,.2,1), filter .26s ease;
}
.function-card-v13:hover .media img{
  transform:scale(1.04);
  filter:saturate(1.04);
}
.function-card-v13 .media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 56%,rgba(11,33,68,.08) 100%);
  pointer-events:none;
}
.function-card-v13 .body{
  padding:18px 18px 17px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}
.function-card-v13 .eyebrow{
  color:#2e5f97;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
}
.function-card-v13 h3{
  font-size:24px;
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0;
  color:#0a2f5d;
}
.function-card-v13 p{
  margin:0;
  font-size:14px;
  line-height:1.58;
  color:#65788f;
  max-width:420px;
}
.function-card-v13 .meta{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  gap:14px;
  padding-top:4px;
}
.function-card-v13 .tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef5ff;
  color:#286fd5;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.function-card-v13 .arrow{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#245388;
  border:1px solid #dbe7f2;
  background:#fff;
  transform:translateX(0);
  transition:transform .24s ease, background .24s ease, color .24s ease, border-color .24s ease;
}
.function-card-v13:hover .arrow{
  transform:translateX(4px);
  background:#226dd0;
  border-color:#226dd0;
  color:#fff;
}
.function-card-v13 .arrow svg{
  width:17px;
  height:17px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
}
.function-card-v13 a.cover{
  position:absolute;
  inset:0;
  z-index:3;
  text-indent:-9999px;
}
.function-grid-v13 .function-note{
  margin-top:18px;
  color:#8a9db0;
  font-size:12px;
  position:relative;
  z-index:2;
}

@media(max-width:1200px){
  .function-grid-v13 .function-grid-wrap{
    grid-template-columns:repeat(6, minmax(0,1fr));
  }
  .function-card-v13,
  .function-card-v13.is-wide,
  .function-card-v13:nth-child(n+5){
    grid-column:span 2;
  }
}
@media(max-width:1000px){
  .function-grid-v13 .function-grid-head{
    grid-template-columns:1fr;
    gap:22px;
  }
  .function-grid-v13 .function-grid-head-copy{
    justify-self:start;
  }
  .function-grid-v13 .function-grid-wrap{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .function-card-v13,
  .function-card-v13.is-wide,
  .function-card-v13:nth-child(n+5){
    grid-column:span 1;
  }
}
@media(max-width:700px){
  #functions.function-grid-v13{
    padding:74px 0 82px;
  }
  .function-grid-v13 .function-grid-head h2{
    font-size:44px;
  }
  .function-grid-v13 .function-grid-head-copy p{
    font-size:15px;
  }
  .function-grid-v13 .function-grid-wrap{
    grid-template-columns:1fr;
    gap:14px;
  }
  .function-card-v13,
  .function-card-v13.is-wide,
  .function-card-v13:nth-child(n+5){
    grid-column:auto;
  }
  .function-card-v13 .body{
    padding:16px 16px 15px;
  }
  .function-card-v13 h3{
    font-size:22px;
  }
}
@media(prefers-reduced-motion:reduce){
  .function-card-v13,
  .function-card-v13 .media img,
  .function-card-v13 .arrow{
    transition:none!important;
  }
}



/* =========================================================
   V14 — Interactive Factory Capability Workflow
   ========================================================= */
#factory.factory-interactive-v14{
  padding:108px 0 114px;
  background:
    radial-gradient(circle at 91% 12%, rgba(173,211,241,.22), transparent 26%),
    linear-gradient(180deg,#edf7fc 0%,#eaf5fa 100%);
  position:relative;
  overflow:hidden;
}
.factory-interactive-v14 .factory-head-v14{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:78px;
  align-items:end;
  margin-bottom:42px;
}
.factory-interactive-v14 .factory-head-v14 h2{
  font-size:clamp(44px,4.8vw,72px);
  line-height:.96;
  letter-spacing:-.055em;
  max-width:740px;
  margin:12px 0 0;
}
.factory-interactive-v14 .factory-head-copy-v14{
  justify-self:end;
  max-width:500px;
  padding-bottom:7px;
}
.factory-interactive-v14 .factory-head-copy-v14 p{
  margin:0;
  color:#657b90;
  font-size:15px;
  line-height:1.68;
}

.factory-workflow-v14{
  display:grid;
  grid-template-columns:1.16fr .84fr;
  min-height:560px;
  border:1px solid #bfd4df;
  background:rgba(255,255,255,.93);
  overflow:hidden;
  box-shadow:0 18px 48px rgba(35,76,104,.07);
}
.factory-media-v14{
  position:relative;
  min-height:560px;
  overflow:hidden;
  background:#dcebf2;
}
.factory-media-v14 img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:
    opacity .3s ease,
    transform .55s cubic-bezier(.2,.7,.2,1);
}
.factory-workflow-v14.is-changing .factory-media-v14 img{
  opacity:.18;
  transform:scale(1.025);
}
.factory-media-v14::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,transparent 58%,rgba(6,39,67,.20) 100%),
    linear-gradient(90deg,transparent 70%,rgba(5,38,66,.04));
  pointer-events:none;
}
.factory-media-caption-v14{
  position:absolute;
  z-index:2;
  left:26px;
  right:26px;
  bottom:22px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  color:#fff;
}
.factory-media-caption-v14 .step{
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
  font-weight:900;
  opacity:.84;
}
.factory-media-caption-v14 strong{
  display:block;
  margin-top:4px;
  font-size:24px;
  letter-spacing:-.035em;
}
.factory-media-caption-v14 .status{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(4,40,69,.22);
  backdrop-filter:blur(8px);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}

.factory-steps-v14{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.factory-step-v14{
  flex:1;
  display:grid;
  grid-template-columns:54px 1fr 32px;
  gap:16px;
  align-items:center;
  padding:24px 24px;
  border:0;
  border-bottom:1px solid #c8d9e2;
  background:#fff;
  color:#0b355d;
  text-align:left;
  cursor:pointer;
  transition:
    background .22s ease,
    color .22s ease,
    padding-left .22s ease;
}
.factory-step-v14:last-child{
  border-bottom:0;
}
.factory-step-v14:hover{
  background:#f5faff;
  padding-left:29px;
}
.factory-step-v14.is-active{
  background:#0d365d;
  color:#fff;
}
.factory-step-v14 .num{
  align-self:start;
  padding-top:3px;
  color:#0c9b9e;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:900;
}
.factory-step-v14.is-active .num{
  color:#69d6d2;
}
.factory-step-v14 .copy{
  min-width:0;
}
.factory-step-v14 .label{
  display:block;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
  color:#129195;
  margin-bottom:6px;
}
.factory-step-v14.is-active .label{
  color:#70d9d5;
}
.factory-step-v14 h3{
  font-size:23px;
  letter-spacing:-.035em;
  margin:0 0 7px;
  color:inherit;
}
.factory-step-v14 p{
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:#687f93;
}
.factory-step-v14.is-active p{
  color:#bfd1df;
}
.factory-step-v14 .arrow{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid #d8e4eb;
  color:#315c83;
  transition:.22s ease;
}
.factory-step-v14.is-active .arrow{
  border-color:rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.07);
}
.factory-step-v14 .arrow svg{
  width:15px;
  height:15px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
}

.factory-detail-v14{
  margin-top:18px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:26px;
  border:1px solid #bfd4df;
  background:#fff;
  padding:24px 26px;
  align-items:center;
}
.factory-detail-v14 .detail-kicker{
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:900;
  color:#0c9497;
  margin-bottom:6px;
}
.factory-detail-v14 h3{
  font-size:26px;
  margin:0;
  color:#0c355e;
}
.factory-detail-v14 p{
  margin:0;
  color:#657a90;
  font-size:13px;
  line-height:1.65;
}
.factory-progress-v14{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #bfd4df;
  border-top:0;
  background:rgba(255,255,255,.72);
}
.factory-progress-v14 button{
  min-height:46px;
  border:0;
  border-right:1px solid #c9dbe4;
  background:transparent;
  color:#42617b;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:800;
  cursor:pointer;
}
.factory-progress-v14 button:last-child{
  border-right:0;
}
.factory-progress-v14 button.is-active{
  color:#0c355e;
  background:#fff;
  box-shadow:inset 0 3px 0 #1aa8aa;
}

@media(max-width:1000px){
  .factory-interactive-v14 .factory-head-v14{
    grid-template-columns:1fr;
    gap:20px;
  }
  .factory-interactive-v14 .factory-head-copy-v14{
    justify-self:start;
  }
  .factory-workflow-v14{
    grid-template-columns:1fr;
  }
  .factory-media-v14{
    min-height:460px;
  }
  .factory-step-v14{
    min-height:130px;
  }
}
@media(max-width:700px){
  #factory.factory-interactive-v14{
    padding:76px 0 84px;
  }
  .factory-interactive-v14 .factory-head-v14 h2{
    font-size:44px;
  }
  .factory-media-v14{
    min-height:320px;
  }
  .factory-step-v14{
    grid-template-columns:42px 1fr 30px;
    padding:19px 17px;
  }
  .factory-step-v14:hover{
    padding-left:17px;
  }
  .factory-step-v14 h3{
    font-size:21px;
  }
  .factory-detail-v14{
    grid-template-columns:1fr;
    padding:20px;
  }
  .factory-progress-v14{
    grid-template-columns:1fr 1fr;
  }
  .factory-progress-v14 button:nth-child(2){
    border-right:0;
  }
  .factory-progress-v14 button:nth-child(-n+2){
    border-bottom:1px solid #c9dbe4;
  }
}
@media(prefers-reduced-motion:reduce){
  .factory-media-v14 img,
  .factory-step-v14,
  .factory-step-v14 .arrow{
    transition:none!important;
  }
}


/* V15 laboratory interactive accordion */
.lab-accordion-v15{
  padding:96px 0 88px;
  background:linear-gradient(180deg,#081525 0%, #07111d 100%);
  color:#f3f7fb;
}
.lab-head-v15{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);
  gap:34px;
  align-items:end;
  margin-bottom:28px;
}
.lab-head-v15 h2{
  margin:10px 0 0;
  color:#fff;
  font-size:clamp(42px,5vw,72px);
  line-height:.96;
  letter-spacing:-.04em;
}
.lab-head-copy-v15{
  max-width:520px;
  justify-self:end;
}
.lab-head-copy-v15 p{
  margin:0;
  color:rgba(234,242,250,.78);
}
.lab-panels-v15{
  display:flex;
  gap:0;
  min-height:540px;
  border:1px solid rgba(163,197,214,.18);
  border-radius:28px 28px 0 0;
  overflow:hidden;
  background:#020913;
}
.lab-panel-v15{
  position:relative;
  flex:1 1 0;
  min-width:0;
  padding:0;
  border:0;
  border-right:1px solid rgba(255,255,255,.08);
  background:#07111d;
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:flex .42s ease, transform .28s ease, filter .28s ease;
  overflow:hidden;
}
.lab-panel-v15:last-child{ border-right:0; }
.lab-panel-v15 img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s ease, opacity .35s ease;
}
.lab-panel-v15 .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,10,18,.18) 0%, rgba(4,10,18,.56) 42%, rgba(1,7,13,.88) 100%);
  transition:background .35s ease;
}
.lab-panel-v15 .inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  min-height:540px;
  padding:22px 22px 24px;
}
.lab-panel-v15 .num{
  color:#4de2df;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.lab-panel-v15 .label{
  display:block;
  font-size:clamp(28px,3vw,64px);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.05em;
}
.lab-panel-v15 strong{
  display:block;
  max-width:340px;
  color:#fff;
  font-size:20px;
  line-height:1.22;
  font-weight:600;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .24s ease, transform .28s ease;
}
.lab-panel-v15 small{
  display:block;
  max-width:320px;
  color:rgba(228,240,247,.78);
  font-size:14px;
  line-height:1.55;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .24s ease, transform .28s ease;
}
.lab-panel-v15.is-active{
  flex:2.25 1 0;
}
.lab-panel-v15.is-active strong,
.lab-panel-v15.is-active small{
  opacity:1;
  transform:translateY(0);
}
.lab-panel-v15.is-active img{
  transform:scale(1.04);
}
.lab-panel-v15.is-active .overlay{
  background:linear-gradient(180deg,rgba(4,10,18,.08) 0%, rgba(4,10,18,.3) 26%, rgba(2,9,16,.86) 100%);
}
.lab-panel-v15:hover:not(.is-active){
  filter:brightness(1.08);
}
.lab-footer-v15{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  gap:18px;
  padding:18px 8px 0;
}
.lab-footer-v15 span{
  color:rgba(207,224,237,.72);
  font-size:11px;
  letter-spacing:.16em;
  font-weight:800;
}
@media(max-width:1100px){
  .lab-head-v15{
    grid-template-columns:1fr;
    gap:18px;
  }
  .lab-head-copy-v15{
    justify-self:start;
    max-width:unset;
  }
  .lab-panels-v15{
    min-height:500px;
  }
  .lab-panel-v15 .inner{
    min-height:500px;
  }
}
@media(max-width:860px){
  .lab-accordion-v15{
    padding:82px 0 76px;
  }
  .lab-panels-v15{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:unset;
    border-radius:26px;
  }
  .lab-panel-v15{
    min-height:240px;
    border-right:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .lab-panel-v15:nth-child(2n){ border-right:0; }
  .lab-panel-v15:nth-last-child(-n+2){ border-bottom:0; }
  .lab-panel-v15,
  .lab-panel-v15.is-active{
    flex:auto;
  }
  .lab-panel-v15 .inner{
    min-height:240px;
    padding:18px;
  }
  .lab-panel-v15 .label{
    font-size:34px;
  }
  .lab-panel-v15 strong,
  .lab-panel-v15 small{
    opacity:1;
    transform:none;
  }
  .lab-footer-v15{
    padding:18px 0 0;
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:560px){
  .lab-head-v15 h2{
    font-size:42px;
  }
  .lab-panels-v15{
    grid-template-columns:1fr;
  }
  .lab-panel-v15{
    min-height:220px;
    border-right:0;
  }
  .lab-panel-v15:nth-last-child(-n+2){ border-bottom:1px solid rgba(255,255,255,.08); }
  .lab-panel-v15:last-child{ border-bottom:0; }
  .lab-panel-v15 .label{
    font-size:36px;
  }
}
@media(prefers-reduced-motion:reduce){
  .lab-panel-v15,
  .lab-panel-v15 img,
  .lab-panel-v15 strong,
  .lab-panel-v15 small{
    transition:none!important;
  }
}


/* =============== V17 Function tabs section =============== */
#functions.function-tabs-v17{
  position:relative;
  padding:96px 0 32px;
  background:linear-gradient(180deg,#edf4fb 0%,#edf4fb 100%);
  overflow:hidden;
}
#functions.function-tabs-v17::before{
  content:"";
  position:absolute;
  right:-140px;
  top:-24px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle at center, rgba(210,227,243,.75) 0%, rgba(210,227,243,.35) 48%, rgba(210,227,243,0) 72%);
  pointer-events:none;
}
#functions.function-tabs-v17::after{
  content:"";
  position:absolute;
  right:40px;
  top:72px;
  width:360px;
  height:360px;
  background:url("assets/images/hero-full-background-v50.webp") right center/contain no-repeat;
  opacity:.16;
  pointer-events:none;
  filter:saturate(.9);
}
.function-tabs-head-v17{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:36px;
  align-items:end;
  margin-bottom:30px;
}
.function-tabs-head-v17 .kicker{
  display:block;
  margin-bottom:12px;
  color:#2673d5;
  font-size:12px;
  font-weight:800;
  letter-spacing:.25em;
}
.function-tabs-head-v17 h2{
  margin:0;
  font-size:clamp(42px,5.2vw,76px);
  line-height:.95;
  letter-spacing:-.045em;
  color:var(--ink);
  max-width:8ch;
}
.function-tabs-head-v17 h2 .accent{ color:#2673d5; }
.function-tabs-copy-v17{
  padding-top:16px;
  color:#5f7a95;
}
.function-tabs-copy-v17 p{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.55;
  max-width:460px;
}
.function-tabs-copy-v17 .microline{
  display:inline-block;
  padding-top:14px;
  border-top:1px solid rgba(17,64,108,.14);
  color:#8aa0bf;
  font-size:12px;
  font-weight:700;
  letter-spacing:.35em;
}
.function-tabs-nav-v17{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(15,54,95,.1);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
  box-shadow:0 12px 36px rgba(20,56,96,.08);
}
.function-tab-btn-v17{
  border:0;
  background:transparent;
  color:#193d67;
  font-size:17px;
  font-weight:700;
  line-height:1;
  padding:16px 26px;
  border-radius:999px;
  cursor:pointer;
  transition:all .22s ease;
  white-space:nowrap;
}
.function-tab-btn-v17:hover{
  background:rgba(38,115,213,.08);
  color:#0b3569;
}
.function-tab-btn-v17.is-active{
  background:#2673d5;
  color:#fff;
  box-shadow:0 10px 24px rgba(38,115,213,.22);
}
.function-panel-v17{
  position:relative;
  z-index:1;
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:0;
  align-items:stretch;
  border:1px solid rgba(15,54,95,.1);
  border-radius:30px;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  box-shadow:0 16px 44px rgba(20,56,96,.08);
}
.function-panel-v17.is-changing{ opacity:.82; transform:translateY(2px); transition:opacity .16s ease, transform .16s ease; }
.function-panel-media-v17{
  background:linear-gradient(180deg,#dbeaf7 0%,#eaf2fa 100%);
  min-height:430px;
}
.function-panel-media-v17 img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
.function-panel-copy-v17{
  padding:34px 38px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.function-panel-copy-v17 .eyebrow{
  display:block;
  margin-bottom:12px;
  color:#507fc4;
  font-size:12px;
  font-weight:800;
  letter-spacing:.3em;
}
.function-panel-copy-v17 h3{
  margin:0 0 14px;
  color:var(--ink);
  font-size:clamp(30px,3vw,52px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.function-panel-copy-v17 p{
  margin:0;
  color:#5f7691;
  font-size:18px;
  line-height:1.6;
}
.function-feature-grid-v17{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  gap:18px;
  padding-top:26px;
  margin-top:28px;
  border-top:1px solid rgba(15,54,95,.1);
}
.function-feature-v17{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.function-feature-v17 .icon{
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef4fc;
  color:#2673d5;
  box-shadow:inset 0 0 0 1px rgba(38,115,213,.08);
}
.function-feature-v17 .icon svg{
  width:28px;
  height:28px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.function-feature-v17 .icon svg.fill{ fill:currentColor; stroke:none; }
.function-feature-v17 .label{
  color:#193d67;
  font-size:16px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.45;
  text-transform:uppercase;
}
.function-panel-meta-v17{
  margin-top:26px;
  padding-top:16px;
  border-top:1px solid rgba(15,54,95,.1);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  gap:16px;
}
.function-panel-meta-v17 span{
  color:#85a0bf;
  font-size:12px;
  font-weight:700;
  letter-spacing:.28em;
}
.function-panel-meta-v17 a{
  color:#0f3565;
  font-size:15px;
  font-weight:800;
  text-decoration:none;
}
@media (max-width: 1200px){
  .function-tabs-head-v17{ grid-template-columns:1fr; gap:18px; }
  .function-tabs-copy-v17{ padding-top:0; }
  .function-tabs-head-v17 h2{ max-width:none; }
}
@media (max-width: 1024px){
  #functions.function-tabs-v17{ padding-top:84px; }
  .function-panel-v17{ grid-template-columns:1fr; }
  .function-panel-media-v17{ min-height:360px; }
}
@media (max-width: 767px){
  #functions.function-tabs-v17{ padding:72px 0 16px; }
  .function-tabs-head-v17 h2{ font-size:44px; }
  .function-tabs-copy-v17 p{ font-size:16px; }
  .function-tabs-nav-v17{ border-radius:26px; padding:12px; gap:8px; }
  .function-tab-btn-v17{ width:100%; text-align:center; padding:14px 18px; font-size:15px; }
  .function-panel-v17{ border-radius:26px; }
  .function-panel-media-v17{ min-height:280px; }
  .function-panel-copy-v17{ padding:24px 22px; }
  .function-panel-copy-v17 h3{ font-size:34px; }
  .function-panel-copy-v17 p{ font-size:16px; }
  .function-feature-grid-v17{ grid-template-columns:1fr; gap:16px; }
  .function-feature-v17{ flex-direction:row; align-items:center; }
  .function-feature-v17 .icon{ width:52px; height:52px; flex:0 0 52px; }
  .function-feature-v17 .icon svg{ width:24px; height:24px; }
  .function-feature-v17 .label{ font-size:14px; }
  .function-panel-meta-v17{ flex-direction:column; align-items:flex-start; }
}


/* =========================================================
   V18 — Larger aligned function tabs + stronger interactions
   ========================================================= */
#functions.function-tabs-v17{
  padding:112px 0 50px;
}
#functions.function-tabs-v17 .wrap{
  width:min(1500px, calc(100% - 48px));
  max-width:1500px;
}
.function-tabs-head-v17{
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);
  gap:70px;
  margin-bottom:34px;
}
.function-tabs-head-v17 h2{
  max-width:760px;
  font-size:clamp(56px,5.3vw,82px);
}
.function-tabs-copy-v17{
  max-width:600px;
  justify-self:end;
}
.function-tabs-copy-v17 p{
  font-size:19px;
  line-height:1.58;
}
.function-tabs-nav-v17{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border-radius:32px;
  overflow:visible;
  background:rgba(255,255,255,.92);
}
.function-tab-btn-v17{
  width:100%;
  min-width:0;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:26px;
  font-size:15px;
  line-height:1.15;
  text-align:center;
  white-space:normal;
  position:relative;
  isolation:isolate;
}
.function-tab-btn-v17::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:0;
  height:2px;
  border-radius:2px;
  background:#fff;
  transform:translateX(-50%);
  transition:width .22s ease;
}
.function-tab-btn-v17.is-active{
  transform:translateY(-1px);
  background:linear-gradient(135deg,#1764c8 0%,#2c82e9 100%);
  box-shadow:0 12px 28px rgba(38,115,213,.26);
}
.function-tab-btn-v17.is-active::after{
  width:26px;
}
.function-tab-btn-v17:active{
  transform:translateY(1px) scale(.985);
}
.function-panel-v17{
  margin-top:20px;
  grid-template-columns:minmax(0,1.22fr) minmax(440px,.78fr);
  min-height:620px;
  border-radius:32px;
}
.function-panel-media-v17{
  min-height:620px;
  display:grid;
  place-items:center;
  background:#e8f2fb;
  overflow:hidden;
}
.function-panel-media-v17 img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:opacity .22s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}
.function-panel-v17.is-changing .function-panel-media-v17 img{
  opacity:.2;
  transform:scale(1.025);
}
.function-panel-copy-v17{
  padding:48px 48px 40px;
}
.function-panel-copy-v17 .eyebrow{
  font-size:13px;
}
.function-panel-copy-v17 h3{
  font-size:clamp(42px,3.25vw,58px);
  margin-bottom:20px;
}
.function-panel-copy-v17 p{
  font-size:19px;
  line-height:1.65;
}
.function-feature-grid-v17{
  gap:24px;
  margin-top:34px;
  padding-top:28px;
}
.function-feature-v17 .icon{
  width:68px;
  height:68px;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.function-feature-v17 .icon svg{
  width:31px;
  height:31px;
}
.function-feature-v17:hover .icon{
  transform:translateY(-3px) scale(1.04);
  background:#e2efff;
  box-shadow:0 10px 20px rgba(38,115,213,.12);
}
.function-feature-v17 .label{
  font-size:14px;
  line-height:1.35;
}
.function-panel-meta-v17{
  margin-top:32px;
  padding-top:19px;
}
.function-panel-meta-v17 a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 14px;
  border-radius:999px;
  background:#eef5ff;
  transition:background .2s ease, transform .2s ease;
}
.function-panel-meta-v17 a:hover{
  background:#dcecff;
  transform:translateX(3px);
}
@media(max-width:1280px){
  #functions.function-tabs-v17 .wrap{
    width:min(1320px, calc(100% - 36px));
  }
  .function-tabs-nav-v17{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .function-tabs-nav-v17::-webkit-scrollbar{display:none}
  .function-tab-btn-v17{
    flex:0 0 auto;
    min-width:160px;
    scroll-snap-align:start;
    white-space:nowrap;
  }
}
@media(max-width:1024px){
  .function-tabs-head-v17{
    grid-template-columns:1fr;
    gap:22px;
  }
  .function-tabs-copy-v17{
    justify-self:start;
    max-width:760px;
  }
  .function-panel-v17{
    grid-template-columns:1fr;
    min-height:0;
  box-shadow:inset 0 0 0 1px rgba(161,185,212,.18);
  }
  .function-panel-media-v17{
    min-height:520px;
  }
}
@media(max-width:767px){
  #functions.function-tabs-v17 .wrap{
    width:calc(100% - 24px);
  }
  .function-tabs-head-v17 h2{
    font-size:48px;
  }
  .function-tabs-nav-v17{
    border-radius:26px;
    padding:8px;
  }
  .function-tab-btn-v17{
    min-width:145px;
    min-height:48px;
    font-size:14px;
  }
  .function-panel-media-v17{
    min-height:360px;
  }
  .function-panel-copy-v17{
    padding:30px 24px 28px;
  }
  .function-panel-copy-v17 h3{
    font-size:38px;
  }
  .function-panel-copy-v17 p{
    font-size:16px;
  }
}

/* =========================================================
   V20 — Premium Benefit Accordion / Interactive Function Rail
   ========================================================= */
.benefit-showcase-v20{
  position:relative;
  padding:104px 0 92px;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 10%, rgba(176,210,241,.26), transparent 28%),
    linear-gradient(180deg,#f5faff 0%,#edf6fc 100%);
}
.benefit-showcase-v20::after{
  content:"";
  position:absolute;
  right:-170px;
  top:110px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(74,133,200,.1);
  box-shadow:0 0 0 70px rgba(74,133,200,.028),0 0 0 140px rgba(74,133,200,.018);
  pointer-events:none;
}
.benefit-wrap-v20{
  position:relative;
  z-index:2;
  width:min(1600px,calc(100% - 48px));
  margin:0 auto;
}
.benefit-head-v20{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:78px;
  align-items:end;
  margin-bottom:38px;
}
.benefit-head-v20 .kicker{
  color:#2072d5;
  margin-bottom:12px;
}
.benefit-head-v20 h2{
  margin:0;
  max-width:820px;
  font-size:clamp(48px,5.2vw,82px);
  line-height:.94;
  letter-spacing:-.06em;
  color:#092e58;
}
.benefit-head-v20 h2 span{color:#2678db}
.benefit-head-copy-v20{
  justify-self:end;
  max-width:560px;
  padding-bottom:8px;
}
.benefit-head-copy-v20 p{
  margin:0;
  color:#58738d;
  font-size:17px;
  line-height:1.65;
}
.benefit-head-copy-v20 small{
  display:block;
  margin-top:19px;
  padding-top:15px;
  border-top:1px solid rgba(26,72,116,.15);
  color:#8ba4c1;
  font-size:10px;
  font-weight:900;
  letter-spacing:.25em;
}
.benefit-stage-v20{
  display:grid;
  grid-template-columns:236px minmax(760px,1fr) 312px;
  gap:14px;
  align-items:stretch;
}
.benefit-rail-v20{
  display:grid;
  gap:8px;
  min-width:0;
}
.benefit-rail-left-v20{grid-template-columns:repeat(3,minmax(0,1fr))}
.benefit-rail-right-v20{grid-template-columns:repeat(4,minmax(0,1fr))}
.benefit-tab-v20{
  position:relative;
  min-width:0;
  min-height:640px;
  padding:26px 9px 22px;
  overflow:hidden;
  border:1px solid rgba(116,154,194,.16);
  border-radius:28px;
  background:#f4f1ff;
  color:#6a5bb2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(42,79,120,.05);
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}
.benefit-tab-v20::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:70px;
  width:1px;
  height:170px;
  background:currentColor;
  opacity:.18;
}
.benefit-tab-v20:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(42,79,120,.10);
  border-color:rgba(52,118,192,.28);
}
.benefit-tab-v20.is-active{
  transform:translateY(-8px);
  background:linear-gradient(180deg,#3d8bea 0%,#1770dc 100%);
  color:#fff;
  border-color:#2b7fde;
  box-shadow:0 22px 48px rgba(28,104,204,.25);
}
.benefit-tab-v20.is-active::after{opacity:.34}
.benefit-energy{background:#fff0f4;color:#e45e8b}
.benefit-beauty{background:#fff3e4;color:#cc8b32}
.benefit-wellness{background:#e9f8f4;color:#1c9a83}
.benefit-men{background:#e9f8f2;color:#168f78}
.benefit-weight{background:#eaf5fb;color:#317db8}
.benefit-immunity{background:#edf2ff;color:#4778c9}
.benefit-tab-icon-v20{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
  margin-bottom:8px;
}
.benefit-tab-v20.is-active .benefit-tab-icon-v20{background:rgba(255,255,255,.16)}
.benefit-tab-icon-v20 svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit-tab-v20 strong{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-size:16px;
  line-height:1;
  letter-spacing:.06em;
}
.benefit-tab-sub-v20{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-size:11px;
  line-height:1;
  opacity:.72;
}
.benefit-tab-num-v20{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.benefit-main-v20{
  min-width:0;
  min-height:600px;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);
  overflow:hidden;
  border:1px solid rgba(116,154,194,.18);
  border-radius:30px;
  background:#fff;
  box-shadow:0 24px 58px rgba(31,73,115,.12);
  transition:opacity .18s ease, transform .18s ease;
}
.benefit-main-v20.is-changing{opacity:.58;transform:translateY(4px)}
.benefit-main-v20{align-items:stretch}
.benefit-stage-v20 button:focus-visible,
.benefit-main-footer-v20 a:focus-visible,
.benefit-arrows-v20 button:focus-visible{
  outline:2px solid #1c75dd;
  outline-offset:3px;
}

.benefit-image-v20{
  position:relative;
  min-height:600px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:linear-gradient(180deg,#edf6ff 0%,#e5f0fb 100%);
}
.benefit-image-v20 img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  border-radius:26px;
  background:#ffffff;
  box-shadow:0 18px 38px rgba(20,55,97,.14);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .24s ease;
}
.benefit-main-v20:not(.is-changing) .benefit-image-v20 img{transform:scale(1.008)}
.benefit-image-v20::after{
  content:"";
  position:absolute;
  inset:20px;
  border-radius:26px;
  background:linear-gradient(180deg,transparent 55%,rgba(6,35,64,.22) 100%);
  pointer-events:none;
}
.benefit-image-caption-v20{
  position:absolute;
  z-index:2;
  left:44px;
  bottom:40px;
  color:#fff;
}
.benefit-image-caption-v20 span{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
}
.benefit-image-caption-v20 small{
  display:block;
  margin-top:5px;
  font-size:11px;
  opacity:.78;
}
.benefit-copy-v20{
  min-width:0;
  padding:34px 36px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.benefit-copy-top-v20{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  gap:18px;
  margin-bottom:27px;
}
.benefit-counter-v20{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  background:#edf5ff;
  color:#4677b8;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
}
.benefit-arrows-v20{
  display:flex;
  gap:7px;
}
.benefit-arrows-v20 button{
  width:39px;
  height:39px;
  border-radius:50%;
  border:1px solid #d9e5f0;
  background:#fff;
  color:#184b84;
  cursor:pointer;
  font-size:17px;
  transition:.2s ease;
}
.benefit-arrows-v20 button:hover{background:#176fd6;color:#fff;border-color:#176fd6;transform:translateY(-2px)}
.benefit-kicker-v20{
  color:#3e72b7;
  font-size:11px;
  font-weight:900;
  letter-spacing:.27em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.benefit-copy-v20 h3{
  margin:0 0 17px;
  color:#092f59;
  font-size:clamp(36px,3.1vw,54px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.benefit-copy-v20>p{
  margin:0;
  color:#5c7289;
  font-size:16px;
  line-height:1.7;
}
.benefit-features-v20{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  gap:14px;
  margin-top:28px;
  padding-top:25px;
  border-top:1px solid #e0e9f0;
}
.benefit-feature-v20{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.benefit-feature-icon-v20{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf5ff;
  color:#1d72d3;
}
.benefit-feature-icon-v20 svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit-feature-v20 strong{
  color:#173b63;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.benefit-feature-v20 small{
  color:#8192a3;
  font-size:10px;
  line-height:1.45;
}
.benefit-main-footer-v20{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid #e0e9f0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  gap:18px;
}
.benefit-main-footer-v20 a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:39px;
  padding:0 15px;
  border-radius:999px;
  background:#eef5ff;
  color:#165da9;
  font-size:12px;
  font-weight:900;
  transition:.2s ease;
}
.benefit-main-footer-v20 a:hover{background:#176fd6;color:#fff;transform:translateY(-2px)}
.benefit-main-footer-v20 small{
  color:#8aa1b8;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.benefit-bottom-v20{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:28px;
}
.benefit-bottom-v20 span{width:42px;height:1px;background:#9fb5ca}
.benefit-bottom-v20 small{color:#8da3ba;font-size:10px;font-weight:900;letter-spacing:.25em}

@media(max-width:1480px){
  .benefit-stage-v20{grid-template-columns:236px minmax(560px,1fr) 304px}
  .benefit-tab-v20{min-height:560px;border-radius:24px}
  .benefit-main-v20,.benefit-image-v20{min-height:560px}
  .benefit-copy-v20{padding:30px 30px 26px}
}
@media(max-width:1220px){
  .benefit-stage-v20{display:flex;flex-direction:column}
  .benefit-rail-v20{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px;scrollbar-width:none}
  .benefit-rail-v20::-webkit-scrollbar{display:none}
  .benefit-rail-left-v20,.benefit-rail-right-v20{grid-template-columns:none}
  .benefit-rail-left-v20{order:1}
  .benefit-main-v20{order:2}
  .benefit-rail-right-v20{order:3}
  .benefit-tab-v20{flex:0 0 160px;min-height:74px;padding:12px 16px;border-radius:18px;align-items:flex-start;justify-content:center;gap:2px}
  .benefit-tab-v20::after{display:none}
  .benefit-tab-icon-v20{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:38px;height:38px;margin:0}
  .benefit-tab-icon-v20 svg{width:20px;height:20px}
  .benefit-tab-v20 strong,.benefit-tab-sub-v20{writing-mode:horizontal-tb}
  .benefit-tab-v20 strong{font-size:13px}.benefit-tab-sub-v20{font-size:10px}
  .benefit-tab-num-v20{position:static;transform:none;font-size:9px;opacity:.65;margin-top:3px}
  .benefit-main-v20{grid-template-columns:1.04fr .96fr}
}
@media(max-width:900px){
  .benefit-head-v20{grid-template-columns:1fr;gap:18px}
  .benefit-head-copy-v20{justify-self:start;max-width:720px}
  .benefit-main-v20{grid-template-columns:1fr}
  .benefit-image-v20{min-height:440px;padding:12px}
  .benefit-copy-v20{padding:30px}
}
@media(max-width:600px){
  .benefit-showcase-v20{padding:72px 0 66px}
  .benefit-wrap-v20{width:calc(100% - 24px)}
  .benefit-head-v20 h2{font-size:44px}
  .benefit-head-copy-v20 p{font-size:15px}
  .benefit-main-v20{border-radius:22px}
  .benefit-image-v20{min-height:330px;padding:10px}
  .benefit-copy-v20{padding:24px 20px 22px}
  .benefit-image-caption-v20{left:28px;bottom:24px}
  .benefit-copy-v20 h3{font-size:34px}
  .benefit-copy-v20>p{font-size:15px}
  .benefit-features-v20{grid-template-columns:1fr;gap:15px}
  .benefit-feature-v20{display:grid;grid-template-columns:52px 1fr;align-items:center;column-gap:12px}
  .benefit-feature-v20 small{grid-column:2}
  .benefit-main-footer-v20{flex-direction:column;align-items:flex-start}
  .benefit-bottom-v20 small{text-align:center;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
  .benefit-tab-v20,.benefit-main-v20,.benefit-image-v20 img,.benefit-arrows-v20 button,.benefit-main-footer-v20 a{transition:none!important}
}

/* v22 premium benefit accordion refinements */
.benefit-showcase-v20{overflow:hidden}
.benefit-stage-v20::before{
  content:"";
  position:absolute;
  inset:-80px auto auto -120px;
  width:240px;
  height:240px;
  background:radial-gradient(circle,rgba(78,150,255,.12) 0%,rgba(78,150,255,0) 70%);
  pointer-events:none;
}
.benefit-stage-v20::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-90px;
  width:240px;
  height:240px;
  background:radial-gradient(circle,rgba(104,210,187,.11) 0%,rgba(104,210,187,0) 70%);
  pointer-events:none;
}
.benefit-main-v20,.benefit-rail-v20{position:relative;z-index:1}
.benefit-tab-v20 strong{font-size:1.45rem}
.benefit-tab-v20 .benefit-tab-sub-v20{font-size:.8rem}
.benefit-tab-v20.is-active{box-shadow:0 18px 32px rgba(31,90,166,.20)}
.benefit-copy-v20 p{max-width:28ch}
.benefit-copy-top-v20{margin-bottom:18px}
.benefit-arrows-v20 button:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(26,72,132,.14)}
.benefit-arrows-v20 button{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease}
.benefit-main-footer-v20 a:hover{transform:translateY(-1px)}
.benefit-main-footer-v20 a{transition:transform .22s ease, box-shadow .22s ease}
@media (max-width:1199px){
  .benefit-tab-v20 strong{font-size:1.28rem}
  .benefit-main-v20{grid-template-columns:1fr}
  .benefit-copy-v20 p{max-width:none}
}
@media (max-width:900px){
  .benefit-head-v20{grid-template-columns:1fr;gap:16px}
  .benefit-head-copy-v20{text-align:left;justify-self:start}
}
@media (max-width:600px){
  .benefit-stage-v20{padding:14px}
  .benefit-image-v20{padding:12px}
  .benefit-image-v20::after{inset:12px}
  .benefit-image-caption-v20{left:26px;bottom:22px}
  .benefit-tab-v20::after{display:none}
}


/* =========================================================
   V25 — Square 1:1 Benefit Showcase
   Keeps all seven source category images in their native 1:1 ratio.
   ========================================================= */

.benefit-image-v20{
  aspect-ratio:1 / 1;
  min-height:0 !important;
  height:auto !important;
  width:100%;
  align-self:start;
  box-sizing:border-box;
  padding:14px;
  background:linear-gradient(180deg,#edf6ff 0%,#e7f1fb 100%);
}

.benefit-image-v20 img{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center center;
  border-radius:24px;
  transform:none !important;
}

.benefit-image-v20::after{
  inset:14px;
  border-radius:24px;
}

.benefit-image-caption-v20{
  left:36px;
  bottom:32px;
}

.benefit-main-v20{
  min-height:0 !important;
  align-items:stretch;
}

.benefit-copy-v20{
  align-self:stretch;
  height:auto;
  justify-content:center;
}

.benefit-tab-v20{
  min-height:0 !important;
  height:100%;
}

/* Wide desktop: square image + text panel, aligned to one common height */
@media (min-width:1221px){
  .benefit-stage-v20{
    grid-template-columns:216px minmax(0,1fr) 292px;
    gap:14px;
    align-items:stretch;
  }

  .benefit-main-v20{
    grid-template-columns:minmax(0,1fr) minmax(370px,.76fr);
    align-items:stretch;
  }

  .benefit-rail-v20{
    height:100%;
    align-self:stretch;
  }

  .benefit-rail-left-v20,
  .benefit-rail-right-v20{
    align-items:stretch;
  }

  .benefit-copy-v20{
    padding:30px 30px 28px;
  }

  .benefit-copy-v20 h3{
    font-size:clamp(34px,2.75vw,50px);
    line-height:1.02;
  }

  .benefit-copy-v20 > p{
    font-size:15px;
    line-height:1.62;
  }

  .benefit-features-v20{
    margin-top:22px;
    padding-top:21px;
  }

  .benefit-main-footer-v20{
    margin-top:22px;
    padding-top:16px;
  }
}

/* Tablet/mobile: keep the image square rather than turning it into a banner */
@media (max-width:1220px){
  .benefit-image-v20{
    width:min(100%,760px);
    margin:0 auto;
  }
}

@media (max-width:900px){
  .benefit-image-v20{
    min-height:0 !important;
    padding:12px;
  }
  .benefit-image-v20::after{
    inset:12px;
  }
  .benefit-image-caption-v20{
    left:30px;
    bottom:26px;
  }
}

@media (max-width:600px){
  .benefit-image-v20{
    min-height:0 !important;
    padding:10px;
  }
  .benefit-image-v20::after{
    inset:10px;
  }
  .benefit-image-caption-v20{
    left:26px;
    bottom:22px;
  }
}


/* =========================================================
   V26 — 11 Benefit Categories
   Added Women’s Hormone Wellness, Gut Health,
   Sport & Muscle Recovery, Brain & Longevity.
   ========================================================= */

.benefit-rail-left-v20{grid-template-columns:repeat(5,minmax(0,1fr));}
.benefit-rail-right-v20{grid-template-columns:repeat(6,minmax(0,1fr));}

.benefit-women{background:#fff1f3;color:#b66d7f;}
.benefit-gut{background:#f1f7ea;color:#446d3a;}
.benefit-sport{background:#eaf4fb;color:#2f6f9d;}
.benefit-brain{background:#f4f2fe;color:#4f59a3;}

@media (min-width:1221px){
  .benefit-stage-v20{
    grid-template-columns:336px minmax(0,1fr) 404px;
    gap:12px;
  }
  .benefit-main-v20{
    grid-template-columns:minmax(0,1fr) minmax(330px,.74fr);
  }
  .benefit-tab-v20 strong{font-size:15px;}
  .benefit-tab-sub-v20{font-size:10px;}
  .benefit-tab-icon-v20{width:44px;height:44px;}
  .benefit-tab-icon-v20 svg{width:22px;height:22px;}
}

@media (max-width:1220px){
  .benefit-rail-left-v20,.benefit-rail-right-v20{grid-template-columns:none;}
}


/* =========================================================
   V27 — Oral Film Function Icons
   11 clickable functional directions beneath OEM/ODM path.
   ========================================================= */
.cap-functions-v27{
  margin-top:28px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.cap-functions-head-v27{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
}
.cap-functions-head-v27 .kicker{
  display:block;
  margin-bottom:7px;
}
.cap-functions-head-v27 h3{
  margin:0;
  color:var(--ink);
  font-size:clamp(24px,2vw,34px);
  line-height:1.05;
  letter-spacing:-.035em;
}
.cap-functions-head-v27 p{
  margin:0;
  max-width:520px;
  color:#66809a;
  font-size:13px;
  line-height:1.6;
}
.cap-function-grid-v27{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  background:#fff;
}
.cap-function-v27{
  appearance:none;
  position:relative;
  min-width:0;
  min-height:132px;
  padding:18px 14px 16px;
  border:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  transition:background .22s ease, transform .22s ease, box-shadow .22s ease, color .22s ease;
}
.cap-function-v27:hover,
.cap-function-v27:focus-visible{
  z-index:2;
  background:#f3f9ff;
  color:#176fd6;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(29,88,154,.10);
  outline:none;
}
.cap-function-v27:focus-visible{
  box-shadow:inset 0 0 0 2px #2a7ddd,0 16px 34px rgba(29,88,154,.10);
}
.cap-function-icon-v27{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf5ff;
  color:#176fd6;
  transition:transform .22s ease, background .22s ease;
}
.cap-function-v27:hover .cap-function-icon-v27,
.cap-function-v27:focus-visible .cap-function-icon-v27{
  background:#dcecff;
  transform:scale(1.06);
}
.cap-function-icon-v27 svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cap-function-copy-v27{
  display:block;
  width:100%;
}
.cap-function-copy-v27 strong{
  display:block;
  color:inherit;
  font-size:12px;
  line-height:1.28;
  letter-spacing:.01em;
}
.cap-function-copy-v27 small{
  display:block;
  margin-top:5px;
  color:#879aae;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.04em;
}
.cap-function-v27::after{
  content:"↗";
  position:absolute;
  top:18px;
  right:14px;
  color:#94abc1;
  font-size:12px;
  opacity:0;
  transform:translate(-3px,3px);
  transition:opacity .22s ease, transform .22s ease;
}
.cap-function-v27:hover::after,
.cap-function-v27:focus-visible::after{
  opacity:1;
  transform:none;
}
@media(max-width:1200px){
  .cap-function-grid-v27{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:760px){
  .cap-functions-head-v27{display:block;}
  .cap-functions-head-v27 p{margin-top:10px;}
  .cap-function-grid-v27{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cap-function-v27{min-height:112px;padding:15px 13px;}
  .cap-function-icon-v27{width:38px;height:38px;}
  .cap-function-icon-v27 svg{width:19px;height:19px;}
}


/* V28 — move oral-film function icon grid above manufacturing cards */
#capability .cap-functions-v27{margin-top:42px;margin-bottom:46px;}
#capability .cap-strip{margin-top:0;}
@media(max-width:900px){
  #capability .cap-functions-v27{margin-top:30px;margin-bottom:34px;}
}


/* =========================================================
   V29 — Polished Function + Capability Sections
   Stronger hierarchy, larger benefit stage, softer card system.
   ========================================================= */

/* ---------- Benefit direction: larger, cleaner, more premium ---------- */
.benefit-showcase-v20{
  padding:86px 0 82px;
  background:
    radial-gradient(circle at 90% 8%,rgba(128,183,238,.18),transparent 30%),
    radial-gradient(circle at 6% 82%,rgba(109,210,196,.08),transparent 24%),
    linear-gradient(180deg,#f5faff 0%,#edf6fc 100%);
}
.benefit-wrap-v20{width:min(1760px,calc(100% - 38px));}
.benefit-head-v20{
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.78fr);
  gap:54px;
  margin-bottom:28px;
}
.benefit-head-v20 h2{
  max-width:900px;
  font-size:clamp(50px,5.25vw,86px);
}
.benefit-head-copy-v20{max-width:600px;}
.benefit-head-copy-v20 p{font-size:16px;}

.benefit-stage-v20{
  position:relative;
  grid-template-columns:280px minmax(780px,1fr) 340px !important;
  gap:12px !important;
  padding:14px;
  border:1px solid rgba(126,164,203,.16);
  border-radius:34px;
  background:rgba(255,255,255,.46);
  box-shadow:0 24px 70px rgba(35,78,123,.08);
  backdrop-filter:blur(10px);
}
.benefit-rail-v20{gap:7px;}
.benefit-rail-left-v20{grid-template-columns:repeat(5,minmax(0,1fr));}
.benefit-rail-right-v20{grid-template-columns:repeat(6,minmax(0,1fr));}
.benefit-tab-v20{
  border-radius:24px;
  padding:20px 6px 18px;
  box-shadow:none;
  border-color:rgba(91,137,184,.13);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,filter .24s ease;
}
.benefit-tab-v20:hover{
  transform:translateY(-3px);
  filter:saturate(1.04);
  box-shadow:0 14px 28px rgba(46,93,142,.09);
}
.benefit-tab-v20.is-active{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(30,107,204,.22);
}
.benefit-tab-icon-v20{width:40px;height:40px;margin-bottom:5px;}
.benefit-tab-icon-v20 svg{width:20px;height:20px;}
.benefit-tab-v20 strong{font-size:13px;letter-spacing:.045em;}
.benefit-tab-sub-v20{font-size:9px;}
.benefit-tab-num-v20{bottom:18px;font-size:10px;}
.benefit-tab-v20::after{height:128px;bottom:55px;}

.benefit-main-v20{
  border-radius:28px;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr) !important;
  box-shadow:0 22px 54px rgba(25,66,110,.11);
}
.benefit-image-v20{
  padding:12px !important;
  background:linear-gradient(180deg,#eef6fd,#e8f2fa);
}
.benefit-image-v20::after{inset:12px !important;border-radius:22px !important;}
.benefit-image-v20 img{border-radius:22px !important;box-shadow:0 18px 34px rgba(19,53,91,.10);}
.benefit-image-caption-v20{left:32px !important;bottom:28px !important;}
.benefit-copy-v20{padding:34px 32px 30px !important;}
.benefit-copy-top-v20{margin-bottom:18px;}
.benefit-copy-v20 h3{
  font-size:clamp(36px,3vw,52px) !important;
  max-width:11.5ch;
  margin-bottom:14px;
}
.benefit-copy-v20>p{font-size:14px;line-height:1.65;max-width:38ch;}
.benefit-features-v20{margin-top:21px;padding-top:20px;gap:12px;}
.benefit-feature-icon-v20{width:46px;height:46px;}
.benefit-feature-icon-v20 svg{width:22px;height:22px;}
.benefit-main-footer-v20{margin-top:22px;padding-top:16px;}
.benefit-main-footer-v20 a{background:#eaf3ff;}
.benefit-bottom-v20{margin-top:22px;}

/* ---------- Capability section: unified story + card system ---------- */
#capability{
  padding:96px 0 104px;
  background:
    radial-gradient(circle at 92% 4%,rgba(57,132,220,.06),transparent 26%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
#capability .wrap{width:min(1480px,calc(100% - 56px));}
#capability .section-head{
  grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
  gap:72px;
  margin-bottom:34px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(142,174,203,.38);
}
#capability .section-head h2{font-size:clamp(42px,4.2vw,68px);max-width:820px;}
#capability .section-head p{max-width:560px;font-size:14px;line-height:1.7;}

#capability .cap-functions-v27{
  margin:0 0 28px !important;
  padding:28px;
  border:1px solid rgba(139,172,204,.25);
  border-radius:26px;
  background:linear-gradient(145deg,#f8fbff 0%,#f3f8fd 100%);
  box-shadow:0 18px 48px rgba(30,74,119,.06);
}
#capability .cap-functions-head-v27{
  align-items:end;
  margin-bottom:22px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(151,181,210,.32);
}
#capability .cap-functions-head-v27 h3{font-size:clamp(25px,2.2vw,36px);max-width:720px;}
#capability .cap-functions-head-v27 p{font-size:12px;max-width:470px;}

#capability .cap-function-grid-v27{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  border:0;
  background:transparent;
}
#capability .cap-function-v27{
  min-height:124px;
  padding:16px 14px 14px;
  border:1px solid rgba(151,181,210,.34);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 6px 18px rgba(32,78,123,.035);
}
#capability .cap-function-v27:hover,
#capability .cap-function-v27:focus-visible{
  background:#fff;
  border-color:rgba(44,119,204,.36);
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(34,87,148,.10);
}
#capability .cap-function-icon-v27{
  width:40px;height:40px;
  background:#edf5ff;
  box-shadow:inset 0 0 0 1px rgba(50,118,197,.07);
}
#capability .cap-function-copy-v27 strong{font-size:11px;line-height:1.3;}
#capability .cap-function-copy-v27 small{font-size:9px;}

#capability .cap-strip-v29{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  border:0;
  background:transparent;
  margin-top:0 !important;
}
#capability .cap-item-v29{
  position:relative;
  min-height:225px;
  padding:24px 22px 22px;
  border:1px solid rgba(143,175,204,.30) !important;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(31,73,115,.055);
  overflow:hidden;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
#capability .cap-item-v29:last-child{border-right:1px solid rgba(143,175,204,.30) !important;}
#capability .cap-item-v29::before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;
  height:3px;
  background:linear-gradient(90deg,#1f75da,#6bbbd7);
  opacity:.8;
}
#capability .cap-item-v29:nth-child(2)::before{background:linear-gradient(90deg,#48a8c3,#74d0bd);}
#capability .cap-item-v29:nth-child(3)::before{background:linear-gradient(90deg,#6c92df,#8eb8ef);}
#capability .cap-item-v29:nth-child(4)::before{background:linear-gradient(90deg,#2d7ec9,#52b7aa);}
#capability .cap-item-v29:hover{
  transform:translateY(-4px);
  border-color:rgba(47,117,192,.32) !important;
  box-shadow:0 20px 42px rgba(31,82,137,.09);
}
.cap-item-top-v29{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px;}
.cap-item-icon-v29{
  width:48px;height:48px;border-radius:15px;
  display:grid;place-items:center;
  background:#edf5ff;color:#176fd6;
}
.cap-item-icon-v29 svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
#capability .cap-item-v29 .cap-no{margin:0;font-size:9px;}
#capability .cap-item-v29 h3{font-size:22px;margin-bottom:10px;}
#capability .cap-item-v29 p{font-size:12px;line-height:1.55;margin-bottom:18px;max-width:30ch;}
.cap-tag-v29{
  display:inline-flex;
  min-height:27px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#f2f7fc;
  color:#5b7995;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
}

@media(max-width:1480px){
  .benefit-stage-v20{grid-template-columns:245px minmax(650px,1fr) 300px !important;}
  .benefit-tab-v20 strong{font-size:12px;}
  .benefit-tab-sub-v20{font-size:8px;}
}
@media(max-width:1220px){
  .benefit-stage-v20{display:flex !important;padding:12px;}
  .benefit-main-v20{grid-template-columns:1fr 1fr !important;}
  .benefit-rail-v20{scroll-snap-type:x proximity;}
  .benefit-tab-v20{scroll-snap-align:start;}
  #capability .cap-function-grid-v27{grid-template-columns:repeat(4,minmax(0,1fr));}
  #capability .cap-strip-v29{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  .benefit-head-v20{grid-template-columns:1fr;gap:16px;}
  .benefit-main-v20{grid-template-columns:1fr !important;}
  #capability .section-head{grid-template-columns:1fr;gap:18px;}
  #capability .cap-functions-v27{padding:22px;}
  #capability .cap-function-grid-v27{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:640px){
  .benefit-showcase-v20{padding:66px 0 62px;}
  .benefit-wrap-v20{width:calc(100% - 20px);}
  .benefit-stage-v20{border-radius:24px;}
  .benefit-head-v20 h2{font-size:42px;}
  .benefit-copy-v20 h3{font-size:34px !important;max-width:none;}
  #capability{padding:72px 0 76px;}
  #capability .wrap{width:calc(100% - 28px);}
  #capability .cap-functions-v27{padding:18px;border-radius:20px;}
  #capability .cap-functions-head-v27{display:block;}
  #capability .cap-functions-head-v27 p{margin-top:10px;}
  #capability .cap-function-grid-v27{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  #capability .cap-function-v27{min-height:110px;}
  #capability .cap-strip-v29{grid-template-columns:1fr;gap:10px;}
  #capability .cap-item-v29{min-height:0;padding:20px;}
  .cap-item-top-v29{margin-bottom:20px;}
}


/* =========================================================
   V30 — Matched functional icon set
   Uses user-provided category icons + matched Weight/Immunity icons.
   ========================================================= */
#capability .cap-function-grid-v27{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
#capability .cap-function-v27{
  min-height:142px;
  padding:16px 15px 14px;
  text-decoration:none;
}
#capability .cap-function-icon-v27.cap-function-icon-img-v30{
  width:54px;
  height:54px;
  padding:0;
  background:transparent;
  box-shadow:none;
  border-radius:50%;
  overflow:visible;
}
#capability .cap-function-icon-img-v30 img{
  width:54px;
  height:54px;
  display:block;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 5px 10px rgba(28,74,132,.10));
  transition:transform .24s ease, filter .24s ease;
}
#capability .cap-function-v27:hover .cap-function-icon-img-v30,
#capability .cap-function-v27:focus-visible .cap-function-icon-img-v30{
  background:transparent;
  transform:none;
}
#capability .cap-function-v27:hover .cap-function-icon-img-v30 img,
#capability .cap-function-v27:focus-visible .cap-function-icon-img-v30 img{
  transform:scale(1.08) translateY(-1px);
  filter:drop-shadow(0 8px 15px rgba(28,74,132,.17));
}
#capability .cap-function-custom-v30{
  background:linear-gradient(180deg,#fffaf1 0%,#fff 100%);
  border-color:rgba(226,170,73,.28);
}
#capability .cap-function-custom-v30:hover,
#capability .cap-function-custom-v30:focus-visible{
  border-color:rgba(225,151,27,.48);
}
@media(max-width:1100px){
  #capability .cap-function-grid-v27{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:680px){
  #capability .cap-function-grid-v27{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  #capability .cap-function-v27{min-height:132px;padding:14px 12px 13px;}
  #capability .cap-function-icon-v27.cap-function-icon-img-v30,
  #capability .cap-function-icon-img-v30 img{width:50px;height:50px;}
}


/* =========================================================
   V31 — Horizontal Benefit Navigation
   ========================================================= */
.benefit-showcase-v31{
  padding:92px 0 88px;
  background:
    radial-gradient(circle at 94% 7%,rgba(74,145,232,.12),transparent 28%),
    linear-gradient(180deg,#eef7ff 0%,#eaf4fb 100%);
}
.benefit-wrap-v31{max-width:1540px;margin:0 auto;padding:0 34px;}
.benefit-head-v31{grid-template-columns:minmax(0,1fr) 470px;align-items:end;margin-bottom:30px;}
.benefit-head-v31 h2{font-size:clamp(3.4rem,5.7vw,6rem);line-height:.93;max-width:900px;}
.benefit-head-copy-v31{padding-bottom:10px;}

.benefit-nav-shell-v31{
  position:relative;
  z-index:3;
  margin-bottom:22px;
  padding:8px;
  border:1px solid rgba(120,158,197,.22);
  border-radius:24px;
  background:rgba(255,255,255,.74);
  box-shadow:0 18px 44px rgba(27,71,113,.08);
  backdrop-filter:blur(12px);
}
.benefit-nav-v31{
  display:grid;
  grid-template-columns:repeat(11,minmax(0,1fr));
  gap:6px;
}
.benefit-tab-v31{
  min-width:0!important;
  min-height:76px!important;
  height:76px!important;
  padding:9px 8px!important;
  border:1px solid transparent!important;
  border-radius:17px!important;
  background:transparent!important;
  color:#2a547d!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  justify-items:start!important;
  column-gap:7px!important;
  row-gap:1px!important;
  box-shadow:none!important;
  transform:none!important;
  text-align:left!important;
  overflow:hidden!important;
}
.benefit-tab-v31::after{display:none!important;}
.benefit-tab-v31:hover{
  background:#f4f9ff!important;
  border-color:#d9e7f5!important;
  transform:translateY(-2px)!important;
}
.benefit-tab-v31.is-active{
  background:linear-gradient(135deg,#2e82e4 0%,#176fd6 100%)!important;
  color:#fff!important;
  border-color:#1f75d6!important;
  box-shadow:0 12px 24px rgba(28,104,204,.20)!important;
  transform:translateY(-2px)!important;
}
.benefit-tab-icon-v31{
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  border-radius:10px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eef6ff;
}
.benefit-tab-v31.is-active .benefit-tab-icon-v31{background:rgba(255,255,255,.18);}
.benefit-tab-icon-v31 img{width:100%;height:100%;object-fit:cover;display:block;}
.benefit-tab-copy-v31{min-width:0;display:flex;flex-direction:column;align-self:end;}
.benefit-tab-copy-v31 strong{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  font-size:11px!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.benefit-tab-copy-v31 small{
  margin-top:3px;
  font-size:8px;
  line-height:1.1;
  opacity:.7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.benefit-tab-num-v31{
  grid-column:2;
  grid-row:2;
  align-self:end;
  justify-self:end;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  opacity:.55;
}
.benefit-tab-v31.is-active .benefit-tab-num-v31{opacity:.9;}

.benefit-main-v31{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
  min-height:0!important;
  overflow:hidden;
  border-radius:32px!important;
  border:1px solid rgba(116,154,194,.18)!important;
  background:#fff;
  box-shadow:0 28px 70px rgba(31,73,115,.12)!important;
}
.benefit-image-v31{
  aspect-ratio:1 / 1!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:14px!important;
  align-self:start;
  background:linear-gradient(180deg,#edf6ff 0%,#e7f1fb 100%);
}
.benefit-image-v31 img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  border-radius:24px!important;
  transform:none!important;
}
.benefit-image-v31::after{inset:14px!important;border-radius:24px!important;}
.benefit-image-v31 .benefit-image-caption-v20{left:36px!important;bottom:30px!important;}
.benefit-copy-v31{padding:42px 44px 36px!important;justify-content:center!important;}
.benefit-copy-v31 h3{font-size:clamp(2.8rem,4vw,4.7rem)!important;line-height:.98!important;max-width:12ch;}
.benefit-copy-v31>p{max-width:38ch;font-size:16px!important;line-height:1.65!important;}
.benefit-copy-v31 .benefit-features-v20{margin-top:26px!important;padding-top:24px!important;}

.benefit-progress-v31{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:14px;
}
.benefit-progress-line-v31{height:3px;flex:1;overflow:hidden;border-radius:999px;background:rgba(100,139,178,.16);}
.benefit-progress-line-v31 i{display:block;width:9.0909%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e82e4,#176fd6);transition:width .3s ease;}
.benefit-progress-v31 small{min-width:54px;color:#718aa3;font-size:10px;font-weight:900;letter-spacing:.15em;text-align:right;}

@media(max-width:1280px){
  .benefit-wrap-v31{padding:0 24px;}
  .benefit-nav-v31{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:1px;}
  .benefit-nav-v31::-webkit-scrollbar{display:none;}
  .benefit-tab-v31{flex:0 0 142px;scroll-snap-align:start;}
  .benefit-main-v31{grid-template-columns:minmax(0,1fr) minmax(380px,.86fr)!important;}
}
@media(max-width:900px){
  .benefit-showcase-v31{padding:72px 0 68px;}
  .benefit-head-v31{grid-template-columns:1fr!important;gap:18px!important;align-items:start!important;}
  .benefit-head-v31 h2{font-size:clamp(3rem,12vw,4.6rem)!important;max-width:9ch;}
  .benefit-head-copy-v31{max-width:680px;}
  .benefit-nav-shell-v31{margin-bottom:16px;border-radius:20px;padding:7px;}
  .benefit-tab-v31{flex-basis:138px;min-height:70px!important;height:70px!important;border-radius:15px!important;}
  .benefit-main-v31{grid-template-columns:1fr!important;border-radius:26px!important;}
  .benefit-image-v31{width:min(100%,720px)!important;margin:0 auto;}
  .benefit-copy-v31{padding:30px 28px 30px!important;}
  .benefit-copy-v31 h3{font-size:clamp(2.45rem,9vw,4rem)!important;max-width:11ch;}
  .benefit-copy-v31>p{max-width:none;}
}
@media(max-width:600px){
  .benefit-wrap-v31{padding:0 14px;}
  .benefit-head-v31 h2{font-size:46px!important;line-height:.94!important;}
  .benefit-head-copy-v31 p{font-size:15px!important;}
  .benefit-tab-v31{flex-basis:132px;grid-template-columns:32px minmax(0,1fr)!important;}
  .benefit-tab-icon-v31{width:32px;height:32px;}
  .benefit-copy-v31{padding:25px 20px 24px!important;}
  .benefit-copy-v31 h3{font-size:38px!important;max-width:none;}
  .benefit-features-v20{grid-template-columns:1fr!important;gap:14px!important;}
  .benefit-main-footer-v20{align-items:stretch!important;}
  .benefit-main-footer-v20 a{justify-content:center;min-height:46px;}
}

/* V32: manufacturing card strip removed from template. */
#capability > .wrap > .cap-strip-v29{display:none!important;}


/* =========================================================
   V33 — ODF explainer + format comparison
   ========================================================= */
.odf-explainer-v33{
  position:relative;
  overflow:hidden;
  padding:118px 0 110px;
  background:linear-gradient(180deg,#f7fbff 0%,#eef7fd 100%);
  border-top:1px solid #d7e7f0;
}
.odf-explainer-v33::before{
  content:"";position:absolute;right:-130px;top:-160px;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(47,127,230,.12);box-shadow:0 0 0 70px rgba(47,127,230,.025),0 0 0 140px rgba(47,127,230,.018);pointer-events:none
}
.odf-head-v33{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:90px;align-items:end;margin-bottom:48px}
.odf-head-v33 h2{max-width:760px;font-size:clamp(48px,5.4vw,78px);line-height:.96;margin-bottom:0}
.odf-head-v33 h2 span{color:#2d7fe5}
.odf-head-copy-v33 p{font-size:15px;line-height:1.75;color:#496983;margin:0 0 18px}
.odf-aliases-v33{display:flex;flex-wrap:wrap;gap:8px}
.odf-aliases-v33 span{padding:7px 10px;border:1px solid #cfe1ec;background:rgba(255,255,255,.78);border-radius:999px;color:#54708a;font-size:10px;font-weight:800;letter-spacing:.03em}
.odf-explainer-grid-v33{display:grid;grid-template-columns:minmax(420px,.88fr) minmax(0,1.12fr);gap:22px;align-items:stretch}
.odf-film-demo-v33{position:relative;min-height:560px;border:1px solid #cfe1ec;border-radius:34px;background:linear-gradient(145deg,#e9f6ff 0%,#dfeffb 54%,#f7fbff 100%);overflow:hidden;color:var(--ink);cursor:pointer;box-shadow:0 24px 58px rgba(24,70,110,.09);text-align:left}
.odf-film-demo-v33::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(83,203,198,.22),transparent 28%),radial-gradient(circle at 20% 72%,rgba(45,127,229,.13),transparent 34%)}
.odf-demo-label-v33{position:absolute;top:28px;left:30px;font-size:9px;font-weight:900;letter-spacing:.2em;color:#0a8795}
.odf-mouth-ring-v33{position:absolute;width:340px;height:340px;border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%);border:1px solid rgba(17,89,153,.18);box-shadow:0 0 0 44px rgba(255,255,255,.26),0 0 0 88px rgba(255,255,255,.14)}
.odf-film-shape-v33{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-8deg);width:245px;height:116px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(160,230,236,.78));border:1px solid rgba(56,145,171,.3);box-shadow:0 32px 55px rgba(36,92,135,.18),inset 0 0 26px rgba(255,255,255,.72);display:grid;place-items:center;backdrop-filter:blur(8px)}
.odf-film-shape-v33 i{font-style:normal;font-weight:900;letter-spacing:.3em;color:#147f9d;font-size:18px}
.odf-dissolve-dots-v33 i{position:absolute;width:10px;height:10px;border-radius:50%;background:#5ccac9;opacity:.55;left:50%;top:46%}
.odf-dissolve-dots-v33 i:nth-child(1){transform:translate(-150px,-85px)}.odf-dissolve-dots-v33 i:nth-child(2){transform:translate(115px,-70px);width:7px;height:7px}.odf-dissolve-dots-v33 i:nth-child(3){transform:translate(-120px,82px);width:8px;height:8px}.odf-dissolve-dots-v33 i:nth-child(4){transform:translate(145px,60px);width:13px;height:13px}.odf-dissolve-dots-v33 i:nth-child(5){transform:translate(28px,-126px);width:6px;height:6px}.odf-dissolve-dots-v33 i:nth-child(6){transform:translate(-18px,126px);width:9px;height:9px}
.odf-film-demo-v33.is-dissolving .odf-film-shape-v33{animation:odfDissolveV33 2.4s cubic-bezier(.2,.7,.2,1) both}
.odf-film-demo-v33.is-dissolving .odf-dissolve-dots-v33 i{animation:odfDotsV33 2.4s ease both}
@keyframes odfDissolveV33{0%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) rotate(-8deg) scale(1)}55%{opacity:.82;filter:blur(1px);transform:translate(-50%,-50%) rotate(-2deg) scale(.94)}100%{opacity:.08;filter:blur(8px);transform:translate(-50%,-50%) rotate(4deg) scale(.72)}}
@keyframes odfDotsV33{0%{opacity:.05}40%{opacity:.65}100%{opacity:0;translate:0 -28px;scale:1.8}}
.odf-demo-copy-v33{position:absolute;left:30px;right:30px;bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;z-index:2}
.odf-demo-copy-v33 strong{font-size:16px}.odf-demo-copy-v33 small{font-size:10px;letter-spacing:.09em;color:#607d94;text-transform:uppercase;text-align:right}
.odf-story-v33{border:1px solid #d5e5ee;border-radius:34px;background:#fff;padding:34px;box-shadow:0 24px 58px rgba(24,70,110,.07);display:flex;flex-direction:column}
.odf-story-tabs-v33{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-bottom:22px;border-bottom:1px solid #d9e6ee}
.odf-story-tabs-v33 button{min-height:46px;border:1px solid #d6e5ef;background:#f7fbfe;border-radius:14px;color:#58728a;font-size:11px;font-weight:800;cursor:pointer;transition:.22s}
.odf-story-tabs-v33 button:hover,.odf-story-tabs-v33 button.is-active{background:#e9f3ff;color:#176fd6;border-color:#bfd8f6;transform:translateY(-1px)}
.odf-story-panel-v33{padding:34px 2px 24px;animation:odfPanelInV33 .3s ease both}
@keyframes odfPanelInV33{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.odf-story-panel-v33 h3{font-size:clamp(30px,3vw,46px);line-height:1.02;max-width:720px;margin:10px 0 18px}
.odf-story-panel-v33 p{font-size:15px;line-height:1.8;max-width:760px;margin-bottom:0}
.odf-benefit-cards-v33{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.odf-benefit-cards-v33>div{min-height:128px;border:1px solid #d8e6ef;border-radius:18px;background:linear-gradient(180deg,#f8fbfe,#f2f8fc);padding:16px;transition:.22s}
.odf-benefit-cards-v33>div:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(35,87,129,.08);border-color:#bfd8ed}
.odf-benefit-cards-v33 span{display:block;color:#2482df;font-size:10px;font-weight:900;letter-spacing:.13em;margin-bottom:20px}.odf-benefit-cards-v33 strong{display:block;font-size:13px;margin-bottom:6px}.odf-benefit-cards-v33 small{display:block;color:#6c8397;font-size:10px;line-height:1.5}

.odf-compare-v33{padding:112px 0 118px;background:#fff;position:relative;overflow:hidden}
.odf-compare-head-v33{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:90px;align-items:end;margin-bottom:40px}
.odf-compare-head-v33 h2{font-size:clamp(44px,4.7vw,70px);max-width:840px;margin-bottom:0}
.odf-compare-intro-v33 p{font-size:15px;line-height:1.75;margin-bottom:18px}
.odf-compare-switch-v33{display:flex;flex-wrap:wrap;gap:7px}
.odf-compare-switch-v33 button{border:1px solid #d5e3ed;background:#f8fbfd;color:#607990;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800;cursor:pointer;transition:.2s}
.odf-compare-switch-v33 button:hover,.odf-compare-switch-v33 button.is-active{background:#267de0;border-color:#267de0;color:#fff;transform:translateY(-1px)}
.odf-table-shell-v33{overflow:auto;border:1px solid #d4e3ed;border-radius:26px;background:#fff;box-shadow:0 22px 52px rgba(25,68,108,.07);scrollbar-width:thin}
.odf-table-v33{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.odf-table-v33 th,.odf-table-v33 td{padding:19px 18px;border-right:1px solid #e0ebf2;border-bottom:1px solid #e4edf3;text-align:center;font-size:13px;color:#64798b;transition:background .2s,color .2s,box-shadow .2s}
.odf-table-v33 thead th{padding-top:22px;padding-bottom:22px;background:#f7fbfe;color:#49677e;font-size:11px;font-weight:900;letter-spacing:.04em}
.odf-table-v33 th:first-child{text-align:left;width:20%;position:sticky;left:0;z-index:3;background:#fbfdff;color:#173f65}
.odf-table-v33 tbody th{font-weight:800}
.odf-table-v33 td strong{color:inherit}
.odf-table-v33 [data-col].is-active{background:#edf5ff;color:#1f63bd;box-shadow:inset 2px 0 0 rgba(41,122,224,.16),inset -2px 0 0 rgba(41,122,224,.16)}
.odf-table-v33 thead [data-col].is-active{background:#e7f1ff;color:#176fd6}
.odf-table-v33 tr:last-child th,.odf-table-v33 tr:last-child td{border-bottom:0}.odf-table-v33 th:last-child,.odf-table-v33 td:last-child{border-right:0}
.odf-compare-note-v33{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:18px 6px 0;max-width:980px}.odf-compare-note-v33 span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eaf4ff;color:#287bd9;font-weight:900}.odf-compare-note-v33 p{font-size:10px;line-height:1.65;color:#72879a;margin:3px 0 0}

.reveal-v33{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal-v33.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .odf-head-v33,.odf-compare-head-v33{grid-template-columns:1fr;gap:22px}.odf-explainer-grid-v33{grid-template-columns:1fr}.odf-film-demo-v33{min-height:470px}.odf-benefit-cards-v33{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .odf-explainer-v33,.odf-compare-v33{padding:82px 0}.odf-head-v33 h2,.odf-compare-head-v33 h2{font-size:44px}.odf-film-demo-v33{min-height:390px;border-radius:24px}.odf-mouth-ring-v33{width:260px;height:260px}.odf-film-shape-v33{width:190px;height:92px}.odf-story-v33{padding:20px;border-radius:24px}.odf-story-tabs-v33{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}.odf-story-tabs-v33 button{flex:0 0 auto;scroll-snap-align:start}.odf-story-panel-v33{padding:24px 0 18px}.odf-story-panel-v33 h3{font-size:34px}.odf-benefit-cards-v33{grid-template-columns:1fr}.odf-benefit-cards-v33>div{min-height:auto}.odf-demo-copy-v33{align-items:flex-start;flex-direction:column}.odf-demo-copy-v33 small{text-align:left}.odf-compare-switch-v33{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.odf-compare-switch-v33 button{flex:0 0 auto}.odf-table-v33 th,.odf-table-v33 td{padding:15px 13px;font-size:12px}.odf-table-v33 th:first-child{width:180px}
}
@media(prefers-reduced-motion:reduce){.reveal-v33,.odf-film-shape-v33,.odf-dissolve-dots-v33 i,.odf-story-panel-v33{animation:none!important;transition:none!important}}


/* =========================================================
   V34 — ODF story image sync
   Three user-provided images are linked to the 01 / 02 / 03 tabs.
   ========================================================= */
.odf-story-media-v34{
  position:relative;
  margin:0;
  min-width:0;
  border:1px solid rgba(76,130,184,.22);
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(180deg,#eff8ff 0%,#e8f4fb 100%);
  box-shadow:0 22px 55px rgba(37,86,135,.10);
}
.odf-story-image-shell-v34{
  position:relative;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#edf7ff;
}
.odf-story-image-shell-v34 img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:opacity .28s ease,transform .55s cubic-bezier(.2,.75,.2,1),filter .35s ease;
  transform:scale(1.01);
}
.odf-story-media-v34.is-changing .odf-story-image-shell-v34 img{
  opacity:.18;
  transform:scale(1.045);
  filter:blur(1px);
}
.odf-story-glow-v34{
  position:absolute;
  inset:auto auto -35% -12%;
  width:64%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,151,255,.20),rgba(59,151,255,0) 68%);
  pointer-events:none;
  mix-blend-mode:screen;
}
.odf-story-image-shell-v34::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,45,86,0) 60%,rgba(8,45,86,.13) 100%);
  pointer-events:none;
}
.odf-story-index-v34{
  position:absolute;
  top:18px;
  left:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(63,122,180,.18);
  color:#176fd6;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  backdrop-filter:blur(10px);
}
.odf-story-caption-v34{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px 22px;
  background:rgba(255,255,255,.78);
}
.odf-story-caption-v34 strong{
  color:#082d56;
  font-size:17px;
  line-height:1.25;
}
.odf-story-caption-v34 small{
  max-width:240px;
  color:#60809e;
  font-size:12px;
  line-height:1.45;
  text-align:right;
}
.odf-story-tabs-v33 button{position:relative;overflow:hidden;}
.odf-story-tabs-v33 button::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:2px;
  border-radius:2px;
  background:#2678db;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s ease;
}
.odf-story-tabs-v33 button.is-active::after{transform:scaleX(1);}
@media (max-width:900px){
  .odf-story-image-shell-v34{aspect-ratio:4 / 3;}
  .odf-story-caption-v34{align-items:flex-start;flex-direction:column;gap:6px;}
  .odf-story-caption-v34 small{max-width:none;text-align:left;}
}
@media (max-width:600px){
  .odf-story-media-v34{border-radius:22px;}
  .odf-story-image-shell-v34{aspect-ratio:1 / 1;}
  .odf-story-index-v34{top:12px;left:12px;}
  .odf-story-caption-v34{padding:16px 16px 18px;}
}

/* =========================================================
   V35 — Ready Stock Oral Strips page
   ========================================================= */
.ready-stock-page-v35{background:#fff}
.ready-stock-hero-v35{padding:82px 0 72px;background:linear-gradient(135deg,#eef8fc 0%,#f8fcfe 62%,#e9f6fb 100%);border-bottom:1px solid #d7e8ef;overflow:hidden}
.ready-stock-hero-grid-v35{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.72fr);align-items:center;gap:72px}
.ready-stock-hero-v35 h1{max-width:760px}
.ready-stock-hero-v35 .lead{max-width:680px}
.ready-stock-badges-v35{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.ready-stock-badges-v35 span{padding:8px 11px;border:1px solid #b9d5e3;border-radius:999px;background:rgba(255,255,255,.74);font-size:10px;font-weight:900;letter-spacing:.08em;color:#17466c}
.ready-stock-hero-art-v35{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center}
.ready-stock-hero-art-v35:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.75) 48%,rgba(84,203,198,.09) 68%,transparent 72%)}
.ready-stock-hero-art-v35 img{position:relative;z-index:1;width:min(100%,500px);filter:drop-shadow(0 28px 30px rgba(8,45,86,.12))}
.ready-stock-products-v35{padding:86px 0 92px;background:#fffdf9}
.ready-stock-section-head-v35{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:end;margin-bottom:30px}
.ready-stock-section-head-v35 h2{margin-bottom:0;max-width:720px}
.ready-stock-section-head-v35 p{max-width:560px;margin:0 0 6px;justify-self:end}
.ready-stock-tabs-shell-v35{margin-bottom:22px;position:relative}
.ready-stock-tabs-v35{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b9ccd6 transparent}
.ready-stock-tab-v35{flex:0 0 142px;scroll-snap-align:start;min-height:142px;padding:9px 8px 11px;border:1px solid #cddad2;border-radius:7px;background:#fff;cursor:pointer;color:#103d41;text-align:center;transition:.2s}
.ready-stock-tab-v35:hover{transform:translateY(-2px);border-color:#91b6a0;box-shadow:0 8px 18px rgba(8,45,86,.06)}
.ready-stock-tab-v35.is-active{background:#f0f5eb;border-color:#7f9d72;box-shadow:inset 0 0 0 1px rgba(127,157,114,.18)}
.ready-stock-tab-image-v35{display:flex;align-items:center;justify-content:center;height:88px;background:#fff;border-radius:4px;overflow:hidden;margin-bottom:8px}
.ready-stock-tab-image-v35 img{width:100%;height:100%;object-fit:contain}
.ready-stock-tab-v35 strong{display:block;font-size:10px;line-height:1.25;letter-spacing:-.01em}
.ready-stock-stage-v35{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.08fr);border-top:1px solid #e0e6dc;margin-top:8px}
.ready-stock-visual-v35{border-right:1px solid #e0e6dc;background:#f6f6f1;min-width:0}
.ready-stock-visual-meta-v35{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:9px;font-weight:800;letter-spacing:.14em;color:#6b7f73;border-bottom:1px solid #e7eae3}
.ready-stock-main-image-v35{height:520px;background:#fff;display:flex;align-items:center;justify-content:center;padding:36px;overflow:hidden}
.ready-stock-main-image-v35 img{width:100%;height:100%;object-fit:contain;transition:opacity .22s ease,transform .32s ease}
.ready-stock-main-image-v35.is-changing img{opacity:.15;transform:scale(.975)}
.ready-stock-visual-caption-v35{padding:20px 22px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ready-stock-visual-caption-v35 strong{font-size:13px;color:#133c36}
.ready-stock-visual-caption-v35 span{font-size:10px;color:#65766e}
.ready-stock-details-v35{padding:58px 62px 48px;background:#fffdf9}
.ready-stock-orderline-v35{display:flex;gap:24px;align-items:center;margin:22px 0 16px;padding-bottom:16px;border-bottom:1px solid #cfdacc}
.ready-stock-orderline-v35 span{font-size:9px;letter-spacing:.09em;color:#68776e}
.ready-stock-orderline-v35 strong{font-size:13px;color:#0b4946}
.ready-stock-details-v35 h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,3.2vw,52px);letter-spacing:-.04em;color:#0b4742;margin:12px 0 16px}
.ready-stock-details-v35>p{max-width:590px;color:#455e56}
.ready-stock-detail-fold-v35{border-top:1px solid #d7dfd5;border-bottom:1px solid #d7dfd5;margin:26px 0 26px}
.ready-stock-detail-fold-v35 summary{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:13px;font-weight:800;color:#0b4946;cursor:pointer;list-style:none}
.ready-stock-detail-fold-v35 summary::-webkit-details-marker{display:none}
.ready-stock-detail-grid-v35{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 0 20px}
.ready-stock-detail-grid-v35 div{padding:15px;border:1px solid #dbe3da;background:#fff;border-radius:5px}
.ready-stock-detail-grid-v35 small{display:block;font-size:8px;letter-spacing:.12em;color:#74827b;margin-bottom:6px}
.ready-stock-detail-grid-v35 strong{font-size:11px;line-height:1.35;color:#173f3b}
.ready-stock-pack-label-v35{font-size:9px;font-weight:900;letter-spacing:.1em;color:#4a6258;margin-bottom:11px}
.ready-stock-pack-options-v35{display:flex;flex-wrap:wrap;gap:9px}
.ready-stock-pack-options-v35 button{min-height:40px;padding:0 16px;border:1px solid #c9d5cd;background:#fff;border-radius:3px;color:#173f3b;font-size:10px;font-weight:700;cursor:pointer}
.ready-stock-pack-options-v35 button.is-active{border-color:#3e745f;box-shadow:inset 0 0 0 1px #3e745f;background:#f4f8f3}
.ready-stock-selected-v35{font-size:10px!important;margin:12px 0 18px!important;color:#5c6f66!important}
.ready-stock-selected-v35 strong{color:#284e45}
.ready-stock-discuss-v35{min-width:215px;background:#103f3a;border-color:#103f3a;color:#fff}
.ready-stock-note-v35{font-size:10px!important;margin:14px 0 0!important;color:#71817a!important}
.ready-stock-footnote-v35{font-size:10px;margin:16px 0 0;color:#69776f}
.ready-stock-inquiry-v35{padding:96px 0;background:#edf8fb;border-top:1px solid #d4e8ef}
.ready-stock-inquiry-grid-v35{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}
.ready-stock-inquiry-copy-v35{position:sticky;top:105px}
.ready-stock-inquiry-copy-v35 h2{max-width:520px;margin-top:15px}
.ready-stock-inquiry-copy-v35 p{max-width:500px}
.ready-stock-inquiry-points-v35{display:grid;gap:9px;margin-top:28px}
.ready-stock-inquiry-points-v35 span{font-size:11px;font-weight:800;color:#325c74;padding-bottom:9px;border-bottom:1px solid #cadfe9}
.ready-stock-form-v35{position:relative;background:#fff;border:1px solid #c9dfe9;border-radius:20px;padding:34px;box-shadow:0 22px 55px rgba(35,87,113,.09)}
.ready-stock-form-title-v35{font-family:Georgia,'Times New Roman',serif;font-size:30px;color:#0b3b5e;margin:0 0 24px}
.ready-stock-form-grid-v35{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.ready-stock-field-v35{display:grid;gap:7px;font-size:9px;font-weight:900;letter-spacing:.09em;color:#456377}
.ready-stock-field-v35 input,.ready-stock-field-v35 textarea{width:100%;border:1px solid #cbdde5;border-radius:7px;background:#fbfdfe;padding:12px 13px;color:#143e5a;outline:none;font-size:13px;letter-spacing:0;font-weight:500;transition:.2s}
.ready-stock-field-v35 input:focus,.ready-stock-field-v35 textarea:focus{border-color:#51aeb3;box-shadow:0 0 0 3px rgba(84,203,198,.12);background:#fff}
.ready-stock-field-v35 input[readonly]{background:#f2f7f9;color:#31586c;font-weight:800}
.ready-stock-field-full-v35{grid-column:1/-1}
.ready-stock-submit-v35{width:100%;min-height:52px;margin-top:20px;border:0;border-radius:7px;background:#0c4b54;color:#fff;font-size:12px;font-weight:900;cursor:pointer;transition:.2s}
.ready-stock-submit-v35:hover{transform:translateY(-1px);background:#0e6970}
.ready-stock-privacy-v35{font-size:10px;margin:12px 0 0;text-align:center;color:#748c99}
.ready-stock-form-error-v35{padding:12px 14px;margin-bottom:18px;border:1px solid #dfc6c6;background:#fff7f7;color:#8f4040;border-radius:7px;font-size:12px}
.menu-item-ready-stock-v35>a{color:#0d8589!important}

@media(max-width:1100px){
  .ready-stock-hero-grid-v35{grid-template-columns:1fr .72fr;gap:38px}.ready-stock-hero-art-v35{min-height:360px}
  .ready-stock-main-image-v35{height:430px}.ready-stock-details-v35{padding:46px 38px}
  .ready-stock-detail-grid-v35{grid-template-columns:1fr}.ready-stock-inquiry-grid-v35{gap:40px}
}
@media(max-width:820px){
  .ready-stock-hero-v35{padding:62px 0 56px}.ready-stock-hero-grid-v35,.ready-stock-section-head-v35,.ready-stock-stage-v35,.ready-stock-inquiry-grid-v35{grid-template-columns:1fr}
  .ready-stock-hero-art-v35{min-height:300px}.ready-stock-hero-art-v35 img{max-height:340px}.ready-stock-section-head-v35{gap:20px}.ready-stock-section-head-v35 p{justify-self:start}
  .ready-stock-visual-v35{border-right:0;border-bottom:1px solid #e0e6dc}.ready-stock-main-image-v35{height:auto;aspect-ratio:1/1;padding:24px}
  .ready-stock-details-v35{padding:38px 26px 42px}.ready-stock-inquiry-copy-v35{position:static}.ready-stock-inquiry-v35{padding:72px 0}
}
@media(max-width:600px){
  .ready-stock-hero-v35{padding:44px 0 44px}.ready-stock-hero-art-v35{min-height:240px}.ready-stock-hero-art-v35:before{width:300px;height:300px}.ready-stock-products-v35{padding:58px 0 64px}
  .ready-stock-tab-v35{flex-basis:116px;min-height:126px}.ready-stock-tab-image-v35{height:74px}.ready-stock-details-v35{padding:32px 18px 36px}.ready-stock-orderline-v35{align-items:flex-start;flex-direction:column;gap:5px}
  .ready-stock-pack-options-v35{display:grid;grid-template-columns:1fr}.ready-stock-pack-options-v35 button{width:100%}.ready-stock-form-v35{padding:24px 18px;border-radius:14px}.ready-stock-form-grid-v35{grid-template-columns:1fr}.ready-stock-field-full-v35{grid-column:auto}
}


/* =========================================================
   V36 — Ready Stock instant inquiry modal
   ========================================================= */
.ready-stock-discuss-v35{cursor:pointer}
.ready-stock-modal-v36{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.ready-stock-modal-v36.is-open{display:flex}
.ready-stock-modal-backdrop-v36{position:absolute;inset:0;background:rgba(5,31,42,.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.ready-stock-modal-dialog-v36{position:relative;z-index:1;width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto;background:#f8fcfd;border:1px solid #c7dfe7;border-radius:22px;box-shadow:0 36px 90px rgba(7,43,55,.28);padding:34px}
.ready-stock-modal-close-v36{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid #c8dce2;border-radius:50%;background:#fff;color:#174b58;font-size:27px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.ready-stock-modal-close-v36:hover{background:#eef7f9}
.ready-stock-modal-head-v36{padding-right:48px;margin-bottom:22px}
.ready-stock-modal-head-v36 h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,46px);line-height:1.02;color:#0b4742;margin:10px 0 12px}
.ready-stock-modal-head-v36 p{max-width:620px;margin:0;color:#536f78;font-size:13px}
.ready-stock-modal-form-v36{padding:26px;border-radius:15px;box-shadow:none;background:#fff}
body.ready-stock-modal-open-v36{overflow:hidden}
@media(max-width:600px){
  .ready-stock-modal-v36{padding:10px;align-items:flex-end}
  .ready-stock-modal-dialog-v36{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding:24px 14px 16px}
  .ready-stock-modal-head-v36{padding:0 42px 0 4px;margin-bottom:16px}
  .ready-stock-modal-head-v36 h2{font-size:31px}
  .ready-stock-modal-form-v36{padding:18px 12px}
  .ready-stock-modal-close-v36{top:12px;right:12px}
}


/* V39: homepage ready-stock product preview — all 16 products, larger cards */
.home-ready-stock-v37{padding:42px 0 54px;background:#f8fbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-ready-stock-head-v37{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:26px;margin-bottom:26px}
.home-ready-stock-head-v37 h2{margin:7px 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.2vw,52px);line-height:1.04;font-weight:500;letter-spacing:-.02em}
.home-ready-stock-head-v37 p{max-width:620px;margin:0;color:var(--muted);justify-self:end}
.home-ready-stock-grid-v37{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-ready-stock-card-v37{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;transition:.2s ease;display:flex;flex-direction:column;gap:10px;min-width:0}
.home-ready-stock-card-v37:hover{transform:translateY(-3px);border-color:#7ba9bd;box-shadow:0 14px 28px rgba(8,45,86,.09)}
.home-ready-stock-img-v37{aspect-ratio:1/1;border-radius:12px;background:#fbfcfd;display:grid;place-items:center;overflow:hidden;padding:8px}
.home-ready-stock-img-v37 img{width:100%;height:100%;object-fit:contain;transform:scale(1.04)}
.home-ready-stock-card-v37 strong{font-size:16px;line-height:1.25;color:var(--ink)}
.home-ready-stock-card-v37 small{font-size:12px;color:var(--muted);line-height:1.4}
.home-ready-stock-bottom-v37{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}
.home-ready-stock-bottom-v37 span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.home-ready-stock-head-v37{grid-template-columns:1fr}.home-ready-stock-head-v37 p{justify-self:start}.home-ready-stock-grid-v37{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-ready-stock-v37{padding:34px 0 42px}.home-ready-stock-grid-v37{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-ready-stock-card-v37{padding:12px}.home-ready-stock-card-v37 strong{font-size:14px}}
@media(max-width:640px){.home-ready-stock-bottom-v37{align-items:flex-start;flex-direction:column}.home-ready-stock-bottom-v37 .btn{width:100%;text-align:center}}
/* =========================================================
   V38 — Optimized inquiry modal with selectable image cards
   ========================================================= */
.ready-stock-form-grid-v38{gap:18px}
.ready-stock-mode-field-v38 span,.ready-stock-choice-field-v38>span{display:block;font-size:9px;font-weight:900;letter-spacing:.09em;color:#456377}
.ready-stock-mode-switch-v38{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ready-stock-mode-btn-v38{min-height:72px;padding:14px 16px;border:1px solid #cbdde5;border-radius:10px;background:#f9fcfd;text-align:left;cursor:pointer;transition:.2s;color:#173f3b}
.ready-stock-mode-btn-v38 strong{display:block;font-size:14px;line-height:1.2;color:#123f57}
.ready-stock-mode-btn-v38 small{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#68818f}
.ready-stock-mode-btn-v38:hover{transform:translateY(-1px);border-color:#8ab5c1;box-shadow:0 8px 18px rgba(25,72,94,.07)}
.ready-stock-mode-btn-v38.is-active{background:#eef7f9;border-color:#57a4b6;box-shadow:inset 0 0 0 1px rgba(87,164,182,.25)}
.ready-stock-choice-panel-v38{display:none}
.ready-stock-choice-panel-v38.is-active{display:block}
.ready-stock-choice-grid-v38{display:grid;gap:10px;max-height:310px;overflow:auto;padding:4px 2px 4px}
.ready-stock-choice-grid--ready-v38{grid-template-columns:repeat(4,minmax(0,1fr))}
.ready-stock-choice-grid--custom-v38{grid-template-columns:repeat(2,minmax(0,1fr))}
.ready-stock-choice-card-v38{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;border:1px solid #cbdde5;border-radius:10px;background:#fff;cursor:pointer;transition:.2s;text-align:left;color:#173f3b}
.ready-stock-choice-card-v38:hover{transform:translateY(-1px);border-color:#93b2bf;box-shadow:0 10px 20px rgba(10,51,72,.06)}
.ready-stock-choice-card-v38.is-active{background:#eef8f9;border-color:#4f9bad;box-shadow:inset 0 0 0 1px rgba(79,155,173,.24)}
.ready-stock-choice-thumb-v38{width:100%;aspect-ratio:1/1;background:#f7fbfc;border-radius:8px;display:grid;place-items:center;overflow:hidden}
.ready-stock-choice-thumb-v38 img{width:100%;height:100%;object-fit:contain}
.ready-stock-choice-card-v38 strong{font-size:12px;line-height:1.3;color:#123f57}
.ready-stock-choice-card-v38 small{font-size:10px;line-height:1.35;color:#69818a}
.ready-stock-choice-summary-v38{margin:12px 0 0!important;font-size:11px!important;color:#607985!important}
.ready-stock-choice-summary-v38 strong{color:#184a60}
@media(max-width:900px){
  .ready-stock-choice-grid--ready-v38{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .ready-stock-mode-switch-v38{grid-template-columns:1fr}
  .ready-stock-choice-grid--ready-v38,.ready-stock-choice-grid--custom-v38{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ready-stock-choice-grid-v38{max-height:260px}
}
@media(max-width:420px){
  .ready-stock-choice-grid--ready-v38,.ready-stock-choice-grid--custom-v38{grid-template-columns:1fr 1fr}
  .ready-stock-choice-card-v38{padding:9px}
  .ready-stock-choice-card-v38 strong{font-size:11px}
}

/* =========================================================
   V40 — Shengmei-style OEM / Private Label inquiry modal
   Reference structure: project summary + starting point + practical brief
   ========================================================= */
.ready-stock-modal-dialog-v40{width:min(1040px,calc(100vw - 40px));padding:0;background:#f8fbfc;border-radius:22px}
.ready-stock-modal-top-v40{padding:34px 38px 26px;border-bottom:1px solid #d8e5e9;background:#f4fafb}
.ready-stock-modal-product-v40{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center}
.ready-stock-modal-preview-v40{width:120px;aspect-ratio:1/1;display:grid;place-items:center;border:1px solid #d5e3e8;border-radius:14px;background:#fff;padding:8px;overflow:hidden}
.ready-stock-modal-preview-v40 img{width:100%;height:100%;object-fit:contain}
.ready-stock-modal-product-v40 h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,48px);line-height:1.02;color:#0b4742;margin:8px 0 0}
.ready-stock-project-summary-v40{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:22px;border:1px solid #d3e0e5;border-radius:11px;overflow:hidden;background:#d3e0e5}
.ready-stock-project-summary-v40>div{background:#fff;padding:14px 16px;min-width:0}
.ready-stock-project-summary-v40 small{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;color:#6e8790;margin-bottom:5px}
.ready-stock-project-summary-v40 strong{display:block;font-size:12px;line-height:1.35;color:#173f4f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ready-stock-modal-intro-v40{font-size:12px;color:#607781;margin:16px 0 0}
.ready-stock-modal-form-v40{border:0;border-radius:0;background:#fff;padding:32px 38px 36px;box-shadow:none}
.ready-stock-reference-head-v40{margin:0 0 16px}
.ready-stock-reference-head-v40 h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.15;color:#0c4645;margin:6px 0 0;font-weight:500}
.ready-stock-reference-head-v40 p{font-size:12px;color:#607781;margin:8px 0 0;max-width:680px}
.ready-stock-reference-head-v40--form{margin-top:30px;padding-top:26px;border-top:1px solid #dbe5e7}
.ready-stock-mode-switch-v40{margin-bottom:14px}
.ready-stock-choice-grid-v40{max-height:272px;border:1px solid #d7e4e8;border-radius:12px;padding:10px;background:#f9fcfd}
.ready-stock-choice-grid--ready-v38.ready-stock-choice-grid-v40{grid-template-columns:repeat(5,minmax(0,1fr))}
.ready-stock-choice-grid--custom-v38.ready-stock-choice-grid-v40{grid-template-columns:repeat(4,minmax(0,1fr))}
.ready-stock-choice-grid-v40 .ready-stock-choice-card-v38{padding:8px;gap:7px;border-radius:9px}
.ready-stock-choice-grid-v40 .ready-stock-choice-thumb-v38{aspect-ratio:1.12/1}
.ready-stock-choice-grid-v40 .ready-stock-choice-card-v38 strong{font-size:10px;line-height:1.25}
.ready-stock-choice-grid-v40 .ready-stock-choice-card-v38 small{font-size:9px}
.ready-stock-form-grid-v40{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ready-stock-form-grid-v40 .ready-stock-field-v35{font-size:8px;color:#486674}
.ready-stock-form-grid-v40 .ready-stock-field-v35 em{font-style:normal;color:#aa3f3f}
.ready-stock-form-grid-v40 .ready-stock-field-v35>span{font-size:7px;color:#869aa3;letter-spacing:.05em}
.ready-stock-field-v35 select{width:100%;height:44px;border:1px solid #cbdde5;border-radius:7px;background:#fbfdfe;padding:0 36px 0 13px;color:#143e5a;outline:none;font-size:13px;font-weight:500;transition:.2s;appearance:auto}
.ready-stock-field-v35 select:focus{border-color:#51aeb3;box-shadow:0 0 0 3px rgba(84,203,198,.12);background:#fff}
.ready-stock-form-grid-v40 .ready-stock-field-full-v35{grid-column:1/-1}
.ready-stock-consent-v40{display:flex;align-items:flex-start;gap:10px;margin-top:18px;color:#59747e;font-size:11px;line-height:1.45;cursor:pointer}
.ready-stock-consent-v40 input{width:16px;height:16px;margin-top:0;flex:0 0 auto}
.ready-stock-consent-v40 a{color:#0d6670;text-decoration:underline}
.ready-stock-submit-v40{min-height:54px;font-size:12px;letter-spacing:.01em;background:#0b4b52}
.ready-stock-submit-v40:hover{background:#0d626a}

@media(max-width:900px){
  .ready-stock-choice-grid--ready-v38.ready-stock-choice-grid-v40{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ready-stock-choice-grid--custom-v38.ready-stock-choice-grid-v40{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ready-stock-form-grid-v40{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .ready-stock-modal-dialog-v40{width:100%;max-height:94vh;padding:0;border-radius:20px 20px 0 0}
  .ready-stock-modal-top-v40{padding:24px 16px 20px}
  .ready-stock-modal-product-v40{grid-template-columns:82px 1fr;gap:14px;padding-right:32px}
  .ready-stock-modal-preview-v40{width:82px}
  .ready-stock-modal-product-v40 h2{font-size:29px}
  .ready-stock-project-summary-v40{grid-template-columns:1fr;margin-top:18px}
  .ready-stock-project-summary-v40 strong{white-space:normal}
  .ready-stock-modal-form-v40{padding:24px 14px 28px}
  .ready-stock-choice-grid--ready-v38.ready-stock-choice-grid-v40{grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px}
  .ready-stock-choice-grid--custom-v38.ready-stock-choice-grid-v40{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ready-stock-form-grid-v40{grid-template-columns:1fr}
  .ready-stock-form-grid-v40 .ready-stock-field-full-v35{grid-column:auto}
}

/* =========================================================
   V41 — Ready stock stays on homepage; cards open modal directly
   ========================================================= */
button.home-ready-stock-card-v37{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;appearance:none;-webkit-appearance:none}
button.home-ready-stock-card-v37:focus-visible{outline:3px solid rgba(76,190,196,.28);outline-offset:3px}
.home-ready-stock-bottom-v41 .btn{cursor:pointer}
.ready-stock-modal-v41 .ready-stock-modal-dialog-v40{overscroll-behavior:contain}

/* V42 — homepage ready-stock preview: 8 products per row + full English product names */
@media(min-width:1101px){
  .home-ready-stock-grid-v37{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
  .home-ready-stock-card-v37{padding:10px;border-radius:14px;gap:8px}
  .home-ready-stock-img-v37{border-radius:10px;padding:6px}
  .home-ready-stock-card-v37 strong{font-size:12px;line-height:1.28;min-height:46px}
  .home-ready-stock-card-v37 small{font-size:10px;line-height:1.35}
}
@media(min-width:761px) and (max-width:1100px){
  .home-ready-stock-grid-v37{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .home-ready-stock-card-v37 strong{font-size:13px;line-height:1.3}
}
@media(max-width:760px){
  .home-ready-stock-card-v37 strong{font-size:12px;line-height:1.3}
  .home-ready-stock-card-v37 small{font-size:10px}
}


/* V45 — exact ready-stock placement between capability functions and ODF explainer */
#capability + .home-ready-stock-v37{border-top:0}
.home-ready-stock-v37{padding-top:44px;padding-bottom:54px}
.home-ready-stock-v37 + .odf-explainer-v33{margin-top:0}


/* =========================================================
   V46 — Factory / production section inspired by Shengmei
   ========================================================= */
.factory-brand-v46{background:#eef4e9;padding:84px 0 70px;border-top:1px solid #d8e2ce;border-bottom:1px solid #d8e2ce;color:#23452b}
.factory-brand-wrap-v46{max-width:1180px}
.factory-brand-head-v46{max-width:680px;margin-bottom:30px}
.factory-brand-head-v46 .kicker{color:#6c7925}
.factory-brand-head-v46 h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,4.6vw,64px);line-height:.98;letter-spacing:-.045em;color:#163f2d;margin:10px 0 14px}
.factory-brand-head-v46 h2 em{font-weight:400;color:#7b7f28}
.factory-brand-head-v46 p{font-size:14px;color:#435e45;max-width:560px;margin:0}
.factory-brand-stats-v46{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfd9c5;border-bottom:1px solid #cfd9c5;margin:26px 0 28px}
.factory-brand-stats-v46>div{padding:18px 18px 18px 0;min-height:86px}
.factory-brand-stats-v46>div+div{border-left:1px solid #d1dac7;padding-left:22px}
.factory-brand-stats-v46 strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:1;color:#234c2e;font-weight:500}
.factory-brand-stats-v46 strong sup{font-family:Arial,Helvetica,sans-serif;font-size:12px;vertical-align:super}
.factory-brand-stats-v46 span{display:block;font-size:10px;margin-top:8px;color:#5d745c}
.factory-brand-main-v46{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:22px;align-items:start}
.factory-brand-video-col-v46{min-width:0}
.factory-brand-video-v46{position:relative;aspect-ratio:16/9;border-radius:7px;overflow:hidden;background:#dfe7dc;box-shadow:0 10px 28px rgba(38,72,42,.08)}
.factory-brand-video-v46 video{width:100%;height:100%;display:block;object-fit:cover}
.factory-brand-video-badge-v46{position:absolute;left:16px;bottom:15px;background:rgba(32,74,49,.9);color:#fff;padding:7px 10px;font-size:8px;font-weight:800;letter-spacing:.08em}
.factory-brand-video-meta-v46{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0 0}
.factory-brand-video-meta-v46 strong{display:block;font-size:12px;color:#285130}
.factory-brand-video-meta-v46 small{display:block;font-size:10px;color:#688068;margin-top:4px}
.factory-brand-video-toggle-v46{border:1px solid #9db488;background:#f4f7ef;color:#31573a;border-radius:3px;padding:9px 13px;font-size:10px;cursor:pointer;white-space:nowrap}
.factory-brand-video-toggle-v46:hover{background:#fff}
.factory-brand-card-v46{background:#fffdf8;border:1px solid #e3e6d8;border-radius:8px;padding:30px 28px 24px;min-height:100%;box-shadow:0 10px 25px rgba(61,82,46,.04)}
.factory-brand-eyebrow-v46{font-size:8px;font-weight:900;letter-spacing:.12em;color:#778130}
.factory-brand-card-v46 h3{font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:.98;color:#183f2b;margin:12px 0 14px}
.factory-brand-card-v46>p{font-size:13px;color:#4f674f;margin:0 0 20px}
.factory-brand-details-v46{border-top:1px solid #d9dfd0;border-bottom:1px solid #d9dfd0}
.factory-brand-details-v46 summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 0;font-size:12px;font-weight:800;color:#284f31;cursor:pointer}
.factory-brand-details-v46 summary::-webkit-details-marker{display:none}
.factory-brand-details-v46 summary span{font-size:18px;font-weight:400}
.factory-brand-detail-list-v46{display:grid;gap:12px;padding:0 0 16px}
.factory-brand-detail-list-v46>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.factory-brand-detail-list-v46 b{font-size:9px;color:#85915a;margin-top:2px}
.factory-brand-detail-list-v46 strong{display:block;font-size:11px;color:#294f33}
.factory-brand-detail-list-v46 small{display:block;font-size:10px;line-height:1.45;color:#708070;margin-top:2px}
.factory-brand-brief-v46{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#234d2f;padding:14px 0 2px;font-size:11px;font-weight:800;cursor:pointer;text-align:left}
.factory-brand-brief-v46 span{font-size:17px}
.factory-brand-bottom-v46{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #d3dcc9;margin-top:28px;padding-top:24px}
.factory-brand-bottom-v46>span{font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#5f6829}
.factory-brand-bottom-actions-v46{display:flex;gap:10px;align-items:center}
.factory-brand-bottom-v46 .btn{font-size:11px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.factory-brand-whatsapp-v46{border-color:#b4c79f!important;color:#31543a!important;background:#f9fbf6!important}
@media(max-width:900px){
  .factory-brand-v46{padding:64px 0 54px}
  .factory-brand-stats-v46{grid-template-columns:repeat(2,1fr)}
  .factory-brand-stats-v46>div:nth-child(3){border-left:0;border-top:1px solid #d1dac7;padding-left:0}
  .factory-brand-stats-v46>div:nth-child(4){border-top:1px solid #d1dac7}
  .factory-brand-main-v46{grid-template-columns:1fr}
}
@media(max-width:640px){
  .factory-brand-v46{padding:48px 0 44px}
  .factory-brand-stats-v46{grid-template-columns:1fr 1fr}
  .factory-brand-stats-v46 strong{font-size:27px}
  .factory-brand-main-v46{gap:16px}
  .factory-brand-card-v46{padding:24px 20px 20px}
  .factory-brand-card-v46 h3{font-size:31px}
  .factory-brand-video-meta-v46{flex-direction:column}
  .factory-brand-video-toggle-v46{width:100%}
  .factory-brand-bottom-v46{align-items:flex-start;flex-direction:column}
  .factory-brand-bottom-actions-v46{width:100%;flex-direction:column}
  .factory-brand-bottom-actions-v46 .btn{width:100%}
}

/* =========================================================
   V48 — Header + footer brand lockup refinement
   ========================================================= */
.brand-v48{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
.brand-logo-frame-v48{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.brand-logo-img-v48{display:block;width:auto;height:auto;object-fit:contain}
.brand-copy-v48{display:flex;flex-direction:column;gap:2px;line-height:1.05;min-width:0}
.brand-copy-v48 strong{font-size:15px;letter-spacing:-.02em;color:#0c355e;white-space:nowrap}
.brand-copy-v48 small{font-size:7.5px;letter-spacing:.14em;font-weight:900;color:#6c8291;white-space:nowrap}
.brand-copy-logo-v48 strong{font-size:10px;letter-spacing:.08em}
.brand-copy-logo-v48 small{font-size:7px;letter-spacing:.12em}

/* Header: make the uploaded OKTW logo intentional instead of tiny */
.brand-header-v48{min-width:248px}
.brand-header-v48 .brand-logo-frame-v48{width:82px;height:40px;padding:4px 6px;border:1px solid #e4ebef;border-radius:8px;background:#fff}
.brand-header-v48 .brand-logo-img-v48{max-width:68px;max-height:28px}
.brand-header-v48 .brand-mark{flex:0 0 30px}
.site-header .nav-shell{gap:22px}
.site-header .primary-menu{margin-left:auto}

/* Footer: turn the loose brand area into a compact brand panel */
.footer-grid-v12{grid-template-columns:1.45fr .78fr .82fr .95fr;gap:42px}
.footer-brand-v48{padding:24px 24px 22px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));align-self:start}
.brand-footer-v48{margin-bottom:19px}
.brand-footer-v48 .brand-logo-frame-v48{width:104px;height:52px;padding:7px 10px;border-radius:9px;background:#f8fbfa;border:1px solid rgba(255,255,255,.18)}
.brand-footer-v48 .brand-logo-img-v48{max-width:86px;max-height:34px}
.brand-footer-v48 .brand-copy-v48 strong{color:#fff;font-size:12px}
.brand-footer-v48 .brand-copy-v48 small{color:#7ad9bf;font-size:7px}
.brand-footer-v48 .brand-mark{border-color:#64c8ad}
.brand-footer-v48 .brand-mark:after{background:#64c8ad}
.footer-brand-v48 h4{margin:0 0 9px;color:#fff;font-size:18px;line-height:1.18;letter-spacing:-.025em;max-width:320px}
.footer-brand-v48 p{margin:0!important;max-width:360px!important;font-size:11.5px!important;line-height:1.65!important;color:#a7beb8!important}
.footer-brand-tags-v48{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}
.footer-brand-tags-v48 span{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border:1px solid rgba(94,208,177,.28);border-radius:999px;background:rgba(94,208,177,.06);font-size:7.5px;font-weight:900;letter-spacing:.09em;color:#86dfc5}
.footer-company-v48{margin-top:17px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:8.5px;line-height:1.45;color:#718f87}

@media(max-width:1180px){
  .brand-header-v48{min-width:190px}
  .brand-header-v48 .brand-copy-v48{display:none}
  .brand-header-v48 .brand-logo-frame-v48{width:90px}
  .site-header .primary-menu{gap:20px}
  .footer-grid-v12{grid-template-columns:1.25fr .8fr .8fr 1fr;gap:30px}
}
@media(max-width:1050px){
  .brand-header-v48{min-width:auto}
  .brand-header-v48 .brand-copy-v48{display:flex}
  .footer-grid-v12{grid-template-columns:1.2fr 1fr}
}
@media(max-width:700px){
  .brand-header-v48 .brand-logo-frame-v48{width:72px;height:36px}
  .brand-header-v48 .brand-logo-img-v48{max-width:60px;max-height:25px}
  .brand-header-v48 .brand-copy-v48{display:none}
  .footer-grid-v12{grid-template-columns:1fr}
  .footer-brand-v48{padding:20px}
  .brand-footer-v48 .brand-logo-frame-v48{width:96px;height:48px}
}


/* =========================================================
   V49 — Real OKTW logo asset: cropped, transparent, visibly larger
   ========================================================= */
.brand-v49{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none}
.brand-logo-frame-v49{display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:transparent;border:0;padding:0;overflow:visible}
.brand-logo-img-v49{display:block;width:100%;height:100%;object-fit:contain}
.brand-copy-v49{display:flex;flex-direction:column;gap:3px;line-height:1.05;min-width:0}
.brand-copy-v49 strong{font-size:10px;letter-spacing:.09em;color:#0c355e;white-space:nowrap}
.brand-copy-v49 small{font-size:7px;letter-spacing:.13em;font-weight:900;color:#6c8291;white-space:nowrap}

/* Header logo: source has been tightly cropped, so the visible mark now fills its box */
.brand-header-v49{min-width:280px}
.brand-header-v49 .brand-logo-frame-v49{width:122px;height:58px}
.brand-header-v49 .brand-logo-img-v49{width:122px;height:58px}
.site-header .nav-shell{height:76px;gap:22px}
.site-header .primary-menu{margin-left:auto}

/* Footer logo: make the actual OKTW mark the visual anchor */
.footer-brand-v48{padding:26px 26px 24px}
.brand-footer-v49{align-items:center;gap:16px;margin-bottom:20px}
.brand-footer-v49 .brand-logo-frame-v49{width:154px;height:86px;padding:8px 11px;border-radius:10px;background:#fff;border:1px solid rgba(255,255,255,.18)}
.brand-footer-v49 .brand-logo-img-v49{width:132px;height:70px}
.brand-footer-v49 .brand-copy-v49 strong{color:#fff;font-size:12px}
.brand-footer-v49 .brand-copy-v49 small{color:#7ad9bf;font-size:7.5px}

@media(max-width:1180px){
  .brand-header-v49{min-width:150px}
  .brand-header-v49 .brand-copy-v49{display:none}
  .brand-header-v49 .brand-logo-frame-v49,.brand-header-v49 .brand-logo-img-v49{width:116px;height:55px}
}
@media(max-width:1050px){
  .site-header .nav-shell{height:70px}
  .brand-header-v49{min-width:auto}
  .brand-header-v49 .brand-copy-v49{display:flex}
}
@media(max-width:700px){
  .site-header .nav-shell{height:64px}
  .brand-header-v49 .brand-copy-v49{display:none}
  .brand-header-v49 .brand-logo-frame-v49,.brand-header-v49 .brand-logo-img-v49{width:94px;height:46px}
  .brand-footer-v49{align-items:flex-start;flex-direction:column}
  .brand-footer-v49 .brand-logo-frame-v49{width:146px;height:82px}
}

/* =========================================================
   V51 — Oral film factory proof / capability gallery
   ========================================================= */
.factory-proof-v51{
  position:relative;
  padding:86px 0 88px;
  background:#fff;
  border-top:1px solid #dce9ef;
  border-bottom:1px solid #d7e7ee;
  overflow:hidden;
}
.factory-proof-v51:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(84,203,198,.14);
  border-radius:50%;
  right:-210px;
  top:-190px;
  pointer-events:none;
}
.factory-proof-head-v51{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);
  gap:70px;
  align-items:end;
  padding-bottom:34px;
  border-bottom:1px solid #cfdee6;
}
.factory-proof-title-v51 h2{
  max-width:780px;
  margin:12px 0 0;
  font-size:clamp(40px,4.1vw,64px);
}
.factory-proof-copy-v51{padding-bottom:4px}
.factory-proof-copy-v51 p{
  max-width:560px;
  margin:0 0 22px;
  font-size:14px;
  line-height:1.72;
}
.factory-proof-actions-v51{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.factory-proof-textlink-v51{
  font-size:11px;
  font-weight:800;
  color:#275977;
  padding-bottom:3px;
  border-bottom:1px solid #9ebdcd;
}
.factory-proof-textlink-v51:hover{color:var(--teal2);border-color:var(--teal2)}
.factory-proof-stats-v51{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:0 0 26px;
  border-bottom:1px solid #cfdee6;
}
.factory-proof-stats-v51>div{
  padding:22px 24px 22px 0;
  border-right:1px solid #cfdee6;
  margin-right:24px;
}
.factory-proof-stats-v51>div:last-child{border-right:0;margin-right:0}
.factory-proof-stats-v51 strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:29px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.035em;
  color:#0c4367;
}
.factory-proof-stats-v51 span{
  display:block;
  margin-top:8px;
  font-size:10px;
  color:#678093;
}
.factory-proof-gallery-v51{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);
  gap:14px;
  min-height:540px;
}
.factory-proof-gallery-v51 figure,.factory-proof-process-v51 figure{margin:0;position:relative;overflow:hidden;background:#edf5f8}
.factory-proof-gallery-v51 img,.factory-proof-process-v51 img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.factory-proof-gallery-v51 figure:hover img,.factory-proof-process-v51 figure:hover img{transform:scale(1.025)}
.factory-proof-main-v51{min-height:540px;border-radius:18px}
.factory-proof-main-v51:after,.factory-proof-side-large-v51:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(180deg,transparent,rgba(5,32,55,.72));
  pointer-events:none;
}
.factory-proof-main-v51 figcaption,.factory-proof-side-large-v51 figcaption{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:20px;
  color:#fff;
}
.factory-proof-main-v51 figcaption span,.factory-proof-side-large-v51 figcaption span{
  display:block;
  margin-bottom:5px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  color:#9ff3ed;
}
.factory-proof-main-v51 figcaption strong,.factory-proof-side-large-v51 figcaption strong{
  display:block;
  max-width:520px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:24px;
  line-height:1.05;
  font-weight:500;
  letter-spacing:-.02em;
}
.factory-proof-side-v51{display:grid;grid-template-rows:1.1fr .75fr;gap:14px;min-width:0}
.factory-proof-side-large-v51{border-radius:18px;min-height:310px}
.factory-proof-side-large-v51 figcaption strong{font-size:19px}
.factory-proof-side-pair-v51{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:215px}
.factory-proof-side-pair-v51 figure{border-radius:14px}
.factory-proof-side-pair-v51 figcaption{
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  padding:8px 9px;
  border-radius:8px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.factory-proof-side-pair-v51 figcaption span{font-size:9px;font-weight:900;color:#0b8e98;margin-right:6px}
.factory-proof-side-pair-v51 figcaption strong{font-size:11px;color:#173f5a}
.factory-proof-process-v51{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:14px;
}
.factory-proof-process-v51 figure{
  min-width:0;
  border:1px solid #d3e2ea;
  border-radius:14px;
  background:#fff;
}
.factory-proof-process-v51 figure>img{height:168px;object-fit:cover}
.factory-proof-step-v51{
  position:absolute;
  z-index:2;
  left:10px;
  top:10px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  border:1px solid #c5dae5;
  color:#0b6d87;
  font-size:9px;
  font-weight:900;
}
.factory-proof-process-v51 figcaption{padding:14px 14px 15px;background:#fff}
.factory-proof-process-v51 figcaption strong{display:block;font-size:12px;color:#103f5e}
.factory-proof-process-v51 figcaption small{display:block;margin-top:4px;font-size:10px;color:#718798}
@media(max-width:1100px){
  .factory-proof-v51{padding:72px 0}
  .factory-proof-head-v51{grid-template-columns:1fr;gap:24px}
  .factory-proof-copy-v51 p{max-width:760px}
  .factory-proof-gallery-v51{grid-template-columns:1.2fr .8fr;min-height:480px}
  .factory-proof-main-v51{min-height:480px}
  .factory-proof-process-v51{grid-template-columns:repeat(3,1fr)}
  .factory-proof-process-v51 figure:nth-child(4),.factory-proof-process-v51 figure:nth-child(5){grid-column:auto}
}
@media(max-width:820px){
  .factory-proof-stats-v51{grid-template-columns:1fr 1fr}
  .factory-proof-stats-v51>div:nth-child(2){border-right:0;margin-right:0}
  .factory-proof-stats-v51>div:nth-child(-n+2){border-bottom:1px solid #cfdee6}
  .factory-proof-gallery-v51{grid-template-columns:1fr;min-height:0}
  .factory-proof-main-v51{min-height:430px}
  .factory-proof-side-v51{grid-template-rows:auto auto}
  .factory-proof-side-large-v51{min-height:330px}
  .factory-proof-side-pair-v51{min-height:220px}
  .factory-proof-process-v51{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .factory-proof-v51{padding:58px 0 62px}
  .factory-proof-title-v51 h2{font-size:37px}
  .factory-proof-actions-v51{align-items:flex-start;flex-direction:column;gap:14px}
  .factory-proof-actions-v51 .btn{width:100%}
  .factory-proof-stats-v51>div{padding:18px 14px 18px 0;margin-right:14px}
  .factory-proof-stats-v51 strong{font-size:24px}
  .factory-proof-main-v51{min-height:330px}
  .factory-proof-side-large-v51{min-height:270px}
  .factory-proof-side-pair-v51{grid-template-columns:1fr;min-height:0}
  .factory-proof-side-pair-v51 figure{min-height:235px}
  .factory-proof-process-v51{grid-template-columns:1fr 1fr;gap:10px}
  .factory-proof-process-v51 figure>img{height:138px}
  .factory-proof-process-v51 figcaption{padding:11px}
  .factory-proof-main-v51 figcaption strong{font-size:20px}
}


/* =========================================================
   V55 — Factory + usage interactive gallery
   ========================================================= */
.factory-usage-v55{padding:96px 0;background:#f7fbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.factory-usage-head-v55{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:end;margin-bottom:32px}
.factory-usage-head-v55 h2{margin-bottom:0;max-width:760px}
.factory-usage-head-copy-v55 p{margin:0 0 18px;max-width:600px}
.factory-usage-controls-v55{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}
.factory-usage-arrow-v55{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.2s}
.factory-usage-arrow-v55:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}
.factory-usage-stage-v55{display:grid;grid-template-columns:1.34fr .66fr;border:1px solid var(--line);background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 18px 44px rgba(8,45,86,.07)}
.factory-usage-main-v55{min-width:0;background:#dfeef5}
.factory-usage-main-media-v55{position:relative;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden}
.factory-usage-main-media-v55 img{width:100%;height:100%;min-height:530px;object-fit:cover;transition:opacity .22s ease,transform .45s cubic-bezier(.22,.61,.36,1)}
.factory-usage-stage-v55.is-changing .factory-usage-main-media-v55 img{opacity:.45;transform:scale(1.015)}
.factory-usage-main-media-v55:hover img{transform:scale(1.025)}
.factory-usage-expand-v55{position:absolute;right:18px;bottom:18px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(8,45,86,.12);font-size:10px;font-weight:800;color:var(--ink);backdrop-filter:blur(8px)}
.factory-usage-info-v55{padding:42px 38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.factory-usage-tag-v55{font-size:9px;letter-spacing:.15em;color:var(--teal2);font-weight:900}
.factory-usage-info-v55 h3{font-size:clamp(30px,2.8vw,44px);line-height:1.02;margin:14px 0 18px;max-width:430px}
.factory-usage-info-v55 p{font-size:14px;line-height:1.75;margin:0 0 22px}
.factory-usage-points-v55{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.factory-usage-points-v55 span{padding:7px 10px;border-radius:999px;background:#eef8fc;border:1px solid var(--line);font-size:10px;font-weight:700;color:var(--ink2)}
.factory-usage-thumbs-v55{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;margin-top:14px}
.factory-usage-thumb-v55{appearance:none;border:1px solid var(--line);background:#fff;border-radius:14px;padding:7px;cursor:pointer;text-align:left;color:var(--ink);transition:.24s ease;min-width:0}
.factory-usage-thumb-v55:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(8,45,86,.08)}
.factory-usage-thumb-v55.is-active{border-color:#5f9cdc;box-shadow:inset 0 0 0 1px rgba(95,156,220,.25),0 10px 26px rgba(8,45,86,.08);background:#f4f9ff}
.factory-usage-thumb-v55 img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;margin-bottom:8px}
.factory-usage-thumb-v55 span{display:block;font-size:10px;line-height:1.25;font-weight:800}
.factory-usage-lightbox-v55{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:30px}
.factory-usage-lightbox-v55.is-open{display:flex}
.factory-usage-lightbox-bg-v55{position:absolute;inset:0;border:0;background:rgba(4,22,38,.78);backdrop-filter:blur(10px);cursor:zoom-out}
.factory-usage-lightbox-dialog-v55{position:relative;z-index:1;width:min(1100px,92vw);max-height:88vh}
.factory-usage-lightbox-dialog-v55 img{max-width:100%;max-height:86vh;margin:auto;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.factory-usage-lightbox-close-v55{position:absolute;right:-14px;top:-14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:#fff;color:var(--ink);font-size:24px;cursor:pointer;z-index:2}

/* V55 FAQ */
.faq-v55{padding:96px 0;background:#fff}
.faq-head-v55{display:grid;grid-template-columns:1.05fr .75fr;gap:80px;align-items:end;margin-bottom:34px}
.faq-head-v55 h2{margin-bottom:0;max-width:820px}
.faq-head-v55 p{margin:0}
.faq-grid-v55{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-items:start}
.faq-col-v55{display:grid;gap:12px}
.faq-item-v55{border:1px solid var(--line);border-radius:16px;background:#fbfdfe;overflow:hidden;transition:.2s}
.faq-item-v55[open]{background:#fff;border-color:#9fc0d2;box-shadow:0 12px 28px rgba(8,45,86,.05)}
.faq-item-v55 summary{list-style:none;cursor:pointer;padding:18px 20px;display:grid;grid-template-columns:34px 1fr 24px;gap:12px;align-items:center;color:var(--ink)}
.faq-item-v55 summary::-webkit-details-marker{display:none}
.faq-item-v55 summary span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--teal2)}
.faq-item-v55 summary strong{font-size:14px;line-height:1.35}
.faq-item-v55 summary i{font-style:normal;font-size:20px;transition:transform .2s;text-align:right}
.faq-item-v55[open] summary i{transform:rotate(45deg)}
.faq-answer-v55{padding:0 20px 19px 66px;color:var(--muted);font-size:13px;line-height:1.72;border-top:1px solid rgba(189,212,225,.7);padding-top:16px}
.faq-cta-v55{margin-top:24px;padding:20px 22px;border:1px solid var(--line);background:#eef8fc;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.faq-cta-v55 div{display:grid;gap:3px}
.faq-cta-v55 strong{font-size:14px}
.faq-cta-v55 span{font-size:12px;color:var(--muted)}
@media(max-width:1050px){
  .factory-usage-head-v55,.faq-head-v55{grid-template-columns:1fr;gap:20px}
  .factory-usage-stage-v55{grid-template-columns:1fr}
  .factory-usage-main-media-v55 img{min-height:420px}
  .factory-usage-thumbs-v55{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:760px){
  .factory-usage-v55,.faq-v55{padding:70px 0}
  .factory-usage-stage-v55{border-radius:18px}
  .factory-usage-info-v55{padding:26px 22px}
  .factory-usage-main-media-v55 img{min-height:300px}
  .factory-usage-thumbs-v55{grid-template-columns:repeat(3,minmax(0,1fr))}
  .faq-grid-v55{grid-template-columns:1fr}
  .faq-answer-v55{padding-left:20px}
  .faq-cta-v55{align-items:flex-start;flex-direction:column}
  .faq-cta-v55 .btn{width:100%}
}

/* V56 Google Ads destination-readiness copy additions */
.hero-disclosure-v56{max-width:620px;margin:14px 0 0;font-size:11px;line-height:1.55;color:#4d687c}
.hero-disclosure-v56 strong{color:var(--ink)}
.footer-compliance-v56{margin:26px 0 18px;padding:14px 16px;border:1px solid rgba(255,255,255,.14);font-size:10px;line-height:1.6;color:rgba(255,255,255,.72);max-width:900px}
.page .site-main,.page main{min-height:50vh}
.page .entry-content{width:min(900px,calc(100% - 48px));margin:70px auto 90px}
.page .entry-content h2{font-size:clamp(36px,4vw,56px)}
.page .entry-content h3{font-size:22px;margin-top:32px}
.page .entry-content p{font-size:15px;line-height:1.75}
@media(max-width:700px){.hero-disclosure-v56{font-size:10px}.footer-compliance-v56{margin-top:22px}}
.hero-company-v56{margin-top:8px;font-size:10px;letter-spacing:.02em;color:#557186}


/* V57 — refine documentation section width */
#quality .quality-shell-v57{
  width:min(1120px,100%);
  margin:0 auto;
}
#quality .section-head--quality-v57{
  gap:34px;
  align-items:start;
}
#quality .section-head--quality-v57 h2{
  max-width:640px;
}
#quality .section-head--quality-v57 p{
  max-width:430px;
  font-size:14px;
  line-height:1.72;
}
#quality .cert-grid-v11{
  gap:12px;
}
#quality .cert-card-v11{
  border-radius:14px;
  overflow:hidden;
}
#quality .cert-doc-v11{
  padding:9px;
}
#quality .cert-copy-v11{
  padding:12px 12px 14px;
}
#quality .cert-copy-v11 strong{
  font-size:13px;
  line-height:1.35;
}
#quality .cert-copy-v11 small{
  font-size:10px;
  line-height:1.45;
}
@media(max-width:1100px){
  #quality .quality-shell-v57{width:min(100%, 980px);}
}
@media(max-width:760px){
  #quality .quality-shell-v57{width:100%;}
  #quality .section-head--quality-v57 p{max-width:none;}
}
