:root{
  --bg:#00131F; --bg-2:#001A29; --bg-3:#012434;
  --line: rgba(224,238,252,0.10);
  --line-strong: rgba(224,238,252,0.22);
  --ink:#EFF5FA; --mute:#8FA4B8; --mute-2:#4C5F6A;
  --teal:#1E7FD6; --teal-deep:#12518A; --teal-soft: rgba(30,127,214,0.14); --teal-bright:#29C4FF;
  --accent: var(--teal); --accent-soft: var(--teal-soft);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.serif{font-family:'Instrument Serif',serif;}
.serif-i{font-family:'Instrument Serif',serif;font-style:italic;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--accent-soft);color:var(--ink);}
:focus-visible{outline:1px solid var(--accent);outline-offset:4px;}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

.noise{position:fixed;inset:0;pointer-events:none;opacity:0.03;z-index:200;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
@media (max-width:700px){.wrap{padding:0 22px;}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:80;padding:18px 0;transition:background .3s ease, border-color .3s ease;}
header.scrolled{background:rgba(0,19,31,0.90);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;justify-content:space-between;align-items:center;position:relative;}
.header-logo{display:inline-flex;align-items:center;}
.brand-logo{width:216px;height:auto;display:block;}  /* Approved Change 005 §3.1 — match Research Catalog header */
@media (max-width:900px){.brand-logo{width:200px;height:auto;max-width:100%;position:relative;top:-14px;}}

/* Homepage: logo lives in the hero, not the fixed header, on desktop.
   On mobile the hero logo is dropped and the header logo takes over. */
body.page-home .header-inner{justify-content:flex-end;}
body.page-home .header-logo{display:none;}
@media (max-width:900px){
  body.page-home .header-inner{justify-content:center;}
  body.page-home .header-logo{display:inline-flex;}
}
.hero-logo{width:450px;max-width:100%;height:auto;display:block;margin-bottom:14px;}
@media (max-width:680px){.hero-logo{display:none;}}

nav{display:flex;gap:36px;align-items:center;}
nav a{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute);transition:color .25s;}
nav a:hover{color:var(--ink);}
nav a.nav-cta{color:var(--ink);border:1px solid var(--line-strong);padding:10px 18px;border-radius:2px;transition:all .25s;}
nav a.nav-cta:hover{border-color:var(--teal);color:var(--teal-bright);background:var(--teal-soft);}

/* Hamburger (mobile only) */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;padding:0;cursor:pointer;}
.hamburger span{display:block;width:100%;height:1.5px;background:var(--ink);border-radius:1px;transition:transform .25s ease, opacity .25s ease;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-menu{display:none;flex-direction:column;position:fixed;top:0;left:0;right:0;background:rgba(0,19,31,0.98);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:88px 24px 28px;gap:2px;transform:translateY(-14px);opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:70;border-bottom:1px solid var(--line);}
.mobile-menu.open{opacity:1;transform:translateY(0);pointer-events:auto;}
.mobile-menu a{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);padding:16px 0;border-bottom:1px solid var(--line);}
.mobile-menu a.nav-cta{color:var(--teal-bright);border-bottom:1px solid var(--line);}

@media (max-width:900px){
  .header-inner{justify-content:center;}
  nav a{display:none;}
  .hamburger{display:flex;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:75;}
  .mobile-menu{display:flex;}
}

/* HERO */
.hero{min-height:640px;display:flex;align-items:flex-start;position:relative;padding:40px;overflow:hidden;background:var(--bg);}
@media (max-width:680px){.hero{padding-top:100px;}}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;display:block;}
.hero-bg-fade{position:absolute;inset:0;
  background:linear-gradient(45deg,
    var(--bg) 0%,
    var(--bg) 30%,
    rgba(0,19,31,0.88) 42%,
    rgba(0,19,31,0.55) 55%,
    rgba(0,19,31,0.15) 72%,
    rgba(0,19,31,0) 90%);}
.hero-content{position:relative;z-index:1;width:100%;}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.hero-eyebrow .ln{width:34px;height:1px;background:var(--teal);}
.hero-eyebrow span{font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--mute);}
.hero-headline{font-family:'Instrument Serif',serif;font-size:clamp(36px,5.2vw,64px);line-height:1.1;font-weight:400;letter-spacing:-0.01em;max-width:640px;}
.hero-headline em{font-style:italic;color:var(--teal-bright);}
.hero-lede{font-size:15.5px;line-height:1.75;color:var(--mute);max-width:480px;margin-top:12px;}
.hero-cta-row{display:flex;gap:16px;margin-top:20px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;padding:16px 26px;border-radius:2px;transition:all .25s ease;}
.btn-primary{background:var(--teal);color:#00131F;font-weight:600;}
.btn-primary:hover{background:var(--teal-bright);}
.btn-ghost{border:1px solid var(--line-strong);color:var(--ink);}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-bright);}

/* TRUST BAR */
.trust-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);}
.trust-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:22px 0;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--mute);}
@media (max-width:680px){
  .trust-bar .wrap{padding:0 30px;}
  .trust-inner{padding:37px 0;row-gap:16px;column-gap:24px;justify-content:flex-start;}
}
.trust-item b{color:var(--teal-bright);}
.trust-item svg{width:15px;height:15px;color:var(--teal);flex-shrink:0;}

/* WHY SECTION */
.why-section{padding:64px 0;background:var(--bg-2);border-bottom:1px solid var(--line);}
.why-head{text-align:center;margin-bottom:44px;}
.why-eyebrow{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:14px;}
.why-title{font-size:clamp(22px,3vw,32px);font-weight:600;text-transform:uppercase;letter-spacing:0.01em;}
.why-title em{color:var(--teal-bright);font-style:normal;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr;}}
.why-item{background:var(--bg-2);padding:34px 28px;text-align:center;}
.why-icon{width:52px;height:52px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--teal-bright);}
.why-icon svg{width:23px;height:23px;}
.why-item h4{font-size:13.5px;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:12px;}
.why-item p{font-size:13px;line-height:1.7;color:var(--mute);}

/* STAT ROW */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0;}
@media (max-width:700px){.stat-row{grid-template-columns:1fr;}}
.stat-cell{background:var(--bg);padding:22px 36px;text-align:center;}
.stat-cell b{display:block;font-family:'Instrument Serif',serif;font-size:44px;color:var(--teal-bright);margin-bottom:8px;}
.stat-cell span{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute);}

/* SECTION HEAD */
.section{padding:54px 0;}
.section-tight{padding-top:32px;}
.section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;margin-bottom:32px;align-items:end;}
@media (max-width:800px){.section-head{grid-template-columns:1fr;gap:24px;}}
.sec-label{font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal);margin-bottom:20px;}
.sec-title{font-family:'Instrument Serif',serif;font-size:clamp(32px,4.5vw,52px);line-height:1.05;font-weight:400;}
.sec-title em{font-style:italic;color:var(--mute);}
.sec-note{font-size:14px;line-height:1.75;color:var(--mute);}

/* PRODUCT WIDGET GRID (e-commerce look, informational only) */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media (max-width:520px){.product-grid{grid-template-columns:1fr;}}

.product-card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;}
.product-card:hover{border-color:var(--teal-deep);transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,0.36);}

.product-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 50% 36%, rgba(30,127,214,0.16), transparent 62%), var(--bg-3);}
.product-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.product-card:hover .product-media img{transform:scale(1.05);}
.product-badge{position:absolute;top:14px;right:14px;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.12em;color:var(--teal-bright);background:rgba(0,19,31,0.66);border:1px solid var(--line-strong);padding:5px 9px;border-radius:2px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}

.product-info{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px;}
.product-cat{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;}
.product-name{font-family:'Instrument Serif',serif;font-size:26px;line-height:1.05;margin-bottom:10px;color:var(--ink);transition:color .3s ease;}
.product-card:hover .product-name{color:var(--teal-bright);}
.product-desc{font-size:12.5px;line-height:1.6;color:var(--mute);margin-bottom:20px;}
.product-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);}
.product-spec{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--ink);letter-spacing:0.02em;white-space:nowrap;}
.product-spec em{font-style:normal;font-size:11px;color:var(--mute-2);}
.product-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line-strong);padding:11px 15px;border-radius:2px;transition:all .25s ease;}
.product-btn svg{width:12px;height:12px;transition:transform .3s ease;}
.product-card:hover .product-btn{border-color:var(--teal);color:var(--teal-bright);background:var(--teal-soft);}
.product-card:hover .product-btn svg{transform:translateX(3px);}

/* Custom-sourcing widget (last tile, no product image) */
.product-card-cta{justify-content:center;background:linear-gradient(160deg, var(--bg-3), var(--bg-2));}
.product-card-cta .product-info{justify-content:center;padding:32px 26px;}
.product-cta-icon{width:26px;height:26px;color:var(--teal-bright);margin-bottom:18px;}
.product-card-cta .product-name{font-size:22px;line-height:1.25;}

/* Placeholder widget (open slot for a future compound) */
.product-card-placeholder{border-style:dashed;background:transparent;}
.product-card-placeholder:hover{transform:none;box-shadow:none;border-color:var(--line-strong);}
.product-media-empty{display:flex;align-items:center;justify-content:center;background:var(--bg-2);}
.product-media-empty .placeholder-mark{width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mute-2);}
.product-media-empty .placeholder-mark svg{width:20px;height:20px;}
.product-card-placeholder .product-name,.product-card-placeholder .product-cat{color:var(--mute-2);}
.product-card-placeholder .product-spec{color:var(--mute-2);}
.product-btn-disabled{opacity:0.45;pointer-events:none;}

/* CATALOG BANNER (full-line group shot) */
.catalog-banner{width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);margin-bottom:48px;}
.catalog-banner img{width:100%;height:100%;object-fit:cover;display:block;}

/* COMMITMENT (image + icon cards) */
.commit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:800px){.commit-grid{grid-template-columns:1fr;}}
.commit-card{border:1px solid var(--line);background:var(--bg-2);overflow:hidden;transition:border-color .3s ease;}
.commit-card:hover{border-color:var(--teal-deep);}
.commit-media{aspect-ratio:16/10;overflow:hidden;background:var(--bg-3);}
.commit-media img{width:100%;height:100%;object-fit:cover;display:block;}
.commit-body{padding:14px 30px 18px;}
.commit-label{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.commit-body h4{font-size:17px;font-weight:500;margin-bottom:10px;}
.commit-body p{font-size:13.5px;line-height:1.7;color:var(--mute);}

.commit-row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
@media (max-width:800px){.commit-row-grid{grid-template-columns:1fr;gap:32px;}}
.commit-row-icon{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--teal-bright);}
.commit-row-icon svg{width:20px;height:20px;}
.commit-row-item h4{font-family:'Instrument Serif',serif;font-size:20px;margin-bottom:10px;}
.commit-row-item p{font-size:13.5px;line-height:1.7;color:var(--mute);}

/* Disclaimer */
.disclaimer{border:1px solid var(--line);padding:22px;display:flex;gap:28px;background:var(--bg-2);}
@media (max-width:640px){.disclaimer{flex-direction:column;padding:28px;}}
.disclaimer .mark{font-family:'Instrument Serif',serif;font-style:italic;font-size:34px;color:var(--teal);flex-shrink:0;}
.disclaimer p{font-size:13.5px;line-height:1.8;color:var(--mute);}
.disclaimer p b{color:var(--ink);font-weight:500;}

/* FOOTER */
footer{padding:42px 0 24px;border-top:1px solid var(--line);background:var(--bg-2);}
.footer-headline{font-family:'Instrument Serif',serif;font-size:clamp(28px,5vw,52px);line-height:1.05;max-width:640px;margin-bottom:22px;}
.footer-headline em{font-style:italic;color:var(--teal-bright);}
.footer-cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:22px;border-bottom:1px solid var(--line);}
@media (max-width:700px){.footer-cols{grid-template-columns:1fr;gap:28px;}}
.footer-col h5{font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute-2);margin-bottom:18px;}
.footer-col p, .footer-col a{display:block;font-size:13px;line-height:1.9;color:var(--mute);}
.footer-col a:hover{color:var(--teal-bright);}
.footer-logo{width:300px;max-width:100%;height:auto;display:block;margin-bottom:20px;}
.footer-row{display:flex;justify-content:space-between;align-items:center;padding-top:30px;flex-wrap:wrap;gap:16px;}
.footer-contact a{font-size:14px;color:var(--teal-bright);border-bottom:1px solid rgba(30,127,214,0.4);}
.footer-legal{font-size:11px;color:var(--mute-2);display:flex;gap:24px;flex-wrap:wrap;}
.footer-credit{font-size:11px;color:var(--mute-2);transition:color .25s;}
.footer-credit:hover{color:var(--teal-bright);}
.footer-fine{font-size:11px;color:var(--mute-2);line-height:1.8;width:100%;margin-top:28px;}

/* SUBPAGE (compound detail) */
.sub-hero{position:relative;min-height:620px;display:flex;align-items:center;padding:150px 0 60px;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line);}
@media (max-width:800px){.sub-hero{min-height:0;padding-top:110px;}}
.sub-hero-bg{position:absolute;inset:0;z-index:0;}
.sub-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:75% 45%;display:block;}
@media (max-width:800px){.sub-hero-bg img{object-position:65% 40%;opacity:0.35;}}
.sub-hero-bg-fade{position:absolute;inset:0;
  background:linear-gradient(100deg,
    var(--bg) 0%,
    var(--bg) 28%,
    rgba(0,19,31,0.88) 42%,
    rgba(0,19,31,0.5) 58%,
    rgba(0,19,31,0.12) 75%,
    rgba(0,19,31,0) 92%);}
@media (max-width:800px){.sub-hero-bg-fade{background:linear-gradient(180deg, rgba(0,19,31,0.55) 0%, var(--bg) 65%, var(--bg) 100%);}}
.sub-hero-content{position:relative;z-index:1;max-width:560px;width:100%;}
.sub-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;}
.sub-hero-vial-box{position:relative;z-index:1;flex-shrink:0;width:230px;aspect-ratio:4/5;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:4px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,0.5);}
.sub-hero-vial-box img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:900px){.sub-hero-vial-box{display:none;}}
.d-eyebrow{display:flex;gap:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--mute-2);margin-bottom:28px;letter-spacing:0.04em;}
.d-title{font-family:'Instrument Serif',serif;font-size:clamp(44px,7vw,80px);line-height:0.98;margin-bottom:14px;}
.d-subtitle{font-size:13.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:22px;}
.d-tagline{font-size:13px;letter-spacing:0.03em;color:var(--mute);margin-bottom:30px;}
.d-callouts{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:32px;}
.d-callout{display:flex;flex-direction:column;gap:10px;max-width:150px;}
.d-callout svg{width:20px;height:20px;color:var(--teal-bright);flex-shrink:0;}
.d-callout span{font-size:11px;line-height:1.5;color:var(--mute);}
.d-brandline{font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--mute-2);}
.d-formula{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--teal);}
.d-block{margin-bottom:44px;}
.d-block h5{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute-2);margin-bottom:16px;}
.d-block p{font-size:16.5px;line-height:1.8;max-width:680px;color:var(--ink);}
.d-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:44px 0;}
.d-meta div span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--mute-2);margin-bottom:8px;}
.d-meta div b{font-family:'Instrument Serif',serif;font-size:20px;}
.d-related{display:flex;flex-wrap:wrap;gap:10px;}
.d-related a{font-size:12px;padding:10px 18px;border:1px solid var(--line-strong);color:var(--mute);transition:all .25s ease;}
.d-related a:hover{color:var(--teal-bright);border-color:var(--teal);}
.d-disclaimer{font-size:12.5px;color:var(--mute-2);line-height:1.8;border-left:1px solid var(--teal);padding-left:20px;margin-top:20px;}

/* =========================================================
   PRODUCT DETAIL v1.1 — Creative Direction Review refinements
   (hero rebalance, related-profile cards, literature placeholder)
   ========================================================= */
.sub-hero-v2{position:relative;padding:130px 0 60px;background:var(--bg);border-bottom:1px solid var(--line);overflow:hidden;}
@media (max-width:800px){.sub-hero-v2{padding-top:104px;}}
.sub-hero-v2-grid{position:relative;z-index:1;display:grid;grid-template-columns:60fr 40fr;gap:56px;align-items:center;}
/* v1.2 Scientific Motion System — extremely slow ambient particle drift in
   the hero, consistent with the Homepage. No rotation/bounce/rapid scaling. */
.sub-hero-v2-particles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.sub-hero-v2-particles span{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--teal-bright);box-shadow:0 0 8px 1px var(--teal-bright);opacity:0.22;animation:heroDrift 26s ease-in-out infinite;}
@keyframes heroDrift{0%,100%{transform:translate(0,0);opacity:0.08;}50%{transform:translate(10px,-42px);opacity:0.38;}}
@media (prefers-reduced-motion: reduce){.sub-hero-v2-particles span{animation:none;}}
@media (max-width:900px){.sub-hero-v2-grid{grid-template-columns:1fr;gap:36px;}}
.sub-hero-v2-content{max-width:640px;width:100%;}
/* v1.2 Art Direction — Hero molecule as a SCIENTIFIC EXHIBIT: no boxed
   container, enlarged ~15-18%, soft environmental light glow behind it,
   artwork allowed to extend past its former boundaries; caption sits
   directly beneath the visualization (not overlaid). */
.sub-hero-v2-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:visible;}
.sub-hero-v2-visual::before{content:'';position:absolute;top:44%;left:50%;width:122%;height:122%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 46%, rgba(30,127,214,0.30), rgba(30,127,214,0.06) 52%, transparent 70%);z-index:0;animation:exhibitLight 16s ease-in-out infinite;pointer-events:none;}
/* v1.3 FREEZE — standardized hero footprint: every profile renders the molecule
   in an identical fixed 3:2 box (contain), so only the artwork changes, never the
   footprint. Unboxed/feathered exhibit look preserved. */
.sub-hero-v2-visual img{position:relative;z-index:1;width:100%;max-width:470px;aspect-ratio:3/2;height:auto;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 26px 64px rgba(0,0,0,0.5));animation:exhibitDrift 13s ease-in-out infinite;
  -webkit-mask-image:radial-gradient(ellipse 78% 80% at 50% 48%, #000 38%, rgba(0,0,0,0.5) 64%, transparent 83%);
  mask-image:radial-gradient(ellipse 78% 80% at 50% 48%, #000 38%, rgba(0,0,0,0.5) 64%, transparent 83%);}
.sub-hero-v2-visual-note{position:relative;z-index:1;margin-top:20px;padding:0 12px;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;line-height:1.6;color:var(--mute-2);text-align:center;}
@media (max-width:900px){.sub-hero-v2-visual{max-width:470px;margin:0 auto;}.sub-hero-v2-visual img{max-width:100%;}}
@keyframes exhibitDrift{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@keyframes exhibitLight{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-52%) scale(1.05);}}
@media (prefers-reduced-motion: reduce){.sub-hero-v2-visual img,.sub-hero-v2-visual::before{animation:none;}}

.related-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:800px){.related-cards{grid-template-columns:1fr;}}
.related-card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;}
.related-card:hover{border-color:var(--teal-deep);transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,0.3);}
/* v1.3 FREEZE — standardized related cards: identical media crop, card height,
   and button placement across every profile (name area reserves a fixed height so
   1- and 2-line names align; link pinned to the card bottom). */
.related-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;}
.related-card-media{aspect-ratio:4/3;background:var(--bg-3);overflow:hidden;}
.related-card-media img{width:100%;height:100%;object-fit:contain;padding:16px;display:block;}
.related-card-info{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;}
.related-card-cat{display:block;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
.related-card-info h4{font-family:'Instrument Serif',serif;font-size:19px;line-height:1.25;margin-bottom:14px;min-height:2.5em;color:var(--ink);font-weight:400;}
.related-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--mute);transition:color .25s ease;}
.related-card-link svg{width:11px;height:11px;transition:transform .3s ease;}
.related-card:hover .related-card-link{color:var(--teal-bright);}
.related-card:hover .related-card-link svg{transform:translateX(3px);}

.literature-placeholder{display:flex;gap:18px;align-items:flex-start;border:1px dashed var(--line-strong);background:var(--bg-2);padding:26px 24px;}
.literature-placeholder svg{width:22px;height:22px;color:var(--mute-2);flex-shrink:0;margin-top:2px;}
.literature-placeholder p{font-size:13px;line-height:1.8;color:var(--mute);max-width:640px;}

.coa-panel-doc-icon{width:34px;height:34px;color:var(--teal-bright);flex-shrink:0;}
.coa-panel-doc-icon svg{width:100%;height:100%;}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute);margin-bottom:40px;}
.back-link:hover{color:var(--teal-bright);}

/* =========================================================
   V2 REDESIGN ADDITIONS (2026-07-13)
   Institutional/scientific redesign per client creative-direction doc.
   Additive only — nothing above this line was removed.
   ========================================================= */

/* Nav: heavier weight + animated underline on hover */
nav a{font-weight:500;position:relative;}
nav a:not(.nav-cta):not(.hamburger)::after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--teal-bright);transition:right .3s cubic-bezier(.2,.7,.2,1);}
nav a:not(.nav-cta):hover::after{right:0;}

/* Hero: reduced logo, full-sharpness bg (round 2: client wants the original high-res clarity
   back, no dimming/blur — the existing .hero-bg-fade gradient already provides the "subtle
   dark overlay for readability" this round asked to keep), floating particles */
.hero-logo{width:325px;}
.hero-glass{position:relative;}
.hero-particles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.hero-particles span{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--teal-bright);box-shadow:0 0 8px 1px var(--teal-bright);opacity:0.35;animation:particleFloat 16s ease-in-out infinite;}
@keyframes particleFloat{0%,100%{transform:translate(0,0);opacity:0.15;}50%{transform:translate(14px,-46px);opacity:0.65;}}

/* Soft glow + glass-reflection sweep on primary/ghost buttons */
.btn{position:relative;overflow:hidden;}
.btn::after{content:'';position:absolute;top:-60%;left:-70%;width:36%;height:220%;background:rgba(255,255,255,0.22);transform:rotate(18deg);transition:left .65s ease;pointer-events:none;}
.btn:hover::after{left:130%;}
.btn-primary:hover{box-shadow:0 0 26px rgba(41,196,255,0.38);}
.btn-ghost:hover{box-shadow:0 0 18px rgba(41,196,255,0.16);}

/* Why section: renamed hover interactions — elevation, blue glow, illuminated icon */
.why-item{border:1px solid transparent;transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;}
.why-item:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px var(--teal-deep), 0 22px 44px rgba(0,0,0,0.35), 0 0 32px rgba(41,196,255,0.14);}
.why-icon{transition:box-shadow .35s ease, border-color .35s ease, color .35s ease;}
.why-item:hover .why-icon{border-color:var(--teal);color:var(--teal-bright);box-shadow:0 0 20px rgba(41,196,255,0.5);}

/* Featured Research Compounds (curated 6, replaces full grid on homepage) */
.featured-section{padding:70px 0;}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:900px){.featured-grid{grid-template-columns:repeat(2,1fr);gap:18px;}}
@media (max-width:560px){.featured-grid{grid-template-columns:1fr;}}
.featured-card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease, border-color .5s ease;}
.featured-card:hover{transform:translateY(-8px) rotate(-0.35deg);box-shadow:0 26px 60px rgba(0,0,0,0.4), 0 0 42px rgba(41,196,255,0.16);border-color:var(--teal-deep);}
.featured-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(circle at 50% 40%, rgba(30,127,214,0.18), transparent 65%), var(--bg-3);animation:floaty 7s ease-in-out infinite;}
.featured-card:nth-child(2) .featured-media{animation-delay:.5s;}
.featured-card:nth-child(3) .featured-media{animation-delay:1s;}
.featured-card:nth-child(4) .featured-media{animation-delay:1.5s;}
.featured-card:nth-child(5) .featured-media{animation-delay:2s;}
.featured-card:nth-child(6) .featured-media{animation-delay:2.5s;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.featured-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 3s ease;}
.featured-card:hover .featured-media img{transform:scale(1.06);}
.featured-info{padding:20px 22px 24px;}
.featured-cat{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.featured-name{font-family:'Instrument Serif',serif;font-size:25px;line-height:1.05;margin-bottom:8px;}
.featured-desc{font-size:12.5px;line-height:1.65;color:var(--mute);margin-bottom:16px;}
.featured-link{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);transition:color .25s ease;}
.featured-card:hover .featured-link{color:var(--teal-bright);}
.featured-link svg{width:12px;height:12px;transition:transform .3s ease;}
.featured-card:hover .featured-link svg{transform:translateX(3px);}
.featured-cta-row{text-align:center;margin-top:44px;}

/* Our Commitment: timeline connector across the three steps */
.commit-row-grid{position:relative;}
.commit-row-grid::before{content:'';position:absolute;top:21px;left:8%;right:8%;height:1px;background:linear-gradient(90deg, transparent, var(--teal-deep) 12%, var(--teal) 50%, var(--teal-deep) 88%, transparent);z-index:0;}
@media (max-width:800px){.commit-row-grid::before{display:none;}}
.commit-row-icon{position:relative;z-index:1;background:var(--bg);}

/* Brand statement — full-width mission section */
.brand-statement{padding:76px 0;text-align:center;position:relative;overflow:hidden;}
.brand-statement::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%, rgba(30,127,214,0.10), transparent 60%);pointer-events:none;}
.brand-particles span{opacity:0.22;}
.brand-statement .wrap{position:relative;max-width:820px;}
.brand-statement h2{font-family:'Instrument Serif',serif;font-size:clamp(28px,4.2vw,44px);line-height:1.22;margin-bottom:20px;}
.brand-statement h2 em{font-style:italic;color:var(--teal-bright);}
.brand-statement p{font-size:15px;line-height:1.85;color:var(--mute);max-width:640px;margin:0 auto;}

/* Why Distributors Choose iRenew */
.dist-section{padding:70px 0;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.dist-head{text-align:center;max-width:620px;margin:0 auto 44px;}
.dist-head h2{font-family:'Instrument Serif',serif;font-size:clamp(28px,4vw,40px);margin-bottom:14px;}
.dist-head h2 em{font-style:italic;color:var(--teal-bright);}
.dist-head p{font-size:14.5px;line-height:1.75;color:var(--mute);}
.dist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
@media (max-width:900px){.dist-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dist-grid{grid-template-columns:1fr;}}
.dist-card{background:var(--bg-2);padding:30px 26px;transition:background .3s ease;}
.dist-card:hover{background:var(--bg-3);}
.dist-icon{width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--teal-bright);transition:box-shadow .35s ease, border-color .35s ease;}
.dist-icon svg{width:20px;height:20px;}
.dist-card:hover .dist-icon{border-color:var(--teal);box-shadow:0 0 20px rgba(41,196,255,0.5);}
.dist-card h4{font-size:14px;letter-spacing:0.02em;margin-bottom:10px;color:var(--ink);}
.dist-card p{font-size:12.5px;line-height:1.7;color:var(--mute);}
.dist-cta-row{text-align:center;margin-top:40px;}

/* SUPPORTED RESEARCH FIELDS STRIP (Round 2, item 8) */
.fields-strip{border-bottom:1px solid var(--line);background:var(--bg);padding:20px 0;position:relative;z-index:1;}
.fields-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 28px;text-align:center;}
.fields-label{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-bright);}
.fields-item{position:relative;font-size:11.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--mute);padding-left:28px;}
.fields-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:16px;height:1px;background:var(--line-strong);}
@media (max-width:680px){
  .fields-inner{justify-content:flex-start;gap:10px 20px;}
  .fields-item{padding-left:0;}
  .fields-item::before{display:none;}
}

/* =========================================================
   CATALOG PAGE REBUILD (Round 2, 2026-07-14)
   27-compound / 6-category research catalog per client doc.
   ========================================================= */

/* Compact header — Catalog + Product Detail pages (Product Detail v1.1
   Creative Direction Review: header/logo must match the approved Catalog) */
body.page-catalog header, body.page-product header{padding:9px 0;}
body.page-catalog .brand-logo, body.page-product .brand-logo{width:216px;}
@media (max-width:680px){body.page-catalog .brand-logo, body.page-product .brand-logo{width:175px;}}
nav a.active-link{color:var(--teal-bright);}
nav a.active-link::after{right:0;}

/* Intro block — left-aligned beneath the compact header */
.catalog-intro{padding:126px 0 34px;}
.catalog-intro .back-link{margin-bottom:26px;}
.catalog-title{font-size:clamp(36px,5.2vw,60px);margin-bottom:14px;}
.catalog-lede{font-size:15px;line-height:1.75;color:var(--mute);max-width:660px;}

/* Catalog navigation area — replaces the old horizontal bottle banner */
.catalog-nav-area{padding-bottom:36px;}
.catalog-stats{grid-template-columns:repeat(4,1fr);margin-bottom:26px;}
@media (max-width:700px){.catalog-stats{grid-template-columns:repeat(2,1fr);}}
.catalog-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
@media (max-width:800px){.catalog-controls{flex-direction:column;align-items:stretch;}}

.catalog-search{position:relative;flex:0 0 300px;}
@media (max-width:800px){.catalog-search{flex:1 1 auto;}}
.catalog-search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--mute-2);pointer-events:none;}
.catalog-search input{width:100%;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:2px;padding:12px 38px;font-size:13px;color:var(--ink);font-family:'Inter',sans-serif;transition:border-color .25s ease, box-shadow .25s ease;}
.catalog-search input::placeholder{color:var(--mute-2);}
.catalog-search input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(30,127,214,0.14);}
.catalog-search input::-webkit-search-cancel-button{display:none;}
.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:none;color:var(--mute-2);font-size:18px;line-height:1;cursor:pointer;border-radius:50%;transition:color .2s ease, background .2s ease;}
.search-clear:hover{color:var(--teal-bright);background:var(--teal-soft);}

.catalog-filters{display:flex;gap:8px;flex-wrap:wrap;}
.filter-pill{font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--mute);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:20px;padding:9px 15px;cursor:pointer;transition:all .25s ease;white-space:nowrap;}
.filter-pill:hover{border-color:var(--teal);color:var(--ink);}
.filter-pill.active{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-bright);}

/* Category sections */
.catalog-section{margin-bottom:52px;}
.catalog-section-head{max-width:720px;margin-bottom:24px;}
.catalog-section-head h2{font-family:'Instrument Serif',serif;font-size:clamp(24px,3.2vw,34px);margin-bottom:10px;font-weight:400;}
.catalog-section-head p{font-size:13.5px;line-height:1.75;color:var(--mute);}
.catalog-empty{text-align:center;padding:60px 20px;color:var(--mute);}
.catalog-empty p{margin-bottom:18px;}

/* Responsive card grid — 4 / 3 / 2 / 1 */
.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media (max-width:1300px){.catalog-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:880px){.catalog-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media (max-width:560px){.catalog-grid{grid-template-columns:1fr;}}

/* Card */
.catalog-card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;}
.catalog-card:not(.catalog-card-placeholder){cursor:pointer;}
.catalog-card:hover{border-color:var(--teal-deep);transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,0.36);}
.catalog-card:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;border-color:var(--teal-deep);}

.catalog-media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--bg-3);}
.catalog-media::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 45%, rgba(41,196,255,0.28), transparent 65%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1;}
.catalog-card:hover .catalog-media::after, .catalog-card:focus-within .catalog-media::after, .catalog-card.touched .catalog-media::after{opacity:1;}
.media-bottle, .media-molecule{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .4s ease, transform .4s ease;}
.media-bottle{opacity:1;}
.media-molecule{opacity:0;}
.catalog-card:hover .media-bottle, .catalog-card:focus-within .media-bottle, .catalog-card.touched .media-bottle{opacity:0;}
.catalog-card:hover .media-molecule, .catalog-card:focus-within .media-molecule, .catalog-card.touched .media-molecule{opacity:1;transform:scale(1.05);animation:catalogFloat 5s ease-in-out infinite;}
@keyframes catalogFloat{0%,100%{transform:translateY(0) scale(1.05);}50%{transform:translateY(-5px) scale(1.05);}}
.media-toggle{display:none;position:absolute;top:10px;left:10px;z-index:2;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(0,19,31,0.66);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ink);align-items:center;justify-content:center;cursor:pointer;}
.media-toggle svg{width:12px;height:12px;}
@media (hover:none){.media-toggle{display:flex;}}
.catalog-badge{position:absolute;top:10px;right:10px;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.12em;color:var(--teal-bright);background:rgba(0,19,31,0.66);border:1px solid var(--line-strong);padding:4px 8px;border-radius:2px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}

.catalog-info{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px;}
.catalog-cat{font-size:9.5px;letter-spacing:0.13em;text-transform:uppercase;color:var(--teal);margin-bottom:9px;}
.catalog-name{font-family:'Instrument Serif',serif;font-size:21px;line-height:1.1;margin-bottom:8px;color:var(--ink);transition:color .3s ease;}
.catalog-alt{font-size:12px;font-family:'Inter',sans-serif;color:var(--mute-2);font-style:normal;}
.catalog-card:hover .catalog-name{color:var(--teal-bright);}
.catalog-desc{font-size:11.5px;line-height:1.6;color:var(--mute);margin-bottom:14px;min-height:34px;}

.strength-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
/* Catalog v1.2 review #2: laboratory strength chip — rounded rectangle
   (not pill), dark navy/glass fill, thin cyan border, centered white dosage
   text. Replaces the earlier miniature vial-SVG graphic. */
.strength-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 11px;min-height:26px;border-radius:5px;border:1px solid rgba(30,127,214,0.45);background:rgba(1,36,52,0.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.02em;color:#fff;white-space:nowrap;transition:border-color .25s ease, background .25s ease;}
.catalog-card:hover .strength-chip{border-color:var(--teal-bright);background:rgba(1,36,52,0.75);}

.catalog-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap;}
.catalog-link{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);transition:color .25s ease;}
.catalog-link svg{width:11px;height:11px;transition:transform .3s ease;}
.catalog-card:hover .catalog-link{color:var(--teal-bright);}
.catalog-card:hover .catalog-link svg{transform:translateX(3px);}
.catalog-link-disabled{color:var(--mute-2);cursor:default;}
.coa-link{font-size:9.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--mute-2);border-bottom:1px dashed var(--line-strong);}
.coa-link.coa-pending{cursor:default;}

/* Placeholder card — compound with no built assets yet (client-approved interim state) */
.catalog-card-placeholder{border-style:dashed;}
.catalog-card-placeholder:hover{transform:none;box-shadow:none;border-color:var(--line-strong);}
.catalog-media-empty{display:flex;align-items:center;justify-content:center;}
.catalog-media-empty .placeholder-mark{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mute-2);}
.catalog-media-empty .placeholder-mark svg{width:19px;height:19px;}
.catalog-card-placeholder .catalog-name, .catalog-card-placeholder .catalog-cat{color:var(--mute-2);}
.catalog-card-placeholder .strength-chip{opacity:0.45;}

.custom-sourcing-grid{margin-top:8px;display:grid;grid-template-columns:1fr;}
.custom-sourcing-grid .product-card-cta{max-width:420px;}

/* Final call-to-action (distinct from footer) */
.final-cta{text-align:center;}

/* =========================================================
   Product Detail v1.0 — Research Profile page sections
   (Prototype scope: bpc-157-v2-preview.html, pending approval
   before rolling out to all 27 compound profiles.)
   ========================================================= */

/* Hero: no floating vial box in v1.0 — molecule is the sole right-side visual */
.d-hero-abstract{font-size:15.5px;line-height:1.75;color:var(--mute);max-width:520px;margin-bottom:28px;}
.d-hero-strengths{margin-bottom:28px;}
.d-hero-strengths span.d-hero-strengths-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--mute-2);margin-bottom:10px;}
.d-hero-strength-row{display:flex;flex-wrap:wrap;gap:8px;}
.d-hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.d-hero-coa{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--mute-2);border-bottom:1px dashed var(--line-strong);padding-bottom:2px;}

/* Section shell shared across Product Detail v1.0 sections (v1.1: more
   breathing room between major sections per Creative Direction Review) */
.pd-section{margin-bottom:76px;}
.pd-section-head{margin-bottom:32px;max-width:640px;}
.pd-section-head h2{font-family:'Instrument Serif',serif;font-size:clamp(26px,3vw,34px);margin-bottom:12px;}
.pd-section-head p{font-size:14.5px;line-height:1.7;color:var(--mute);}
.pd-eyebrow-sm{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute-2);margin-bottom:10px;}

/* Scientific Snapshot — 6 reference cards (v1.1: slightly more breathing
   room, reserved value height so uneven text lengths stay level within a row) */
.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:900px){.snapshot-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.snapshot-grid{grid-template-columns:1fr;}}
.snapshot-card{background:var(--bg-2);padding:28px 24px;}
.snapshot-card span{display:block;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute-2);margin-bottom:11px;}
.snapshot-card b{display:block;font-family:'Instrument Serif',serif;font-size:19px;line-height:1.32;min-height:2.6em;color:var(--ink);font-weight:400;}

/* Mechanism of Action — v1.2: reads as a scientific PROCESS FLOW, not a
   spec table. Separate padded cards (taller, more internal padding),
   connected by strong directional blue arrows guiding the eye left→right.
   No rigid table columns. */
.signal-flow{display:flex;align-items:stretch;gap:36px;flex-wrap:wrap;margin:34px 0 8px;}
.signal-step{flex:1 1 0;min-width:170px;min-height:158px;padding:30px 26px;position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;justify-content:center;transition:border-color .4s ease, box-shadow .4s ease, transform .4s ease;}
.signal-step:hover{border-color:var(--teal-deep);box-shadow:0 16px 36px rgba(0,0,0,0.30), 0 0 24px rgba(41,196,255,0.12);transform:translateY(-3px);}
.signal-step span{display:block;font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;}
.signal-step b{display:block;font-size:14px;line-height:1.45;color:var(--ink);font-weight:500;}
.signal-step::after{content:'';position:absolute;right:-36px;top:50%;width:36px;height:2px;transform:translateY(-50%);background:linear-gradient(90deg, var(--teal-deep), var(--teal-bright));z-index:2;}
.signal-step::before{content:'';position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid var(--teal-bright);z-index:3;}
.signal-step:last-child::after,.signal-step:last-child::before{display:none;}
@media (max-width:700px){.signal-flow{flex-direction:column;gap:32px;} .signal-step{min-height:0;} .signal-step::after{right:auto;left:50%;top:auto;bottom:-32px;width:2px;height:32px;transform:translateX(-50%);background:linear-gradient(180deg, var(--teal-deep), var(--teal-bright));} .signal-step::before{right:auto;left:50%;top:auto;bottom:-18px;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid var(--teal-bright);border-bottom:none;}}

/* Research Applications — cards instead of a bullet list */
.app-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:800px){.app-cards{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.app-cards{grid-template-columns:1fr;}}
.app-card{border:1px solid var(--line);background:var(--bg-2);padding:26px 24px;transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;}
.app-card:hover{border-color:var(--teal-deep);transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,0.3);}
.app-card svg{width:20px;height:20px;color:var(--teal-bright);margin-bottom:14px;}
.app-card h4{font-size:14.5px;margin-bottom:9px;font-weight:600;}
.app-card p{font-size:12.5px;line-height:1.65;color:var(--mute);}

/* Laboratory Reference Data — definition grid (v1.1: stronger label/value
   contrast for readability per Creative Direction Review) */
.lab-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:700px){.lab-data-grid{grid-template-columns:1fr;}}
.lab-data-row{background:var(--bg-2);padding:18px 22px;display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.lab-data-row span{font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--mute-2);flex-shrink:0;}
.lab-data-row b{font-size:13.5px;text-align:right;color:var(--ink);font-weight:600;}

/* Laboratory Storage & Handling — icon row (v1.1: more breathing room,
   fixed icon-slot height so headings line up across the row) */
.storage-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
@media (max-width:800px){.storage-icons{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.storage-icons{grid-template-columns:1fr;}}
.storage-icon-card{text-align:left;padding:22px 0 4px;border-top:1px solid var(--line);}
.storage-icon-card svg{display:block;width:22px;height:22px;color:var(--teal-bright);margin-bottom:16px;}
.storage-icon-card h4{font-size:12.5px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:9px;}
.storage-icon-card p{font-size:12px;line-height:1.6;color:var(--mute);}

/* Scientific Research Timeline (v1.1: slightly more milestone spacing;
   v1.2: each milestone reveals progressively on scroll, in chronological
   order, with a subtle fade — see .tl-item-reveal / .tl-in below). */
.research-timeline{position:relative;padding-left:28px;border-left:1px solid var(--line-strong);}
.timeline-item{position:relative;padding-bottom:40px;}
.timeline-item:last-child{padding-bottom:0;}
.tl-item-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.tl-item-reveal.tl-in{opacity:1;transform:translateY(0);}
.tl-item-reveal:nth-child(2){transition-delay:.08s;}
.tl-item-reveal:nth-child(3){transition-delay:.16s;}
.tl-item-reveal:nth-child(4){transition-delay:.24s;}
.tl-item-reveal:nth-child(5){transition-delay:.32s;}
.timeline-item::before{content:'';position:absolute;left:-33px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--teal-bright);transition:transform .3s ease;}
.timeline-item:hover::before{transform:scale(1.25);}
.timeline-item .tl-era{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--teal-bright);letter-spacing:0.06em;margin-bottom:7px;}
.timeline-item p{font-size:13.5px;line-height:1.7;color:var(--mute);max-width:600px;}

/* Certificate of Analysis */
.coa-panel{border:1px solid var(--line);background:var(--bg-2);padding:28px 26px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.coa-panel-status{font-size:13.5px;line-height:1.7;color:var(--mute);max-width:480px;}
.coa-panel-status b{color:var(--ink);}
.coa-pending-badge{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute-2);border:1px solid var(--line-strong);padding:10px 18px;border-radius:2px;white-space:nowrap;}

/* Research Notes — replaces FAQs */
.research-notes{display:flex;flex-direction:column;gap:22px;}
.research-note{border-top:1px solid var(--line);padding-top:18px;}
.research-note h4{font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal-bright);margin-bottom:8px;}
.research-note p{font-size:13.5px;line-height:1.7;color:var(--mute);max-width:640px;}

/* Discuss This Research Profile */
.discuss-panel{border:1px solid var(--line-strong);background:var(--bg-2);padding:40px 36px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.discuss-panel h3{font-family:'Instrument Serif',serif;font-size:26px;max-width:440px;}

/* ==================================================================
   RESEARCH LIBRARY — index + monograph components (Phase 2, 20260719)
   ================================================================== */

/* ---- Library index ---- */
.rl-intro{max-width:720px;}
.rl-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px;}
@media (max-width:820px){.rl-grid{grid-template-columns:1fr;}}
.rl-card{position:relative;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:34px 32px 30px;transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;overflow:hidden;}
.rl-card:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 18px 44px -28px rgba(0,0,0,0.8);}
.rl-card-num{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;color:var(--teal-bright);margin-bottom:20px;}
.rl-card-title{font-family:'Instrument Serif',serif;font-size:31px;line-height:1.04;margin-bottom:10px;color:var(--ink);}
.rl-card-sub{font-size:14.5px;line-height:1.55;color:var(--mute);margin-bottom:22px;max-width:36ch;}
.rl-card-class{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--mute-2);border:1px solid var(--line);border-radius:2px;padding:6px 11px;align-self:flex-start;margin-bottom:28px;}
.rl-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);}
.rl-card-link svg{width:15px;height:15px;transition:transform .25s ease;}
.rl-card:hover .rl-card-link svg{transform:translateX(4px);}
.rl-card-soon{background:linear-gradient(160deg,var(--bg-3),var(--bg-2));border-style:dashed;align-items:center;justify-content:center;text-align:center;min-height:230px;}
.rl-card-soon:hover{transform:none;box-shadow:none;border-color:var(--line-strong);}
.rl-soon-mark{width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mute-2);margin-bottom:18px;}
.rl-card-soon .rl-card-title{color:var(--mute-2);font-size:24px;}
.rl-card-soon p{font-size:13px;color:var(--mute-2);max-width:26ch;line-height:1.6;}

/* ---- Monograph hero ---- */
.mono-hero{padding:150px 0 46px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg-3),var(--bg));}
.mono-hero .wrap{max-width:1240px;}  /* Approved Change No. 002 - hero aligns beneath logo; .mono-body stays centered reading column */
.mono-series{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;color:var(--teal-bright);margin-bottom:22px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.mono-series .sep{color:var(--mute-2);}
.mono-series .mono-num{color:var(--mute-2);}
.mono-title{font-family:'Instrument Serif',serif;font-size:clamp(34px,5.2vw,56px);line-height:1.03;margin-bottom:16px;letter-spacing:-0.005em;}
.mono-subtitle{font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;color:var(--teal-bright);margin-bottom:30px;line-height:1.32;max-width:36ch;}
.mono-meta{display:flex;gap:30px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--mute);letter-spacing:0.04em;border-top:1px solid var(--line);padding-top:22px;}
.mono-meta span b{color:var(--ink);font-weight:500;}
.mono-meta .lbl{color:var(--mute-2);display:block;margin-bottom:5px;font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;}

/* ---- Monograph body ---- */
.mono-body{max-width:768px;margin:0 auto;padding:0 40px;}
@media (max-width:700px){.mono-body{padding:0 22px;}}
.mono-epigraph{text-align:center;font-family:'Instrument Serif',serif;font-style:italic;font-size:20px;color:var(--teal-bright);line-height:1.5;padding:52px 0;border-bottom:1px solid var(--line);max-width:520px;margin:0 auto;}

.mono-toc{border:1px solid var(--line);background:var(--bg-2);border-radius:3px;padding:30px 32px;margin:52px 0;}
.mono-toc h4{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute-2);margin-bottom:20px;}
.mono-toc ol{list-style:none;padding:0;margin:0;columns:2;column-gap:40px;}
@media (max-width:600px){.mono-toc ol{columns:1;}}
.mono-toc li{font-size:13.5px;line-height:1.5;margin-bottom:11px;break-inside:avoid;display:flex;gap:11px;}
.mono-toc li .tn{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--teal-bright);min-width:18px;}
.mono-toc a{color:var(--mute);transition:color .25s;}
.mono-toc a:hover{color:var(--ink);}

.mono-notice{border-left:2px solid var(--teal);background:var(--teal-soft);padding:24px 28px;margin:40px 0;border-radius:0 3px 3px 0;}
.mono-notice .nl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:13px;}
.mono-notice p{font-size:13.5px;line-height:1.78;color:var(--mute);margin-bottom:12px;}
.mono-notice p:last-child{margin-bottom:0;}

.mono-section{padding:38px 0;border-top:1px solid var(--line);scroll-margin-top:90px;}
.mono-section > .secnum{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;color:var(--teal-bright);display:block;margin-bottom:14px;}
.mono-section h2{font-family:'Instrument Serif',serif;font-size:31px;line-height:1.08;margin-bottom:4px;color:var(--ink);letter-spacing:-0.005em;}
.mono-content h3{font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-bright);margin:30px 0 14px;}
.mono-content p{font-size:16px;line-height:1.85;color:var(--ink);margin:0 0 18px;}
.mono-content > p:first-child{margin-top:16px;}
.mono-content ul,.mono-content ol{margin:6px 0 22px;padding:0;list-style:none;}
.mono-content li{position:relative;padding-left:22px;font-size:15px;line-height:1.7;color:var(--mute);margin-bottom:9px;}
.mono-content li::before{content:'';position:absolute;left:2px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--teal);}
.mono-content blockquote{font-family:'Instrument Serif',serif;font-size:22px;line-height:1.42;color:var(--teal-bright);border-left:2px solid var(--teal);padding:4px 0 4px 26px;margin:26px 0;font-style:italic;}
.mono-content blockquote p{font-size:inherit;color:inherit;line-height:inherit;margin:0;}
.mono-content table{width:100%;border-collapse:collapse;margin:22px 0;font-size:13.5px;}
.mono-content thead th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute-2);border-bottom:1px solid var(--line-strong);padding:11px 15px;font-weight:500;}
.mono-content tbody td{border-bottom:1px solid var(--line);padding:12px 15px;color:var(--mute);vertical-align:top;line-height:1.55;}
.mono-content tbody td:first-child{color:var(--ink);white-space:nowrap;}
.mono-content hr{border:none;border-top:1px solid var(--line);margin:30px 0;}
.mono-content strong{color:var(--ink);font-weight:600;}

/* ---- Colophon component ---- */
.mono-colophon{margin-top:64px;padding:54px 0 12px;border-top:1px solid var(--line-strong);text-align:center;}
.mono-colophon .pub-by{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--mute-2);margin-bottom:15px;}
.mono-colophon .inst{font-family:'Instrument Serif',serif;font-size:31px;color:var(--ink);margin-bottom:9px;}
.mono-colophon .series{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;color:var(--teal-bright);margin-bottom:34px;}
.mono-colo-block{max-width:560px;margin:0 auto 30px;}
.mono-colo-block h5{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute-2);margin-bottom:13px;}
.mono-colo-block p{font-size:13px;line-height:1.72;color:var(--mute);margin-bottom:11px;}
.mono-colo-block p:last-child{margin-bottom:0;}
.mono-colophon .motto{font-family:'Instrument Serif',serif;font-style:italic;font-size:25px;color:var(--teal-bright);margin:10px 0 5px;}
.mono-colophon .motto-en{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute);margin-bottom:26px;}
.mono-colophon .colo-quote{font-family:'Instrument Serif',serif;font-size:19px;color:var(--mute);max-width:460px;margin:0 auto 30px;line-height:1.46;}
.mono-colophon .copyright{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--mute-2);letter-spacing:0.05em;line-height:1.95;}

/* ---- Prev/next + back to library ---- */
.mono-pagenav{display:flex;justify-content:space-between;gap:16px;margin:54px 0 10px;flex-wrap:wrap;}
.mono-pagenav a{flex:1;min-width:200px;border:1px solid var(--line);background:var(--bg-2);border-radius:3px;padding:18px 22px;transition:border-color .25s ease, transform .25s ease;}
.mono-pagenav a:hover{border-color:var(--line-strong);transform:translateY(-2px);}
.mono-pagenav .pn-dir{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mute-2);margin-bottom:8px;}
.mono-pagenav .pn-title{font-size:14px;color:var(--ink);line-height:1.4;}
.mono-pagenav a.pn-next{text-align:right;}


/* ===== Contact Form ===== */
.contact-form-wrap{max-width:720px;margin:0 auto 56px;padding-bottom:52px;border-bottom:1px solid var(--line);}
.cf-head{text-align:center;margin-bottom:30px;}
.cf-title{font-family:'Instrument Serif',serif;font-size:34px;font-weight:400;color:var(--ink);line-height:1.12;margin:0;}
.cf-title em{font-style:italic;color:var(--teal-bright);}
.cf-sub{font-size:14px;line-height:1.65;color:var(--mute);max-width:480px;margin:12px auto 0;}
.contact-form{display:flex;flex-direction:column;gap:18px;position:relative;}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cf-field{display:flex;flex-direction:column;gap:8px;}
.cf-field label{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute);}
.cf-field label span{color:var(--teal-bright);}
.cf-field input,.cf-field textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:13px 15px;color:var(--ink);font-family:'Inter',sans-serif;font-size:14.5px;transition:border-color .2s ease, box-shadow .2s ease;}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);}
.cf-field textarea{resize:vertical;min-height:120px;line-height:1.6;}
.cf-hp{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden;}
.cf-turnstile{min-height:65px;}
.cf-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.cf-actions .btn-primary{border:none;cursor:pointer;font-family:'Inter',sans-serif;}
.cf-actions .btn-primary:disabled{opacity:.6;cursor:default;}
.cf-status{font-size:13px;line-height:1.5;margin:0;}
.cf-status.ok{color:var(--teal-bright);}
.cf-status.err{color:#ff8a8a;}
@media(max-width:640px){.cf-grid{grid-template-columns:1fr;}.cf-title{font-size:28px;}}


/* ===== Partner Application extras ===== */
.cf-partner{margin-top:26px;}
.cf-field select{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:13px 38px 13px 15px;color:var(--ink);font-family:'Inter',sans-serif;font-size:14.5px;transition:border-color .2s ease, box-shadow .2s ease;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238FA4B8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;}
.cf-field select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);}
.cf-field select option{background:var(--bg-2);color:var(--ink);}
.cf-check{display:flex;align-items:flex-start;gap:12px;}
.cf-check input[type=checkbox]{margin-top:3px;width:17px;height:17px;flex-shrink:0;accent-color:var(--teal);cursor:pointer;}
.cf-check label{font-size:13px;line-height:1.55;color:var(--mute);letter-spacing:0;text-transform:none;cursor:pointer;}
.cf-check label strong{color:var(--ink);}
.cf-alt-note{font-size:13px;line-height:1.65;color:var(--mute-2);margin-top:22px;}
.cf-alt-note a{color:var(--teal-bright);text-decoration:underline;}


/* ===== Approved Change No. 001 — Institute Page Layout ===== */
/* Publication-oriented: content aligns flush beneath the header (not a narrow
   centered column), with a wider readable measure. Typography unchanged. */
.inst-body{max-width:1240px;}
.inst-body .d-block{max-width:880px;}
.inst-body .d-block p{max-width:100%;}
.inst-body .inst-list{max-width:880px;}
.inst-body .inst-imprint{max-width:880px;}
@media (max-width:980px){
  .inst-body .d-block,
  .inst-body .inst-list,
  .inst-body .inst-imprint{max-width:100%;}
}


/* ===== Product Profile (Institute Standard No. 005) ===== */
.pp-hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 4px;}
.pp-chip{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line-strong);border-radius:2px;padding:7px 12px;}
.pp-chip.pp-ruo{color:var(--teal-bright);border-color:var(--teal);}
.pp-body{max-width:1240px;}
.pp-section{padding:34px 0;border-top:1px solid var(--line);}
.pp-section:first-child{border-top:none;padding-top:8px;}
.pp-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:16px;}
.pp-section > p{font-size:16.5px;line-height:1.8;color:var(--ink);max-width:820px;margin:0 0 14px;}
.pp-section > p.mute{color:var(--mute);}
.pp-section > p:last-child{margin-bottom:0;}
.pp-class{display:inline-flex;flex-direction:column;gap:7px;border:1px solid var(--line-strong);border-radius:3px;padding:20px 26px;background:var(--bg-2);}
.pp-class .lab{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute-2);}
.pp-class .val{font-family:'Instrument Serif',serif;font-size:24px;color:var(--teal-bright);line-height:1.1;}
.pp-specs{width:100%;border-collapse:collapse;max-width:820px;}
.pp-specs th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute-2);border-bottom:1px solid var(--line);padding:13px 20px 13px 0;font-weight:500;vertical-align:top;width:240px;}
.pp-specs td{border-bottom:1px solid var(--line);padding:13px 0;color:var(--ink);font-size:14.5px;line-height:1.5;vertical-align:top;}
.pp-monograph{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--line-strong);border-radius:4px;background:linear-gradient(180deg,var(--bg-2),var(--bg-3));padding:26px 30px;max-width:820px;text-decoration:none;transition:border-color .25s ease;}
.pp-monograph:hover{border-color:var(--teal);}
.pp-monograph .m-num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:9px;}
.pp-monograph .m-title{font-family:'Instrument Serif',serif;font-size:23px;color:var(--ink);line-height:1.15;margin-bottom:7px;}
.pp-monograph .m-sub{font-size:13px;color:var(--mute);line-height:1.5;}
.pp-monograph .m-arrow{flex-shrink:0;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal-bright);transition:all .25s ease;}
.pp-monograph:hover .m-arrow{background:var(--teal-soft);border-color:var(--teal);}
.pp-notice{border-left:2px solid var(--teal);background:var(--teal-soft);padding:22px 26px;border-radius:0 3px 3px 0;max-width:820px;}
.pp-notice .nl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:11px;}
.pp-notice p{font-size:13.5px;line-height:1.78;color:var(--mute);margin:0;max-width:none;}
.pp-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;}
@media(max-width:980px){.pp-section > p,.pp-specs,.pp-monograph,.pp-notice{max-width:100%;}}
@media(max-width:600px){.pp-monograph{flex-direction:column;align-items:flex-start;}.pp-specs th{width:auto;padding-right:14px;}}


/* ===== Approved Change No. 003 - Monograph CTA + Related Card Standardization ===== */
.pp-monograph .pp-mono-text{display:flex;flex-direction:column;}
.m-cta{display:inline-flex;align-items:center;gap:8px;margin-top:15px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.09em;text-transform:uppercase;color:var(--teal-bright);}
.pp-monograph:hover .m-cta{color:var(--ink);}
.pp-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:820px;}
.pp-related-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--bg-2);text-decoration:none;transition:border-color .25s ease, transform .25s ease;}
.pp-related-card:hover{border-color:var(--teal);transform:translateY(-3px);}
.pp-related-img{aspect-ratio:3 / 4;background:var(--bg-3);overflow:hidden;}
.pp-related-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.pp-related-info{display:flex;flex-direction:column;gap:10px;padding:16px 16px 18px;flex:1;}
.pp-related-name{font-family:'Instrument Serif',serif;font-size:19px;color:var(--ink);line-height:1.14;}
.pp-related-cta{display:inline-flex;align-items:center;gap:7px;margin-top:auto;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal-bright);}
.pp-related-cta svg{width:13px;height:13px;}
@media(max-width:560px){.pp-related-grid{grid-template-columns:1fr 1fr;gap:12px;}}

/* ===== Approved Change No. 004 - Monograph Hero Molecular Identity ===== */
.mono-hero-grid{display:grid;grid-template-columns:1fr 0.7fr;gap:44px;align-items:center;}
.mono-hero-main{min-width:0;}
.mono-hero-visual{position:relative;}
.mono-hero-visual img{width:100%;max-width:400px;aspect-ratio:3 / 2;object-fit:contain;display:block;margin-left:auto;filter:drop-shadow(0 22px 55px rgba(0,0,0,0.55));}
.mono-hero-visual-note{display:block;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute-2);margin-top:12px;}
@media(max-width:820px){.mono-hero-grid{grid-template-columns:1fr;gap:26px;}.mono-hero-visual img{margin:0 auto;max-width:280px;}.mono-hero-visual-note{text-align:center;}}

/* Crafted-by credit (Cre8tive Marketing) — added 2026-07-22 */
.footer-craft{display:inline-flex;align-items:center;gap:10px;opacity:0.5;transition:opacity .25s ease;text-decoration:none;}
.footer-craft:hover{opacity:1;}
.footer-craft span{font-size:10px;letter-spacing:0.13em;text-transform:uppercase;color:var(--mute);white-space:nowrap;}
.footer-craft img{width:120px;height:auto;display:block;}
@media(max-width:600px){.footer-craft{margin-top:2px;}}


/* ===== Approved Change 005 — Header/Hero/Molecular Standardization ===== */
/* 3.2 Institute Hero alignment — .sub-hero is display:flex, which lets .wrap shrink-wrap
   and center. Force full-width so hero content left-aligns beneath the logo/container. */
.sub-hero .wrap{width:100%;}
.sub-hero-content{margin-left:0;margin-right:auto;text-align:left;}

/* 3.3–3.6 Shared molecular-illustration treatment.
   Source assets are opaque RGB rectangles with baked dark/cosmic backgrounds.
   mix-blend-mode:screen drops the dark background against the dark surfaces;
   the radial mask feathers the rectangle edges so no hard boundary remains. */

/* --- 3.4 / 3.5 Publication hero (Monograph + Brief) illustration frame + faded treatment --- */
.mono-hero-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:visible;}
.mono-hero-visual::before{content:'';position:absolute;top:46%;left:50%;width:116%;height:116%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 46%, rgba(30,127,214,0.28), rgba(30,127,214,0.05) 52%, transparent 70%);z-index:0;pointer-events:none;}
.mono-hero-visual img{position:relative;z-index:1;width:100%;max-width:430px;aspect-ratio:3 / 2;height:auto;object-fit:contain;display:block;margin:0 auto;filter:none;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 80% 82% at 50% 48%, #000 56%, rgba(0,0,0,0.35) 78%, transparent 90%);mask-image:radial-gradient(ellipse 80% 82% at 50% 48%, #000 56%, rgba(0,0,0,0.35) 78%, transparent 90%);}
.mono-hero-visual-note{position:relative;z-index:1;display:block;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute-2);margin-top:16px;}
@media(max-width:820px){.mono-hero-visual img{max-width:300px;margin:0 auto;}.mono-hero-visual-note{text-align:center;}}

/* --- 3.3 Research Library cards + 3.6 Related Compounds cards share ONE frame + treatment --- */
.related-card-media{aspect-ratio:4 / 3;background:var(--bg-3);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.related-card-media img{width:100%;height:100%;object-fit:contain;padding:16px;display:block;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 88% 88% at 50% 50%, #000 60%, rgba(0,0,0,0.3) 82%, transparent 94%);mask-image:radial-gradient(ellipse 88% 88% at 50% 50%, #000 60%, rgba(0,0,0,0.3) 82%, transparent 94%);}


/* ============================================================
   COA links — live "View COA" state (added 2026-07-24, COA rollout)
   ============================================================ */
.coa-link.coa-live{display:inline-flex;align-items:center;gap:5px;color:var(--teal-bright);border-bottom:1px solid rgba(41,196,255,0.45);cursor:pointer;transition:color .25s ease, border-color .25s ease;}
.coa-link.coa-live svg{width:10px;height:10px;transition:transform .3s ease;}
.coa-link.coa-live:hover{color:#fff;border-bottom-color:var(--teal-bright);}
.coa-link.coa-live:hover svg{transform:translate(2px,-2px);}
.catalog-card:hover .coa-link.coa-live{color:#fff;}
a.d-hero-coa.d-hero-coa-live{display:inline-flex;align-items:center;gap:7px;color:var(--teal-bright);border-bottom:1px solid rgba(41,196,255,0.5);cursor:pointer;transition:color .25s ease, border-color .25s ease;}
a.d-hero-coa.d-hero-coa-live svg{width:12px;height:12px;transition:transform .3s ease;}
a.d-hero-coa.d-hero-coa-live:hover{color:#fff;border-bottom-color:var(--teal-bright);}
a.d-hero-coa.d-hero-coa-live:hover svg{transform:translate(2px,-2px);}
.pp-coa-actions{margin-top:16px;}
.pp-coa-btn{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line-strong);border-radius:2px;padding:12px 20px;transition:all .25s ease;}
.pp-coa-btn svg{width:13px;height:13px;transition:transform .3s ease;}
.pp-coa-btn:hover{border-color:var(--teal);color:var(--teal-bright);background:var(--teal-soft);box-shadow:0 0 18px rgba(41,196,255,0.14);}
.pp-coa-btn:hover svg{transform:translate(2px,-2px);}
