
/* PRODUCT FINISH PASS -----------------------------------------------------
   The final four product pages deliberately do NOT share one mandatory
   mid-page artifact. Shared typography / evidence / document grammar creates
   consistency; each product role is allowed to be simpler or structurally
   different when the material does not support a process diagram.
------------------------------------------------------------------------ */

/* universal restraint for the final-pass role sections */
.product-detail93 .finish-role93{
  background:#0f3027;
  color:#f5f7f3;
  padding:clamp(52px,6vw,84px) clamp(28px,4.2vw,70px);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.product-detail93 .finish-role93 .v08-kicker{color:#a9b5ad;}
.product-detail93 .finish-role93 h2{color:#f7f8f5;margin:0;}
.product-detail93 .finish-role93 p{color:#bdc9c1;}
.product-detail93 .finish-role-head93{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  gap:clamp(36px,6vw,96px);align-items:end;margin-bottom:34px;
}
.product-detail93 .finish-role-head93 p{max-width:690px;margin:0;font-size:15px;line-height:1.65;}
.product-detail93 .finish-routes93{border-top:1px solid rgba(255,255,255,.16);}
.product-detail93 .finish-routes93 a{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:18px;align-items:center;
  min-height:74px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);
  color:#f3f6f1;text-decoration:none;
}
.product-detail93 .finish-routes93 a>span{
  display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.3);
  border-radius:50%;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#b7c3bb;
  transition:transform .38s cubic-bezier(.22,.72,.18,1),border-color .3s ease,color .3s ease,background-color .3s ease;
}
.product-detail93 .finish-routes93 b{display:block;font-size:17px;margin-bottom:3px;}
.product-detail93 .finish-routes93 small{display:block;font-size:12px;line-height:1.45;color:#aebbb3;}
.product-detail93 .finish-routes93 em{font-style:normal;font-size:12px;color:#d9eaa0;transition:transform .38s cubic-bezier(.22,.72,.18,1);}
@media (hover:hover){
  .product-detail93 .finish-routes93 a:hover>span{transform:translateX(5px);border-color:#b69b58;background:#b69b58;color:#172019;}
  .product-detail93 .finish-routes93 a:hover em{transform:translateX(4px);}
}

/* BITARTRATE: intentionally simple. No large illustration / fake process. */
.bitartrate93 .bitartrate-role-simple93{padding-top:58px;padding-bottom:60px;}
.bitartrate93 .bitartrate-simple-grid93{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:clamp(44px,7vw,112px);align-items:start;
}
.bitartrate93 .bitartrate-profile-line93{
  display:flex;flex-wrap:wrap;gap:0;margin-top:28px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);
}
.bitartrate93 .bitartrate-profile-line93 span{padding:14px 22px 14px 0;margin-right:22px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;color:#d1d9d3;}
.bitartrate93 .bitartrate-profile-line93 span+span{border-left:1px solid rgba(255,255,255,.13);padding-left:22px;}

/* POLACRILEX: a two-metric qualification composition, not a chemistry model. */
.polacrilex93 .polacrilex-role-simple93{background:linear-gradient(110deg,#0e2c24,#12362c 66%,#102f27);}
.polacrilex93 .polacrilex-metric-row93{
  display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:32px;
}
.polacrilex93 .polacrilex-metric-row93>div{padding:24px 0 26px;}
.polacrilex93 .polacrilex-metric-row93>div+div{border-left:1px solid rgba(255,255,255,.17);padding-left:clamp(26px,4vw,60px);}
.polacrilex93 .polacrilex-metric-row93 small{display:block;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#aab7ae;margin-bottom:8px;}
.polacrilex93 .polacrilex-metric-row93 strong{display:block;font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.045em;color:#f5f7f3;}
.polacrilex93 .polacrilex-metric-row93 span{display:block;margin-top:8px;color:#b9c5bd;font-size:12px;}
.polacrilex93 .polacrilex-role-body93{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(460px,1.28fr);gap:clamp(48px,7vw,110px);align-items:start;}
.polacrilex93 .polacrilex-role-note93{max-width:430px;font-size:15px;line-height:1.65;color:#c0cbc4;}

/* SALTS hero: text-based variant board instead of a decorative image. */
.salts93 .salt-hero-panel93,
.dilutions93 .dilution-hero-panel93{
  align-self:stretch;margin:22px 5.5vw 22px 0;min-height:360px;border:1px solid #b3b7b0;background:#ece7dc;
  display:flex;flex-direction:column;justify-content:space-between;padding:28px 30px;position:relative;overflow:hidden;
}
.salts93 .salt-hero-panel93:after,
.dilutions93 .dilution-hero-panel93:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(28,68,55,.1);border-radius:50%;right:-170px;bottom:-220px;}
.salts93 .hero-panel-label93,
.dilutions93 .hero-panel-label93{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#69736c;}
.salts93 .salt-variant-hero93{border-top:1px solid #bdc1ba;margin-top:18px;}
.salts93 .salt-variant-hero93 div{display:grid;grid-template-columns:32px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid #c3c6c0;padding:18px 0;}
.salts93 .salt-variant-hero93 span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#7b837d;}
.salts93 .salt-variant-hero93 b{font-size:20px;color:#173e32;}
.salts93 .salt-variant-hero93 em{font-style:normal;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;color:#66716a;text-transform:uppercase;}

/* SALTS role: variant comparison is the point. No process diagram. */
.salts93 .salts-variant-list93{border-top:1px solid rgba(255,255,255,.18);}
.salts93 .salts-variant93{
  display:grid;grid-template-columns:46px minmax(200px,.8fr) minmax(280px,1fr) auto;gap:24px;align-items:center;
  min-height:104px;border-bottom:1px solid rgba(255,255,255,.16);padding:14px 0;
}
.salts93 .salts-variant93>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#b9c5bd;}
.salts93 .salts-variant93 h3{font-size:24px;margin:0;color:#f7f8f5;}
.salts93 .salts-variant93 p{margin:3px 0 0;font-size:12px;}
.salts93 .salts-variant93 dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:20px;}
.salts93 .salts-variant93 dt{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;color:#8e9e94;}
.salts93 .salts-variant93 dd{margin:4px 0 0;color:#dce3de;font-size:13px;}
.salts93 .salts-variant93 a{color:#d9eaa0;text-decoration:none;font-size:12px;white-space:nowrap;}

/* SALTS documents: two real variant folders, not an invented 6-card stack. */
.salts93 .salt-doc-section93{background:#e9e3d8;padding:clamp(56px,7vw,96px) clamp(28px,4.2vw,70px);}
.salts93 .salt-doc-head93{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:34px;}
.salts93 .salt-doc-head93 p{max-width:650px;margin:0;color:#657069;line-height:1.6;}
.salts93 .salt-doc-folders93{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.salts93 .salt-doc-folder93{border:1px solid #b6bbb4;background:#f6f4ee;padding:0 22px;}
.salts93 .salt-doc-folder93 header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #c7cac4;}
.salts93 .salt-doc-folder93 header b{font-size:22px;color:#173e32;}
.salts93 .salt-doc-folder93 header span{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;color:#79817c;}
.salts93 .salt-doc-folder93 a{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #d0d2cd;text-decoration:none;color:#1e2923;}
.salts93 .salt-doc-folder93 a:last-child{border-bottom:0;}
.salts93 .salt-doc-folder93 a span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#727a75;}
.salts93 .salt-doc-folder93 a b{font-size:14px;}
.salts93 .salt-doc-folder93 a em{font-style:normal;color:#59655e;font-size:11px;}

/* DILUTIONS hero / configuration. */
.dilutions93 .dilution-config-hero93{border-top:1px solid #bdc1ba;margin-top:18px;}
.dilutions93 .dilution-config-hero93 div{display:grid;grid-template-columns:1fr auto;gap:20px;border-bottom:1px solid #c3c6c0;padding:17px 0;}
.dilutions93 .dilution-config-hero93 span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;color:#737d76;}
.dilutions93 .dilution-config-hero93 b{font-size:18px;color:#173e32;}
.dilutions93 .dilution-role-body93{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(460px,1.2fr);gap:clamp(48px,7vw,108px);align-items:start;}
.dilutions93 .config-list93{border-top:1px solid rgba(255,255,255,.18);}
.dilutions93 .config-list93 div{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15);}
.dilutions93 .config-list93 small{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;color:#92a198;}
.dilutions93 .config-list93 b{font-size:17px;color:#eef2ee;font-weight:600;}
.dilutions93 .dilution-doc93{background:#ece6dc;padding:clamp(58px,7vw,96px) clamp(28px,4.2vw,70px);}
.dilutions93 .dilution-doc-grid93{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,8vw,120px);align-items:center;}
.dilutions93 .dilution-doc-box93{border-top:1px solid #abb2ac;border-bottom:1px solid #abb2ac;padding:8px 0;}
.dilutions93 .dilution-doc-box93 div{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:15px 0;border-bottom:1px solid #c7cac5;}
.dilutions93 .dilution-doc-box93 div:last-child{border-bottom:0;}
.dilutions93 .dilution-doc-box93 span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;color:#6e7771;}
.dilutions93 .dilution-doc-box93 b{font-size:14px;color:#26322b;}

/* Product index - catalogue records, not a giant visual gallery. */
.products-finish93 .portfolio-records93{border-top:1px solid #aeb4ae;margin-top:24px;}
.products-finish93 .portfolio-record93{display:grid;grid-template-columns:52px minmax(250px,1.1fr) minmax(150px,.62fr) minmax(220px,.85fr) 26px;gap:24px;align-items:center;min-height:96px;border-bottom:1px solid #c3c7c1;text-decoration:none;color:#1c2721;padding:12px 0;transition:background-color .35s ease;}
.products-finish93 .portfolio-record93 .num{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#79827b;}
.products-finish93 .portfolio-record93 strong{font-size:22px;line-height:1.15;}
.products-finish93 .portfolio-record93 strong small{display:block;margin-top:6px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:#758079;}
.products-finish93 .portfolio-record93 span{font-size:13px;color:#66716a;}
.products-finish93 .portfolio-record93 em{font-style:normal;font-size:12px;color:#49574f;}
.products-finish93 .portfolio-record93 i{font-style:normal;font-size:20px;transition:transform .3s ease;}
@media (hover:hover){.products-finish93 .portfolio-record93:hover{background:#f1eee7}.products-finish93 .portfolio-record93:hover i{transform:translateX(4px)}}
.products-finish93 .portfolio-note93{margin-top:18px;font-size:12px;color:#737d76;max-width:780px;line-height:1.55;}

@media (max-width:900px){
  .product-detail93 .finish-role-head93,.bitartrate93 .bitartrate-simple-grid93,.polacrilex93 .polacrilex-role-body93,.dilutions93 .dilution-role-body93,.salts93 .salt-doc-head93,.dilutions93 .dilution-doc-grid93{grid-template-columns:1fr;gap:28px;}
  .salts93 .salt-doc-folders93{grid-template-columns:1fr;}
  .salts93 .salts-variant93{grid-template-columns:40px 1fr auto;}.salts93 .salts-variant93 dl{grid-column:2/4;}
  .salts93 .salt-hero-panel93,.dilutions93 .dilution-hero-panel93{margin:12px 20px 24px;min-height:280px;}
  .products-finish93 .portfolio-record93{grid-template-columns:40px 1fr 24px;gap:12px;}.products-finish93 .portfolio-record93>span,.products-finish93 .portfolio-record93>em{grid-column:2;}
}


/* PRODUCTS REFINEMENT PASS v2 -------------------------------------------
   Static qualification rows + product-role restraint.                      */

/* Pure / Alkaloid qualification: one reveal, no scrolling selection. */
.product-detail93 .qualify-static93 .qual-row93{
  transition:background-color .34s ease,box-shadow .34s ease;
}
.product-detail93 .qualify-static93 .qual-row93 h3,
.product-detail93 .qualify-static93 .qual-row93 p{
  transition:color .28s ease;
}
.product-detail93 .qualify-static93 .qual-row93:hover h3,
.product-detail93 .qualify-static93 .qual-row93:hover p,
.product-detail93 .qualify-static93 .qual-row93:focus-visible h3,
.product-detail93 .qualify-static93 .qual-row93:focus-visible p{transform:none!important;}
.product-detail93 .qualify-static93 .qual-row93:hover .n,
.product-detail93 .qualify-static93 .qual-row93:focus-visible .n{transform:none!important;}
.product-detail93 .qualify-static93 .qual-row93.is-active{background:transparent;box-shadow:none;}
.product-detail93 .qualify-static93 .qual-row93.is-active:before{transform:scaleY(0);}
.product-detail93 .qualify-static93 .qual-row93.is-active:after{opacity:0;}
.product-detail93 .qualify-static93 .qual-row93.is-active .n{background:transparent;border-color:#aeb4ae;color:inherit;transform:none;}
.product-detail93 .qualify-static93 .qual-row93.is-active h3,
.product-detail93 .qualify-static93 .qual-row93.is-active p{transform:none;color:inherit;}

/* Polacrilex: compact, coherent role section. */
.polacrilex93 .polacrilex-role-compact93{padding-top:54px;padding-bottom:56px;background:linear-gradient(110deg,#0e2c24,#12362c 66%,#102f27);}
.polacrilex93 .polacrilex-compact-grid93{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(480px,1.15fr);gap:clamp(50px,7vw,110px);align-items:start;}
.polacrilex93 .polacrilex-compact-copy93>p{max-width:570px;font-size:14px;line-height:1.6;margin:16px 0 24px;}
.polacrilex93 .polacrilex-inline-metrics93{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);}
.polacrilex93 .polacrilex-inline-metrics93>div{padding:17px 0 18px;}
.polacrilex93 .polacrilex-inline-metrics93>div+div{border-left:1px solid rgba(255,255,255,.16);padding-left:24px;}
.polacrilex93 .polacrilex-inline-metrics93 small{display:block;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#9eada4;margin-bottom:5px;}
.polacrilex93 .polacrilex-inline-metrics93 b{display:block;font-size:clamp(28px,3.2vw,46px);line-height:1;color:#f5f7f3;letter-spacing:-.035em;}
.polacrilex93 .polacrilex-inline-metrics93 span{display:block;margin-top:6px;font-size:11px;color:#aebbb3;}
.polacrilex93 .polacrilex-role-compact93 .finish-routes93 a{min-height:68px;padding:11px 0;}

/* Salts: variant identity and applications are separate sections. */
.salts93 .salts-role-compact93{padding-top:52px;padding-bottom:54px;}
.salts93 .salts-role-grid93{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr);gap:clamp(54px,8vw,130px);align-items:start;}
.salts93 .salts-role-grid93>div:first-child p{max-width:540px;margin-top:16px;font-size:14px;line-height:1.6;}
.salts93 .salts-variant-compact93{border-top:1px solid rgba(255,255,255,.18);}
.salts93 .salts-variant-compact93 a{display:grid;grid-template-columns:36px minmax(220px,1fr) auto 20px;gap:18px;align-items:center;min-height:82px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15);text-decoration:none;color:#f5f7f3;}
.salts93 .salts-variant-compact93 a>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:#b7c3bb;}
.salts93 .salts-variant-compact93 b{display:block;font-size:19px;}
.salts93 .salts-variant-compact93 small{display:block;margin-top:3px;color:#9fada4;font-size:11px;}
.salts93 .salts-variant-compact93 em{font-style:normal;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;color:#c9d3cc;white-space:nowrap;}
.salts93 .salts-variant-compact93 i{font-style:normal;color:#d9eaa0;transition:transform .32s ease;}
@media (hover:hover){.salts93 .salts-variant-compact93 a:hover i{transform:translateX(3px)}}

.salts93 .salts-applications93{padding:44px clamp(28px,4.2vw,70px) 48px;background:#14372d;color:#f4f6f2;border-top:1px solid rgba(255,255,255,.08);}
.salts93 .salts-applications-head93{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);gap:50px;align-items:end;margin-bottom:18px;}
.salts93 .salts-applications-head93 .v08-kicker{color:#a9b5ad;}
.salts93 .salts-applications-head93 h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.035em;}
.salts93 .salts-applications-head93 p{margin:0;max-width:700px;justify-self:end;color:#b9c5bd;font-size:14px;line-height:1.55;}
.salts93 .salts-application-rows93{border-top:1px solid rgba(255,255,255,.16);}
.salts93 .salts-application-rows93 a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:18px;align-items:center;min-height:70px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#f5f7f3;text-decoration:none;}
.salts93 .salts-application-rows93 span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;color:#b7c3bb;}
.salts93 .salts-application-rows93 b{display:block;font-size:17px;}.salts93 .salts-application-rows93 small{display:block;margin-top:3px;color:#aebbb3;font-size:12px;}.salts93 .salts-application-rows93 em{font-style:normal;color:#d9eaa0;font-size:12px;}

/* Salts docs: retain variant-specific sets, but as a compact evidence matrix. */
.salts93 .salt-doc-compact93{padding-top:52px;padding-bottom:56px;}
.salts93 .salt-doc-compact93 .salt-doc-head93{margin-bottom:24px;}
.salts93 .salt-doc-matrix93{border-top:1px solid #adb3ad;border-bottom:1px solid #adb3ad;}
.salts93 .salt-doc-matrix93 a{display:grid;grid-template-columns:minmax(240px,1fr) 72px 72px 72px auto;gap:18px;align-items:center;min-height:72px;border-bottom:1px solid #c6cac4;color:#1e2923;text-decoration:none;padding:10px 0;}
.salts93 .salt-doc-matrix93 a:last-child{border-bottom:0;}
.salts93 .salt-doc-matrix93 b{font-size:17px;color:#173e32;}.salts93 .salt-doc-matrix93 span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;color:#69736c;}.salts93 .salt-doc-matrix93 em{font-style:normal;font-size:12px;color:#415148;white-space:nowrap;}

/* Dilutions docs: intentional empty state, not a different pseudo-document UI. */
.dilutions93 .dilution-doc-compact93{padding:50px clamp(28px,4.2vw,70px) 54px;}
.dilutions93 .dilution-doc-compact-inner93{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);gap:clamp(50px,8vw,128px);align-items:end;}
.dilutions93 .dilution-doc-copy93 p{margin:0 0 20px;max-width:740px;color:#657069;font-size:14px;line-height:1.65;}
.dilutions93 .dilution-doc-copy93 .actions{margin-top:0;display:flex;gap:10px;flex-wrap:wrap;}

@media (max-width:900px){
  .polacrilex93 .polacrilex-compact-grid93,.salts93 .salts-role-grid93,.salts93 .salts-applications-head93,.dilutions93 .dilution-doc-compact-inner93{grid-template-columns:1fr;gap:28px;}
  .salts93 .salts-variant-compact93 a{grid-template-columns:34px 1fr 20px;}.salts93 .salts-variant-compact93 em{grid-column:2;}.salts93 .salts-variant-compact93 i{grid-column:3;grid-row:1/3;}
  .salts93 .salt-doc-matrix93 a{grid-template-columns:1fr repeat(3,54px);gap:10px;}.salts93 .salt-doc-matrix93 em{grid-column:1/5;}
}
