/* 
   JP Laboratories - Modern Corporate & R&D Firm Stylesheet
   Theme: Continental Corporate Navy, Slate, and Scientific Gold
*/

:root {
    --primary-navy: #0b1e36;
    --primary-blue: #0d2c54;
    --accent-gold: #d4af37;
    --accent-gold-hover: #b89628;
    --light-bg: #f4f7fa;
    --card-border: #e2e8f0;
    --card-shadow: 0 4px 12px rgba(13, 44, 84, 0.05);
    --card-hover-shadow: 0 20px 25px -5px rgba(13, 44, 84, 0.12), 0 10px 10px -5px rgba(13, 44, 84, 0.04);
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #1e293b;
    background-color: var(--light-bg);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

/* Header & Utility Bar Overrides */
.top-bar {
    background: linear-gradient(90deg, #061324 0%, #0d2c54 100%);
    color: #cbd5e1;
    font-size: 0.85rem;
    padding: 8px 0;
}

.main-header {
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.nav-link {
    color: var(--primary-blue);
    font-weight: 600;
    transition: color 0.2s ease;
    padding: 1.25rem 0.85rem;
    display: flex;
    align-items: center;
    gap: 4px;
}

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

/* Multi-level Dropdown Styles */
.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #ffffff;
    min-width: 270px;
    box-shadow: 0 12px 20px -3px rgba(0,0,0,0.12);
    border-top: 3px solid var(--primary-blue);
    border-radius: 0 0 8px 8px;
    padding: 8px 0;
    z-index: 1010;
}

.group:hover .dropdown-menu {
    display: block;
}

.dropdown-item {
    display: block;
    padding: 9px 18px;
    color: #334155;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.dropdown-item:hover {
    background-color: #f8fafc;
    color: var(--primary-blue);
    padding-left: 22px;
}

/* Research Hero Header Banner */
.hero-section {
    background: linear-gradient(135deg, #061324 0%, #0d2c54 60%, #1a4980 100%);
    color: #ffffff;
    padding: 4.5rem 1rem;
    text-align: center;
    border-bottom: 4px solid var(--accent-gold);
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 20%, rgba(212, 175, 55, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.hero-title {
    font-size: 2.85rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.hero-subtitle {
    font-size: 1.35rem;
    color: #e2e8f0;
    font-weight: 300;
    max-width: 850px;
    margin: 0 auto;
}

/* Product & Innovation Grid Cards */
.product-card {
    background: #ffffff;
    border: 1px solid var(--card-border);
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: var(--card-shadow);
    display: flex;
    flex-direction: column;
}

.product-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--card-hover-shadow);
    border-color: #cbd5e1;
}

.product-card .img-container {
    height: 200px;
    background-color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-bottom: 1px solid var(--card-border);
    overflow: hidden;
}

.product-card img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    transition: transform 0.4s ease;
}

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

.product-card .card-body {
    padding: 1.35rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-card h3 {
    color: var(--primary-navy);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.35;
}

/* Video Section Embed Wrapper */
.video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: var(--card-shadow);
    background-color: #000;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Executive Content Article Panels */
.info-panel {
    background: #ffffff;
    border-left: 5px solid var(--primary-blue);
    border-radius: 8px;
    padding: 2.25rem;
    box-shadow: var(--card-shadow);
    margin-bottom: 2rem;
    transition: box-shadow 0.3s ease;
}

.info-panel:hover {
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.08);
}

.info-panel h2 {
    color: var(--primary-navy);
    font-weight: 800;
    font-size: 1.85rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 0.65rem;
}

/* Highlight Box Styling for Important Messages */
.highlight-stat-box {
    background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-top: 1rem;
}

/* Footer Container */
.site-footer {
    background-color: #061324;
    color: #94a3b8;
    padding: 3.5rem 0;
    margin-top: 5rem;
}

/* Subtle Grey Technical Grid Background for Research Theme */
body {
    background-color: #f8fafc;
    background-image: 
        linear-gradient(to right, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(15, 23, 42, 0.035) 1px, transparent 1px);
    background-size: 24px 24px; /* Crisp 24px grid */
}

/* Soft Floating Depth Shadow for Isolated Product Images */
.product-card .img-container img {
    filter: drop-shadow(0 10px 8px rgba(15, 23, 42, 0.08)) drop-shadow(0 4px 3px rgba(15, 23, 42, 0.05));
    transition: transform 0.4s ease, filter 0.4s ease;
}

.product-card:hover .img-container img {
    transform: scale(1.05) translateY(-3px);
    filter: drop-shadow(0 20px 13px rgba(15, 23, 42, 0.15)) drop-shadow(0 8px 5px rgba(15, 23, 42, 0.08));
}

/* Custom Executive Footer Styling */
.site-footer {
    background-color: #061324;
    color: #cbd5e1;
    padding: 3.5rem 0 1.5rem 0;
    margin-top: 4rem;
    border-top: 3px solid #d4af37;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}

@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: 1.4fr 1fr;
    }
}

/* Left Contact Card */
.footer-contact-card {
    background-color: rgba(15, 23, 42, 0.85);
    border: 1px solid #1e293b;
    border-left: 4px solid #3b82f6;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.contact-headline {
    color: #60a5fa;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 1rem;
}

.contact-details {
    color: #e2e8f0;
    font-size: 0.92rem;
    line-height: 1.6;
}

.contact-details p {
    margin: 0.2rem 0;
}

.contact-details i {
    color: #fbbf24;
    margin-right: 6px;
    width: 16px;
}

.contact-name {
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
}

.contact-link {
    color: #38bdf8;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s ease;
}

.contact-link:hover {
    color: #fef08a;
    text-decoration: underline;
}

/* Right Side Logo & Tagline */
.footer-brand-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media (min-width: 768px) {
    .footer-brand-side {
        align-items: flex-end;
        text-align: right;
    }
}

.footer-logo {
    max-height: 75px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.4));
    transition: transform 0.3s ease;
}

.footer-logo:hover {
    transform: scale(1.03);
}

.footer-tagline {
    color: #fbbf24;
    font-weight: 700;
    font-size: 1.05rem;
    margin-top: 0.75rem;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

/* Copyright Bar */
.footer-bottom {
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #1e293b;
    text-align: center;
    font-size: 0.82rem;
    color: #64748b;
}

/* Shared JP Laboratories hero banner — layout follows the supplied header reference */
.jp-hero-banner {
    background: #061b2b;
    color: #ffffff;
    width: 100%;
    min-height: 140px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.jp-hero-inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 12px 28px;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(420px, 2.2fr) minmax(190px, 1fr);
    align-items: center;
    column-gap: 24px;
    text-align: center;
}
.jp-hero-side {
    color: #ffff00;
    font-size: clamp(15px, 1.65vw, 27px);
    line-height: 1.25;
    font-weight: 400;
}
.jp-hero-center h1 {
    margin: 0 0 2px;
    color: #ffffff;
    font-size: clamp(26px, 3.1vw, 44px);
    line-height: 1.12;
    font-weight: 700;
}
.jp-hero-green {
    margin: 0;
    color: #00e51a;
    font-size: clamp(19px, 2.35vw, 32px);
    line-height: 1.2;
    font-weight: 400;
}
.jp-hero-tagline {
    margin-top: 4px;
}
@media (max-width: 760px) {
    .jp-hero-banner {
        min-height: 0;
    }
    .jp-hero-inner {
        grid-template-columns: 1fr;
        row-gap: 10px;
        padding: 18px 18px;
    }
    .jp-hero-center {
        grid-row: 1;
    }
    .jp-hero-left {
        grid-row: 2;
    }
    .jp-hero-right {
        grid-row: 3;
    }
    .jp-hero-side {
        font-size: 16px;
    }
    .jp-hero-green {
        font-size: 19px;
    }
    .jp-hero-center h1 {
        font-size: 28px;
    }
}

/* Homepage implementation: PowerPoint content/palette + index2.html card treatment. */
body.jp-homepage { background:#F2F2F2; background-image:none; color:#1e293b; }
.jp-home-main { width:min(100%,1440px); margin:0 auto; padding:1.25rem 1rem 2.5rem; }
.jp-home-heading { margin:0 0 1.1rem; padding:1rem 1.25rem; background:#000; border-radius:4px; text-align:center; }
.jp-home-heading h1 { margin:0; color:#00E51A; font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.2; font-weight:800; }
.jp-home-heading p { margin:.25rem 0 0; color:#FFFF00; font-size:clamp(1rem,1.65vw,1.45rem); line-height:1.2; font-weight:700; }
.jp-home-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.jp-product { min-width:0; background:var(--ppt-bg,#fff); border:1px solid var(--card-border); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--card-shadow); transition:all .3s cubic-bezier(.16,1,.3,1); }
.jp-product:hover { transform:translateY(-6px); box-shadow:var(--card-hover-shadow); border-color:#cbd5e1; }
.jp-product .img-container { height:200px; min-height:200px; width:100%; padding:14px; box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:8px; overflow:hidden; background:rgba(255,255,255,.68); border-bottom:1px solid var(--card-border); }
.jp-product .img-container img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; filter:drop-shadow(0 10px 8px rgba(15,23,42,.08)) drop-shadow(0 4px 3px rgba(15,23,42,.05)); transition:transform .4s ease,filter .4s ease; }
.jp-product:hover .img-container img { transform:scale(1.05) translateY(-3px); filter:drop-shadow(0 20px 13px rgba(15,23,42,.15)) drop-shadow(0 8px 5px rgba(15,23,42,.08)); }
.jp-product .card-body { flex:1 1 auto; padding:1rem 1.1rem 1.05rem; display:flex; flex-direction:column; align-items:flex-start; }
.jp-product h3 { margin:0 0 .45rem; color:var(--primary-navy); font-size:1.03rem; font-weight:750; line-height:1.32; }
.jp-support { margin:.15rem 0 .5rem; color:#263449; font-size:.78rem; line-height:1.35; }
.jp-bold,.jp-support b { font-weight:800; }
.jp-bullets { list-style:none; padding:0; font-weight:700; }
.jp-bullets li { margin:.08rem 0; }
.jp-formula { margin:.2rem 0 .55rem; color:#1f2937; font-size:.68rem; line-height:1.22; font-weight:750; overflow-wrap:anywhere; }
.jp-learn { margin-top:auto; padding-top:.75rem; display:inline-flex; align-items:center; gap:.35rem; color:var(--primary-blue); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; text-decoration:none; }
.jp-learn:hover { color:var(--accent-gold-hover); }
.jp-learn i { font-size:.68rem; }

/* Separate source elements for composite diagrams. */
.jp-visual { position:relative; }
.jp-ster { flex-direction:column; gap:3px !important; padding:8px 12px !important; }
.jp-ster-row { width:100%; min-height:67px; display:grid; grid-template-columns:56% 44%; align-items:center; gap:6px; }
.jp-ster-row img { max-height:65px !important; max-width:100%; justify-self:center; }
.jp-ster-row b { color:#111; font-size:.78rem; line-height:1.18; }
.jp-ster-middle { display:flex; align-items:center; justify-content:flex-start; gap:10px; padding-left:8%; color:#111; font-size:.78rem; line-height:1.1; }
.jp-ster-middle span { color:#000; font-size:1.35rem; line-height:1; font-weight:900; }
.jp-ultra { flex-direction:column; gap:8px !important; }
.jp-ultra > img { max-height:142px !important; }
.jp-ultra > div { display:flex; justify-content:space-around; width:100%; color:#111; font-size:.8rem; line-height:1.1; }
.jp-radtriage img { max-height:100% !important; }
.jp-time { flex-direction:column; gap:2px !important; }
.jp-time > img { max-width:95%; max-height:56px !important; }
.jp-time > div { display:flex; align-items:center; justify-content:center; gap:8px; color:#111; font-size:.78rem; line-height:1.1; }
.jp-time > div span { color:#000; font-size:1.35rem; line-height:1; font-weight:900; }
.jp-debit { flex-direction:column; gap:4px !important; padding:10px !important; }
.jp-debit-composite { width:100% !important; max-height:145px !important; object-fit:contain; padding-left:22px; }
.jp-debit-arrow { position:absolute; left:8px; top:47%; transform:translateY(-50%); color:#000; font-size:1.5rem; font-weight:900; z-index:2; }
.jp-debit > b { color:#111; font-size:.8rem; line-height:1.1; }
.jp-metal { flex-direction:row; gap:5px !important; }
.jp-metal img { width:calc(50% - 18px) !important; max-height:145px !important; }
.jp-metal span { color:#111; font-size:1.5rem; font-weight:900; }
.jp-solar { flex-direction:column; gap:4px !important; }
.jp-solar img { max-height:140px !important; }
.jp-solar b { color:#111; font-size:.85rem; font-weight:800; }
.jp-visitor { flex-direction:column; gap:4px !important; }
.jp-visitor > div { width:100%; height:145px; display:flex; justify-content:center; align-items:center; gap:5px; }
.jp-visitor img { width:calc(50% - 18px) !important; max-height:140px !important; }
.jp-visitor span { color:#111; font-size:1.3rem; font-weight:900; }
.jp-visitor > b { color:#111; font-size:.85rem; font-weight:800; }
.jp-contact { color:#000; font-size:2rem; font-weight:800; }
.jp-home-copy,.jp-home-profile { margin-top:1.25rem; padding:1.35rem 1.5rem; border:1px solid #d1d5db; border-radius:8px; background:#F2F2F2; color:#1f2937; font-size:.96rem; line-height:1.55; box-shadow:var(--card-shadow); }
.jp-home-copy p,.jp-home-profile p { margin:0 0 1rem; }
.jp-home-copy p:last-child,.jp-home-profile p:last-child { margin-bottom:0; }
.jp-home-profile strong { font-weight:800; }
@media (max-width:1023px) { .jp-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) {
 .jp-home-main { padding:.8rem .65rem 1.5rem; }
 .jp-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
 .jp-product .img-container { height:165px; min-height:165px; padding:8px; }
 .jp-product .card-body { padding:.75rem .75rem .8rem; }
 .jp-product h3 { font-size:.88rem; }
 .jp-support { font-size:.7rem; }
 .jp-formula { font-size:.56rem; }
 .jp-learn { font-size:.65rem; }
 .jp-debit-composite { max-height:120px !important; }
 .jp-visitor > div { height:120px; }
 .jp-visitor img { max-height:115px !important; }
 .jp-home-copy,.jp-home-profile { padding:.9rem; font-size:.88rem; }
}

.jp-product .jp-support.jp-bold { font-weight: 800; color: #263449; }

/* ==========================================================
   JP HEADER — standalone CSS; does not require Tailwind
   ========================================================== */
.top-bar,
.top-bar * { box-sizing: border-box; }
.top-bar { background: #061324; color: #dbe4ef; padding: 8px 0; font-size: 12px; }
.top-bar > div { width: min(100% - 40px, 1440px); margin: 0 auto; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.top-bar > div > div { display:flex; align-items:center; gap:14px; }
.top-bar form { display:flex; align-items:center; margin:0; }
.top-bar input { box-sizing:border-box; width:210px; max-width:35vw; padding:8px 10px; border:1px solid #334155; border-radius:4px 0 0 4px; background:#17283c; color:#fff; font:inherit; }
.top-bar input::placeholder { color:#cbd5e1; }
.top-bar form button { padding:8px 12px; border:0; border-radius:0 4px 4px 0; background:#d4af37; color:#142235; cursor:pointer; }
#google_translate_element { min-height:24px; }

.main-header { position:relative; z-index:1000; background:#fff; border-bottom:1px solid #dbe2ea; box-shadow:0 3px 12px rgba(6,19,36,.08); }
.main-header > div { width:min(100% - 40px, 1440px); margin:0 auto; }
.main-header > div > div { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.main-header a { text-decoration:none; }
.main-header > div > div > a:first-child { display:flex; align-items:center; gap:12px; flex:0 0 auto; min-width:190px; }
.main-header img { display:block; width:auto; height:66px; max-width:105px; object-fit:contain; }
.main-header > div > div > a:first-child span { display:block; color:#0b1e36; font-size:22px; line-height:1.15; font-weight:750; white-space:nowrap; }
#mobile-menu-btn { display:none; border:1px solid #dbe2ea; background:#fff; color:#0d2c54; border-radius:6px; padding:9px 12px; cursor:pointer; }
.main-header nav { display:flex; align-items:stretch; justify-content:flex-end; gap:0; min-width:0; }
.main-header nav > a,
.main-header nav > .relative > button { display:flex; align-items:center; height:88px; padding:0 10px; border:0; background:transparent; color:#0d2c54; font:600 13px/1.25 Inter,Arial,sans-serif; white-space:nowrap; cursor:pointer; }
.main-header nav > a:hover,
.main-header nav > .relative > button:hover,
.main-header nav > .relative:focus-within > button { color:#b89628; }
.main-header nav .relative { position:relative; display:flex; align-items:stretch; }
.main-header .dropdown-menu { display:none; position:absolute; top:100%; left:0; z-index:1010; min-width:255px; max-width:330px; padding:7px 0; background:#fff; border-top:3px solid #d4af37; border-radius:0 0 7px 7px; box-shadow:0 12px 28px rgba(6,19,36,.17); }
.main-header .relative:hover > .dropdown-menu,
.main-header .relative:focus-within > .dropdown-menu { display:block; }
.main-header .dropdown-item { display:block; padding:9px 16px; color:#334155; font-size:13px; line-height:1.35; white-space:normal; }
.main-header .dropdown-item:hover,
.main-header .dropdown-item:focus { background:#f2f5f8; color:#0d2c54; }
#mobile-menu { display:none; padding:8px 20px 18px; background:#fff; border-top:1px solid #e2e8f0; }
#mobile-menu.hidden { display:none !important; }
#mobile-menu:not(.hidden) { display:block; }
#mobile-menu a { display:block; padding:8px 10px; color:#334155; font-size:14px; line-height:1.35; border-bottom:1px solid #edf0f4; }
#mobile-menu a:hover { color:#0d2c54; background:#f7f9fb; }
#mobile-menu span { display:block; padding:12px 10px 4px; color:#9a7a20; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.jp-hero-banner { display:block; width:100%; min-height:146px; background:#061b2b; color:#fff; border-bottom:4px solid #d4af37; }
.jp-hero-inner { box-sizing:border-box; width:min(100%, 1440px); min-height:142px; margin:0 auto; padding:18px 28px; display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,2.15fr) minmax(0,1fr); align-items:center; gap:24px; text-align:center; }
.jp-hero-side { color:#ffff00; font-size:clamp(15px,1.55vw,24px); line-height:1.25; font-weight:500; }
.jp-hero-center h1 { margin:0 0 5px; color:#fff; font-size:clamp(27px,3vw,42px); line-height:1.12; font-weight:750; }
.jp-hero-green { margin:0; color:#00e51a; font-size:clamp(18px,2.1vw,29px); line-height:1.25; font-weight:500; }
.jp-hero-tagline { margin-top:4px; }

@media (max-width: 1180px) {
  .main-header > div > div { min-height:76px; }
  .main-header nav { display:none !important; }
  #mobile-menu-btn { display:inline-flex; align-items:center; justify-content:center; }
  .main-header img { height:60px; }
  .main-header nav > a, .main-header nav > .relative > button { height:76px; }
}
@media (min-width: 1181px) {
  #mobile-menu-btn { display:none !important; }
  #mobile-menu { display:none !important; }
}
@media (max-width: 760px) {
  .top-bar > div { width:calc(100% - 28px); align-items:flex-start; flex-direction:column; }
  .top-bar > div > div:last-child { width:100%; justify-content:space-between; }
  .top-bar input { width:min(58vw,230px); max-width:none; }
  .main-header > div { width:calc(100% - 28px); }
  .main-header > div > div { min-height:70px; }
  .main-header > div > div > a:first-child { min-width:0; }
  .main-header img { height:52px; max-width:82px; }
  .main-header > div > div > a:first-child span { font-size:18px; }
  .jp-hero-inner { min-height:0; grid-template-columns:1fr; gap:10px; padding:18px 16px; }
  .jp-hero-center { grid-row:1; }
  .jp-hero-left { grid-row:2; }
  .jp-hero-right { grid-row:3; }
  .jp-hero-center h1 { font-size:28px; }
  .jp-hero-green { font-size:19px; }
  .jp-hero-side { font-size:16px; }
}


/* Final homepage arrow-only corrections: Debittering and Metallization */
body.jp-homepage .jp-debit { gap: 6px !important; }
body.jp-homepage .jp-debit-pair { width:100%; display:flex; align-items:center; justify-content:center; gap:5px; }
body.jp-homepage .jp-debit-pair img { display:block; width:calc((100% - 48px)/2) !important; max-height:145px !important; object-fit:contain; }
body.jp-homepage .jp-debit-arrow { position:static; flex:0 0 38px; display:flex; align-items:center; justify-content:center; color:#111; font-size:2.55rem; line-height:1; font-weight:900; text-shadow:0 0 1px currentColor; }
body.jp-homepage .jp-debit-composite { display:none !important; }
body.jp-homepage .jp-metal { gap:8px !important; }
body.jp-homepage .jp-metal span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 42px; color:#111; font-size:2.7rem !important; line-height:1; font-weight:900 !important; -webkit-text-stroke:1px currentColor; }
body.jp-homepage .jp-metal img { width:calc((100% - 58px)/2) !important; max-height:145px !important; object-fit:contain; }
@media (max-width: 600px) {
 body.jp-homepage .jp-debit-pair img { max-height:120px !important; }
 body.jp-homepage .jp-debit-arrow { flex-basis:32px; font-size:2.2rem; }
 body.jp-homepage .jp-metal span { flex-basis:34px; font-size:2.3rem !important; }
 body.jp-homepage .jp-metal img { width:calc((100% - 48px)/2) !important; max-height:120px !important; }
}


/* Existing sterilization-page component styles shared by internal pages */
.jp-sterilization-page-body {
  background: #F2F2F2 !important;
  background-image: none !important;
  color: #1e293b;
}
.jp-sterilization-page { width:min(100%, 1240px); margin:0 auto; padding:1.1rem 1rem 2.5rem; }
.usi-titleband { background:#0b1e36; color:#fff; text-align:center; border-bottom:4px solid #d4af37; border-radius:8px; padding:1.15rem 1rem; margin:0 0 1.1rem; box-shadow:0 4px 12px rgba(13,44,84,.08); }
.usi-titleband h1 { color:#fff; font-size:clamp(1.35rem,2.5vw,2rem); font-weight:800; line-height:1.2; margin:0; }
.usi-titleband p { color:#f5df8b; font-size:clamp(1rem,1.7vw,1.25rem); font-weight:700; margin:.3rem 0 0; }
.usi-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; max-width:760px; margin:0 auto 1.25rem; }
.usi-action { background:#fff; border:1px solid #e2e8f0; border-radius:10px; box-shadow:0 4px 12px rgba(13,44,84,.07); padding:.8rem; text-align:center; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.usi-action:hover { transform:translateY(-4px); box-shadow:0 14px 24px rgba(13,44,84,.13); border-color:#cbd5e1; }
.usi-action h2 { color:#0b1e36; font-size:1rem; font-weight:800; margin:0 0 .55rem; }
.usi-action-media { display:flex; align-items:center; justify-content:center; width:100%; height:150px; overflow:hidden; border-radius:6px; background:#fff; }
.usi-action-media img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; transition:transform .35s ease,filter .35s ease; filter:drop-shadow(0 5px 5px rgba(15,23,42,.12)); }
.usi-action:hover .usi-action-media img { transform:scale(1.055); filter:drop-shadow(0 10px 8px rgba(15,23,42,.16)); }
.usi-action a { text-decoration:none; }
.usi-section { background:#fff; border:1px solid #e2e8f0; border-radius:10px; box-shadow:0 4px 12px rgba(13,44,84,.055); padding:1.35rem clamp(1rem,2.2vw,1.7rem); margin:0 0 1.15rem; }
.usi-section h2 { color:#0b1e36; font-size:clamp(1.12rem,1.9vw,1.45rem); line-height:1.25; font-weight:800; margin:0 0 .9rem; padding-bottom:.55rem; border-bottom:2px solid #edf1f5; }
.usi-section p,.usi-section li { font-size:.98rem; line-height:1.68; }
.usi-section img { display:block; max-width:100%; height:auto; object-fit:contain; transition:transform .35s ease,filter .35s ease; transform-origin:center; }
.usi-section img:hover { transform:scale(1.035); filter:drop-shadow(0 9px 9px rgba(15,23,42,.14)); }
.usi-hero-image { width:min(100%,560px); max-height:300px; margin:.35rem auto 1rem; }
.usi-diagram { width:min(100%,850px); max-height:430px; margin:.35rem auto .25rem; }
.usi-two-col { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(0,1.4fr) minmax(260px,1fr); gap:1.1rem; align-items:center; }
.usi-two-col > img:first-child { width:100%; max-height:390px; }
.usi-two-col > img:last-child { width:100%; max-height:390px; }
.usi-vhp-image { width:min(100%,520px); max-height:210px; margin:.75rem auto .4rem; }
.usi-list { padding-left:1.35rem; margin:.4rem 0; }
.usi-list li { margin:.28rem 0; }
.usi-lead { font-weight:600; }
.usi-highlight { color:#138a35; font-size:1.1rem !important; font-weight:800; text-align:center; margin-top:1rem; }
.usi-licensing { color:#138a35; font-size:1.05rem !important; font-weight:800; text-align:center; margin-top:1rem; }
@media (max-width:800px) { .usi-two-col { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); } .usi-two-col > img:first-child { max-height:330px; } .usi-two-col > img:last-child { grid-column:1/-1; width:min(100%,420px); justify-self:center; } }
@media (max-width:560px) { .jp-sterilization-page { padding:.8rem .65rem 2rem; } .usi-actions { gap:.7rem; } .usi-action { padding:.55rem; } .usi-action-media { height:120px; } .usi-two-col { grid-template-columns:1fr; } .usi-two-col > img:first-child,.usi-two-col > img:last-child { width:min(100%,360px); max-height:360px; justify-self:center; } }
@media (prefers-reduced-motion: reduce) { .usi-action,.usi-action-media img,.usi-section img { transition:none; } .usi-action:hover,.usi-section img:hover,.usi-action:hover .usi-action-media img { transform:none; } }



/* JP Laboratories – Time-Temperature, Freeze and Thaw Indicators
   APPEND this page-scoped block to the bottom of css/style.css.
   Do not replace the master stylesheet. */
.jp-tti-page{background:#f2f2f2;color:#111;font-family:Inter,Arial,sans-serif}
.jp-tti-page .tti-main{width:min(1160px,94%);margin:0 auto;padding:18px 0 42px}
.jp-tti-page .tti-title{text-align:center;background:#050505;color:#66ff33;padding:12px 18px 8px;margin:0 0 8px}
.jp-tti-page .tti-title h1{font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1.2;font-weight:800;margin:0}
.jp-tti-page .tti-title div{color:#ffff00;font-weight:700;letter-spacing:2px;margin-top:2px}
.jp-tti-page .tti-intro,.jp-tti-page .tti-section,.jp-tti-page .tti-offer{background:#fff;border:1px solid #555;padding:8px 12px;margin:0 0 6px}
.jp-tti-page .tti-intro h2,.jp-tti-page .tti-section h2,.jp-tti-page .tti-offer h2{font-size:clamp(.9rem,1.3vw,1.05rem);line-height:1.25;font-weight:800;margin:0 0 7px;color:#111}
.jp-tti-page .tti-intro p{font-size:.91rem;line-height:1.38;margin:7px 0;text-align:justify}
.jp-tti-page .tti-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}
.jp-tti-page .tti-two img{width:100%;height:190px;object-fit:contain}
.jp-tti-page .tti-wide{display:block;width:100%;max-width:1000px;height:auto;max-height:340px;object-fit:contain;margin:4px auto}
.jp-tti-page .tti-mid{max-width:850px}
.jp-tti-page .tti-tall{display:block;width:auto;max-width:100%;height:280px;object-fit:contain;margin:5px auto}
.jp-tti-page .tti-offer h2{color:#0000ff;text-decoration:underline}
.jp-tti-page .tti-offer ul{margin:0;padding-left:22px}
.jp-tti-page .tti-offer li{font-size:.91rem;line-height:1.3;color:#0000ff;margin:1px 0}
.jp-tti-page img{transition:transform .25s ease;transform-origin:center}
.jp-tti-page img:hover{transform:scale(1.025);position:relative;z-index:2}
@media(max-width:700px){.jp-tti-page .tti-main{width:96%;padding-top:12px}.jp-tti-page .tti-two{gap:6px}.jp-tti-page .tti-two img{height:145px}.jp-tti-page .tti-intro p{font-size:.86rem;text-align:left}.jp-tti-page .tti-wide{max-height:none}.jp-tti-page .tti-tall{height:250px}}

/* Time-Temperature Indicators – targeted visual adjustments
   APPEND this block after the existing TTI page CSS in css/style.css. */

/* Enlarge the two Two-tape TTI images while retaining their side-by-side layout. */
.jp-tti-page .tti-two {
  gap: 8px;
}
.jp-tti-page .tti-two img {
  height: 250px;
}

/* Reduce the oversized single-image sections to more closely match the PPT. */
.jp-tti-page .tti-wide:not(.tti-mid) {
  max-width: 780px;
}
.jp-tti-page .tti-mid {
  max-width: 660px;
}

/* Offering bullets alternate blue and black, as in the PowerPoint. */
.jp-tti-page .tti-offer li {
  color: #0000ff;
}
.jp-tti-page .tti-offer li:nth-child(even) {
  color: #111;
}

@media (max-width: 700px) {
  .jp-tti-page .tti-two img {
    height: 190px;
  }
}

/* JP Laboratories – Making Non-Palatable Foods Palatable
   APPEND this page-scoped block to the bottom of css/style.css.
   Do not replace the master stylesheet. */
.jp-debittering-page{background:#f2f2f2;color:#111;font-family:Inter,Arial,sans-serif}
.jp-debittering-page .deb-main{width:min(1160px,94%);margin:0 auto;padding:16px 0 40px}
.jp-debittering-page .deb-title{text-align:center;background:#050505;color:#66ff33;padding:12px 16px 7px;margin:0 0 6px}
.jp-debittering-page .deb-title h1{font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1.2;font-weight:800;margin:0}
.jp-debittering-page .deb-rule{color:#ffff00;font-weight:700;letter-spacing:2px}
.jp-debittering-page .deb-press{text-align:center;margin:5px 0 8px}
.jp-debittering-page .deb-press a{display:inline-block;color:#111;background:#fff4b8;border:1px solid #777;padding:5px 14px;font-weight:700;text-decoration:underline}
.jp-debittering-page .deb-intro,.jp-debittering-page .deb-gallery-section,.jp-debittering-page .deb-milk,.jp-debittering-page .deb-broth,.jp-debittering-page .deb-examples{background:#fff;border:1px solid #555;padding:8px 12px;margin:0 0 6px}
.jp-debittering-page .deb-intro p{font-size:.91rem;line-height:1.38;margin:7px 0;text-align:justify}
.jp-debittering-page .deb-source-caption{font-size:.91rem;line-height:1.3;margin:0 0 5px}
.jp-debittering-page .deb-food-gallery{display:grid;grid-template-columns:1fr 1.55fr;grid-template-areas:"flour collage" "snacks snacks";gap:8px;align-items:center}
.jp-debittering-page .deb-flour{grid-area:flour;width:100%;max-height:230px;object-fit:contain}
.jp-debittering-page .deb-food-collage{grid-area:collage;width:100%;max-height:270px;object-fit:contain}
.jp-debittering-page .deb-snacks{grid-area:snacks;width:75%;max-height:260px;object-fit:contain;justify-self:center}
.jp-debittering-page .deb-milk{display:grid;grid-template-columns:minmax(160px,30%) 1fr;gap:22px;align-items:center}
.jp-debittering-page .deb-milk img{width:100%;height:220px;object-fit:contain}
.jp-debittering-page .deb-milk p{font-size:1rem;line-height:1.5;font-weight:600;margin:0}
.jp-debittering-page .deb-broth>p{margin:0 0 7px;font-size:.91rem}
.jp-debittering-page .deb-broth-images{display:grid;grid-template-columns:3fr 1fr;gap:16px;align-items:center}
.jp-debittering-page .deb-broth-images img{width:100%;height:190px;object-fit:contain}
.jp-debittering-page .deb-examples img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;margin:auto}
.jp-debittering-page img{transition:transform .25s ease;transform-origin:center}
.jp-debittering-page img:hover{transform:scale(1.025);position:relative;z-index:2}
@media(max-width:700px){.jp-debittering-page .deb-main{width:96%;padding-top:10px}.jp-debittering-page .deb-intro p{text-align:left;font-size:.86rem}.jp-debittering-page .deb-food-gallery{grid-template-columns:1fr 1.2fr;gap:5px}.jp-debittering-page .deb-flour,.jp-debittering-page .deb-food-collage{max-height:175px}.jp-debittering-page .deb-snacks{width:100%;max-height:190px}.jp-debittering-page .deb-milk{grid-template-columns:36% 1fr;gap:10px}.jp-debittering-page .deb-milk img{height:160px}.jp-debittering-page .deb-broth-images img{height:130px}}


/* JP Laboratories – Mango Seed Kernel Press Coverage
   APPEND this page-scoped block to css/style.css. Do not replace the master stylesheet. */

.jp-press-coverage-page{
  background:#f2f2f2;
  color:#111;
  font-family:Inter,Arial,sans-serif;
}

.jp-press-coverage-page .press-main{
  width:min(1120px,94%);
  margin:0 auto;
  padding:18px 0 42px;
}

.jp-press-coverage-page .press-title{
  text-align:center;
  background:#050505;
  color:#66ff33;
  padding:12px 16px;
  margin:0 0 8px;
}

.jp-press-coverage-page .press-title h1{
  font-size:clamp(1.25rem,2.3vw,1.8rem);
  line-height:1.2;
  font-weight:800;
  margin:0;
}

.jp-press-coverage-page .press-conference,
.jp-press-coverage-page .press-coverage-item{
  background:#fff;
  border:1px solid #555;
  padding:10px 14px;
  margin:0 0 8px;
  text-align:center;
}

.jp-press-coverage-page .press-conference h2,
.jp-press-coverage-page .press-coverage-item h2{
  font-size:1.05rem;
  line-height:1.25;
  font-weight:800;
  margin:0 0 5px;
  color:#111;
}

.jp-press-coverage-page .press-conference p{
  margin:1px 0;
  font-size:.94rem;
  line-height:1.35;
}

.jp-press-coverage-page .press-conference img{
  display:block;
  width:min(450px,100%);
  height:auto;
  max-height:360px;
  object-fit:contain;
  margin:10px auto 0;
}

.jp-press-coverage-page .press-coverage-item img{
  display:block;
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:contain;
  margin:4px auto;
}

.jp-press-coverage-page .press-last-labels{
  display:flex;
  justify-content:center;
  gap:28px;
  flex-wrap:wrap;
  margin-top:7px;
  font-size:1.08rem;
  font-weight:700;
}

.jp-press-coverage-page img{
  transition:transform .25s ease;
  transform-origin:center;
}

.jp-press-coverage-page img:hover{
  transform:scale(1.02);
  position:relative;
  z-index:2;
}

@media(max-width:700px){
  .jp-press-coverage-page .press-main{
    width:96%;
    padding-top:10px;
  }

  .jp-press-coverage-page .press-conference,
  .jp-press-coverage-page .press-coverage-item{
    padding:8px;
  }

  .jp-press-coverage-page .press-last-labels{
    font-size:1rem;
    gap:16px;
  }
}


/* Press coverage – video and article links */

.jp-press-coverage-page .press-video,
.jp-press-coverage-page .press-article-link{
  margin:12px 0 4px;
  font-weight:700;
}

.jp-press-coverage-page .press-video a,
.jp-press-coverage-page .press-article-link a{
  color:#0d2c54;
  text-decoration:underline;
  text-underline-offset:3px;
}

.jp-press-coverage-page .press-video a:hover,
.jp-press-coverage-page .press-article-link a:hover{
  color:#b08d25;
}

.jp-press-coverage-page .press-coverage-item > a{
  display:block;
}


/* Embedded press conference video – lazy loading */

.jp-press-coverage-page .press-video-container{
  width:100%;
  max-width:760px;
  margin:18px auto 8px;
  text-align:center;
}

.jp-press-coverage-page .press-video-container h3{
  font-size:1.05rem;
  font-weight:700;
  color:#0d2c54;
  margin-bottom:10px;
}

.jp-press-coverage-page .press-video-container video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  background:#000;
  object-fit:contain;
  margin:0 auto;
}

/* JP Laboratories – Plant-Based Milks page
   Append this page-scoped block to css/style.css. Do not replace the master stylesheet. */
.jp-plant-milks-page{background:#f2f2f2;color:#111;font-family:Inter,Arial,sans-serif}
.jp-plant-milks-page .plant-main{width:min(1120px,94%);margin:0 auto;padding:18px 0 42px}
.jp-plant-milks-page .plant-title{text-align:center;background:#050505;color:#66ff33;padding:12px 16px;margin:0 0 12px}
.jp-plant-milks-page .plant-title h1{font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1.2;font-weight:800;margin:0}
.jp-plant-milks-page .plant-copy{background:#fff;border:1px solid #777;padding:14px 16px;margin-bottom:12px}
.jp-plant-milks-page .plant-copy p{font-size:.96rem;line-height:1.48;margin:0 0 12px}
.jp-plant-milks-page .plant-copy p:last-child{margin-bottom:0}
.jp-plant-milks-page .plant-media-row{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(300px,1fr);gap:22px;align-items:center;padding:0 10px;margin:12px 0 18px}
.jp-plant-milks-page .plant-photo{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;border:1px solid #555;transition:transform .25s ease}
.jp-plant-milks-page .plant-photo:hover{transform:scale(1.02)}
.jp-plant-milks-page .plant-points{background:#fff;border:1px solid #777;padding:14px 18px}
.jp-plant-milks-page .plant-points ul{margin:0;padding-left:22px}
.jp-plant-milks-page .plant-points li{padding-left:4px;margin:0 0 14px;line-height:1.45}
.jp-plant-milks-page .plant-points li:last-child{margin-bottom:0}
.jp-plant-milks-page .plant-video{width:min(760px,100%);margin:18px auto 0;text-align:center}
.jp-plant-milks-page .plant-video h2{font-size:1.1rem;color:#0d2c54;font-weight:700;margin:0 0 10px}
.jp-plant-milks-page .plant-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;object-fit:contain}
@media(max-width:700px){.jp-plant-milks-page .plant-main{width:96%;padding-top:10px}.jp-plant-milks-page .plant-copy{padding:10px}.jp-plant-milks-page .plant-media-row{grid-template-columns:1fr;gap:14px;padding:0}.jp-plant-milks-page .plant-photo{max-width:330px}}


/* Plant-based milks – restore white paper-style content */

body.jp-plant-milks-page {
    background-color: #f2f2f2 !important;
    background-image: none !important;
}

.jp-plant-milks-page .plant-main {
    max-width: 1120px;
    margin: 24px auto 40px;
    padding: 22px;
    background: #ffffff;
    border: 1px solid #e2e2e2;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

.jp-plant-milks-page .plant-copy,
.jp-plant-milks-page .plant-media-row,
.jp-plant-milks-page .plant-video {
    background: #ffffff;
    border: none;
    box-shadow: none;
}

.jp-plant-milks-page .plant-title {
    margin-bottom: 16px;
}

@media(max-width:700px) {
    .jp-plant-milks-page .plant-main {
        width: 96%;
        margin: 12px auto 24px;
        padding: 12px;
    }
}

.jp-plant-milks-page .plant-photo video {
    display: block;
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
    background: #000;
    border-radius: 4px;
}

/* Additional page-scoped refinements for radtriage-radsticker.html.
   Append this block AFTER the existing RADTriage page styles in css/style.css. */

/* Restore the breathing room visible in the PowerPoint layout. */
.jp-radtriage-page .rad-title-band {
    margin-top: 24px;
}
.jp-radtriage-page .rad-product-grid {
    margin-top: 20px;
    margin-bottom: 12px;
}

/* Reduce the two large explanatory images while retaining hover zoom. */
.jp-radtriage-page .rad-dose-zoom {
    width: 76%;
    max-width: 720px;
}
.jp-radtriage-page .rad-dose-diagram {
    width: 100%;
    max-width: 720px;
}
.jp-radtriage-page .rad-blood-zoom {
    width: 48%;
    max-width: 520px;
    margin: 0 auto 2px;
}
.jp-radtriage-page .rad-blood-photo {
    width: 100%;
    max-width: 520px;
}
.jp-radtriage-page .rad-zoom-frame:hover img,
.jp-radtriage-page .rad-zoom-frame:focus-within img {
    transform: scale(1.18);
}

@media (max-width: 700px) {
    .jp-radtriage-page .rad-title-band {
        margin-top: 14px;
    }
    .jp-radtriage-page .rad-product-grid {
        margin-top: 14px;
    }
    .jp-radtriage-page .rad-dose-zoom {
        width: 94%;
    }
    .jp-radtriage-page .rad-blood-zoom {
        width: 72%;
    }
}

/* Page-scoped additions for radtriage-radsticker.html. Append to css/style.css. */
.jp-radtriage-page {
    margin: 0;
    background: #ffffff;
    color: #111111;
    font-family: Inter, Arial, sans-serif;
}
.jp-radtriage-page .rad-page {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 10px 12px;
}
.jp-radtriage-page .rad-hero {
    min-height: 100px;
    display: grid;
    grid-template-columns: 1fr 2.2fr 1fr;
    align-items: center;
    gap: 16px;
    padding: 10px 16px;
    background: #102238;
    text-align: center;
}
.jp-radtriage-page .rad-hero-side {
    color: #ffff00;
    font-size: clamp(14px, 1.55vw, 20px);
    line-height: 1.25;
    font-weight: 500;
}
.jp-radtriage-page .rad-hero-center h1 {
    margin: 0 0 5px;
    color: #ffffff;
    font-size: clamp(22px, 2.3vw, 30px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-hero-center p {
    margin: 1px 0;
    color: #00ef32;
    font-size: clamp(15px, 1.7vw, 22px);
    line-height: 1.2;
    font-weight: 500;
}
.jp-radtriage-page .rad-title-band {
    background: #000000;
    color: #00ff00;
    text-align: center;
    padding: 8px 6px 9px;
}
.jp-radtriage-page .rad-title-band h2 {
    margin: 0;
    color: #00ff00;
    font-size: clamp(19px, 2vw, 27px);
    line-height: 1.18;
    font-weight: 800;
}
.jp-radtriage-page .rad-title-band p {
    margin: 2px 0 0;
    color: #ffff00;
    font-size: clamp(16px, 1.7vw, 22px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-content-panel {
    border: 0;
    padding: 0;
}
.jp-radtriage-page .rad-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 8px;
}
.jp-radtriage-page .rad-product-card {
    min-width: 0;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5px 6px 6px;
    border: 1px solid #111111;
    color: #000000;
    text-align: center;
    text-decoration: none;
}
.jp-radtriage-page .rad-card-cream { background: #fcffcf; }
.jp-radtriage-page .rad-card-green { background: #f1fff1; }
.jp-radtriage-page .rad-product-card h3 {
    min-height: 20px;
    margin: 0 0 5px;
    color: #000000;
    font-size: clamp(14px, 1.25vw, 17px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-product-card > img {
    display: block;
    width: 100%;
    height: 82px;
    object-fit: contain;
    margin: 0 auto 3px;
}
.jp-radtriage-page .rad-product-card p {
    margin: auto 0 0;
    color: #000000;
    font-size: clamp(13px, 1.25vw, 16px);
    line-height: 1.2;
    font-weight: 700;
}
.jp-radtriage-page .rad-family-images {
    width: 100%;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}
.jp-radtriage-page .rad-family-images img:first-child {
    width: 68%; height: 100%; object-fit: contain;
}
.jp-radtriage-page .rad-family-images img:last-child {
    width: 28%; height: 100%; object-fit: contain;
}
.jp-radtriage-page .rad-product-card:hover,
.jp-radtriage-page .rad-product-card:focus-visible {
    outline: 2px solid #102238;
    outline-offset: 1px;
}
.jp-radtriage-page .rad-link-nav {
    margin: 0 0 8px;
}
.jp-radtriage-page .rad-link-row {
    display: grid;
    justify-content: space-around;
    gap: 8px;
    margin-bottom: 7px;
}
.jp-radtriage-page .rad-link-row-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jp-radtriage-page .rad-link-row-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jp-radtriage-page .rad-link-row a {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid #111111;
    background: #fcffcf;
    color: #000000;
    text-align: center;
    text-decoration: none;
    font-size: clamp(13px, 1.25vw, 16px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-link-row-three:first-child a:nth-child(1),
.jp-radtriage-page .rad-link-row-three:first-child a:nth-child(3),
.jp-radtriage-page .rad-link-row-four a:nth-child(1),
.jp-radtriage-page .rad-link-row-four a:nth-child(3) { background: #fcfeca; }
.jp-radtriage-page .rad-link-row-three:first-child a:nth-child(2),
.jp-radtriage-page .rad-link-row-three:nth-child(2) a:nth-child(1),
.jp-radtriage-page .rad-link-row-three:nth-child(2) a:nth-child(3),
.jp-radtriage-page .rad-link-row-four a:nth-child(2),
.jp-radtriage-page .rad-link-row-four a:nth-child(4) { background: #f3fff3; }
.jp-radtriage-page .rad-link-row-three:nth-child(2) a:nth-child(2) { background: #fcfeca; }
.jp-radtriage-page .rad-link-row a:hover,
.jp-radtriage-page .rad-link-row a:focus-visible {
    text-decoration: underline;
    outline: 2px solid #102238;
    outline-offset: 1px;
}
.jp-radtriage-page .rad-copy {
    border: 1px solid #222222;
    padding: 5px 6px 8px;
    color: #111111;
    font-size: 14px;
    line-height: 1.22;
    text-align: left;
}
.jp-radtriage-page .rad-copy p { margin: 0 0 12px; }
.jp-radtriage-page .rad-copy a { color: #0563c1; text-decoration: underline; overflow-wrap: anywhere; }
.jp-radtriage-page .rad-dose-diagram {
    display: block;
    width: 82%;
    max-width: 980px;
    height: auto;
    margin: 12px auto 14px;
}
.jp-radtriage-page .rad-blood-caption {
    margin: 12px 0 4px !important;
    text-align: center;
    font-weight: 700;
}
.jp-radtriage-page .rad-blood-photo {
    display: block;
    width: 62%;
    max-width: 760px;
    height: auto;
    margin: 0 auto 2px;
}
.jp-radtriage-page .rad-closing {
    margin: 0 !important;
    text-align: center;
    font-weight: 700;
}
@media (max-width: 700px) {
    .jp-radtriage-page .rad-page { padding: 0 5px 8px; }
    .jp-radtriage-page .rad-hero { grid-template-columns: 1fr; gap: 6px; padding: 12px 8px; }
    .jp-radtriage-page .rad-hero-center { order: 0; }
    .jp-radtriage-page .rad-hero-left { order: 1; }
    .jp-radtriage-page .rad-hero-right { order: 2; }
    .jp-radtriage-page .rad-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .jp-radtriage-page .rad-product-card { min-height: 145px; }
    .jp-radtriage-page .rad-link-row { gap: 6px; }
    .jp-radtriage-page .rad-link-row-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jp-radtriage-page .rad-link-row-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jp-radtriage-page .rad-copy { font-size: 13px; }
    .jp-radtriage-page .rad-dose-diagram { width: 100%; }
    .jp-radtriage-page .rad-blood-photo { width: 88%; }
}
/* Page-scoped additions for radtriage-radsticker.html. Append to css/style.css. */
.jp-radtriage-page {
    margin: 0;
    background: #ffffff;
    color: #111111;
    font-family: Inter, Arial, sans-serif;
}
.jp-radtriage-page .rad-page {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 10px 12px;
}
.jp-radtriage-page .rad-title-band {
    background: #000000;
    color: #00ff00;
    text-align: center;
    padding: 8px 6px 9px;
}
.jp-radtriage-page .rad-title-band h2 {
    margin: 0;
    color: #00ff00;
    font-size: clamp(19px, 2vw, 27px);
    line-height: 1.18;
    font-weight: 800;
}
.jp-radtriage-page .rad-title-band p {
    margin: 2px 0 0;
    color: #ffff00;
    font-size: clamp(16px, 1.7vw, 22px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-content-panel {
    border: 0;
    padding: 0;
}
.jp-radtriage-page .rad-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 8px;
}
.jp-radtriage-page .rad-product-card {
    min-width: 0;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5px 6px 6px;
    border: 1px solid #111111;
    color: #000000;
    text-align: center;
    text-decoration: none;
}
.jp-radtriage-page .rad-card-cream { background: #fcffcf; }
.jp-radtriage-page .rad-card-green { background: #f1fff1; }
.jp-radtriage-page .rad-product-card h3 {
    min-height: 20px;
    margin: 0 0 5px;
    color: #000000;
    font-size: clamp(14px, 1.25vw, 17px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-product-card > img {
    display: block;
    width: 100%;
    height: 82px;
    object-fit: contain;
    margin: 0 auto 3px;
}
.jp-radtriage-page .rad-product-card p {
    margin: auto 0 0;
    color: #000000;
    font-size: clamp(13px, 1.25vw, 16px);
    line-height: 1.2;
    font-weight: 700;
}
.jp-radtriage-page .rad-family-images {
    width: 100%;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}
.jp-radtriage-page .rad-family-images img:first-child {
    width: 68%; height: 100%; object-fit: contain;
}
.jp-radtriage-page .rad-family-images img:last-child {
    width: 28%; height: 100%; object-fit: contain;
}
.jp-radtriage-page .rad-product-card:hover,
.jp-radtriage-page .rad-product-card:focus-visible {
    outline: 2px solid #102238;
    outline-offset: 1px;
}
.jp-radtriage-page .rad-link-nav {
    margin: 0 0 8px;
}
.jp-radtriage-page .rad-link-row {
    display: grid;
    justify-content: space-around;
    gap: 8px;
    margin-bottom: 7px;
}
.jp-radtriage-page .rad-link-row-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jp-radtriage-page .rad-link-row-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jp-radtriage-page .rad-link-row a {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid #111111;
    background: #fcffcf;
    color: #000000;
    text-align: center;
    text-decoration: none;
    font-size: clamp(13px, 1.25vw, 16px);
    line-height: 1.15;
    font-weight: 700;
}
.jp-radtriage-page .rad-link-row-three:first-child a:nth-child(1),
.jp-radtriage-page .rad-link-row-three:first-child a:nth-child(3),
.jp-radtriage-page .rad-link-row-four a:nth-child(1),
.jp-radtriage-page .rad-link-row-four a:nth-child(3) { background: #fcfeca; }
.jp-radtriage-page .rad-link-row-three:first-child a:nth-child(2),
.jp-radtriage-page .rad-link-row-three:nth-child(2) a:nth-child(1),
.jp-radtriage-page .rad-link-row-three:nth-child(2) a:nth-child(3),
.jp-radtriage-page .rad-link-row-four a:nth-child(2),
.jp-radtriage-page .rad-link-row-four a:nth-child(4) { background: #f3fff3; }
.jp-radtriage-page .rad-link-row-three:nth-child(2) a:nth-child(2) { background: #fcfeca; }
.jp-radtriage-page .rad-link-row a:hover,
.jp-radtriage-page .rad-link-row a:focus-visible {
    text-decoration: underline;
    outline: 2px solid #102238;
    outline-offset: 1px;
}
.jp-radtriage-page .rad-copy {
    border: 1px solid #222222;
    padding: 5px 6px 8px;
    color: #111111;
    font-size: 14px;
    line-height: 1.22;
    text-align: left;
}
.jp-radtriage-page .rad-copy p { margin: 0 0 12px; }
.jp-radtriage-page .rad-copy a { color: #0563c1; text-decoration: underline; overflow-wrap: anywhere; }
.jp-radtriage-page .rad-dose-diagram {
    display: block;
    width: 100%;
    max-width: 980px;
    height: auto;
    margin: 0 auto;
}
.jp-radtriage-page .rad-zoom-frame {
    width: 100%;
    margin: 12px auto 14px;
    overflow: hidden;
    cursor: zoom-in;
}
.jp-radtriage-page .rad-dose-zoom { max-width: 980px; }
.jp-radtriage-page .rad-blood-zoom {
    width: 62%;
    max-width: 760px;
    margin: 0 auto 2px;
}
.jp-radtriage-page .rad-zoom-frame img {
    transition: transform 450ms ease;
    transform-origin: center center;
}
.jp-radtriage-page .rad-zoom-frame:hover img,
.jp-radtriage-page .rad-zoom-frame:focus-within img {
    transform: scale(1.3);
}
@media (prefers-reduced-motion: reduce) {
    .jp-radtriage-page .rad-zoom-frame img { transition: none; }
}
.jp-radtriage-page .rad-blood-caption {
    margin: 12px 0 4px !important;
    text-align: center;
    font-weight: 700;
}
.jp-radtriage-page .rad-blood-photo {
    display: block;
    width: 100%;
    max-width: 760px;
    height: auto;
    margin: 0 auto;
}
.jp-radtriage-page .rad-closing {
    margin: 0 !important;
    text-align: center;
    font-weight: 700;
}
@media (max-width: 700px) {
    .jp-radtriage-page .rad-page { padding: 0 5px 8px; }
    .jp-radtriage-page .rad-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .jp-radtriage-page .rad-product-card { min-height: 145px; }
    .jp-radtriage-page .rad-link-row { gap: 6px; }
    .jp-radtriage-page .rad-link-row-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jp-radtriage-page .rad-link-row-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jp-radtriage-page .rad-copy { font-size: 13px; }
    .jp-radtriage-page .rad-dose-zoom { width: 100%; }
    .jp-radtriage-page .rad-blood-zoom { width: 88%; }
}



/* =====================================================
   RADTRIAGE DETAIL PAGE — CORRECTED PAGE STYLING
   Replace the earlier generic RADTriage CSS block.
   Keep all other shared CSS unchanged.
   ===================================================== */

body.jp-radtriage-detail {
    background: #e5e7eb;
}

body.jp-radtriage-detail .radt-detail {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 35px auto 45px;
    padding: 35px 45px;
    box-sizing: border-box;
    background: #ffffff;
    box-shadow: 0 3px 18px rgba(0,0,0,0.10);
    font-family: 'Inter', sans-serif;
}

/* Black title strip */
body.jp-radtriage-detail .radt-title {
    background: #000000;
    color: #ffffff;
    text-align: center;
    padding: 18px 20px;
    margin: 0 0 25px;
}

body.jp-radtriage-detail .radt-title h1 {
    color: #ffffff;
    margin: 0 0 6px;
    font-size: 2rem;
    font-weight: 800;
}

body.jp-radtriage-detail .radt-title p {
    color: #ffeb00;
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
}

/* Highlighted resource buttons */
body.jp-radtriage-detail .radt-action-row {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 18px;
    margin: 0 auto 30px;
}

body.jp-radtriage-detail .radt-action-row a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 190px;
    min-height: 62px;
    padding: 12px 24px;
    box-sizing: border-box;
    background: #fff2a8;
    border: 2px solid #d6b900;
    color: #111111;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.12);
    transition: background 0.2s ease, transform 0.2s ease;
}

body.jp-radtriage-detail .radt-action-row a:hover {
    background: #ffe45c;
    transform: translateY(-2px);
}

/* Product image */
body.jp-radtriage-detail .radt-product {
    margin: 0 auto 30px;
    text-align: center;
}

body.jp-radtriage-detail .radt-product img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Main text */
body.jp-radtriage-detail .radt-copy {
    line-height: 1.65;
    color: #1e293b;
    margin: 0 auto 28px;
}

body.jp-radtriage-detail .radt-copy p {
    margin: 0 0 18px;
}

/* Dose comparison image */
body.jp-radtriage-detail .radt-comparison {
    margin: 25px auto 18px;
    text-align: center;
}

body.jp-radtriage-detail .radt-comparison img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Caption and closing statement */
body.jp-radtriage-detail .radt-caption {
    text-align: center;
    margin: 12px auto 24px;
}

body.jp-radtriage-detail .radt-closing {
    background: #000000;
    color: #ffeb00;
    text-align: center;
    font-weight: 800;
    padding: 16px 18px;
    margin: 25px auto 0;
}

/* Mobile */
@media (max-width: 768px) {
    body.jp-radtriage-detail .radt-detail {
        width: calc(100% - 20px);
        margin: 15px auto 25px;
        padding: 20px 15px;
    }

    body.jp-radtriage-detail .radt-action-row {
        flex-direction: column;
        gap: 12px;
    }

    body.jp-radtriage-detail .radt-action-row a {
        width: 100%;
    }

    body.jp-radtriage-detail .radt-title h1 {
        font-size: 1.6rem;
    }
}

/* =====================================================
   RADSTICKER DETAIL PAGE — PAGE-SCOPED ADDITIONS
   Append to the end of css/style.css; do not replace it.
   ===================================================== */
body.jp-radsticker-detail { background: #e5e7eb; }
body.jp-radsticker-detail .rads-detail {
  width: calc(100% - 40px); max-width: 1120px; margin: 35px auto 45px;
  padding: 35px 45px; box-sizing: border-box; background: #fff;
  box-shadow: 0 3px 18px rgba(0,0,0,.10); font-family: 'Inter', sans-serif;
}
body.jp-radsticker-detail .rads-title {
  background: #000; color: #fff; text-align: center; padding: 14px 20px; margin: 0 0 30px;
}
body.jp-radsticker-detail .rads-title h1 { color: #00e000; margin: 0; font-size: 2rem; font-weight: 800; }
body.jp-radsticker-detail .rads-title p { color: #ffeb00; margin: 0; font-size: 1.2rem; font-weight: 800; }
body.jp-radsticker-detail .rads-actions {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0 auto 28px;
}
body.jp-radsticker-detail .rads-actions a {
  min-height: 58px; display: flex; align-items: center; justify-content: center;
  padding: 10px; box-sizing: border-box; border: 1px solid #111; color: #111;
  font-weight: 700; text-align: center; text-decoration: none; transition: filter .2s ease;
}
body.jp-radsticker-detail .rads-actions a:hover { filter: brightness(.96); }
body.jp-radsticker-detail .rads-flyer, body.jp-radsticker-detail .rads-press { background: #f3fff3; }
body.jp-radsticker-detail .rads-manual, body.jp-radsticker-detail .rads-videos { background: #fcfeca; }

/* Keep source images visually restrained; enlarge smoothly on hover for inspection. */
body.jp-radsticker-detail .rads-art-panel {
  position: relative; overflow: visible; border: 1px solid #111; background: #fff;
  margin: 0 0 18px; padding: 12px; display: flex; justify-content: center; align-items: center;
}
body.jp-radsticker-detail .rads-art-panel img {
  position: relative; z-index: 1; display: block; width: auto; height: auto;
  max-width: 76%; max-height: 560px; object-fit: contain;
  cursor: zoom-in; transform: scale(1); transform-origin: center center;
  transition: transform .28s ease, box-shadow .28s ease;
}
body.jp-radsticker-detail .rads-art-panel img:hover {
  z-index: 20; transform: scale(1.28); box-shadow: 0 8px 28px rgba(0,0,0,.28);
}
body.jp-radsticker-detail .rads-video-panel {
  position: relative; overflow: visible; border: 1px solid #111; padding: 10px;
  margin: 0 0 18px; background: #fff;
}
body.jp-radsticker-detail .rads-video-panel p { margin: 0 0 12px; }
body.jp-radsticker-detail .rads-video-panel img {
  position: relative; z-index: 1; display: block; width: min(100%, 340px);
  max-height: 420px; object-fit: contain; height: auto; margin: 0 auto;
  cursor: zoom-in; transition: transform .28s ease, box-shadow .28s ease;
}
body.jp-radsticker-detail .rads-video-panel a:hover img {
  z-index: 20; transform: scale(1.22); box-shadow: 0 8px 28px rgba(0,0,0,.28);
}
body.jp-radsticker-detail .rads-international-panel {
  position: relative; overflow: visible; border: 1px solid #111; background: #fff;
  padding: 18px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; align-items: center;
}
body.jp-radsticker-detail .rads-international-panel img {
  position: relative; z-index: 1; display: block; width: auto; max-width: 82%;
  max-height: 430px; height: auto; object-fit: contain; margin: 0 auto;
  cursor: zoom-in; transition: transform .28s ease, box-shadow .28s ease;
}
body.jp-radsticker-detail .rads-international-panel img:hover {
  z-index: 20; transform: scale(1.22); box-shadow: 0 8px 28px rgba(0,0,0,.28);
}
@media (max-width: 768px) {
  body.jp-radsticker-detail .rads-detail { width: calc(100% - 20px); margin: 15px auto 25px; padding: 20px 15px; }
  body.jp-radsticker-detail .rads-actions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  body.jp-radsticker-detail .rads-title h1 { font-size: 1.6rem; }
  body.jp-radsticker-detail .rads-international-panel { grid-template-columns: 1fr; }
  body.jp-radsticker-detail .rads-art-panel img { max-width: 92%; max-height: 420px; }
  body.jp-radsticker-detail .rads-art-panel img:hover,
  body.jp-radsticker-detail .rads-international-panel img:hover,
  body.jp-radsticker-detail .rads-video-panel a:hover img { transform: scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  body.jp-radsticker-detail .rads-detail img { transition: none; }
}

/* RADSticker — final image sizing and restrained hover zoom.
   Append AFTER all earlier RADSticker-specific CSS.
   This supersedes the earlier RADSticker image sizing and zoom rules. */

/* Keep all image content clipped within its own panel. */
body.jp-radsticker-detail .rads-art-panel,
body.jp-radsticker-detail .rads-video-panel,
body.jp-radsticker-detail .rads-international-panel {
  overflow: hidden;
}

/* Main product and technical images: visibly smaller, centred. */
body.jp-radsticker-detail .rads-art-panel img {
  display: block;
  width: auto;
  max-width: 58%;
  max-height: 420px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  cursor: zoom-in;
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease;
}
body.jp-radsticker-detail .rads-art-panel img:hover {
  transform: scale(1.05);
}

/* Video poster: compact presentation. */
body.jp-radsticker-detail .rads-video-panel img {
  display: block;
  width: min(100%, 280px);
  max-height: 340px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  cursor: zoom-in;
  transform: scale(1);
  transition: transform .25s ease;
}
body.jp-radsticker-detail .rads-video-panel a:hover img {
  transform: scale(1.05);
}

/* International examples: each image kept to a modest size. */
body.jp-radsticker-detail .rads-international-panel img {
  display: block;
  width: auto;
  max-width: 68%;
  max-height: 330px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  cursor: zoom-in;
  transform: scale(1);
  transition: transform .25s ease;
}
body.jp-radsticker-detail .rads-international-panel img:hover {
  transform: scale(1.05);
}

@media (max-width: 768px) {
  body.jp-radsticker-detail .rads-art-panel img {
    max-width: 88%;
    max-height: 340px;
  }
  body.jp-radsticker-detail .rads-video-panel img {
    width: min(100%, 250px);
    max-height: 300px;
  }
  body.jp-radsticker-detail .rads-international-panel img {
    max-width: 82%;
    max-height: 300px;
  }
  body.jp-radsticker-detail .rads-art-panel img:hover,
  body.jp-radsticker-detail .rads-video-panel a:hover img,
  body.jp-radsticker-detail .rads-international-panel img:hover {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radsticker-detail .rads-detail img {
    transition: none;
  }
}

/* RADSticker embedded YouTube video — append after RADSticker page CSS. */
body.jp-radsticker-detail .rads-video-panel {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 18px;
  padding: 12px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #111;
  background: #fff;
}
body.jp-radsticker-detail .rads-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}
body.jp-radsticker-detail .rads-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


/* RADSticker video — align outer border with other panels */
body.jp-radsticker-detail .rads-video-panel {
  width: 100%;
  max-width: none;
  margin: 0 0 18px;
  padding: 12px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #111;
  background: #fff;
}

/* Keep the video itself centred and comfortably sized */
body.jp-radsticker-detail .rads-video-embed {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}

body.jp-radsticker-detail .rads-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* RADSticker Videos page — REPLACE the previous RADSticker Videos page-scoped CSS block with this version. */
body.jp-radsticker-videos {
  background: #e8e8e8;
  color: #171717;
  font-family: 'Inter', sans-serif;
}
body.jp-radsticker-videos .radv-page {
  width: min(100% - 32px, 1040px);
  margin: 28px auto 44px;
  padding: clamp(18px, 3vw, 34px);
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 14px rgba(0,0,0,.10);
}
body.jp-radsticker-videos .radv-title {
  margin: 0 0 26px;
  padding: 14px 20px;
  background: #000;
  color: #fff;
  text-align: center;
}
body.jp-radsticker-videos .radv-title h1 {
  margin: 0;
  color: #00e000;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.2;
  font-weight: 800;
}
body.jp-radsticker-videos .radv-title p {
  margin: 0;
  color: #ffeb00;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.35;
  font-weight: 800;
}
body.jp-radsticker-videos .radv-video-section {
  margin: 0 0 26px;
  padding: 18px;
  border: 1px solid #222;
  background: #fff;
}
body.jp-radsticker-videos .radv-video-section h2 {
  margin: 0 0 16px;
  color: #171717;
  font-size: clamp(18px, 2.2vw, 23px);
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
}
body.jp-radsticker-videos .radv-video-embed {
  position: relative;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}
body.jp-radsticker-videos .radv-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
body.jp-radsticker-videos .radv-product-visual {
  margin: 22px auto 26px;
  padding: 12px;
  border: 1px solid #222;
  background: #fff;
  text-align: center;
  overflow: hidden;
}
body.jp-radsticker-videos .radv-product-visual img {
  display: block;
  width: auto;
  max-width: 66%;
  max-height: 360px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  transition: transform .22s ease;
  transform-origin: center;
}
body.jp-radsticker-videos .radv-product-visual:hover img {
  transform: scale(1.05);
}
@media (max-width: 640px) {
  body.jp-radsticker-videos .radv-page {
    width: min(100% - 16px, 1040px);
    margin: 12px auto 28px;
    padding: 12px;
  }
  body.jp-radsticker-videos .radv-video-section {
    padding: 12px;
    margin-bottom: 20px;
  }
  body.jp-radsticker-videos .radv-product-visual img {
    max-width: 94%;
    max-height: 300px;
  }
  body.jp-radsticker-videos .radv-product-visual:hover img {
    transform: scale(1.03);
  }
}

/* RADTriage-TLD/OSL — page-scoped CSS. Replace only the previous RADTLD page block.
   Matches the actual classes in radtriage-tld-osl.html: .radtld-slide and .radtld-block. */

body.jp-radtld-detail { background:#e5e7eb; }

body.jp-radtld-detail .radtld-detail {
  width:calc(100% - 40px);
  max-width:1120px;
  margin:28px auto 42px;
  padding:28px 36px;
  box-sizing:border-box;
  background:#fff;
  box-shadow:0 3px 18px rgba(0,0,0,.10);
  font-family:'Inter',sans-serif;
}

/* Established RADSticker-style title band */
body.jp-radtld-detail .radtld-title {
  background:#000;
  color:#fff;
  text-align:center;
  padding:14px 20px;
  margin:0 0 24px;
}
body.jp-radtld-detail .radtld-title h1 {
  color:#66ff33;
  margin:0;
  font-size:2rem;
  font-weight:800;
}
body.jp-radtld-detail .radtld-title p {
  color:#ffff00;
  margin:2px 0 0;
  font-size:1.2rem;
  font-weight:800;
}

/* Three source-slide groups, each with separate bordered content blocks */
body.jp-radtld-detail .radtld-slide {
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:0 0 22px;
}
body.jp-radtld-detail .radtld-block {
  border:1px solid #111;
  background:#fff;
  padding:16px 20px;
  margin:0;
  box-sizing:border-box;
}
body.jp-radtld-detail .radtld-block h2 {
  color:#111;
  font-size:1.02rem;
  line-height:1.4;
  text-align:center;
  margin:2px 0 10px;
  font-weight:800;
}
body.jp-radtld-detail .radtld-block p {
  color:#111;
  line-height:1.55;
  margin:8px 0;
}

/* Blue bullet markers and blue copy as indicated in the source */
body.jp-radtld-detail .radtld-blue-bullets {
  list-style:disc;
  padding-left:27px;
  margin:10px 0 14px;
}
body.jp-radtld-detail .radtld-blue-bullets li {
  padding-left:3px;
  margin:8px 0;
  line-height:1.55;
}
body.jp-radtld-detail .radtld-blue-bullets li::marker { color:#0000ff; }
body.jp-radtld-detail .radtld-blue-bullets li.blue-copy { color:#0000ff; }

/* Images remain contained, modest in size, and zoom slightly on hover */
body.jp-radtld-detail .radtld-image {
  margin:10px auto 12px;
  padding:4px;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  max-width:100%;
  box-sizing:border-box;
}
body.jp-radtld-detail .radtld-image img {
  display:block;
  width:auto;
  height:auto;
  max-width:62%;
  max-height:300px;
  object-fit:contain;
  cursor:zoom-in;
  transform:scale(1);
  transition:transform .25s ease;
}
body.jp-radtld-detail .radtld-image img:hover { transform:scale(1.05); }

/* Chipstrate holder → thick arrow → TLD reader relationship */
body.jp-radtld-detail .radtld-arrow-row {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  width:100%;
}
body.jp-radtld-detail .radtld-arrow-row .radtld-image {
  flex:1 1 0;
  min-width:0;
}
body.jp-radtld-detail .radtld-arrow-row .radtld-image img {
  max-width:100%;
  max-height:230px;
}
body.jp-radtld-detail .radtld-thick-arrow {
  flex:0 0 64px;
  height:24px;
  background:#111;
  position:relative;
  margin:0 4px;
}
body.jp-radtld-detail .radtld-thick-arrow::after {
  content:"";
  position:absolute;
  right:-29px;
  top:-16px;
  border-top:28px solid transparent;
  border-bottom:28px solid transparent;
  border-left:32px solid #111;
}

/* Three images under WHEN… must stay in one horizontal row on desktop */
body.jp-radtld-detail .radtld-image-trio {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:center;
  width:100%;
}
body.jp-radtld-detail .radtld-image-trio .radtld-image {
  min-width:0;
  margin:8px 0;
}
body.jp-radtld-detail .radtld-image-trio .radtld-image img {
  max-width:100%;
  max-height:190px;
}
body.jp-radtld-detail .radtld-copy {
  max-width:720px;
  margin:0 auto;
}
body.jp-radtld-detail .radtld-closing p {
  color:#ff0000;
  text-align:center;
  font-weight:700;
}

@media(max-width:768px) {
  body.jp-radtld-detail .radtld-detail {
    width:calc(100% - 20px);
    margin:14px auto 24px;
    padding:18px 13px;
  }
  body.jp-radtld-detail .radtld-block { padding:13px; }
  body.jp-radtld-detail .radtld-image img {
    max-width:90%;
    max-height:250px;
  }
  body.jp-radtld-detail .radtld-arrow-row { gap:7px; }
  body.jp-radtld-detail .radtld-arrow-row .radtld-image img { max-height:145px; }
  body.jp-radtld-detail .radtld-thick-arrow {
    flex-basis:24px;
    height:12px;
  }
  body.jp-radtld-detail .radtld-thick-arrow::after {
    right:-15px;
    top:-8px;
    border-top:14px solid transparent;
    border-bottom:14px solid transparent;
    border-left:17px solid #111;
  }
  /* Preserve the three-image horizontal grouping on mobile with compact images. */
  body.jp-radtld-detail .radtld-image-trio {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  body.jp-radtld-detail .radtld-image-trio .radtld-image img {
    max-width:100%;
    max-height:105px;
  }
  body.jp-radtld-detail .radtld-image img:hover { transform:scale(1.03); }
}

/* =========================================================
   RADTriage MANUALS PAGE — 5.1.1
   FINAL VISUAL ADJUSTMENT
   Replace the previous RADTriage Manuals page-specific CSS block
   with this block. Do not replace the shared master stylesheet.
   ========================================================= */

/* Match the finalized RADTriage/RADSticker page background and panel. */
body.jp-radtriage-manuals {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radtriage-manuals .radt-manuals-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 35px auto 45px;
  padding: 35px 45px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Same title band treatment as the approved RADSticker detail page. */
body.jp-radtriage-manuals .radt-manuals-title {
  background: #000;
  color: #fff;
  text-align: center;
  padding: 14px 20px;
  margin: 0 0 30px;
}
body.jp-radtriage-manuals .radt-manuals-title h1 {
  color: #00e000;
  margin: 0;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.2;
}
body.jp-radtriage-manuals .radt-manuals-title p {
  color: #ffeb00;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.35;
}

/* Preserve the PPT's individual button fills and use the site's navy blue text. */
body.jp-radtriage-manuals .radt-manual-language-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0 0 22px;
}
body.jp-radtriage-manuals .radt-manual-language-grid a {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  box-sizing: border-box;
  border: 1px solid #0d2c54;
  border-radius: 0;
  color: #0d2c54;
  font-size: 1.08rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 3px 9px rgba(0, 0, 0, .12);
  transition: filter .2s ease, transform .25s ease, box-shadow .25s ease;
}
body.jp-radtriage-manuals .radt-manual-language-grid a:nth-child(1),
body.jp-radtriage-manuals .radt-manual-language-grid a:nth-child(3),
body.jp-radtriage-manuals .radt-manual-language-grid a:nth-child(4),
body.jp-radtriage-manuals .radt-manual-language-grid a:nth-child(6) {
  background: #fcfeca;
}
body.jp-radtriage-manuals .radt-manual-language-grid a:nth-child(2),
body.jp-radtriage-manuals .radt-manual-language-grid a:nth-child(5) {
  background: #f3fff3;
}
body.jp-radtriage-manuals .radt-manual-language-grid a:hover,
body.jp-radtriage-manuals .radt-manual-language-grid a:focus-visible {
  filter: brightness(.96);
  transform: translateY(-2px);
  box-shadow: 0 7px 16px rgba(13, 44, 84, .20);
}

/* Main copy and links. */
body.jp-radtriage-manuals .radt-manuals-copy {
  color: #111;
  font-size: 1rem;
  line-height: 1.6;
}
body.jp-radtriage-manuals .radt-manuals-copy p {
  margin: 0 0 18px;
}
body.jp-radtriage-manuals .radt-manuals-copy a {
  color: #0d2c54;
  font-weight: 600;
  text-decoration: underline;
}
body.jp-radtriage-manuals .radt-manuals-copy a:hover {
  color: #b89628;
}

/* Images: framed with a soft shadow and a restrained hover zoom. */
body.jp-radtriage-manuals .radt-manuals-image {
  margin: 22px auto 26px;
  text-align: center;
  overflow: visible;
}
body.jp-radtriage-manuals .radt-manuals-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border: 1px solid #d1d5db;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .22);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}
body.jp-radtriage-manuals .radt-manuals-dose img {
  max-width: 900px;
}
body.jp-radtriage-manuals .radt-manuals-blood img {
  max-width: 650px;
}
body.jp-radtriage-manuals .radt-manuals-image img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .30);
}
body.jp-radtriage-manuals .radt-manuals-caption {
  color: #0d2c54;
  text-align: center;
  font-weight: 700;
}
body.jp-radtriage-manuals .radt-manuals-closing {
  margin: 12px 0 0 !important;
  color: #0d2c54;
  font-size: 1.15rem;
  font-weight: 800;
  text-align: center;
}

@media (max-width: 768px) {
  body.jp-radtriage-manuals .radt-manuals-detail {
    width: calc(100% - 20px);
    margin: 15px auto 25px;
    padding: 20px 15px;
  }
  body.jp-radtriage-manuals .radt-manuals-title h1 { font-size: 1.6rem; }
  body.jp-radtriage-manuals .radt-manual-language-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  body.jp-radtriage-manuals .radt-manual-language-grid a {
    min-height: 52px;
    padding: 8px;
    font-size: 1rem;
  }
  body.jp-radtriage-manuals .radt-manuals-dose img { max-width: 96%; }
  body.jp-radtriage-manuals .radt-manuals-blood img { max-width: 90%; }
  body.jp-radtriage-manuals .radt-manuals-image img:hover { transform: scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radtriage-manuals .radt-manuals-image img,
  body.jp-radtriage-manuals .radt-manual-language-grid a { transition: none; }
}

/* END — RADTriage MANUALS PAGE 5.1.1 */

/* =========================================================
   RADTriage FOREIGN LANGUAGE PAGE — 5.1.2
   Body class: jp-radtriage-foreign
   ACTION: APPEND this page-scoped block to css/style.css.
   Do not replace the shared master stylesheet.
   ========================================================= */

body.jp-radtriage-foreign {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radtriage-foreign .radt-foreign-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 35px auto 45px;
  padding: 35px 45px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Same approved RADTriage/RADSticker title treatment. */
body.jp-radtriage-foreign .radt-foreign-title {
  margin: 0 0 26px;
  padding: 14px 20px;
  background: #000;
  color: #fff;
  text-align: center;
}
body.jp-radtriage-foreign .radt-foreign-title h1 {
  margin: 0;
  color: #00e000;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}
body.jp-radtriage-foreign .radt-foreign-title p {
  margin: 0;
  color: #ffeb00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* The three original PowerPoint image panels retain their language order. */
body.jp-radtriage-foreign .radt-foreign-language-images {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin: 0 0 30px;
}
body.jp-radtriage-foreign .radt-foreign-image {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  overflow: visible;
}
body.jp-radtriage-foreign .radt-foreign-image img {
  display: block;
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto;
  border: 1px solid #d1d5db;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .22);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}
body.jp-radtriage-foreign .radt-foreign-image img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .30);
}

/* Source slide 2 explanatory copy and the original radiated comparison. */
body.jp-radtriage-foreign .radt-foreign-copy {
  color: #111;
  font-size: 1rem;
  line-height: 1.6;
}
body.jp-radtriage-foreign .radt-foreign-copy h2 {
  margin: 0 0 16px;
  color: #0d2c54;
  font-size: 1.18rem;
  line-height: 1.35;
  font-weight: 800;
}
body.jp-radtriage-foreign .radt-foreign-copy p {
  margin: 0 0 20px;
}
body.jp-radtriage-foreign .radt-foreign-copy a {
  color: #0d2c54;
  font-weight: 600;
  text-decoration: underline;
}
body.jp-radtriage-foreign .radt-foreign-copy a:hover {
  color: #b89628;
}
body.jp-radtriage-foreign .radt-foreign-comparison {
  margin: 20px auto 24px;
}
body.jp-radtriage-foreign .radt-foreign-comparison img {
  max-width: 850px;
}

@media (max-width: 768px) {
  body.jp-radtriage-foreign .radt-foreign-detail {
    width: calc(100% - 20px);
    margin: 15px auto 25px;
    padding: 20px 15px;
  }
  body.jp-radtriage-foreign .radt-foreign-title h1 {
    font-size: 1.6rem;
  }
  body.jp-radtriage-foreign .radt-foreign-title p {
    font-size: 1rem;
  }
  body.jp-radtriage-foreign .radt-foreign-language-images {
    gap: 12px;
    margin-bottom: 22px;
  }
  body.jp-radtriage-foreign .radt-foreign-image img:hover {
    transform: scale(1.03);
  }
  body.jp-radtriage-foreign .radt-foreign-copy {
    font-size: .96rem;
    line-height: 1.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radtriage-foreign .radt-foreign-image img {
    transition: none;
  }
}

/* END — RADTriage FOREIGN LANGUAGE PAGE 5.1.2 */

/* =========================================================
   RADTriage-TLD/OSL PAGE — 5.3
   Body class: jp-radtld-tld-osl
   ACTION: APPEND this page-specific block to css/style.css.
   Do not replace the shared master stylesheet.
   Uses the approved plain grey page background, white content panels,
   PowerPoint blue bullet text, and subtle image shadows/hover zoom.
   ========================================================= */

body.jp-radtld-tld-osl {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radtld-tld-osl .radtld-osl-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-radtld-tld-osl .radtld-osl-title {
  margin: 0 0 22px;
  padding: 14px 20px;
  background: #000;
  color: #fff;
  text-align: center;
}

body.jp-radtld-tld-osl .radtld-osl-title h1 {
  margin: 0;
  color: #00e000;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}

body.jp-radtld-tld-osl .radtld-osl-title p {
  margin: 3px 0 0;
  color: #ffeb00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

body.jp-radtld-tld-osl .radtld-osl-slide {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 24px;
}

body.jp-radtld-tld-osl .radtld-osl-panel {
  min-width: 0;
  padding: 8px 9px 12px;
  border: 1px solid #111;
  background: #fff;
}

body.jp-radtld-tld-osl .radtld-osl-panel h2 {
  margin: 0 0 8px;
  color: #111;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-radtld-tld-osl .radtld-osl-figure {
  margin: 8px auto 0;
  text-align: center;
  overflow: visible;
}

body.jp-radtld-tld-osl .radtld-osl-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 440px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border: 1px solid #d1d5db;
  box-shadow: 0 4px 13px rgba(0, 0, 0, .20);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}

body.jp-radtld-tld-osl .radtld-osl-figure img:hover {
  transform: scale(1.05);
  box-shadow: 0 9px 22px rgba(0, 0, 0, .30);
  position: relative;
  z-index: 2;
}

body.jp-radtld-tld-osl .radtld-osl-centered .radtld-osl-figure img {
  max-height: 340px;
}

body.jp-radtld-tld-osl .radtld-osl-bullets {
  margin: 4px 0 12px;
  padding-left: 22px;
  font-size: 1rem;
  line-height: 1.45;
}

body.jp-radtld-tld-osl .radtld-osl-bullets li {
  margin: 2px 0;
  color: #111;
}

body.jp-radtld-tld-osl .radtld-osl-bullets li.blue {
  color: #0000ff;
}

body.jp-radtld-tld-osl .radtld-osl-image-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: center;
}

body.jp-radtld-tld-osl .radtld-osl-image-pair img {
  max-height: 300px;
}

body.jp-radtld-tld-osl .radtld-osl-chipstrate-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, .8fr);
  gap: 16px;
  align-items: center;
}

body.jp-radtld-tld-osl .radtld-osl-chipstrate-row img {
  max-height: 250px;
}

body.jp-radtld-tld-osl .radtld-osl-arrow {
  font-size: 3rem;
  font-weight: 800;
  color: #000;
}

body.jp-radtld-tld-osl .radtld-osl-image-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: center;
}

body.jp-radtld-tld-osl .radtld-osl-image-trio img {
  max-height: 230px;
}

body.jp-radtld-tld-osl .radtld-osl-prototype-copy {
  display: inline-block;
  vertical-align: middle;
  width: 58%;
  font-size: 1rem;
  line-height: 1.45;
}

body.jp-radtld-tld-osl .radtld-osl-prototype-copy p {
  margin: 4px 0;
}

body.jp-radtld-tld-osl .radtld-osl-prototype .radtld-osl-figure {
  display: inline-block;
  vertical-align: middle;
  width: 38%;
}

body.jp-radtld-tld-osl .radtld-osl-prototype .radtld-osl-figure img {
  max-height: 270px;
}

body.jp-radtld-tld-osl .radtld-osl-closing {
  margin: 0;
  padding: 10px;
  border: 1px solid #111;
  background: #fff;
  color: red;
  font-size: 1.12rem;
  line-height: 1.4;
}

body.jp-radtld-tld-osl .radtld-osl-closing p {
  margin: 0;
}

/* Mobile layout */
@media (max-width: 700px) {
  body.jp-radtld-tld-osl .radtld-osl-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radtld-tld-osl .radtld-osl-title h1 {
    font-size: 1.55rem;
  }

  body.jp-radtld-tld-osl .radtld-osl-title p {
    font-size: 1rem;
  }

  body.jp-radtld-tld-osl .radtld-osl-image-pair,
  body.jp-radtld-tld-osl .radtld-osl-chipstrate-row,
  body.jp-radtld-tld-osl .radtld-osl-image-trio {
    grid-template-columns: 1fr;
  }

  body.jp-radtld-tld-osl .radtld-osl-arrow {
    text-align: center;
    transform: rotate(90deg);
  }

  body.jp-radtld-tld-osl .radtld-osl-prototype-copy,
  body.jp-radtld-tld-osl .radtld-osl-prototype .radtld-osl-figure {
    display: block;
    width: 100%;
  }

  body.jp-radtld-tld-osl .radtld-osl-figure img:hover {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radtld-tld-osl .radtld-osl-figure img {
    transition: none;
  }
}

/* END — RADTriage-TLD/OSL PAGE 5.3 */

/* =========================================================
   RADTriage FAMILY PACK PAGE — 5.4
   Body class: jp-radt-family-pack
   ACTION: APPEND to css/style.css
   ========================================================= */

body.jp-radt-family-pack {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radt-family-pack .radt-family-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Black title band, original PPT title colours */
body.jp-radt-family-pack .radt-family-title {
  margin: 0 0 18px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-radt-family-pack .radt-family-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}

body.jp-radt-family-pack .radt-family-title p {
  margin: 3px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* Manual button */
body.jp-radt-family-pack .radt-family-manual {
  margin: 0 auto 14px;
  text-align: center;
}

body.jp-radt-family-pack .radt-family-manual a {
  display: inline-flex;
  min-width: 190px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  box-sizing: border-box;
  border: 1px solid #0d2c54;
  border-radius: 2px;
  background: #fcfeca;
  color: #0d2c54;
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease,
              color .2s ease,
              transform .2s ease;
}

body.jp-radt-family-pack .radt-family-manual a:hover,
body.jp-radt-family-pack .radt-family-manual a:focus-visible {
  background: #0d2c54;
  color: #fff;
  transform: translateY(-1px);
}

/* Before/after comparison image */
body.jp-radt-family-pack .radt-family-comparison {
  margin: 0 0 10px;
  padding: 10px;
  border: 1px solid #111;
  background: #fff;
  text-align: center;
  overflow: visible;
}

body.jp-radt-family-pack .radt-family-comparison img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 390px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border: 1px solid #d1d5db;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .22);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}

body.jp-radt-family-pack .radt-family-comparison img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .30);
  position: relative;
  z-index: 2;
}

/* Family-pack description and product image */
body.jp-radt-family-pack .radt-family-description {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
  margin: 0;
  padding: 16px 20px;
  border: 1px solid #111;
  background: #fff;
}

body.jp-radt-family-pack .radt-family-copy {
  color: #111;
  font-size: 1rem;
  line-height: 1.6;
}

body.jp-radt-family-pack .radt-family-copy p {
  margin: 0;
}

body.jp-radt-family-pack .radt-family-product {
  margin: 0;
  text-align: center;
  overflow: visible;
}

body.jp-radt-family-pack .radt-family-product img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 430px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border: 1px solid #d1d5db;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .22);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}

body.jp-radt-family-pack .radt-family-product img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .30);
  position: relative;
  z-index: 2;
}

/* Mobile */
@media (max-width: 700px) {
  body.jp-radt-family-pack .radt-family-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radt-family-pack .radt-family-title h1 {
    font-size: 1.55rem;
  }

  body.jp-radt-family-pack .radt-family-title p {
    font-size: 1rem;
  }

  body.jp-radt-family-pack .radt-family-description {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 14px;
  }

  body.jp-radt-family-pack .radt-family-copy {
    font-size: .96rem;
  }

  body.jp-radt-family-pack .radt-family-comparison img:hover,
  body.jp-radt-family-pack .radt-family-product img:hover {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radt-family-pack .radt-family-comparison img,
  body.jp-radt-family-pack .radt-family-product img {
    transition: none;
  }
}

/* END — RADTriage FAMILY PACK PAGE 5.4 */

/* =========================================================
   RADTriage TESTIMONIALS PAGE — 5.5
   Body class: jp-radt-testimonials
   ACTION: APPEND to css/style.css
   ========================================================= */

body.jp-radt-testimonials {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radt-testimonials .radt-testimonials-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Title band */
body.jp-radt-testimonials .radt-testimonials-title {
  margin: 0 0 22px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-radt-testimonials .radt-testimonials-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}

body.jp-radt-testimonials .radt-testimonials-title p {
  margin: 3px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* Ten report buttons in the original order */
body.jp-radt-testimonials .radt-testimonial-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

body.jp-radt-testimonials .radt-testimonial-link {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #111;
  border-radius: 0;
  background: #fcfeca;
  color: #111;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease,
              color .2s ease,
              transform .2s ease,
              box-shadow .2s ease;
}

/* Alternating pale green buttons as in the PowerPoint */
body.jp-radt-testimonials .radt-testimonial-link:nth-child(2),
body.jp-radt-testimonials .radt-testimonial-link:nth-child(4),
body.jp-radt-testimonials .radt-testimonial-link:nth-child(7),
body.jp-radt-testimonials .radt-testimonial-link:nth-child(9) {
  background: #f3fff3;
}

body.jp-radt-testimonials .radt-testimonial-link:hover,
body.jp-radt-testimonials .radt-testimonial-link:focus-visible {
  background: #0d2c54;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(0, 0, 0, .18);
}

/* Testimonial outline */
body.jp-radt-testimonials .radt-testimonials-outline {
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid #999;
  background: #fff;
  color: #111;
  font-size: 1rem;
  line-height: 1.5;
}

body.jp-radt-testimonials .radt-testimonials-outline h2 {
  margin: 0 0 8px;
  color: #111;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 800;
  text-decoration: underline;
}

body.jp-radt-testimonials .radt-testimonials-outline p {
  margin: 0 0 14px;
}

body.jp-radt-testimonials .radt-testimonials-outline p:last-child {
  margin-bottom: 0;
}

/* Funding statement and agency logos */
body.jp-radt-testimonials .radt-testimonials-funding {
  margin: 0;
  padding: 12px;
  border: 1px solid #999;
  background: #fff;
}

body.jp-radt-testimonials .radt-testimonials-funding > p {
  margin: 0 0 16px;
  color: #111;
  font-size: 1rem;
  line-height: 1.5;
}

body.jp-radt-testimonials .radt-testimonials-logos {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px 20px;
  align-items: center;
  justify-items: center;
}

body.jp-radt-testimonials .radt-testimonial-logo {
  display: flex;
  width: 100%;
  min-height: 145px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 5px;
  box-sizing: border-box;
  overflow: visible;
}

body.jp-radt-testimonials .radt-testimonial-logo img {
  display: block;
  width: 100%;
  max-width: 150px;
  max-height: 145px;
  height: auto;
  object-fit: contain;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}

body.jp-radt-testimonials .radt-testimonial-logo img:hover {
  transform: scale(1.05);
  box-shadow: 0 9px 20px rgba(0, 0, 0, .28);
  position: relative;
  z-index: 2;
}

/* Tablet */
@media (max-width: 900px) {
  body.jp-radt-testimonials .radt-testimonial-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.jp-radt-testimonials .radt-testimonials-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 600px) {
  body.jp-radt-testimonials .radt-testimonials-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radt-testimonials .radt-testimonials-title h1 {
    font-size: 1.5rem;
  }

  body.jp-radt-testimonials .radt-testimonials-title p {
    font-size: 1rem;
  }

  body.jp-radt-testimonials .radt-testimonial-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body.jp-radt-testimonials .radt-testimonial-link {
    min-height: 64px;
    padding: 8px;
    font-size: .92rem;
  }

  body.jp-radt-testimonials .radt-testimonials-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.jp-radt-testimonials .radt-testimonial-logo {
    min-height: 120px;
  }

  body.jp-radt-testimonials .radt-testimonial-logo img:hover {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radt-testimonials .radt-testimonial-link,
  body.jp-radt-testimonials .radt-testimonial-logo img {
    transition: none;
  }
}

/* END — RADTriage TESTIMONIALS PAGE 5.5 */

/* =========================================================
   RADTriage AWARDS & SIGNIFICANCE PAGE — 5.6
   Body class: jp-radt-awards
   ACTION: APPEND this page-scoped block to css/style.css.
   Do not replace the shared master stylesheet.
   ========================================================= */

body.jp-radt-awards {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radt-awards .radt-awards-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Original PowerPoint brand/slogan band */
body.jp-radt-awards .radt-awards-brand-band {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 12px;
  align-items: center;
  margin: 0 0 10px;
  padding: 8px 14px;
  background: #364354;
  color: #ffff00;
  text-align: center;
}

body.jp-radt-awards .radt-awards-brand-band p {
  margin: 0;
  color: #ffff00;
  font-size: 1rem;
  line-height: 1.35;
}

body.jp-radt-awards .radt-awards-brand-band h2 {
  margin: 0 0 3px;
  color: #fff;
  font-size: 1.55rem;
  line-height: 1.2;
}

body.jp-radt-awards .radt-awards-brand-band div p {
  color: #00ff00;
  font-size: 1.1rem;
}

/* Title band */
body.jp-radt-awards .radt-awards-title {
  margin: 0 0 22px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-radt-awards .radt-awards-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}

body.jp-radt-awards .radt-awards-title p {
  margin: 3px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* Five original award/testimony buttons */
body.jp-radt-awards .radt-awards-award-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

body.jp-radt-awards .radt-awards-award-links a {
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border: 1px solid #111;
  background: #fcfeca;
  color: #111;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

body.jp-radt-awards .radt-awards-award-links a:nth-child(even) {
  background: #f3fff3;
}

body.jp-radt-awards .radt-awards-award-links a:hover,
body.jp-radt-awards .radt-awards-award-links a:focus-visible {
  background: #0d2c54;
  color: #fff;
  transform: translateY(-2px);
}

/* Content panels */
body.jp-radt-awards .radt-awards-panel {
  margin: 0 0 12px;
  padding: 8px 10px;
  border: 1px solid #999;
  background: #fff;
  color: #111;
  font-size: 1rem;
  line-height: 1.42;
}

body.jp-radt-awards .radt-awards-panel h2 {
  margin: 0 0 5px;
  color: #111;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-radt-awards .radt-awards-panel p {
  margin: 5px 0 10px;
}

body.jp-radt-awards .radt-awards-panel ul {
  margin: 4px 0 8px;
  padding-left: 22px;
}

body.jp-radt-awards .radt-awards-panel li {
  margin: 3px 0;
}

body.jp-radt-awards .radt-awards-panel a {
  color: #0645ad;
  text-decoration: underline;
  overflow-wrap: anywhere;
}

/* Images: compressed, responsive, shadow and hover zoom */
body.jp-radt-awards .radt-awards-panel figure {
  margin: 8px auto;
  text-align: center;
  overflow: visible;
}

body.jp-radt-awards .radt-awards-panel figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 470px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border: 1px solid #d1d5db;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .22);
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}

body.jp-radt-awards .radt-awards-panel figure img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .30);
  position: relative;
  z-index: 2;
}

body.jp-radt-awards .radt-awards-panel figure img.radt-awards-resolution {
  max-height: 580px;
}

body.jp-radt-awards .radt-awards-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: center;
}

body.jp-radt-awards .radt-awards-two figure img {
  max-height: 360px;
}

body.jp-radt-awards .radt-awards-edison figure img {
  max-height: 390px;
}

body.jp-radt-awards .radt-awards-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 18px;
  align-items: center;
}

body.jp-radt-awards .radt-awards-field figure img {
  max-height: 300px;
}

body.jp-radt-awards .radt-awards-field span {
  color: red;
}

/* Tablet */
@media (max-width: 850px) {
  body.jp-radt-awards .radt-awards-award-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 650px) {
  body.jp-radt-awards .radt-awards-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radt-awards .radt-awards-brand-band {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  body.jp-radt-awards .radt-awards-brand-band h2 {
    font-size: 1.25rem;
  }

  body.jp-radt-awards .radt-awards-title h1 {
    font-size: 1.5rem;
  }

  body.jp-radt-awards .radt-awards-title p {
    font-size: 1rem;
  }

  body.jp-radt-awards .radt-awards-award-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.jp-radt-awards .radt-awards-award-links a {
    min-height: 72px;
    padding: 8px;
    font-size: .92rem;
  }

  body.jp-radt-awards .radt-awards-two,
  body.jp-radt-awards .radt-awards-field {
    grid-template-columns: 1fr;
  }

  body.jp-radt-awards .radt-awards-panel figure img:hover {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radt-awards .radt-awards-panel figure img,
  body.jp-radt-awards .radt-awards-award-links a {
    transition: none;
  }
}

/* END — RADTriage AWARDS & SIGNIFICANCE PAGE 5.6 */

/* =========================================================
   WHY PURCHASE RADTriage PAGE — 5.7
   Body class: jp-radt-why-purchase
   ACTION: REPLACE previous 5.7 CSS block with this block.
   Shared master CSS remains unchanged.
   ========================================================= */

body.jp-radt-why-purchase {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radt-why-purchase .radt-why-purchase-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Original title band */
body.jp-radt-why-purchase .radt-why-purchase-title {
  margin: 0 0 22px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-radt-why-purchase .radt-why-purchase-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}

body.jp-radt-why-purchase .radt-why-purchase-title p {
  margin: 3px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* Main PowerPoint content */
body.jp-radt-why-purchase .radt-why-purchase-copy {
  padding: 8px 6px;
  border: 1px solid #999;
  background: #fff;
  color: #111;
  font-size: 1rem;
  line-height: 1.5;
}

body.jp-radt-why-purchase .radt-why-purchase-copy h2 {
  margin: 0 0 18px;
  color: #111;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
  text-align: center;
}

body.jp-radt-why-purchase .radt-why-purchase-copy p {
  margin: 0 0 16px;
}

body.jp-radt-why-purchase .radt-why-purchase-benefits {
  margin: 0 0 16px;
  padding-left: 22px;
  list-style-type: disc;
}

body.jp-radt-why-purchase .radt-why-purchase-benefits li {
  margin: 0 0 16px;
  padding-left: 2px;
}

body.jp-radt-why-purchase .radt-why-purchase-benefits li:last-child {
  margin-bottom: 16px;
}

body.jp-radt-why-purchase .radt-why-purchase-closing-copy {
  margin: 0;
}

/* Mobile */
@media (max-width: 700px) {
  body.jp-radt-why-purchase .radt-why-purchase-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radt-why-purchase .radt-why-purchase-title h1 {
    font-size: 1.5rem;
  }

  body.jp-radt-why-purchase .radt-why-purchase-title p {
    font-size: 1rem;
  }

  body.jp-radt-why-purchase .radt-why-purchase-copy {
    padding: 10px;
    font-size: .96rem;
    line-height: 1.55;
  }

  body.jp-radt-why-purchase .radt-why-purchase-copy h2 {
    font-size: 1.08rem;
  }

  body.jp-radt-why-purchase .radt-why-purchase-benefits {
    padding-left: 20px;
  }
}

/* END — WHY PURCHASE RADTriage PAGE 5.7 */

/* =========================================================
   RADTriage FAQ PAGE — 5.8
   Body class: jp-radtriage-faq
   ACTION: APPEND to css/style.css
   ========================================================= */

body.jp-radtriage-faq {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radtriage-faq .radt-faq-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Original black title band */
body.jp-radtriage-faq .radt-faq-title {
  margin: 0 0 18px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-radtriage-faq .radt-faq-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 800;
}

body.jp-radtriage-faq .radt-faq-title p {
  margin: 3px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* Blue section headings from the PowerPoint */
body.jp-radtriage-faq .faq-section-heading {
  margin: 10px 0 8px;
  padding: 4px 8px;
  border: 1px solid #777;
  background: #fff;
  color: #0000ff;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
  text-align: center;
}

/* Individual Q&A boxes */
body.jp-radtriage-faq .faq-item {
  margin: 0 0 8px;
  padding: 7px 9px;
  border: 1px solid #777;
  background: #fff;
  color: #111;
  font-size: .98rem;
  line-height: 1.42;
}

body.jp-radtriage-faq .faq-item p {
  margin: 0;
}

body.jp-radtriage-faq .faq-item .faq-question {
  margin: 0 0 12px;
  font-weight: 800;
  font-style: italic;
}

body.jp-radtriage-faq .faq-item .faq-answer {
  margin: 0;
  font-weight: 400;
}

body.jp-radtriage-faq .faq-item .faq-detail {
  margin: 5px 0;
}

/* Dose/symptom breakdown */
body.jp-radtriage-faq .faq-dose-level {
  margin-top: 12px;
}

body.jp-radtriage-faq .faq-dose-level strong {
  display: block;
  margin: 10px 0 3px;
  font-weight: 800;
}

body.jp-radtriage-faq .faq-dose-level ul {
  margin: 2px 0 10px;
  padding-left: 22px;
}

body.jp-radtriage-faq .faq-dose-level li {
  margin: 1px 0;
}

/* Original reference list */
body.jp-radtriage-faq .faq-references {
  margin: 10px 0 0;
  padding: 9px 10px;
  border: 1px solid #777;
  background: #fff;
  font-size: .92rem;
  line-height: 1.4;
}

body.jp-radtriage-faq .faq-references h2 {
  margin: 0 0 5px;
  font-size: 1rem;
  font-weight: 800;
  font-style: italic;
}

body.jp-radtriage-faq .faq-references ul {
  margin: 0;
  padding-left: 22px;
}

body.jp-radtriage-faq .faq-references li {
  margin: 2px 0;
}

/* Mobile */
@media (max-width: 700px) {
  body.jp-radtriage-faq .radt-faq-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radtriage-faq .radt-faq-title h1 {
    font-size: 1.5rem;
  }

  body.jp-radtriage-faq .radt-faq-title p {
    font-size: 1rem;
  }

  body.jp-radtriage-faq .faq-section-heading {
    font-size: 1rem;
  }

  body.jp-radtriage-faq .faq-item {
    padding: 8px;
    font-size: .94rem;
    line-height: 1.5;
  }

  body.jp-radtriage-faq .faq-references {
    font-size: .88rem;
  }
}

/* END — RADTriage FAQ PAGE 5.8 */

/* =========================================================
   RADTriage BRIEF RADIATION TRAINING — PAGE 5.9
   Body class: jp-radtriage-training
   ACTION: APPEND to css/style.css
   ========================================================= */

body.jp-radtriage-training {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-radtriage-training .radt-training-detail {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Original PowerPoint title band */
body.jp-radtriage-training .radt-training-title {
  margin: 0 0 20px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-radtriage-training .radt-training-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-radtriage-training .radt-training-title p {
  margin: 4px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

/* Training content */
body.jp-radtriage-training .radt-training-copy {
  padding: 8px 12px;
  border: 1px solid #999;
  background: #fff;
  color: #111;
  font-size: 1rem;
  line-height: 1.62;
}

body.jp-radtriage-training .radt-training-copy p {
  margin: 0 0 18px;
  text-align: left;
}

body.jp-radtriage-training .radt-training-copy p:last-child {
  margin-bottom: 4px;
}

body.jp-radtriage-training .radt-training-copy strong {
  color: #0d2c54;
  font-weight: 800;
}

/* Mobile */
@media (max-width: 700px) {
  body.jp-radtriage-training .radt-training-detail {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-radtriage-training .radt-training-title h1 {
    font-size: 1.4rem;
  }

  body.jp-radtriage-training .radt-training-title p {
    font-size: 1rem;
  }

  body.jp-radtriage-training .radt-training-copy {
    padding: 10px;
    font-size: .95rem;
    line-height: 1.58;
  }
}

/* END — RADTriage BRIEF RADIATION TRAINING PAGE 5.9 */

/* =========================================================
   EMERGENCY RADIATION DOSIMETERS — HISTORY AND PROGRESS
   Page: 5.10 | Body class: jp-rad-history
   ACTION: APPEND this page-specific block to css/style.css
   Do not replace the shared master stylesheet.
   ========================================================= */

body.jp-rad-history {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-rad-history .rad-history-page {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 20px 30px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-rad-history .rad-history-title {
  margin: 0 0 24px;
  padding: 10px 12px;
  background: #000;
  text-align: center;
}

body.jp-rad-history .rad-history-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-rad-history .rad-history-title p {
  margin: 2px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-rad-history .rad-history-section {
  margin: 0 0 12px;
  padding: 7px 8px 10px;
  border: 1px solid #999;
  background: #fff;
}

body.jp-rad-history .rad-history-section h2 {
  margin: 0 0 5px;
  color: #111;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 800;
}

body.jp-rad-history .rad-history-section ul {
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}

body.jp-rad-history .rad-history-section li,
body.jp-rad-history .rad-history-section p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.22;
}

/* Early SIRAD timeline: four distinct rows, matching the PPT */
body.jp-rad-history .rad-history-early {
  padding: 7px 8px 9px;
  margin-bottom: 12px;
}

body.jp-rad-history .rad-history-early-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

body.jp-rad-history .rad-history-early-row figure {
  min-width: 0;
  margin: 0;
  text-align: center;
}

body.jp-rad-history .rad-history-early-row figcaption,
body.jp-rad-history .rad-history-early-row h3 {
  margin: 0 0 3px;
  color: #111;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 800;
  text-align: center;
}

body.jp-rad-history .rad-history-early-row figcaption span {
  color: #f00;
}

body.jp-rad-history .rad-history-early-row img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

body.jp-rad-history .rad-history-early-row-1 {
  margin-bottom: 24px;
}

/* 2006 in column 1; 2007 over columns 3 and 4 */
body.jp-rad-history .rad-history-early-row-2 {
  margin-bottom: 12px;
}

body.jp-rad-history .rad-history-early-row-2 .rad-history-2006 {
  grid-column: 1;
  width: 78%;
  justify-self: center;
}

body.jp-rad-history .rad-history-2007 {
  grid-column: 3 / 5;
  min-width: 0;
}

body.jp-rad-history .rad-history-2007 h3 {
  margin-bottom: 3px;
}

body.jp-rad-history .rad-history-2007-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.jp-rad-history .rad-history-2007-images img {
  width: 100%;
}

/* 2008 label at far left; four separately cropped images on one line */
body.jp-rad-history .rad-history-early-row-2008 {
  display: block;
  margin-bottom: 18px;
}

body.jp-rad-history .rad-history-early-row-2008 h3 {
  margin: 0 0 3px;
  text-align: left;
}

body.jp-rad-history .rad-history-2008-images {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

body.jp-rad-history .rad-history-2008-images img {
  width: 100%;
}

body.jp-rad-history .rad-history-early-row-2010 figure {
  grid-column: 1;
  width: 66%;
}

/* Lower limit of detection: bullet list and three images in source order */
body.jp-rad-history .rad-history-detection-content {
  display: grid;
  grid-template-columns: 1.02fr 1.25fr 1.2fr 1.2fr;
  gap: 12px;
  align-items: center;
}

body.jp-rad-history .rad-history-detection-content > img,
body.jp-rad-history .rad-history-detection-content .rad-history-sensor {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
}

body.jp-rad-history .rad-history-sensor {
  position: relative;
}

body.jp-rad-history .rad-history-sensor img {
  display: block;
  width: 100%;
  height: auto;
}

body.jp-rad-history .rad-history-sensor figcaption {
  margin-top: -1.35em;
  color: #f00;
  font-weight: 800;
  text-align: center;
}

/* UV/sunlight protection: source bullets above three images */
body.jp-rad-history .rad-history-uv > ul {
  margin-bottom: 5px;
}

body.jp-rad-history .rad-history-uv-images {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: center;
}

body.jp-rad-history .rad-history-uv-images img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Shelf life and monitoring retain original bullet formatting */
body.jp-rad-history .rad-history-shelf ul {
  margin-top: 1px;
}

body.jp-rad-history .rad-history-monitoring p {
  margin: 0;
}

body.jp-rad-history .rad-history-monitoring ul {
  margin-top: 0;
}

/* Subtle image lift on hover, without changing the original arrangement */
body.jp-rad-history .rad-history-page img {
  transition: transform .18s ease, box-shadow .18s ease;
}

body.jp-rad-history .rad-history-page img:hover {
  position: relative;
  z-index: 1;
  transform: scale(1.025);
  box-shadow: 0 5px 14px rgba(0, 0, 0, .20);
}

@media (max-width: 760px) {
  body.jp-rad-history .rad-history-page {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 10px 20px;
  }

  body.jp-rad-history .rad-history-title h1 {
    font-size: 1.35rem;
  }

  body.jp-rad-history .rad-history-title p {
    font-size: 1rem;
  }

  body.jp-rad-history .rad-history-early-row {
    gap: 8px;
  }

  body.jp-rad-history .rad-history-early-row-1,
  body.jp-rad-history .rad-history-early-row-2 {
    margin-bottom: 16px;
  }

  body.jp-rad-history .rad-history-2008-images {
    gap: 7px;
  }

  body.jp-rad-history .rad-history-detection-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.jp-rad-history .rad-history-uv-images {
    gap: 8px;
  }
}

@media (max-width: 480px) {
  body.jp-rad-history .rad-history-early-row-1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.jp-rad-history .rad-history-early-row-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.jp-rad-history .rad-history-early-row-2 .rad-history-2006 {
    grid-column: 1;
    width: 100%;
  }

  body.jp-rad-history .rad-history-2007 {
    grid-column: 2;
  }

  body.jp-rad-history .rad-history-2007-images {
    grid-template-columns: 1fr;
  }

  body.jp-rad-history .rad-history-early-row-2008 .rad-history-2008-images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.jp-rad-history .rad-history-early-row-2010 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.jp-rad-history .rad-history-detection-content,
  body.jp-rad-history .rad-history-uv-images {
    grid-template-columns: 1fr;
  }
}

/* END — HISTORY AND PROGRESS PAGE 5.10 */

/* =========================================================
   EMERGENCY RADIATION DOSIMETERS — SELECT PRESS ARTICLES
   Page: 5.11 | Body class: jp-rad-press-articles
   ACTION: APPEND to css/style.css
   Do not replace the shared master stylesheet.
   ========================================================= */

body.jp-rad-press-articles {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-rad-press-articles .rad-press-page {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-rad-press-articles .rad-press-title {
  margin: 0 0 26px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-rad-press-articles .rad-press-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-rad-press-articles .rad-press-title p {
  margin: 4px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

body.jp-rad-press-articles .rad-press-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 14px;
}

body.jp-rad-press-articles .rad-press-link {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  box-sizing: border-box;
  border: 1px solid #999;
  border-radius: 2px;
  color: #111;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
}

/* Original PowerPoint alternates the button fills by row, left to right. */
body.jp-rad-press-articles .rad-press-link:nth-child(odd) {
  background: #fcfeca;
}

body.jp-rad-press-articles .rad-press-link:nth-child(even) {
  background: #f3fff3;
}

body.jp-rad-press-articles .rad-press-link:hover,
body.jp-rad-press-articles .rad-press-link:focus-visible {
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  outline: 2px solid #333;
  outline-offset: 2px;
}

@media (max-width: 760px) {
  body.jp-rad-press-articles .rad-press-page {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-rad-press-articles .rad-press-title h1 {
    font-size: 1.4rem;
  }

  body.jp-rad-press-articles .rad-press-title p {
    font-size: 1rem;
  }

  body.jp-rad-press-articles .rad-press-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

@media (max-width: 480px) {
  body.jp-rad-press-articles .rad-press-grid {
    grid-template-columns: 1fr;
  }
}

/* END — SELECT PRESS ARTICLES PAGE 5.11 */

/* =========================================================
   EMERGENCY RADIATION DOSIMETERS — PUBLICATIONS
   Page: 5.12 | Body class: jp-rad-publications
   ACTION: APPEND to css/style.css
   Do not replace the shared master stylesheet.
   ========================================================= */

body.jp-rad-publications {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-rad-publications .rad-publications-page {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-rad-publications .rad-publications-title {
  margin: 0 0 26px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-rad-publications .rad-publications-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-rad-publications .rad-publications-title p {
  margin: 4px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

body.jp-rad-publications .rad-publications-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 14px;
}

body.jp-rad-publications .rad-publication-link {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  box-sizing: border-box;
  border: 1px solid #999;
  border-radius: 2px;
  color: #111;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
}

/* Original PowerPoint button colours and row sequence */
body.jp-rad-publications .rad-publication-link:nth-child(odd) {
  background: #fcfeca;
}

body.jp-rad-publications .rad-publication-link:nth-child(even) {
  background: #f3fff3;
}

body.jp-rad-publications .rad-publication-link:hover,
body.jp-rad-publications .rad-publication-link:focus-visible {
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  outline: 2px solid #333;
  outline-offset: 2px;
}

@media (max-width: 760px) {
  body.jp-rad-publications .rad-publications-page {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-rad-publications .rad-publications-title h1 {
    font-size: 1.4rem;
  }

  body.jp-rad-publications .rad-publications-title p {
    font-size: 1rem;
  }

  body.jp-rad-publications .rad-publications-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

@media (max-width: 480px) {
  body.jp-rad-publications .rad-publications-grid {
    grid-template-columns: 1fr;
  }
}

/* END — PUBLICATIONS PAGE 5.12 */

/* =========================================================
   EMERGENCY RADIATION DOSIMETERS — PRESS VIDEOS
   Page: 5.13 | Body class: jp-rad-press-videos
   ACTION: APPEND to css/style.css
   Do not replace the shared master stylesheet.
   ========================================================= */

body.jp-rad-press-videos {
  background: #e5e7eb;
  color: #111;
  font-family: 'Inter', sans-serif;
}

body.jp-rad-press-videos .rad-press-videos-page {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 42px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-rad-press-videos .rad-press-videos-title {
  margin: 0 0 26px;
  padding: 14px 20px;
  background: #000;
  text-align: center;
}

body.jp-rad-press-videos .rad-press-videos-title h1 {
  margin: 0;
  color: #66ff33;
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 800;
}

body.jp-rad-press-videos .rad-press-videos-title p {
  margin: 4px 0 0;
  color: #ffff00;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 800;
}

body.jp-rad-press-videos .rad-press-videos-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 14px;
}

body.jp-rad-press-videos .rad-press-video-link {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  box-sizing: border-box;
  border: 1px solid #999;
  border-radius: 2px;
  color: #111;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
}

/* Original PowerPoint button colours and row sequence */
body.jp-rad-press-videos .rad-press-video-link:nth-child(odd) {
  background: #fcfeca;
}

body.jp-rad-press-videos .rad-press-video-link:nth-child(even) {
  background: #f3fff3;
}

body.jp-rad-press-videos .rad-press-video-link:hover,
body.jp-rad-press-videos .rad-press-video-link:focus-visible {
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  outline: 2px solid #333;
  outline-offset: 2px;
}

@media (max-width: 760px) {
  body.jp-rad-press-videos .rad-press-videos-page {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
    padding: 16px 12px;
  }

  body.jp-rad-press-videos .rad-press-videos-title h1 {
    font-size: 1.4rem;
  }

  body.jp-rad-press-videos .rad-press-videos-title p {
    font-size: 1rem;
  }

  body.jp-rad-press-videos .rad-press-videos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

@media (max-width: 480px) {
  body.jp-rad-press-videos .rad-press-videos-grid {
    grid-template-columns: 1fr;
  }
}

/* END — PRESS VIDEOS PAGE 5.13 */

/* Glass Lining page additions — append this complete block to css/style.css.
   All selectors are scoped to .jp-glass-lining-page. */

.jp-glass-lining-page {
  --glass-lining-green: #39ff14;
  --glass-lining-black: #050505;
  --glass-lining-border: #d5d9de;
  margin: 0;
  color: #111;
  background: #eef0f2;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.jp-glass-lining-page .glass-lining-main {
  width: min(100% - 32px, 1180px);
  margin: 24px auto 38px;
  padding: 22px;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 5px;
  box-shadow: 0 8px 26px rgba(18, 30, 45, .10);
}

.jp-glass-lining-page .glass-lining-hero {
  margin: -22px -22px 18px;
  padding: 14px 16px 10px;
  color: var(--glass-lining-green);
  background: var(--glass-lining-black);
  text-align: center;
}
.jp-glass-lining-page .glass-lining-hero h1 {
  margin: 0;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .015em;
}
.jp-glass-lining-page .glass-lining-hero p {
  margin: 0;
  color: #ffff00;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}

.jp-glass-lining-page .glass-lining-intro,
.jp-glass-lining-page .glass-lining-formulation {
  padding: 12px 14px;
  border: 1px solid var(--glass-lining-border);
  background: #fff;
  box-shadow: 0 3px 12px rgba(18, 30, 45, .07);
}
.jp-glass-lining-page .glass-lining-intro { margin: 0 0 18px; }
.jp-glass-lining-page .glass-lining-intro p,
.jp-glass-lining-page .glass-lining-formulation p {
  margin: 0;
  color: #111;
  font-size: clamp(14px, 1.35vw, 17px);
  line-height: 1.45;
  font-weight: 500;
}

.jp-glass-lining-page .glass-lining-corrosion {
  width: 100%;
  margin: 0 auto 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e0e3e7;
  box-shadow: 0 5px 16px rgba(18, 30, 45, .13);
}
.jp-glass-lining-page .glass-lining-corrosion img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .35s ease, filter .35s ease;
}
.jp-glass-lining-page .glass-lining-corrosion:hover img {
  transform: scale(1.025);
  filter: saturate(1.04);
}

.jp-glass-lining-page .glass-lining-demonstration {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 18px;
  align-items: center;
  margin: 0 0 18px;
}
.jp-glass-lining-page .glass-lining-video-panel,
.jp-glass-lining-page .glass-lining-diagram {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9dde2;
  background: #fff;
  box-shadow: 0 5px 16px rgba(18, 30, 45, .14);
}
.jp-glass-lining-page .glass-lining-video-panel {
  border: 2px solid #d71920;
  background: #050505;
}
.jp-glass-lining-page .glass-lining-video-panel video {
  display: block;
  width: 100%;
  aspect-ratio: 964 / 551;
  object-fit: contain;
  background: #050505;
}
.jp-glass-lining-page .glass-lining-diagram {
  margin: 0;
  padding: 10px;
  text-align: center;
}
.jp-glass-lining-page .glass-lining-diagram img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .35s ease;
}
.jp-glass-lining-page .glass-lining-diagram:hover img { transform: scale(1.045); }
.jp-glass-lining-page .glass-lining-diagram figcaption {
  margin-top: 3px;
  color: #111;
  font-size: clamp(17px, 2vw, 24px);
  line-height: 1.2;
  font-weight: 700;
}

.jp-glass-lining-page .glass-lining-formulation {
  margin: 0;
  padding: 12px 14px 16px;
  text-align: center;
}
.jp-glass-lining-page .glass-lining-formulation p {
  margin-bottom: 10px;
  text-align: left;
}
.jp-glass-lining-page .glass-lining-formulation img {
  display: block;
  width: min(100%, 520px);
  max-height: 360px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 7px 10px rgba(0, 0, 0, .20));
  transition: transform .35s ease, filter .35s ease;
}
.jp-glass-lining-page .glass-lining-formulation img:hover {
  transform: scale(1.035);
  filter: drop-shadow(0 11px 14px rgba(0, 0, 0, .25));
}

@media (max-width: 700px) {
  .jp-glass-lining-page .glass-lining-main {
    width: min(100% - 22px, 1180px);
    margin: 12px auto 24px;
    padding: 12px;
  }
  .jp-glass-lining-page .glass-lining-hero { margin: -12px -12px 14px; }
  .jp-glass-lining-page .glass-lining-demonstration {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .jp-glass-lining-page .glass-lining-diagram {
    width: min(100%, 540px);
    margin: 0 auto;
  }
  .jp-glass-lining-page .glass-lining-formulation img {
    width: min(100%, 420px);
    max-height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jp-glass-lining-page *,
  .jp-glass-lining-page *::before,
  .jp-glass-lining-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* ==========================================================
   NANO-STRUCTURE DESTRUCTION PAGE — PAGE-SPECIFIC ADDITION
   Append this complete block to the bottom of css/style.css.
   Do not replace shared stylesheet rules.
   All selectors are scoped to body.jp-nano-destruction-page.
   ========================================================== */

body.jp-nano-destruction-page {
  margin: 0;
  color: #1e293b;
  background-color: #eef0f2;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.6;
}

body.jp-nano-destruction-page .nano-destruction-main {
  width: min(1180px, calc(100% - 40px));
  margin: 26px auto 42px;
  padding: 22px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 5px;
  box-shadow: 0 8px 26px rgba(18, 30, 45, .10);
}

/* Three-part introductory banner retained from the PowerPoint. */
body.jp-nano-destruction-page .nano-brand-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: -22px -22px 0;
  padding: 16px 20px;
  color: #ffff00;
  background: #303d50;
  text-align: center;
}
body.jp-nano-destruction-page .nano-brand-side {
  margin: 0;
  color: #ffff00;
  font-size: clamp(13px, 1.35vw, 19px);
  line-height: 1.3;
  font-weight: 700;
}
body.jp-nano-destruction-page .nano-brand-center h1 {
  margin: 0 0 3px;
  color: #fff;
  font-size: clamp(21px, 2.3vw, 30px);
  line-height: 1.2;
  font-weight: 800;
}
body.jp-nano-destruction-page .nano-brand-center p {
  margin: 0;
  color: #39ff14;
  font-size: clamp(14px, 1.65vw, 21px);
  line-height: 1.3;
  font-weight: 700;
}

body.jp-nano-destruction-page .nano-title {
  margin: 0 -22px 20px;
  padding: 13px 18px 10px;
  color: #39ff14;
  background: #050505;
  text-align: center;
}
body.jp-nano-destruction-page .nano-title h2 {
  margin: 0;
  color: #39ff14;
  font-size: clamp(20px, 2.5vw, 32px);
  line-height: 1.2;
  font-weight: 800;
}
body.jp-nano-destruction-page .nano-title p {
  margin: 2px 0 0;
  color: #ffff00;
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
}

body.jp-nano-destruction-page .nano-explanation,
body.jp-nano-destruction-page .nano-schematic-section,
body.jp-nano-destruction-page .nano-products-section {
  margin: 0 0 16px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #dfe3e8;
  box-shadow: 0 4px 13px rgba(18, 30, 45, .08);
}
body.jp-nano-destruction-page .nano-explanation p {
  margin: 0 0 14px;
  color: #111827;
  font-size: clamp(14px, 1.18vw, 16px);
  line-height: 1.55;
  text-align: left;
}
body.jp-nano-destruction-page .nano-explanation p:last-child {
  margin-bottom: 0;
}

body.jp-nano-destruction-page .nano-source-caption {
  margin: 0 0 12px;
  color: #111827;
  font-size: clamp(14px, 1.15vw, 16px);
  line-height: 1.5;
}

body.jp-nano-destruction-page .nano-image-frame {
  margin: 0 auto;
  padding: 10px;
  overflow: hidden;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #d9dee5;
  box-shadow: 0 5px 16px rgba(18, 30, 45, .13);
  text-align: center;
}
body.jp-nano-destruction-page .nano-image-frame img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  transition: transform .35s ease, filter .35s ease;
}
body.jp-nano-destruction-page .nano-image-frame:hover img {
  transform: scale(1.025);
  filter: saturate(1.035);
}
body.jp-nano-destruction-page .nano-diagram-frame {
  width: min(100%, 760px);
}
body.jp-nano-destruction-page .nano-diagram-art {
  position: relative;
  width: 100%;
}
body.jp-nano-destruction-page .nano-destroyed-label {
  position: absolute;
  top: 33%;
  left: 5.5%;
  width: 24%;
  color: #0000ff;
  font-size: clamp(8px, 1.15vw, 13px);
  line-height: 1.18;
  font-weight: 700;
  text-align: left;
}
body.jp-nano-destruction-page .nano-products-section h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.4;
  font-weight: 600;
}
body.jp-nano-destruction-page .nano-products-frame {
  width: min(100%, 900px);
}
body.jp-nano-destruction-page .nano-products-frame img {
  max-width: 100%;
}

@media (max-width: 760px) {
  body.jp-nano-destruction-page .nano-destruction-main {
    width: calc(100% - 20px);
    margin: 12px auto 24px;
    padding: 12px;
  }
  body.jp-nano-destruction-page .nano-brand-strip {
    grid-template-columns: 1fr;
    gap: 8px;
    margin: -12px -12px 0;
    padding: 13px 14px;
  }
  body.jp-nano-destruction-page .nano-brand-center { order: -1; }
  body.jp-nano-destruction-page .nano-brand-side {
    max-width: 560px;
    margin: 0 auto;
  }
  body.jp-nano-destruction-page .nano-title {
    margin: 0 -12px 14px;
    padding: 12px 10px;
  }
  body.jp-nano-destruction-page .nano-explanation,
  body.jp-nano-destruction-page .nano-schematic-section,
  body.jp-nano-destruction-page .nano-products-section {
    padding: 11px;
    margin-bottom: 12px;
  }
  body.jp-nano-destruction-page .nano-image-frame { padding: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-nano-destruction-page .nano-image-frame img {
    transition: none;
  }
}
/* Nano-Structure page: remove checkered background */
body.jp-nano-destruction-page {
    background-image: none !important;
    background-color: #eef0f2 !important;
    background-attachment: initial !important;
}

/* ==========================================================
   PHENOL-FREE THERMAL PAPER PAGE — PAGE-SPECIFIC CSS
   Append this complete block to the bottom of css/style.css.
   No shared rules are replaced. All selectors are page-scoped.
   ========================================================== */

body.jp-phenol-thermal-page {
  margin: 0;
  color: #1e293b;
  background-color: #eef0f2 !important;
  background-image: none !important;
  background-attachment: initial !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.6;
}

body.jp-phenol-thermal-page .phenol-thermal-main {
  width: min(1180px, calc(100% - 40px));
  margin: 26px auto 42px;
  padding: 22px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 5px;
  box-shadow: 0 8px 26px rgba(18, 30, 45, .10);
}

body.jp-phenol-thermal-page .phenol-thermal-title {
  margin: -22px -22px 20px;
  padding: 13px 18px 10px;
  color: #39ff14;
  background: #050505;
  text-align: center;
}
body.jp-phenol-thermal-page .phenol-thermal-title h1 {
  margin: 0;
  color: #39ff14;
  font-size: clamp(20px, 2.5vw, 32px);
  line-height: 1.2;
  font-weight: 800;
}
body.jp-phenol-thermal-page .phenol-thermal-title p {
  margin: 2px 0 0;
  color: #ffff00;
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
}

body.jp-phenol-thermal-page .phenol-thermal-copy {
  margin: 0 0 18px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #dfe3e8;
  box-shadow: 0 4px 13px rgba(18, 30, 45, .08);
}
body.jp-phenol-thermal-page .phenol-thermal-copy p {
  margin: 0 0 15px;
  color: #111827;
  font-size: clamp(14px, 1.18vw, 16px);
  line-height: 1.55;
  text-align: left;
}
body.jp-phenol-thermal-page .phenol-thermal-copy p:last-child {
  margin-bottom: 0;
}

body.jp-phenol-thermal-page .phenol-thermal-photo-section {
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #d9dee5;
  box-shadow: 0 5px 16px rgba(18, 30, 45, .13);
}
body.jp-phenol-thermal-page .phenol-thermal-photo-caption {
  margin: 0;
  padding: 9px 16px;
  color: #d71920;
  background: #fff200;
  font-size: clamp(17px, 2vw, 25px);
  line-height: 1.3;
  font-weight: 800;
  text-align: center;
  transform: rotate(-7deg);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .13);
}

@media (max-width: 760px) {
  body.jp-phenol-thermal-page .phenol-thermal-main {
    width: calc(100% - 20px);
    margin: 12px auto 24px;
    padding: 12px;
  }
  body.jp-phenol-thermal-page .phenol-thermal-title {
    margin: -12px -12px 14px;
    padding: 12px 10px;
  }
  body.jp-phenol-thermal-page .phenol-thermal-copy {
    padding: 11px;
    margin-bottom: 12px;
  }
  body.jp-phenol-thermal-page .phenol-thermal-photo-section {
    min-height: 220px;
    padding: 16px;
  }
  body.jp-phenol-thermal-page .phenol-thermal-photo-caption {
    transform: rotate(-4deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-phenol-thermal-page * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
/* =========================================================
   HIGH DOSE DOSIMETERS — PAGE-SCOPED STYLES
   Replace the existing High Dose page-specific CSS block in css/style.css
   ========================================================= */

body.jp-high-dose {
  background-color: #e5e7eb !important;
  background-image: none !important;
}

.jp-high-dose .hd-page {
  width: 100%;
  overflow-x: auto;
  padding: 28px 0 36px;
  box-sizing: border-box;
  background: #e5e7eb;
}

.jp-high-dose .hd-slide {
  width: 1200px;
  max-width: none;
  margin: 0 auto 28px;
  position: relative;
  box-sizing: border-box;
  background: #fff;
  color: #111;
  font-family: Inter, Arial, sans-serif;
  overflow: hidden;
  border: 1px solid #d1d5db;
  box-shadow: 0 3px 18px rgba(0,0,0,.18);
}

.jp-high-dose .hd-slide:last-child {
  margin-bottom: 0;
}

.jp-high-dose .hd-slide-one { height: 2459px; }

.jp-high-dose .hd-title-band {
  position: absolute;
  left: 0; top: 0;
  width: 1200px; height: 82px;
  box-sizing: border-box;
  background: #000;
  text-align: center;
  padding: 7px 12px 5px;
}

.jp-high-dose .hd-title-band h1 {
  color: #39ff14;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0;
}

.jp-high-dose .hd-title-band p {
  color: #fff000;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0;
}

.jp-high-dose .hd-product-grid {
  position: absolute;
  inset: 0;
}

.jp-high-dose .hd-product-card {
  position: absolute;
  width: 279px;
  height: 270px;
  box-sizing: border-box;
  border: 2px solid #333;
  text-align: center;
  padding: 7px 7px 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.jp-high-dose .hd-flyer,
.jp-high-dose .hd-radsticker,
.jp-high-dose .hd-highdose,
.jp-high-dose .hd-3d,
.jp-high-dose .hd-diacetylene {
  background: #fcfeca;
}

.jp-high-dose .hd-radtriage,
.jp-high-dose .hd-blood,
.jp-high-dose .hd-therapy,
.jp-high-dose .hd-radon,
.jp-high-dose .hd-uv {
  background: #f3fff3;
}

.jp-high-dose .hd-product-card h2 {
  color: #111;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.18;
  margin: 0 0 7px;
}

.jp-high-dose .hd-product-card a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  flex: 1;
  overflow: visible;
}

.jp-high-dose .hd-product-card img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  cursor: zoom-in;
}

.jp-high-dose .hd-product-card p {
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  margin: 4px 0 0;
}

.jp-high-dose .hd-flyer { left: 15px; top: 95px; }
.jp-high-dose .hd-radtriage { left: 312px; top: 95px; }
.jp-high-dose .hd-radsticker { left: 604px; top: 95px; }
.jp-high-dose .hd-blood { left: 899px; top: 95px; }
.jp-high-dose .hd-therapy { left: 16px; top: 389px; }
.jp-high-dose .hd-highdose { left: 314px; top: 389px; }
.jp-high-dose .hd-radon { left: 604px; top: 389px; }
.jp-high-dose .hd-3d { left: 899px; top: 389px; }
.jp-high-dose .hd-uv { left: 314px; top: 678px; }
.jp-high-dose .hd-diacetylene { left: 604px; top: 678px; }

.jp-high-dose .hd-flyer img { max-width: 100%; }
.jp-high-dose .hd-radtriage img { max-height: 150px; }
.jp-high-dose .hd-radsticker img { max-height: 150px; }
.jp-high-dose .hd-blood img { max-height: 202px; }
.jp-high-dose .hd-therapy img { max-height: 145px; }
.jp-high-dose .hd-highdose img { max-height: 78px; width: 100%; }
.jp-high-dose .hd-radon img { max-height: 195px; }

.jp-high-dose .hd-3d .hd-3d-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 5px;
  width: 100%;
  height: 205px;
  flex: none;
}

.jp-high-dose .hd-3d .hd-3d-images img:first-child {
  grid-row: 1 / span 2;
}

.jp-high-dose .hd-3d .hd-3d-images img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jp-high-dose .hd-uv img,
.jp-high-dose .hd-diacetylene img {
  max-height: 190px;
}

.jp-high-dose .hd-source-panel {
  position: absolute;
  left: 48px;
  width: 1109px;
  box-sizing: border-box;
  border: 1px solid #222;
  background: #fff;
  padding: 10px;
  overflow: hidden;
}

.jp-high-dose .hd-source-panel h2 {
  color: #00f;
  text-decoration: underline;
  font-size: 19px;
  line-height: 1.25;
  margin: 0 0 7px;
  font-weight: 700;
}

.jp-high-dose .hd-source-panel p {
  font-size: 17px;
  line-height: 1.28;
  margin: 0;
}

.jp-high-dose .hd-sensitivity {
  top: 954px;
  height: 324px;
}

.jp-high-dose .hd-sensitivity p { max-width: 760px; }

.jp-high-dose .hd-diace-chem {
  position: absolute;
  right: 86px;
  top: 12px;
  width: 197px;
  height: 306px;
  object-fit: contain;
}

.jp-high-dose .hd-diace-colours {
  position: absolute;
  left: 83px;
  bottom: 12px;
  width: 502px;
  height: 190px;
  object-fit: contain;
}

.jp-high-dose .hd-dose-sensitivity {
  top: 1298px;
  height: 470px;
}

.jp-high-dose .hd-dose-sensitivity .hd-blue-intro {
  color: #00f;
  font-weight: 700;
  margin: 0 0 5px;
}

.jp-high-dose .hd-dose-sensitivity img {
  position: absolute;
  object-fit: contain;
}

.jp-high-dose .hd-emergency-scale {
  left: 169px; top: 58px;
  width: 224px; height: 407px;
}

.jp-high-dose .hd-blood-scale {
  left: 402px; top: 58px;
  width: 153px; height: 199px;
}

.jp-high-dose .hd-therapy-scale {
  left: 572px; top: 58px;
  width: 173px; height: 208px;
}

.jp-high-dose .hd-uv-scale {
  left: 757px; top: 58px;
  width: 206px; height: 166px;
}

.jp-high-dose .hd-highdose-scale {
  left: 399px; top: 245px;
  width: 572px; height: 208px;
}

.jp-high-dose .hd-diace-structure { display: none; }

.jp-high-dose .hd-alpha {
  top: 1767px;
  height: 348px;
}

.jp-high-dose .hd-alpha img {
  position: absolute;
  left: 103px;
  top: 42px;
  display: block;
  width: 915px;
  height: 292px;
  object-fit: contain;
}

.jp-high-dose .hd-colour-dosimeters {
  top: 2128px;
  height: 324px;
}

.jp-high-dose .hd-colour-dosimeters ul {
  margin: 0;
  padding-left: 22px;
  font-size: 17px;
  line-height: 1.25;
}

.jp-high-dose .hd-colour-dosimeters ul ul { padding-left: 32px; }
.jp-high-dose .hd-blue { color: #00f; }

.jp-high-dose .hd-slide-two {
  height: 1040px;
  padding-top: 1px;
}

.jp-high-dose .hd-info-panel {
  position: absolute;
  left: 72px;
  width: 1056px;
  box-sizing: border-box;
  border: 1px solid #555;
  padding: 7px 10px 6px;
  background: #fff;
  overflow: hidden;
}

.jp-high-dose .hd-info-panel h2 {
  color: #00f;
  text-decoration: underline;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 4px;
}

.jp-high-dose .hd-info-panel ul {
  margin: 0;
  padding-left: 18px;
  font-size: 17px;
  line-height: 1.22;
}

.jp-high-dose .hd-info-panel li { margin: 0 0 2px; }

.jp-high-dose .hd-info-panel:nth-child(1) { top: 39px; height: 130px; }
.jp-high-dose .hd-info-panel:nth-child(2) { top: 184px; height: 155px; }
.jp-high-dose .hd-info-panel:nth-child(3) { top: 351px; height: 203px; }
.jp-high-dose .hd-info-panel:nth-child(4) { top: 567px; height: 179px; }
.jp-high-dose .hd-info-panel:nth-child(5) { top: 757px; height: 227px; }

.jp-high-dose .hd-red {
  color: red;
  font-weight: 700;
}


/* =========================================================
   WHOLE-TILE LINKS — sizing-safe version
   Replace the earlier High Dose page-specific CSS block with
   this complete block. HTML and link destinations stay unchanged.
   ========================================================= */

.jp-high-dose .hd-product-card {
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.jp-high-dose .hd-product-card > .hd-card-link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  padding: 7px 7px 5px;
  gap: 0;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.jp-high-dose .hd-product-card:hover {
  border-color: #111;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .16);
}

.jp-high-dose .hd-product-card > .hd-card-link:focus-visible {
  outline: 3px solid #1d4ed8;
  outline-offset: -5px;
}

/* Preserve original heading and description dimensions.
   The image alone flexes into the remaining card space. */
.jp-high-dose .hd-product-card > .hd-card-link > h2,
.jp-high-dose .hd-product-card > .hd-card-link > p {
  flex: 0 0 auto;
  width: 100%;
}

.jp-high-dose .hd-product-card > .hd-card-link > img {
  flex: 0 1 auto;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1);
  transform-origin: center;
  transition: transform .25s ease;
}

.jp-high-dose .hd-product-card:hover > .hd-card-link > img {
  transform: scale(1.025);
}

/* Retain the original per-card image size limits. */
.jp-high-dose .hd-flyer > .hd-card-link > img { max-height: 100%; }
.jp-high-dose .hd-radtriage > .hd-card-link > img { max-height: 150px; }
.jp-high-dose .hd-radsticker > .hd-card-link > img { max-height: 150px; }
.jp-high-dose .hd-blood > .hd-card-link > img { max-height: 202px; }
.jp-high-dose .hd-therapy > .hd-card-link > img { max-height: 145px; }
.jp-high-dose .hd-highdose > .hd-card-link > img {
  max-height: 78px;
  width: 100%;
}
.jp-high-dose .hd-radon > .hd-card-link > img { max-height: 195px; }
.jp-high-dose .hd-uv > .hd-card-link > img,
.jp-high-dose .hd-diacetylene > .hd-card-link > img { max-height: 190px; }

/* Three-image 3D tile: keep the group inside the original card. */
.jp-high-dose .hd-product-card.hd-3d > .hd-card-link > .hd-3d-images {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  gap: 5px;
  width: 100%;
  height: 190px;
  min-width: 0;
  min-height: 0;
  flex: 0 0 190px;
  box-sizing: border-box;
  overflow: hidden;
}

.jp-high-dose .hd-product-card.hd-3d .hd-3d-images img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1);
  transition: transform .25s ease;
}

.jp-high-dose .hd-product-card.hd-3d:hover .hd-3d-images img {
  transform: scale(1.025);
}

/* Technical/source-panel images remain stationary. */
.jp-high-dose .hd-source-panel img {
  cursor: default;
  transform: none !important;
  transition: none !important;
  filter: none !important;
  z-index: auto !important;
}
.jp-high-dose .hd-source-panel img:hover {
  transform: none !important;
  filter: none !important;
  z-index: auto !important;
}

/*
 * JP LABORATORIES — METALLIZATION OF PLASTICS AND WOODS
 * Website Protocol v3 — page-specific CSS addition.
 * Append to the END of css/style.css.
 * Header and footer are loaded externally by header.html and footer.html.
 */

body.jp-metallization {
  margin: 0;
  min-height: 100vh;
  color: #1e293b;
  background: #e5e7eb !important;
  background-image: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.jp-metallization .jp-metallization-main {
  width: 100%;
  box-sizing: border-box;
  padding: 30px 20px 42px;
  background: #e5e7eb !important;
  background-image: none !important;
}

body.jp-metallization .jp-metallization-detail {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 30px 36px 34px;
  box-sizing: border-box;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #d9dee7;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Page title uses the established black / green / yellow detail-page treatment. */
body.jp-metallization .jp-metallization-titlebar {
  margin: 0 0 24px;
  padding: 14px 18px 12px;
  background: #000000;
  color: #ffffff;
  text-align: center;
}

body.jp-metallization .jp-metallization-titlebar h1 {
  margin: 0;
  color: #00e000;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
}

body.jp-metallization .jp-metallization-title-rule {
  width: 100px;
  height: 4px;
  margin: 8px auto 0;
  background: #ffeb00;
}

/* Text is kept verbatim from the PowerPoint. */
body.jp-metallization .jp-metallization-copy {
  margin: 0 0 22px;
  padding: 20px 22px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #111111;
  font-size: 1rem;
  line-height: 1.65;
}

body.jp-metallization .jp-metallization-copy p {
  margin: 0 0 12px;
}

body.jp-metallization .jp-metallization-copy p:last-child {
  margin-bottom: 0;
}

body.jp-metallization .jp-metallization-patents {
  font-weight: 700;
}

/* Compact comparison row: smaller photographs and a restrained arrow. */
body.jp-metallization .jp-metallization-comparison {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 4vw, 48px);
  width: 100%;
  margin: 0;
  padding: 20px 18px;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  background: #ffffff;
}

body.jp-metallization .jp-metallization-figure {
  display: flex;
  flex: 0 1 280px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0;
}

body.jp-metallization .jp-metallization-figure img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 235px;
  object-fit: contain;
  background: transparent;
  transition: transform .22s ease, filter .22s ease;
  cursor: zoom-in;
}

body.jp-metallization .jp-metallization-figure img:hover {
  transform: scale(1.04);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .16));
}

body.jp-metallization .jp-metallization-figure figcaption {
  margin-top: 10px;
  color: #0d2c54;
  font-size: .9rem;
  font-weight: 700;
  text-align: center;
}

body.jp-metallization .jp-metallization-arrow {
  display: block;
  flex: 0 0 76px;
  width: 76px;
  height: 43px;
  max-width: 76px;
  object-fit: contain;
  margin: 0;
  padding: 0;
  background: transparent;
}

/* Mobile: retain the paired comparison, with compact images and arrow. */
@media (max-width: 640px) {
  body.jp-metallization .jp-metallization-main {
    padding: 16px 10px 24px;
  }

  body.jp-metallization .jp-metallization-detail {
    padding: 18px 14px 20px;
  }

  body.jp-metallization .jp-metallization-titlebar {
    padding: 12px 10px;
    margin-bottom: 16px;
  }

  body.jp-metallization .jp-metallization-copy {
    padding: 14px;
    font-size: .94rem;
    line-height: 1.55;
  }

  body.jp-metallization .jp-metallization-comparison {
    gap: 8px;
    padding: 14px 8px;
  }

  body.jp-metallization .jp-metallization-figure {
    flex-basis: 0;
    flex-grow: 1;
  }

  body.jp-metallization .jp-metallization-figure img {
    max-height: 145px;
  }

  body.jp-metallization .jp-metallization-arrow {
    flex-basis: 34px;
    width: 34px;
    height: 22px;
    max-width: 34px;
  }

  body.jp-metallization .jp-metallization-figure figcaption {
    font-size: .72rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-metallization .jp-metallization-figure img {
    transition: none;
  }
}

/* END — METALLIZATION OF PLASTICS AND WOODS */



/* Synthetic and Polymerizable Lipids page */
body.jp-synthetic-lipids-page {
    background-color: #eef0f2 !important;
    background-image: none !important;
    background-attachment: initial !important;
    font-family: "Inter", Arial, sans-serif;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-main {
    width: min(1100px, calc(100% - 36px));
    margin: 34px auto 48px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 5px 22px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-titlebar {
    background: #080808;
    padding: 24px 28px 18px;
    text-align: center;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-titlebar h1 {
    margin: 0;
    color: #80c342;
    font-size: clamp(21px, 3vw, 32px);
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-title-rule {
    width: fit-content;
    margin: 8px auto 0;
    color: #f0cf32;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}
.jp-synthetic-lipids-page .jp-synthetic-lipids-content {
    padding: 34px clamp(22px, 5vw, 58px) 42px;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-content p {
    margin: 0 auto 30px;
    color: #222;
    font-size: 17px;
    line-height: 1.8;
    text-align: justify;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-figure {
    margin: 28px auto 0;
    padding: 14px;
    width: fit-content;
    max-width: 100%;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.13);
    overflow: hidden;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-figure img {
    display: block;
    width: min(671px, 100%);
    height: auto;
    transition: transform 220ms ease;
}

.jp-synthetic-lipids-page .jp-synthetic-lipids-figure:hover img {
    transform: scale(1.025);
}

@media (max-width: 600px) {
    .jp-synthetic-lipids-page .jp-synthetic-lipids-main {
        width: calc(100% - 20px);
        margin: 18px auto 30px;
    }
    .jp-synthetic-lipids-page .jp-synthetic-lipids-titlebar {
        padding: 20px 16px 15px;
    }
    .jp-synthetic-lipids-page .jp-synthetic-lipids-content {
        padding: 24px 18px 30px;
    }
    .jp-synthetic-lipids-page .jp-synthetic-lipids-content p {
        font-size: 15px;
        line-height: 1.7;
        text-align: left;
    }
    .jp-synthetic-lipids-page .jp-synthetic-lipids-figure {
        padding: 8px;
    }
}


/* Homepage: grey outer background with a white central page */
body.jp-homepage {
    background-color: #eef0f2 !important;
    background-image: none !important;
}

body.jp-homepage .jp-home-main {
    background-color: #ffffff !important;
    max-width: 1400px;
    margin: 25px auto;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
}

/*
 * JP LABORATORIES — SYNTHETIC BLOOD (RED CELL SUBSTITUTE)
 * Website Protocol v3 — page-specific CSS addition.
 * Append to the END of css/style.css.
 * Header and footer are external shared components loaded from header.html/footer.html.
 */

body.jp-synthetic-blood-page {
  margin: 0;
  min-height: 100vh;
  color: #1e293b;
  background: #e5e7eb !important;
  background-image: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-main {
  width: 100%;
  box-sizing: border-box;
  padding: 30px 20px 42px;
  background: #e5e7eb !important;
  background-image: none !important;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-detail {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 30px 36px 34px;
  box-sizing: border-box;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #d9dee7;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-synthetic-blood-page .jp-synthetic-blood-titlebar {
  margin: 0 0 24px;
  padding: 14px 18px 12px;
  background: #000000;
  color: #ffffff;
  text-align: center;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-titlebar h1 {
  margin: 0;
  color: #00e000;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-title-rule::before {
  content: "------";
}

body.jp-synthetic-blood-page .jp-synthetic-blood-copy {
  margin: 0 0 22px;
  padding: 20px 22px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #111111;
  font-size: 1rem;
  line-height: 1.65;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-copy p {
  margin: 0 0 16px;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-copy p:last-child {
  margin-bottom: 0;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-figure {
  width: 100%;
  max-width: 960px;
  margin: 26px auto 0;
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  text-align: center;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 480px;
  margin: 0 auto;
  object-fit: contain;
  background: transparent;
  transition: transform .22s ease, filter .22s ease;
  cursor: zoom-in;
}

body.jp-synthetic-blood-page .jp-synthetic-blood-figure img:hover {
  transform: scale(1.015);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .14));
}

@media (max-width: 640px) {
  body.jp-synthetic-blood-page .jp-synthetic-blood-main {
    padding: 16px 10px 24px;
  }

  body.jp-synthetic-blood-page .jp-synthetic-blood-detail {
    padding: 18px 14px 20px;
  }

  body.jp-synthetic-blood-page .jp-synthetic-blood-titlebar {
    padding: 12px 10px;
    margin-bottom: 16px;
  }

  body.jp-synthetic-blood-page .jp-synthetic-blood-copy {
    padding: 14px;
    font-size: .94rem;
    line-height: 1.55;
  }

  body.jp-synthetic-blood-page .jp-synthetic-blood-figure {
    margin-top: 18px;
    padding: 6px;
  }

  body.jp-synthetic-blood-page .jp-synthetic-blood-figure img {
    max-height: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-synthetic-blood-page .jp-synthetic-blood-figure img {
    transition: none;
  }
}

/* END — SYNTHETIC BLOOD PAGE */

/* SELF-EXPIRING VISITOR BADGES — append this page-scoped block to css/style.css */
body.jp-visitor-badge-page {
  background: #e5e7eb;
  color: #1f2937;
  font-family: Inter, Arial, sans-serif;
}

body.jp-visitor-badge-page .jp-visitor-badge-main {
  width: min(1120px, calc(100% - 32px));
  margin: 28px auto 42px;
  background: #fff;
  border: 1px solid #d1d5db;
  box-shadow: 0 8px 26px rgba(15, 23, 42, .08);
}

body.jp-visitor-badge-page .jp-visitor-badge-titlebar {
  background: #111827;
  padding: 24px 28px 18px;
  text-align: center;
}

body.jp-visitor-badge-page .jp-visitor-badge-titlebar h1 {
  margin: 0;
  color: #7ed957;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .02em;
}

body.jp-visitor-badge-page .jp-visitor-badge-title-rule {
  margin-top: 7px;
  color: #ffeb00;
  font-size: 21px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 2px;
}

body.jp-visitor-badge-page .jp-visitor-badge-content {
  padding: 30px clamp(20px, 4vw, 48px) 38px;
}

body.jp-visitor-badge-page .jp-visitor-badge-copy {
  padding: 18px 20px;
  border: 1px solid #9ca3af;
  background: #fff;
}

body.jp-visitor-badge-page .jp-visitor-badge-copy p,
body.jp-visitor-badge-page .jp-visitor-badge-photo-panel > p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.65;
  color: #1f2937;
}

body.jp-visitor-badge-page .jp-visitor-badge-copy p:last-child {
  margin-bottom: 0;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-panel {
  margin-top: 26px;
  padding: 12px 14px 14px;
  border: 1px solid #9ca3af;
  background: #fff;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-panel h2 {
  margin: 0 0 10px;
  color: #123f9c;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 600;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 760px;
  margin: 0 auto 14px;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-card {
  margin: 0;
  padding: 8px;
  background: #eaf2ff;
  border: 2px solid #2563eb;
  border-radius: 2px;
  box-shadow: 0 2px 7px rgba(15, 23, 42, .12);
  overflow: hidden;
  transition: border-color .22s ease, box-shadow .22s ease;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-card:hover,
body.jp-visitor-badge-page .jp-visitor-badge-photo-card:focus-within {
  border-color: #0d2c54;
  box-shadow: 0 6px 16px rgba(13, 44, 84, .24);
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-zoom {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f8fafc;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-zoom img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .3s ease;
}

body.jp-visitor-badge-page .jp-visitor-badge-photo-card:hover img,
body.jp-visitor-badge-page .jp-visitor-badge-photo-card:focus-within img {
  transform: scale(1.16);
}

body.jp-visitor-badge-page .jp-visitor-badge-video-section {
  max-width: 820px;
  margin: 28px auto 0;
  padding-top: 24px;
  border-top: 1px solid #d1d5db;
}

body.jp-visitor-badge-page .jp-visitor-badge-video {
  display: block;
  width: 100%;
  max-height: 520px;
  aspect-ratio: 16 / 9;
  background: #111827;
  object-fit: contain;
}

@media (max-width: 680px) {
  body.jp-visitor-badge-page .jp-visitor-badge-main {
    width: calc(100% - 20px);
    margin: 14px auto 26px;
  }

  body.jp-visitor-badge-page .jp-visitor-badge-content {
    padding: 20px 14px 26px;
  }

  body.jp-visitor-badge-page .jp-visitor-badge-photo-grid {
    grid-template-columns: 1fr;
    max-width: 360px;
    gap: 14px;
  }

  body.jp-visitor-badge-page .jp-visitor-badge-photo-zoom {
    aspect-ratio: 1 / 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-visitor-badge-page .jp-visitor-badge-photo-card,
  body.jp-visitor-badge-page .jp-visitor-badge-photo-zoom img {
    transition: none;
  }
}

/* Novel Solar Cell & Semi-Conducting Materials page */
body.jp-novel-solar-page {
  background-color: #eef0f2 !important;
  background-image: none !important;
  font-family: Inter, sans-serif;
}
.jp-novel-solar-page .jp-novel-solar-main {
  box-sizing: border-box;
  width: min(1200px, calc(100% - 40px));
  margin: 26px auto;
  padding: 0 0 38px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 16px rgba(0,0,0,.09);
  overflow: hidden;
}
.jp-novel-solar-page .jp-novel-solar-title {
  background: #080808;
  color: #9bcf45;
  text-align: center;
  padding: 22px 20px 17px;
}
.jp-novel-solar-page .jp-novel-solar-title h1 {
  margin: 0;
  color: #9bcf45;
  font-size: clamp(21px, 3vw, 34px);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: .2px;
}
.jp-novel-solar-page .jp-novel-solar-rule {
  width: fit-content;
  margin: 8px auto 0;
  color: #f0cf32;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.jp-novel-solar-page .jp-novel-solar-content {
  padding: 30px clamp(20px, 5vw, 64px) 20px;
  background: #fff;
}
.jp-novel-solar-page .jp-novel-solar-intro {
  margin: 0 auto 30px;
  max-width: 1060px;
  color: #222;
  font-size: 17px;
  line-height: 1.75;
  text-align: left;
}
.jp-novel-solar-page .jp-novel-solar-comparison {
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 1000px;
  margin: 0 auto;
}
.jp-novel-solar-page .jp-novel-solar-item {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, .8fr);
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 6px;
  box-shadow: 0 3px 12px rgba(0,0,0,.08);
}
.jp-novel-solar-page .jp-novel-solar-item img {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 250px;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.12));
}
.jp-novel-solar-page .jp-jplabs img {
  max-height: 300px;
}
.jp-novel-solar-page .jp-novel-solar-item figcaption {
  color: #222;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
}
@media (max-width: 680px) {
  .jp-novel-solar-page .jp-novel-solar-main {
    width: calc(100% - 20px);
    margin: 12px auto;
  }
  .jp-novel-solar-page .jp-novel-solar-content {
    padding: 22px 16px;
  }
  .jp-novel-solar-page .jp-novel-solar-item {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
  }
  .jp-novel-solar-page .jp-novel-solar-item img {
    max-height: 220px;
  }
  .jp-novel-solar-page .jp-novel-solar-item figcaption {
    text-align: center;
  }
}



/* Blood Radiation Indicator page — revised sizing and backgrounds */
body.jp-bri {
  background-color: #d3d3d3 !important;
  background-image: none !important;
}

.jp-bri .bri-page {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 28px;
  background: #fff !important;
  background-image: none !important;
  color: #111;
  font-family: Inter, Arial, sans-serif;
  box-sizing: border-box;
}

.jp-bri .bri-title-band {
  width: 100%;
  margin: 0 auto 28px;
  padding: 10px 12px 8px;
  background: #000;
  color: #fff;
  text-align: center;
}

.jp-bri .bri-title-band h1 {
  margin: 0 0 2px;
  color: #39ff14;
  font-size: clamp(19px, 2.15vw, 29px);
  font-weight: 750;
  line-height: 1.2;
}

.jp-bri .bri-title-band p {
  margin: 0;
  color: #fff000;
  font-size: clamp(15px, 1.8vw, 24px);
  font-weight: 700;
  line-height: 1.25;
}

.jp-bri .bri-video-section {
  width: 58%;
  max-width: 620px;
  margin: 0 auto 22px;
  text-align: center;
  background: #fff;
}

.jp-bri .bri-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 854 / 480;
  object-fit: contain;
  background: #000;
}

.jp-bri .bri-video-caption {
  margin: 4px 0 0;
  color: #111;
  font-size: clamp(13px, 1.05vw, 16px);
  font-weight: 700;
  line-height: 1.3;
}

.jp-bri .bri-description {
  width: 88%;
  margin: 0 auto 14px;
  padding: 9px 11px;
  border: 1px solid #555;
  background: #fff;
  color: #111;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  box-sizing: border-box;
}

.jp-bri .bri-description p {
  margin: 0 0 1.5%;
}

.jp-bri .bri-description p:last-child {
  margin-bottom: 0;
}

.jp-bri .bri-results-panel {
  width: 88%;
  margin: 0 auto;
  padding: 16px 22px;
  border: 1px solid #555;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 5%;
  box-sizing: border-box;
}

.jp-bri .bri-results-panel figure {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  background: #fff;
}

.jp-bri .bri-dose-range {
  flex: 0 1 46%;
}

.jp-bri .bri-dose-response {
  flex: 0 1 27%;
}

.jp-bri .bri-dose-range img,
.jp-bri .bri-dose-response img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  background: #fff;
}

@media (max-width: 700px) {
  .jp-bri .bri-page {
    padding: 0 10px 20px;
  }

  .jp-bri .bri-title-band {
    margin-bottom: 20px;
  }

  .jp-bri .bri-video-section {
    width: 82%;
    margin-bottom: 18px;
  }

  .jp-bri .bri-description,
  .jp-bri .bri-results-panel {
    width: 96%;
  }

  .jp-bri .bri-description {
    padding: 8px;
    font-size: 13px;
    line-height: 1.35;
  }

  .jp-bri .bri-description p {
    margin-bottom: 12px;
  }

  .jp-bri .bri-results-panel {
    flex-direction: column;
    gap: 16px;
    padding: 14px;
  }

  .jp-bri .bri-dose-range {
    width: 78%;
    flex: none;
  }

  .jp-bri .bri-dose-response {
    width: 48%;
    flex: none;
  }
}

/* BRI page — spacing around shared header and footer */
body.jp-bri #header-placeholder {
  margin-bottom: 32px;
}

body.jp-bri .bri-page {
  margin-top: 0;
  margin-bottom: 48px;
}

body.jp-bri .bri-title-band {
  margin-top: 0;
}

body.jp-bri #footer-placeholder {
  position: static !important;
  clear: both;
  margin-top: 48px !important;
  padding-top: 1px;
}

/* BRI images — hover zoom effect */
.jp-bri .bri-results-panel figure {
  overflow: hidden;
  cursor: zoom-in;
}

.jp-bri .bri-results-panel img {
  transition: transform 0.35s ease;
  transform-origin: center center;
}

.jp-bri .bri-results-panel figure:hover img {
  transform: scale(1.12);
}


/*
 * JP LABORATORIES — NOVEL SOLAR CELL & SEMI-CONDUCTING MATERIALS
 * Page-specific CSS addition. Append to the END of css/style.css.
 * Do not replace the master stylesheet. Header and footer load externally.
 */

body.jp-novel-solar-page {
  margin: 0;
  min-height: 100vh;
  color: #1e293b;
  background: #e5e7eb !important;
  background-image: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.jp-novel-solar-page .jp-novel-solar-main {
  width: 100%;
  box-sizing: border-box;
  padding: 30px 20px 42px;
  background: #e5e7eb !important;
  background-image: none !important;
}

body.jp-novel-solar-page .jp-novel-solar-detail {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 30px 36px 34px;
  box-sizing: border-box;
  background: #fff !important;
  border: 1px solid #d9dee7;
  box-shadow: 0 3px 18px rgba(0,0,0,.10);
}

body.jp-novel-solar-page .jp-novel-solar-titlebar {
  margin: 0 0 24px;
  padding: 14px 18px 12px;
  background: #000;
  color: #fff;
  text-align: center;
}

body.jp-novel-solar-page .jp-novel-solar-titlebar h1 {
  margin: 0;
  color: #00e000;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
}

body.jp-novel-solar-page .jp-novel-solar-title-rule {
  margin: 8px auto 0;
  color: #ffeb00;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 3px;
  font-weight: 800;
}

body.jp-novel-solar-page .jp-novel-solar-copy {
  margin: 0 0 22px;
  padding: 20px 22px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #111;
  font-size: 1rem;
  line-height: 1.65;
}

body.jp-novel-solar-page .jp-novel-solar-copy p {
  margin: 0;
}

body.jp-novel-solar-page .jp-novel-solar-comparison {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 20px;
  border: 1px solid #cbd5e1;
  background: #fff;
}

body.jp-novel-solar-page .jp-novel-solar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .42fr);
  align-items: center;
  gap: 22px;
}

body.jp-novel-solar-page .jp-novel-solar-figure {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 3px solid #1769aa;
  background: #f8fbff;
  box-shadow: 0 3px 10px rgba(15, 65, 110, .12);
  text-align: center;
  transition: border-color .22s ease, box-shadow .22s ease;
}

body.jp-novel-solar-page .jp-novel-solar-figure:hover {
  border-color: #0b4f86;
  box-shadow: 0 7px 18px rgba(15, 65, 110, .22);
}

body.jp-novel-solar-page .jp-novel-solar-image-frame {
  display: flex;
  min-height: 150px;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  background: #fff;
}

body.jp-novel-solar-page .jp-novel-solar-figure-wide .jp-novel-solar-image-frame {
  min-height: 150px;
}

body.jp-novel-solar-page .jp-novel-solar-figure-vertical .jp-novel-solar-image-frame {
  min-height: 300px;
  justify-content: center;
}

body.jp-novel-solar-page .jp-novel-solar-image-frame img {
  display: block;
  max-width: 100%;
  max-height: 330px;
  width: auto;
  height: auto;
  object-fit: contain;
  transform-origin: center center;
  transition: transform .28s ease;
}

body.jp-novel-solar-page .jp-novel-solar-figure-wide img {
  width: 100%;
  max-height: 210px;
}

body.jp-novel-solar-page .jp-novel-solar-figure-vertical img {
  max-height: 300px;
  max-width: 100%;
}

body.jp-novel-solar-page .jp-novel-solar-figure:hover img,
body.jp-novel-solar-page .jp-novel-solar-figure:focus-within img {
  transform: scale(1.10);
}

body.jp-novel-solar-page .jp-novel-solar-caption {
  margin: 0;
  color: #000000;
  font-size: 1.05rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: left;
}

@media (max-width: 720px) {
  body.jp-novel-solar-page .jp-novel-solar-main { padding: 18px 10px 28px; }
  body.jp-novel-solar-page .jp-novel-solar-detail { padding: 18px 14px 22px; }
  body.jp-novel-solar-page .jp-novel-solar-comparison { gap: 18px; padding: 12px; }
  body.jp-novel-solar-page .jp-novel-solar-row { grid-template-columns: 1fr; gap: 10px; }
  body.jp-novel-solar-page .jp-novel-solar-image-frame { min-height: 150px; }
  body.jp-novel-solar-page .jp-novel-solar-figure-vertical .jp-novel-solar-image-frame { min-height: 280px; }
  body.jp-novel-solar-page .jp-novel-solar-image-frame img { max-height: 280px; }
  body.jp-novel-solar-page .jp-novel-solar-caption { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-novel-solar-page .jp-novel-solar-figure,
  body.jp-novel-solar-page .jp-novel-solar-image-frame img { transition: none; }
}


/* =========================================================
   JP LABORATORIES — HIGH DOSE DOSIMETRY
   Page 6.5
   Body class: jp-high-dose-dosimetry

   ACTION: APPEND to css/style.css
   Do not replace the master stylesheet.
   ========================================================= */

body.jp-high-dose-dosimetry {
    background: #e5e7eb;
    color: #111;
    font-family: Arial, sans-serif;
}

/* Main white page */
body.jp-high-dose-dosimetry .hdd-page {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 28px auto 48px;
    padding: 28px 32px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Title band */
body.jp-high-dose-dosimetry .hdd-title-band {
    margin: 0 0 22px;
    padding: 12px 16px;
    background: #000;
    text-align: center;
}

body.jp-high-dose-dosimetry .hdd-title-band h1 {
    margin: 0;
    color: #66ff33;
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: 800;
}

body.jp-high-dose-dosimetry .hdd-title-band p {
    margin: 3px 0 0;
    color: #ffff00;
    font-size: 1.35rem;
    line-height: 1.35;
    font-weight: 700;
}

/* Main content panel */
body.jp-high-dose-dosimetry .hdd-content-panel {
    margin: 0 0 12px;
    padding: 8px;
    border: 1px solid #555;
    background: #fff;
    box-sizing: border-box;
}

body.jp-high-dose-dosimetry .hdd-content-panel p {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.32;
}

body.jp-high-dose-dosimetry .hdd-dose-list {
    margin: 10px 0 14px;
    padding-left: 24px;
}

body.jp-high-dose-dosimetry .hdd-dose-list li {
    margin: 0 0 3px;
    font-size: 15px;
    line-height: 1.3;
}

body.jp-high-dose-dosimetry .hdd-blue {
    color: #0000ff;
}

body.jp-high-dose-dosimetry .hdd-closing-line {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

/* Results and colour-response panel */
body.jp-high-dose-dosimetry .hdd-results-panel {
    margin: 12px 0;
    padding: 8px;
    border: 1px solid #555;
    background: #fff;
    box-sizing: border-box;
}

body.jp-high-dose-dosimetry .hdd-results-panel > p {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.35;
}

body.jp-high-dose-dosimetry .hdd-results-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
}

body.jp-high-dose-dosimetry .hdd-results-panel figure {
    margin: 0;
    overflow: hidden;
    text-align: center;
}

body.jp-high-dose-dosimetry .hdd-results-panel img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    transition: transform .3s ease;
    transform-origin: center center;
}

body.jp-high-dose-dosimetry .hdd-results-panel figure:hover img {
    transform: scale(1.035);
    cursor: zoom-in;
}

body.jp-high-dose-dosimetry .hdd-results-bottom {
    width: 58%;
    margin: 14px auto 0 !important;
}

/* Closing ambient conditions statement */
body.jp-high-dose-dosimetry .hdd-ambient-note {
    margin: 12px 0 0;
    padding: 8px;
    border: 1px solid #555;
    background: #fff;
    font-size: 15px;
    line-height: 1.4;
}

/* Shared header and footer spacing */
body.jp-high-dose-dosimetry #header-placeholder {
    margin-bottom: 32px;
}

body.jp-high-dose-dosimetry #footer-placeholder {
    position: static !important;
    clear: both;
    margin-top: 48px !important;
    padding-top: 1px;
}

/* Tablet */
@media (max-width: 767px) {
    body.jp-high-dose-dosimetry .hdd-page {
        width: calc(100% - 20px);
        margin: 16px auto 28px;
        padding: 16px 12px;
    }

    body.jp-high-dose-dosimetry .hdd-title-band h1 {
        font-size: 1.4rem;
    }

    body.jp-high-dose-dosimetry .hdd-title-band p {
        font-size: 1.05rem;
    }

    body.jp-high-dose-dosimetry .hdd-results-top {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.jp-high-dose-dosimetry .hdd-results-bottom {
        width: 100%;
    }
}

/* END — HIGH DOSE DOSIMETRY PAGE 6.5 */

/* RADIATION THERAPY FILM PAGE */
body.jp-radiation-therapy-film-page {
  background-color: #eef0f2 !important;
  background-image: none !important;
}
.jp-radiation-therapy-film-page .jp-radiation-film-main {
  width: min(1200px, calc(100% - 32px));
  margin: 26px auto;
  padding: 28px clamp(16px, 3vw, 38px) 34px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 3px 16px rgba(0,0,0,.09);
}
.jp-radiation-therapy-film-page .jp-radiation-film-title {
  margin: 0 0 22px;
  padding: 14px 16px 16px;
  text-align: center;
  color: #fff;
  background: #050505;
}
.jp-radiation-therapy-film-page .jp-radiation-film-title h1 {
  margin: 0;
  color: #b6df45;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.2;
  font-weight: 800;
}
.jp-radiation-therapy-film-page .jp-radiation-film-title p {
  margin: 5px 0 0;
  color: #f3dc36;
  font-size: clamp(15px, 2vw, 21px);
  font-weight: 700;
}
.jp-radiation-therapy-film-page .jp-radiation-film-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.jp-radiation-therapy-film-page .jp-radiation-film-copy {
  padding: 14px 18px;
  border: 1px solid #b9b9b9;
  background: #fff;
  color: #202020;
  font-size: 15px;
  line-height: 1.55;
}
.jp-radiation-therapy-film-page .jp-radiation-film-copy p {
  margin: 0 0 12px;
}
.jp-radiation-therapy-film-page .jp-radiation-film-copy p:last-child {
  margin-bottom: 0;
}
.jp-radiation-therapy-film-page .jp-radiation-film-figure {
  margin: 0;
  padding: 10px;
  background: #fff;
  border: 1px solid #b9b9b9;
  box-shadow: 0 3px 10px rgba(0,0,0,.12);
  text-align: center;
}
.jp-radiation-therapy-film-page .jp-radiation-film-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  transition: transform .28s ease, filter .28s ease;
  transform-origin: center center;
}
.jp-radiation-therapy-film-page .jp-radiation-film-figure img:hover {
  transform: scale(1.035);
  filter: drop-shadow(0 5px 9px rgba(0,0,0,.2));
}
.jp-radiation-therapy-film-page .jp-radiation-patent img {
  max-height: 460px;
}
.jp-radiation-therapy-film-page .jp-radiation-film-dose-row {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(230px, .85fr);
  gap: 18px;
  align-items: center;
}
.jp-radiation-therapy-film-page .jp-radiation-dosimetry img {
  width: 100%;
}
.jp-radiation-therapy-film-page .jp-radiation-dose-scale figcaption {
  margin: 0 0 10px;
  color: #222;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  text-align: left;
}
.jp-radiation-therapy-film-page .jp-radiation-dose-scale img {
  max-height: 360px;
}
.jp-radiation-therapy-film-page .jp-radiation-film-conclusion {
  margin-top: 0;
}
@media (max-width: 700px) {
  .jp-radiation-therapy-film-page .jp-radiation-film-main {
    width: calc(100% - 20px);
    margin: 14px auto;
    padding: 16px 12px 22px;
  }
  .jp-radiation-therapy-film-page .jp-radiation-film-dose-row {
    grid-template-columns: 1fr;
  }
  .jp-radiation-therapy-film-page .jp-radiation-patent img,
  .jp-radiation-therapy-film-page .jp-radiation-dose-scale img {
    max-height: none;
  }
  .jp-radiation-therapy-film-page .jp-radiation-film-copy {
    padding: 12px;
    font-size: 14px;
  }
}

/* =========================================================
   JP LABORATORIES — RADON MONITORS
   Page: 6.7
   Body class: jp-radon-monitor

   ACTION: APPEND to css/style.css
   Do not overwrite the shared master stylesheet.
   ========================================================= */

body.jp-radon-monitor {
  background: #e5e7eb;
  color: #111;
  font-family: Arial, sans-serif;
}

body.jp-radon-monitor .radon-page {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 28px auto 48px;
  padding: 28px 32px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

body.jp-radon-monitor .radon-title-band {
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #000;
  text-align: center;
}

body.jp-radon-monitor .radon-title-band h1 {
  margin: 0;
  color: #66ff33;
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  line-height: 1.25;
  font-weight: 800;
}

body.jp-radon-monitor .radon-title-band p {
  margin: 3px 0 0;
  color: #ffff00;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  line-height: 1.3;
  font-weight: 800;
}

body.jp-radon-monitor .radon-copy-panel {
  padding: 8px;
  border: 1px solid #777;
  background: #fff;
}

body.jp-radon-monitor .radon-copy-panel p {
  margin: 0 0 15px;
  font-size: 15px;
  line-height: 1.35;
}

body.jp-radon-monitor .radon-copy-panel p:last-child { margin-bottom: 0; }

body.jp-radon-monitor .radon-patents {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 14px;
}

body.jp-radon-monitor .radon-figure {
  margin: 0;
  padding: 8px;
  border: 1px solid #999;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
}

body.jp-radon-monitor .radon-patent-figure img {
  display: block;
  width: 88%;
  max-width: 900px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

body.jp-radon-monitor .radon-technical-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

body.jp-radon-monitor .radon-figure figcaption {
  min-height: 2.6em;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.25;
}

body.jp-radon-monitor .radon-technical-grid img {
  display: block;
  width: 100%;
  max-height: 300px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

body.jp-radon-monitor .radon-examples {
  margin-top: 14px;
  padding: 8px;
  border: 1px solid #999;
  background: #fff;
}

body.jp-radon-monitor .radon-examples h2 {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 400;
}

body.jp-radon-monitor .radon-examples .radon-figure {
  width: 100%;
  max-width: 760px;
  padding: 0;
  margin: 0;
  border: 0;
}

body.jp-radon-monitor .radon-examples img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Subtle image hover zoom; clipped within each image frame */
body.jp-radon-monitor .radon-figure img {
  transition: transform .28s ease;
  transform-origin: center center;
}

body.jp-radon-monitor .radon-figure:hover img {
  transform: scale(1.025);
  cursor: zoom-in;
}

/* Shared external header and footer spacing */
body.jp-radon-monitor #header-placeholder { margin-bottom: 32px; }
body.jp-radon-monitor #footer-placeholder {
  position: static !important;
  clear: both;
  margin-top: 48px !important;
  padding-top: 1px;
}

@media (max-width: 767px) {
  body.jp-radon-monitor .radon-page {
    width: calc(100% - 20px);
    margin: 16px auto 28px;
    padding: 16px 12px;
  }
  body.jp-radon-monitor .radon-copy-panel p {
    font-size: 14px;
    line-height: 1.45;
  }
  body.jp-radon-monitor .radon-patent-figure img { width: 100%; }
  body.jp-radon-monitor .radon-technical-grid { grid-template-columns: 1fr; }
  body.jp-radon-monitor .radon-technical-grid img { max-height: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.jp-radon-monitor .radon-figure img { transition: none; }
}

/* END — RADON MONITORS PAGE 6.7 */


/* =========================================================
   RADON MONITORS — IMAGE SIZE REDUCTION
   ACTION: APPEND after the existing Radon CSS block
   ========================================================= */

/* Patent images — reduce from 88% to 65% */
body.jp-radon-monitor .radon-patent-figure img {
    width: 65%;
    max-width: 680px;
    margin: 0 auto;
}

/* Technical images — smaller within their panels */
body.jp-radon-monitor .radon-technical-grid img {
    width: 82%;
    max-height: 240px;
    margin: 0 auto;
}

/* Alpha spots examples — reduce overall display width */
body.jp-radon-monitor .radon-examples .radon-figure {
    max-width: 580px;
    margin: 0 auto;
}

body.jp-radon-monitor .radon-examples img {
    width: 90%;
    margin: 0 auto;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    body.jp-radon-monitor .radon-patent-figure img {
        width: 90%;
    }

    body.jp-radon-monitor .radon-technical-grid img {
        width: 90%;
        max-height: 240px;
    }

    body.jp-radon-monitor .radon-examples .radon-figure {
        max-width: 100%;
    }

    body.jp-radon-monitor .radon-examples img {
        width: 95%;
    }
}

/* 3D DOSIMETRY PAGE – append to css/style.css */
body.jp-3d-dosimetry-page {
  background: #eef0f2 !important;
  background-image: none !important;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-main {
  max-width: 1200px;
  margin: 25px auto;
  padding: 28px 32px 36px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 15px rgba(0,0,0,.08);
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-title {
  background: #000;
  color: #fff;
  text-align: center;
  padding: 12px 16px 14px;
  margin: 0 0 18px;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-title h1 {
  margin: 0;
  color: #39d52b;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-title p {
  margin: 4px 0 0;
  color: #ffe500;
  font-size: clamp(16px, 2vw, 23px);
  font-weight: 700;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-copy {
  border: 1px solid #777;
  padding: 14px 16px;
  color: #111;
  background: #fff;
  font-size: 16px;
  line-height: 1.45;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-copy p { margin: 0 0 14px; }
.jp-3d-dosimetry-page .jp-3d-dosimetry-copy p:last-child { margin-bottom: 0; }
.jp-3d-dosimetry-page .jp-3d-dosimetry-figure {
  margin: 18px auto 0;
  padding: 10px;
  border: 1px solid #aaa;
  background: #fff;
  text-align: center;
  overflow: visible;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  box-shadow: 0 3px 10px rgba(0,0,0,.13);
  transition: transform .3s ease, box-shadow .3s ease;
  transform-origin: center center;
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-figure img:hover {
  transform: scale(1.035);
  box-shadow: 0 7px 18px rgba(0,0,0,.22);
}
.jp-3d-dosimetry-page .jp-3d-dosimetry-patent img {
    max-height: 420px;
    max-width: 78%;
}

.jp-3d-dosimetry-page .jp-3d-dosimetry-demo img {
    max-height: 460px;
    max-width: 78%;
}
@media (max-width: 700px) {
  .jp-3d-dosimetry-page .jp-3d-dosimetry-main { margin: 12px; padding: 16px 12px 22px; }
  .jp-3d-dosimetry-page .jp-3d-dosimetry-copy { padding: 11px; font-size: 14px; }
  .jp-3d-dosimetry-page .jp-3d-dosimetry-figure { padding: 6px; }
}

```css
/*
 * JP LABORATORIES — ULTRAVIOLET DOSIMETERS / INDICATORS
 * Page-specific CSS.
 * Append to the END of css/style.css.
 * Keep the existing master stylesheet.
 * Header and footer load externally.
 */

body.jp-uv-dosimeters-page {
  margin: 0;
  min-height: 100vh;
  color: #000;
  background: #e5e7eb !important;
  background-image: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.jp-uv-dosimeters-page .jp-uv-main {
  box-sizing: border-box;
  width: 100%;
  padding: 30px 20px 42px;
  background: #e5e7eb !important;
  background-image: none !important;
}

body.jp-uv-dosimeters-page .jp-uv-page {
  box-sizing: border-box;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 30px 36px 34px;
  color: #000;
  background: #fff !important;
  border: 1px solid #d9dee7;
  box-shadow: 0 3px 18px rgba(0,0,0,.10);
}

/* Main title */

body.jp-uv-dosimeters-page .jp-uv-titlebar {
  margin: 0 0 22px;
  padding: 14px 18px 13px;
  color: #000;
  background: #000;
  text-align: center;
}

body.jp-uv-dosimeters-page .jp-uv-titlebar h1 {
  margin: 0;
  color: #00e000;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
}

body.jp-uv-dosimeters-page .jp-uv-titlebar p {
  margin: 5px 0 0;
  color: #ffeb00;
  font-size: clamp(1rem, 2vw, 1.35rem);
  line-height: 1.3;
  font-weight: 700;
}

/* Explanatory text */

body.jp-uv-dosimeters-page .jp-uv-copy {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid #aeb7c2;
  background: #fff;
  color: #000;
  font-size: 1rem;
  line-height: 1.48;
}

body.jp-uv-dosimeters-page .jp-uv-copy p {
  margin: 0;
  color: #000;
}

body.jp-uv-dosimeters-page .jp-uv-copy p + p {
  margin-top: 14px;
}

/* Examples and superiorities sections */

body.jp-uv-dosimeters-page .jp-uv-examples,
body.jp-uv-dosimeters-page .jp-uv-superiorities {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid #aeb7c2;
  background: #fff;
  color: #000;
}

body.jp-uv-dosimeters-page .jp-uv-examples h2,
body.jp-uv-dosimeters-page .jp-uv-superiorities h2 {
  margin: 0 0 12px;
  color: #000;
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 800;
}

/* UV dosimeter image */

body.jp-uv-dosimeters-page .jp-uv-image-frame {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px;
  overflow: hidden;
  border: 3px solid #1769aa;
  background: #f8fbff;
  box-shadow: 0 3px 10px rgba(15,65,110,.12);
  transition: border-color .22s ease, box-shadow .22s ease;
}

body.jp-uv-dosimeters-page .jp-uv-image-frame:hover {
  border-color: #0b4f86;
  box-shadow: 0 7px 18px rgba(15,65,110,.22);
}

body.jp-uv-dosimeters-page .jp-uv-image-frame img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  max-height: 320px;
  object-fit: contain;
  transition: transform .28s ease;
}

body.jp-uv-dosimeters-page .jp-uv-image-frame:hover img {
  transform: scale(1.04);
}

/* Superiorities list */

body.jp-uv-dosimeters-page .jp-uv-superiorities ul {
  margin: 0;
  padding-left: 22px;
  color: #000;
}

body.jp-uv-dosimeters-page .jp-uv-superiorities li {
  margin: 5px 0;
  padding-left: 2px;
  color: #000;
  line-height: 1.4;
}

/* Blue emphasis exactly as in the PowerPoint */

body.jp-uv-dosimeters-page .jp-uv-superiorities li:nth-child(2),
body.jp-uv-dosimeters-page .jp-uv-superiorities li:nth-child(4),
body.jp-uv-dosimeters-page .jp-uv-superiorities li:nth-child(6) {
  color: #0000ff;
}

/* Mobile layout */

@media (max-width: 720px) {
  body.jp-uv-dosimeters-page .jp-uv-main {
    padding: 18px 10px 28px;
  }

  body.jp-uv-dosimeters-page .jp-uv-page {
    padding: 18px 14px 22px;
  }

  body.jp-uv-dosimeters-page .jp-uv-copy {
    padding: 13px;
    font-size: .95rem;
  }

  body.jp-uv-dosimeters-page .jp-uv-examples,
  body.jp-uv-dosimeters-page .jp-uv-superiorities {
    padding: 12px;
  }

  body.jp-uv-dosimeters-page .jp-uv-image-frame img {
    max-width: 100%;
    max-height: 280px;
  }
}

/* Reduced motion accessibility */

@media (prefers-reduced-motion: reduce) {
  body.jp-uv-dosimeters-page .jp-uv-image-frame,
  body.jp-uv-dosimeters-page .jp-uv-image-frame img {
    transition: none;
  }
}

/* DIACETYLENES PAGE – append to css/style.css */
body.jp-diacetylenes-page { background:#eef0f2 !important; background-image:none !important; }
.jp-diacetylenes-page .jp-diacetylenes-main {
  max-width:1200px; margin:25px auto; padding:28px 32px 36px;
  background:#fff; border-radius:8px; box-shadow:0 3px 15px rgba(0,0,0,.08);
}
.jp-diacetylenes-page .dia-title {
  background:#000; color:#fff; text-align:center; padding:14px 16px; margin-bottom:20px;
}
.jp-diacetylenes-page .dia-title h1 { margin:0; color:#39d52b; font-size:clamp(25px,3vw,36px); font-weight:800; }
.jp-diacetylenes-page .dia-title p { margin:5px 0 0; color:#ffe500; font-size:clamp(16px,2vw,23px); font-weight:700; }
.jp-diacetylenes-page .dia-section {
  padding:18px 0 24px; border-bottom:1px solid #d5d5d5; color:#111;
}
.jp-diacetylenes-page .dia-section:last-child { border-bottom:0; }
.jp-diacetylenes-page .dia-section h2 { font-size:22px; text-align:center; margin:8px 0 14px; color:#111; }
.jp-diacetylenes-page .dia-section h3 { font-size:18px; margin:22px 0 10px; color:#111; }
.jp-diacetylenes-page .dia-subtitle { text-align:center; border:1px solid #999; padding:12px; margin-bottom:16px; }
.jp-diacetylenes-page .dia-subtitle h2 { font-size:18px; margin:0 0 8px; }
.jp-diacetylenes-page .dia-subtitle p { margin:5px 0; font-weight:700; }
.jp-diacetylenes-page .dia-copy {
  border:1px solid #999; padding:15px 18px; background:#fff; font-size:15px; line-height:1.5;
}
.jp-diacetylenes-page .dia-copy p { margin:0 0 13px; }
.jp-diacetylenes-page .dia-copy p:last-child { margin-bottom:0; }
.jp-diacetylenes-page .dia-section > p, .jp-diacetylenes-page .dia-section li {
  color:#111; font-size:15px; line-height:1.5;
}
.jp-diacetylenes-page .dia-bullets { padding-left:24px; }
.jp-diacetylenes-page .dia-bullets li { margin:4px 0; }
.jp-diacetylenes-page .dia-figure {
  margin:16px auto; padding:8px; text-align:center; background:#fff;
  border:1px solid #ddd; overflow:visible;
}
.jp-diacetylenes-page .dia-figure img {
  display:block; width:auto; max-width:88%; max-height:560px; height:auto;
  margin:0 auto; object-fit:contain; box-shadow:0 3px 10px rgba(0,0,0,.12);
  transition:transform .28s ease, box-shadow .28s ease; transform-origin:center;
}
.jp-diacetylenes-page .dia-figure img:hover { transform:scale(1.035); box-shadow:0 7px 18px rgba(0,0,0,.22); }
.jp-diacetylenes-page .dia-figure figcaption { margin-top:8px; font-size:14px; font-weight:600; text-align:center; }
.jp-diacetylenes-page .dia-grid { display:grid; gap:14px; align-items:center; justify-items:center; margin:12px auto; }
.jp-diacetylenes-page .dia-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.jp-diacetylenes-page .dia-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.jp-diacetylenes-page .dia-grid .dia-figure { width:100%; box-sizing:border-box; margin:0; }
.jp-diacetylenes-page .dia-grid .dia-figure img { max-width:100%; max-height:360px; }
.jp-diacetylenes-page .dia-center { text-align:center; font-weight:600; }
@media(max-width:760px) {
 .jp-diacetylenes-page .jp-diacetylenes-main { margin:12px; padding:16px 12px 22px; }
 .jp-diacetylenes-page .dia-two, .jp-diacetylenes-page .dia-three { grid-template-columns:1fr; }
 .jp-diacetylenes-page .dia-copy { padding:11px; font-size:14px; }
 .jp-diacetylenes-page .dia-figure img { max-width:100%; max-height:420px; }
}


/* Slide-by-slide fidelity corrections */
.jp-diacetylenes-page .dia-bullets li {
  color: #172b9a;
}
.jp-diacetylenes-page .dia-subtitle p:nth-of-type(1) {
  color: #2462a7;
}
.jp-diacetylenes-page .dia-subtitle p:nth-of-type(2) {
  color: #168a36;
}
.jp-diacetylenes-page .dia-figure img {
  object-fit: contain;
}


/* FINAL SLIDE-BY-SLIDE LAYOUT AND SOURCE COLOURS */
.jp-diacetylenes-page .dia-title h1 { color: #66ff33; }
.jp-diacetylenes-page .dia-title p { color: #ffff00; }
.jp-diacetylenes-page .dia-subtitle p:nth-of-type(1) { color: #0070c0; }
.jp-diacetylenes-page .dia-subtitle p:nth-of-type(2) { color: #00b050; }

/* Historical bullets: match the original alternating blue/black text */
.jp-diacetylenes-page .dia-bullets li { color: #111111; }
.jp-diacetylenes-page .dia-bullets li:nth-child(odd) { color: #0000ff; }

/* Smaller images throughout, preserving the original aspect ratios */
.jp-diacetylenes-page .dia-figure img {
  max-width: 76%;
  max-height: 430px;
  object-fit: contain;
}
.jp-diacetylenes-page .dia-grid .dia-figure img {
  max-width: 90%;
  max-height: 260px;
}

/* Boxed image groups, following the PowerPoint panel borders */
.jp-diacetylenes-page .dia-image-group {
  border: 1px solid #777;
  background: #fff;
  padding: 12px;
  margin: 14px auto 20px;
  box-sizing: border-box;
}
.jp-diacetylenes-page .dia-seeing-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: center;
}
.jp-diacetylenes-page .dia-image-group .dia-figure {
  border: 0;
  padding: 4px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.jp-diacetylenes-page .dia-seeing-group .dia-figure img {
  max-width: 100%;
  max-height: 250px;
}
.jp-diacetylenes-page .dia-seeing-group figcaption {
  color: #111;
  text-align: center;
  margin-top: 7px;
  font-size: 14px;
}

/* Freeze indicator is one original composite image, not two duplicate copies */
.jp-diacetylenes-page .dia-freeze-group {
  max-width: 430px;
  text-align: center;
}
.jp-diacetylenes-page .dia-freeze-group img {
  max-width: 100%;
  max-height: 280px;
}

/* High-dose dosimeter group: two images on top, third centred below */
.jp-diacetylenes-page .dia-high-dose-group { max-width: 980px; }
.jp-diacetylenes-page .dia-high-dose-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: center;
}
.jp-diacetylenes-page .dia-high-dose-top .dia-figure img {
  max-width: 100%;
  max-height: 220px;
}
.jp-diacetylenes-page .dia-high-dose-bottom {
  width: 62%;
  margin: 12px auto 0 !important;
}
.jp-diacetylenes-page .dia-high-dose-bottom img {
  max-width: 100%;
  max-height: 210px;
}

@media (max-width: 760px) {
  .jp-diacetylenes-page .dia-seeing-group,
  .jp-diacetylenes-page .dia-high-dose-top { grid-template-columns: 1fr; }
  .jp-diacetylenes-page .dia-high-dose-bottom { width: 100%; }
  .jp-diacetylenes-page .dia-figure img { max-width: 100%; max-height: 340px; }
}
/* ==========================================
   DIACETYLENES – FINAL IMAGE SIZE AND BOXES
   ========================================== */

/* Make all images smaller */
.jp-diacetylenes-page .dia-figure img {
    max-width: 65% !important;
    max-height: 340px !important;
    height: auto;
    object-fit: contain;
}

/* Smaller images inside grouped rows */
.jp-diacetylenes-page .dia-grid .dia-figure img {
    max-width: 85% !important;
    max-height: 200px !important;
}

/* OUTER BOX – Colour Changing Freeze Indicator */
.jp-diacetylenes-page .dia-grid.dia-two {
    border: 1px solid #777;
    background: #ffffff;
    padding: 12px;
    margin: 15px auto 20px;
    box-sizing: border-box;
}

/* OUTER BOX – Blood Radiation Indicator */
.jp-diacetylenes-page .dia-grid.dia-three {
    border: 1px solid #777;
    background: #ffffff;
    padding: 12px;
    margin: 15px auto 20px;
    box-sizing: border-box;
}

/* Keep the images centred inside their boxes */
.jp-diacetylenes-page .dia-grid .dia-figure {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: none;
    padding: 6px;
    margin: 0;
    min-width: 0;
}

/* Keep hover zoom */
.jp-diacetylenes-page .dia-figure img {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.jp-diacetylenes-page .dia-figure img:hover {
    transform: scale(1.04);
    box-shadow: 0 5px 12px rgba(0,0,0,0.20);
}

/* Mobile layout */
@media (max-width: 760px) {
    .jp-diacetylenes-page .dia-figure img {
        max-width: 95% !important;
        max-height: 280px !important;
    }
}


/* ==========================================================================
   JP LABORATORIES — GLOBAL TYPOGRAPHY / BACKGROUND / IMAGE BEHAVIOUR
   Approved site-wide update — 05 November 2026

   This block intentionally preserves the existing shared header/footer,
   hero/banner title treatments, page layouts, image dimensions and spacing.
   ========================================================================== */

/* Global page canvas: plain light grey; remove technical/checkerboard grids. */
html,
body {
  background-color: #F2F2F2 !important;
  background-image: none !important;
}

body {
  color: #000000;
  font-family: "Inter", Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
}

/* Main page copy: Inter 17px, regular weight, black.
   Header/footer and existing hero/title bands are deliberately excluded. */
main,
main p,
main li,
main td,
main th,
main figcaption,
main blockquote,
main label,
main .copy,
main .description,
main .content,
main .intro,
main .text,
main .caption,
main .section-content {
  font-family: "Inter", Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  color: #000000;
}

/* Keep inline text in normal content black as well, without recolouring
   the shared navigation/footer or the existing hero/banner title blocks. */
main p a,
main li a,
main td a,
main figcaption a,
main .copy a,
main .description a,
main .content a,
main .intro a,
main .text a,
main .caption a,
main .section-content a {
  color: #000000 !important;
}

/* Content section headings — examples include FOOD SPOILAGE & WASTE,
   FOOD LOSS AND WASTE WORLDWIDE and TESTING TOMATOES.
   H1 hero/banner titles are not changed by this rule. */
main h2,
main h3,
main h4,
main h5,
main .section-heading,
main .content-heading,
main .subsection-heading {
  font-family: "Arial Narrow", "Liberation Sans Narrow", Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #000000 !important;
}

/* Remove CSS hover zoom, image scaling and animated image transitions
   throughout page content. Image sizing and object-fit rules are retained. */
main img,
main picture img,
main figure img,
main .image img {
  transition: none !important;
  transform: none !important;
  animation: none !important;
}

main img:hover,
main picture:hover img,
main figure:hover img,
main .image:hover img {
  transform: none !important;
  filter: none !important;
}

main figure,
main .image,
main .image-container {
  cursor: default;
}

/* End of approved global update. */

/* ==========================================================================
   JP LABORATORIES — GLASS LINING PAGE: ROUNDED BOXES + IMAGE FRAMES
   Target: body.jp-glass-lining-page only.
   Preserve the black hero background and its original green/white title text.
   ========================================================================== */

/* Text: black in the white content panels only. The hero title is excluded. */
html body.jp-glass-lining-page .glass-lining-intro,
html body.jp-glass-lining-page .glass-lining-intro p,
html body.jp-glass-lining-page .glass-lining-formulation,
html body.jp-glass-lining-page .glass-lining-formulation p,
html body.jp-glass-lining-page .glass-lining-diagram figcaption {
  color: #000000 !important;
}

/* Restore and protect the intended title colours on its black background. */
html body.jp-glass-lining-page .glass-lining-hero {
  color: var(--glass-lining-green, #66FF33) !important;
  background: #050505 !important;
  border-radius: 10px !important;
  overflow: hidden;
}
html body.jp-glass-lining-page .glass-lining-hero h1 {
  color: #66FF33 !important;
}
html body.jp-glass-lining-page .glass-lining-hero p {
  color: #FFFFFF !important;
}

/* Rounded white text panels and image/presentation frames. */
html body.jp-glass-lining-page .glass-lining-intro,
html body.jp-glass-lining-page .glass-lining-corrosion,
html body.jp-glass-lining-page .glass-lining-video-panel,
html body.jp-glass-lining-page .glass-lining-diagram,
html body.jp-glass-lining-page .glass-lining-formulation {
  border: 1px solid #D9DDE2 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

/* Round the image itself, not just its surrounding section. */
html body.jp-glass-lining-page main img {
  display: block;
  border: 1px solid #D9DDE2 !important;
  border-radius: 9px !important;
  box-sizing: border-box;
}

/* The video frame gets the same grey border, not its former red border. */
html body.jp-glass-lining-page .glass-lining-video-panel video {
  border: 0 !important;
  border-radius: 8px !important;
  display: block;
  overflow: hidden;
}

/* Remove only the image zoom effects on this page. Keep video controls usable. */
html body.jp-glass-lining-page main img,
html body.jp-glass-lining-page main img:hover,
html body.jp-glass-lining-page .glass-lining-corrosion:hover img,
html body.jp-glass-lining-page .glass-lining-diagram:hover img,
html body.jp-glass-lining-page .glass-lining-formulation img:hover {
  transform: none !important;
  transition: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* End Glass Lining page-specific correction. */

/* ==========================================================================
   GLASS LINING — STEP 2: IMAGE CORNERS, YELLOW SUBTITLE, TYPE/BACKGROUND
   Only applies to the Glass Lining page. Existing content/layout dimensions
   and the black/green hero treatment are retained.
   ========================================================================== */

/* Page canvas and typography standard. */
html body.jp-glass-lining-page {
  background-color: #F2F2F2 !important;
  background-image: none !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}
html body.jp-glass-lining-page .glass-lining-main {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

/* Normal text: Inter 17px, regular, black. */
html body.jp-glass-lining-page .glass-lining-intro,
html body.jp-glass-lining-page .glass-lining-intro p,
html body.jp-glass-lining-page .glass-lining-formulation,
html body.jp-glass-lining-page .glass-lining-formulation p,
html body.jp-glass-lining-page .glass-lining-diagram figcaption {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #000000 !important;
}

/* Content/inner headings: Arial Narrow Bold, 21px.
   The large hero title is deliberately excluded. */
html body.jp-glass-lining-page .glass-lining-main h2,
html body.jp-glass-lining-page .glass-lining-main h3,
html body.jp-glass-lining-page .glass-lining-main h4,
html body.jp-glass-lining-page .glass-lining-main h5 {
  font-family: "Arial Narrow", "Liberation Sans Narrow", Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #000000 !important;
}

/* Hero: preserve the black background and green main heading. */
html body.jp-glass-lining-page .glass-lining-hero {
  background: #050505 !important;
  color: #39FF14 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
html body.jp-glass-lining-page .glass-lining-hero h1 {
  color: #39FF14 !important;
}

/* The decorative ------ subtitle is yellow, as requested. */
html body.jp-glass-lining-page .glass-lining-hero p {
  color: #FFFF00 !important;
}

/* Match the working Food Preservation page method:
   apply border-radius directly to each actual image. No clip-path. */
html body.jp-glass-lining-page main img {
  display: block !important;
  border-radius: 5px !important;
  clip-path: none !important;
  border: 1px solid #D9DDE2 !important;
  box-sizing: border-box !important;
}

/* Round and standardise the surrounding text and image boxes. */
html body.jp-glass-lining-page .glass-lining-intro,
html body.jp-glass-lining-page .glass-lining-corrosion,
html body.jp-glass-lining-page .glass-lining-video-panel,
html body.jp-glass-lining-page .glass-lining-diagram,
html body.jp-glass-lining-page .glass-lining-formulation {
  border: 1px solid #D9DDE2 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* The video panel is also grey, not red. Keep the video controls functional. */
html body.jp-glass-lining-page .glass-lining-video-panel video {
  border: 0 !important;
  border-radius: 9px !important;
}

/* Static images: no hover zoom or transition. */
html body.jp-glass-lining-page main img,
html body.jp-glass-lining-page main img:hover,
html body.jp-glass-lining-page .glass-lining-corrosion:hover img,
html body.jp-glass-lining-page .glass-lining-diagram:hover img,
html body.jp-glass-lining-page .glass-lining-formulation img:hover {
  transform: none !important;
  transition: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* End Glass Lining Step 2. */


/* ==========================================================================
   GLASS LINING — STEP 4: RESTORE THE HERO TITLE COLOUR
   Match the Nano Structure Destruction title treatment exactly.
   Scoped only to the Glass Lining page; no layout or shared styles changed.
   ========================================================================== */
html body.jp-glass-lining-page .glass-lining-hero {
  background: #050505 !important;
  color: #39FF14 !important;
}
html body.jp-glass-lining-page .glass-lining-hero h1 {
  color: #39FF14 !important;
}
html body.jp-glass-lining-page .glass-lining-hero p {
  color: #FFFF00 !important;
}
/* End Glass Lining title-colour correction. */


/* ==========================================================================
   GLASS LINING — STEP 5: MATCH NANO STRUCTURE TITLE TYPOGRAPHY
   Inter, Extra Bold (800), responsive 20px–32px, line-height 1.2.
   Scoped only to the Glass Lining hero title.
   ========================================================================== */
html body.jp-glass-lining-page .glass-lining-hero h1 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: clamp(20px, 2.5vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
/* End Glass Lining Step 5. */

/* ========================================================================
   GLASS LINING — STEP 3: FULL-BROWSER-WIDTH HERO BANNER
   Extend only the black banner background to both browser edges.
   Keep the title/subtitle centred in the existing content alignment.
   ======================================================================== */
html body.jp-glass-lining-page .glass-lining-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  background: transparent !important;
  border-radius: 0 !important;
}
html body.jp-glass-lining-page .glass-lining-hero::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 100vw !important;
  transform: translateX(-50%) !important;
  background: #050505 !important;
}
html body.jp-glass-lining-page .glass-lining-hero h1,
html body.jp-glass-lining-page .glass-lining-hero p {
  position: relative !important;
  text-align: center !important;
}
/* End Glass Lining Step 3. */


/* ==========================================================================
   JP LABORATORIES — MASTER VISUAL CONSISTENCY LAYER
   Reconciled against the approved Glass Lining Step 6 visual reference.

   IMPORTANT PRESERVATION RULES:
   - Existing HTML remains authoritative for content order and page layout.
   - No images, text, sections, columns, or elements are moved or restructured.
   - Existing image width/height/max-width/object-fit/layout declarations remain intact.
   - Shared header.html and footer.html are not targeted.
   - This layer standardises visual treatment only; page-specific layout rules above remain.
   ========================================================================== */

/* Common grey browser canvas and typography; page-specific main layout is retained. */
body.jp-rad-publications,
body.jp-radiation-therapy-film-page,
body.jp-radon-monitor,
body.jp-radsticker-detail,
body.jp-radsticker-videos,
body.jp-radtriage-detail,
body.jp-radtriage-faq,
body.jp-radtriage-foreign,
body.jp-radtriage-manuals,
body.jp-radtriage-page,
body.jp-radtld-tld-osl,
body.jp-radtld-detail,
body.jp-visitor-badge-page,
body.jp-radt-family-pack,
body.jp-sterilization-page-body,
body.jp-synthetic-blood-page,
body.jp-synthetic-lipids-page,
body.jp-radt-testimonials,
body.jp-tti-page,
body.jp-uv-dosimeters-page,
body.jp-radt-why-purchase,
body.jp-3d-dosimetry-page,
body.jp-radt-awards,
body.jp-bri,
body.jp-radtriage-training,
body.jp-debittering-page,
body.jp-diacetylenes-page,
body:has(main.jp-food-page),
body.jp-glass-lining-page,
body.jp-high-dose,
body.jp-high-dose-dosimetry,
body.jp-rad-history,
body.jp-homepage,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen,
body.jp-press-coverage-page,
body.jp-metallization,
body.jp-nano-destruction-page,
body.jp-novel-solar-page,
body.jp-phenol-thermal-page,
body.jp-plant-milks-page,
body.jp-rad-press-articles,
body.jp-rad-press-videos {
  background-color: #F2F2F2 !important;
  background-image: none !important;
  color: #000000;
  font-family: "Inter", Arial, sans-serif;
}

/* Keep existing main geometry; standardise its white page surface. */
body.jp-rad-publications main,
body.jp-radiation-therapy-film-page main,
body.jp-radon-monitor main,
body.jp-radsticker-detail main,
body.jp-radsticker-videos main,
body.jp-radtriage-detail main,
body.jp-radtriage-faq main,
body.jp-radtriage-foreign main,
body.jp-radtriage-manuals main,
body.jp-radtriage-page main,
body.jp-radtld-tld-osl main,
body.jp-radtld-detail main,
body.jp-visitor-badge-page main,
body.jp-radt-family-pack main,
body.jp-sterilization-page-body main,
body.jp-synthetic-blood-page main,
body.jp-synthetic-lipids-page main,
body.jp-radt-testimonials main,
body.jp-tti-page main,
body.jp-uv-dosimeters-page main,
body.jp-radt-why-purchase main,
body.jp-3d-dosimetry-page main,
body.jp-radt-awards main,
body.jp-bri main,
body.jp-radtriage-training main,
body.jp-debittering-page main,
body.jp-diacetylenes-page main,
body:has(main.jp-food-page) main,
body.jp-glass-lining-page main,
body.jp-high-dose main,
body.jp-high-dose-dosimetry main,
body.jp-rad-history main,
body.jp-homepage main,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main,
body.jp-press-coverage-page main,
body.jp-metallization main,
body.jp-nano-destruction-page main,
body.jp-novel-solar-page main,
body.jp-phenol-thermal-page main,
body.jp-plant-milks-page main,
body.jp-rad-press-articles main,
body.jp-rad-press-videos main {
  background-color: #FFFFFF !important;
  color: #000000;
  border-color: #D9DDE2;
  box-sizing: border-box;
}

/* Existing title/banner elements only: black full-bleed band, without moving their contents. */
body.jp-rad-publications main .rad-publications-title,
body.jp-radiation-therapy-film-page main .jp-radiation-film-title,
body.jp-radon-monitor main .radon-title-band,
body.jp-radsticker-detail main .rads-title,
body.jp-radsticker-videos main .radv-title,
body.jp-radtriage-detail main .radt-title,
body.jp-radtriage-faq main .radt-faq-title,
body.jp-radtriage-foreign main .radt-foreign-title,
body.jp-radtriage-manuals main .radt-manuals-title,
body.jp-radtriage-page main .rad-title-band,
body.jp-radtld-tld-osl main .radtld-osl-title,
body.jp-radtld-detail main .radtld-title,
body.jp-visitor-badge-page main .jp-visitor-badge-titlebar,
body.jp-radt-family-pack main .radt-family-title,
body.jp-sterilization-page-body main .usi-titleband,
body.jp-synthetic-blood-page main .jp-synthetic-blood-titlebar,
body.jp-synthetic-lipids-page main .jp-synthetic-lipids-titlebar,
body.jp-radt-testimonials main .radt-testimonials-title,
body.jp-tti-page main .tti-title,
body.jp-sterilization-page-body main .usi-titleband.uci-titleband,
body.jp-uv-dosimeters-page main .jp-uv-titlebar,
body.jp-radt-why-purchase main .radt-why-purchase-title,
body.jp-3d-dosimetry-page main .jp-3d-dosimetry-title,
body.jp-radt-awards main .radt-awards-brand-band,
body.jp-bri main .bri-title-band,
body.jp-radtriage-training main .radt-training-title,
body.jp-debittering-page main .deb-title,
body.jp-diacetylenes-page main .dia-title,
body:has(main.jp-food-page) main .hero,
body.jp-glass-lining-page main .glass-lining-hero,
body.jp-high-dose main .hd-title-band,
body.jp-high-dose-dosimetry main .hdd-title-band,
body.jp-rad-history main .rad-history-title,
body.jp-homepage main .jp-home-heading,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main .flex.flex-col.md:flex-row.md:items-center.justify-between.border-b-2.border-slate-200/80.pb-4.mb-8.bg-white.p-4.rounded-xl.border.border-slate-200/60.shadow-sm,
body.jp-press-coverage-page main .press-title,
body.jp-metallization main .jp-metallization-titlebar,
body.jp-nano-destruction-page main .nano-title,
body.jp-novel-solar-page main .jp-novel-solar-titlebar,
body.jp-phenol-thermal-page main .phenol-thermal-title,
body.jp-plant-milks-page main .plant-title,
body.jp-rad-press-articles main .rad-press-title,
body.jp-rad-press-videos main .rad-press-videos-title {
  background-color: #050505 !important;
  background-image: none !important;
  color: #39FF14 !important;
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
}

/* Standard title typography; title text remains exactly as authored in each HTML page. */
body.jp-rad-publications main .rad-publications-title h1, body.jp-rad-publications main .rad-publications-title h2,
body.jp-radiation-therapy-film-page main .jp-radiation-film-title h1, body.jp-radiation-therapy-film-page main .jp-radiation-film-title h2,
body.jp-radon-monitor main .radon-title-band h1, body.jp-radon-monitor main .radon-title-band h2,
body.jp-radsticker-detail main .rads-title h1, body.jp-radsticker-detail main .rads-title h2,
body.jp-radsticker-videos main .radv-title h1, body.jp-radsticker-videos main .radv-title h2,
body.jp-radtriage-detail main .radt-title h1, body.jp-radtriage-detail main .radt-title h2,
body.jp-radtriage-faq main .radt-faq-title h1, body.jp-radtriage-faq main .radt-faq-title h2,
body.jp-radtriage-foreign main .radt-foreign-title h1, body.jp-radtriage-foreign main .radt-foreign-title h2,
body.jp-radtriage-manuals main .radt-manuals-title h1, body.jp-radtriage-manuals main .radt-manuals-title h2,
body.jp-radtriage-page main .rad-title-band h1, body.jp-radtriage-page main .rad-title-band h2,
body.jp-radtld-tld-osl main .radtld-osl-title h1, body.jp-radtld-tld-osl main .radtld-osl-title h2,
body.jp-radtld-detail main .radtld-title h1, body.jp-radtld-detail main .radtld-title h2,
body.jp-visitor-badge-page main .jp-visitor-badge-titlebar h1, body.jp-visitor-badge-page main .jp-visitor-badge-titlebar h2,
body.jp-radt-family-pack main .radt-family-title h1, body.jp-radt-family-pack main .radt-family-title h2,
body.jp-sterilization-page-body main .usi-titleband h1, body.jp-sterilization-page-body main .usi-titleband h2,
body.jp-synthetic-blood-page main .jp-synthetic-blood-titlebar h1, body.jp-synthetic-blood-page main .jp-synthetic-blood-titlebar h2,
body.jp-synthetic-lipids-page main .jp-synthetic-lipids-titlebar h1, body.jp-synthetic-lipids-page main .jp-synthetic-lipids-titlebar h2,
body.jp-radt-testimonials main .radt-testimonials-title h1, body.jp-radt-testimonials main .radt-testimonials-title h2,
body.jp-tti-page main .tti-title h1, body.jp-tti-page main .tti-title h2,
body.jp-sterilization-page-body main .usi-titleband.uci-titleband h1, body.jp-sterilization-page-body main .usi-titleband.uci-titleband h2,
body.jp-uv-dosimeters-page main .jp-uv-titlebar h1, body.jp-uv-dosimeters-page main .jp-uv-titlebar h2,
body.jp-radt-why-purchase main .radt-why-purchase-title h1, body.jp-radt-why-purchase main .radt-why-purchase-title h2,
body.jp-3d-dosimetry-page main .jp-3d-dosimetry-title h1, body.jp-3d-dosimetry-page main .jp-3d-dosimetry-title h2,
body.jp-radt-awards main .radt-awards-brand-band h1, body.jp-radt-awards main .radt-awards-brand-band h2,
body.jp-bri main .bri-title-band h1, body.jp-bri main .bri-title-band h2,
body.jp-radtriage-training main .radt-training-title h1, body.jp-radtriage-training main .radt-training-title h2,
body.jp-debittering-page main .deb-title h1, body.jp-debittering-page main .deb-title h2,
body.jp-diacetylenes-page main .dia-title h1, body.jp-diacetylenes-page main .dia-title h2,
body:has(main.jp-food-page) main .hero h1, body:has(main.jp-food-page) main .hero h2,
body.jp-glass-lining-page main .glass-lining-hero h1, body.jp-glass-lining-page main .glass-lining-hero h2,
body.jp-high-dose main .hd-title-band h1, body.jp-high-dose main .hd-title-band h2,
body.jp-high-dose-dosimetry main .hdd-title-band h1, body.jp-high-dose-dosimetry main .hdd-title-band h2,
body.jp-rad-history main .rad-history-title h1, body.jp-rad-history main .rad-history-title h2,
body.jp-homepage main .jp-home-heading h1, body.jp-homepage main .jp-home-heading h2,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main .flex.flex-col.md:flex-row.md:items-center.justify-between.border-b-2.border-slate-200/80.pb-4.mb-8.bg-white.p-4.rounded-xl.border.border-slate-200/60.shadow-sm h1, body.text-slate-800.antialiased.flex.flex-col.min-h-screen main .flex.flex-col.md:flex-row.md:items-center.justify-between.border-b-2.border-slate-200/80.pb-4.mb-8.bg-white.p-4.rounded-xl.border.border-slate-200/60.shadow-sm h2,
body.jp-press-coverage-page main .press-title h1, body.jp-press-coverage-page main .press-title h2,
body.jp-metallization main .jp-metallization-titlebar h1, body.jp-metallization main .jp-metallization-titlebar h2,
body.jp-nano-destruction-page main .nano-title h1, body.jp-nano-destruction-page main .nano-title h2,
body.jp-novel-solar-page main .jp-novel-solar-titlebar h1, body.jp-novel-solar-page main .jp-novel-solar-titlebar h2,
body.jp-phenol-thermal-page main .phenol-thermal-title h1, body.jp-phenol-thermal-page main .phenol-thermal-title h2,
body.jp-plant-milks-page main .plant-title h1, body.jp-plant-milks-page main .plant-title h2,
body.jp-rad-press-articles main .rad-press-title h1, body.jp-rad-press-articles main .rad-press-title h2,
body.jp-rad-press-videos main .rad-press-videos-title h1, body.jp-rad-press-videos main .rad-press-videos-title h2 {
  color: #39FF14 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
}

/* Common content typography; HTML order and element placement are unchanged. */
body.jp-rad-publications main,
body.jp-radiation-therapy-film-page main,
body.jp-radon-monitor main,
body.jp-radsticker-detail main,
body.jp-radsticker-videos main,
body.jp-radtriage-detail main,
body.jp-radtriage-faq main,
body.jp-radtriage-foreign main,
body.jp-radtriage-manuals main,
body.jp-radtriage-page main,
body.jp-radtld-tld-osl main,
body.jp-radtld-detail main,
body.jp-visitor-badge-page main,
body.jp-radt-family-pack main,
body.jp-sterilization-page-body main,
body.jp-synthetic-blood-page main,
body.jp-synthetic-lipids-page main,
body.jp-radt-testimonials main,
body.jp-tti-page main,
body.jp-uv-dosimeters-page main,
body.jp-radt-why-purchase main,
body.jp-3d-dosimetry-page main,
body.jp-radt-awards main,
body.jp-bri main,
body.jp-radtriage-training main,
body.jp-debittering-page main,
body.jp-diacetylenes-page main,
body:has(main.jp-food-page) main,
body.jp-glass-lining-page main,
body.jp-high-dose main,
body.jp-high-dose-dosimetry main,
body.jp-rad-history main,
body.jp-homepage main,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main,
body.jp-press-coverage-page main,
body.jp-metallization main,
body.jp-nano-destruction-page main,
body.jp-novel-solar-page main,
body.jp-phenol-thermal-page main,
body.jp-plant-milks-page main,
body.jp-rad-press-articles main,
body.jp-rad-press-videos main {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6;
}

body.jp-rad-publications main :is(p, li, td, th, figcaption, blockquote),
body.jp-radiation-therapy-film-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-radon-monitor main :is(p, li, td, th, figcaption, blockquote),
body.jp-radsticker-detail main :is(p, li, td, th, figcaption, blockquote),
body.jp-radsticker-videos main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtriage-detail main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtriage-faq main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtriage-foreign main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtriage-manuals main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtriage-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtld-tld-osl main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtld-detail main :is(p, li, td, th, figcaption, blockquote),
body.jp-visitor-badge-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-radt-family-pack main :is(p, li, td, th, figcaption, blockquote),
body.jp-sterilization-page-body main :is(p, li, td, th, figcaption, blockquote),
body.jp-synthetic-blood-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-synthetic-lipids-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-radt-testimonials main :is(p, li, td, th, figcaption, blockquote),
body.jp-tti-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-uv-dosimeters-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-radt-why-purchase main :is(p, li, td, th, figcaption, blockquote),
body.jp-3d-dosimetry-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-radt-awards main :is(p, li, td, th, figcaption, blockquote),
body.jp-bri main :is(p, li, td, th, figcaption, blockquote),
body.jp-radtriage-training main :is(p, li, td, th, figcaption, blockquote),
body.jp-debittering-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-diacetylenes-page main :is(p, li, td, th, figcaption, blockquote),
body:has(main.jp-food-page) main :is(p, li, td, th, figcaption, blockquote),
body.jp-glass-lining-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-high-dose main :is(p, li, td, th, figcaption, blockquote),
body.jp-high-dose-dosimetry main :is(p, li, td, th, figcaption, blockquote),
body.jp-rad-history main :is(p, li, td, th, figcaption, blockquote),
body.jp-homepage main :is(p, li, td, th, figcaption, blockquote),
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main :is(p, li, td, th, figcaption, blockquote),
body.jp-press-coverage-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-metallization main :is(p, li, td, th, figcaption, blockquote),
body.jp-nano-destruction-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-novel-solar-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-phenol-thermal-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-plant-milks-page main :is(p, li, td, th, figcaption, blockquote),
body.jp-rad-press-articles main :is(p, li, td, th, figcaption, blockquote),
body.jp-rad-press-videos main :is(p, li, td, th, figcaption, blockquote) {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400;
  line-height: 1.6 !important;
  color: #000000;
}

body.jp-rad-publications main h1,
body.jp-radiation-therapy-film-page main h1,
body.jp-radon-monitor main h1,
body.jp-radsticker-detail main h1,
body.jp-radsticker-videos main h1,
body.jp-radtriage-detail main h1,
body.jp-radtriage-faq main h1,
body.jp-radtriage-foreign main h1,
body.jp-radtriage-manuals main h1,
body.jp-radtriage-page main h1,
body.jp-radtld-tld-osl main h1,
body.jp-radtld-detail main h1,
body.jp-visitor-badge-page main h1,
body.jp-radt-family-pack main h1,
body.jp-sterilization-page-body main h1,
body.jp-synthetic-blood-page main h1,
body.jp-synthetic-lipids-page main h1,
body.jp-radt-testimonials main h1,
body.jp-tti-page main h1,
body.jp-uv-dosimeters-page main h1,
body.jp-radt-why-purchase main h1,
body.jp-3d-dosimetry-page main h1,
body.jp-radt-awards main h1,
body.jp-bri main h1,
body.jp-radtriage-training main h1,
body.jp-debittering-page main h1,
body.jp-diacetylenes-page main h1,
body:has(main.jp-food-page) main h1,
body.jp-glass-lining-page main h1,
body.jp-high-dose main h1,
body.jp-high-dose-dosimetry main h1,
body.jp-rad-history main h1,
body.jp-homepage main h1,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main h1,
body.jp-press-coverage-page main h1,
body.jp-metallization main h1,
body.jp-nano-destruction-page main h1,
body.jp-novel-solar-page main h1,
body.jp-phenol-thermal-page main h1,
body.jp-plant-milks-page main h1,
body.jp-rad-press-articles main h1,
body.jp-rad-press-videos main h1 {
  font-size: clamp(22px, 2.5vw, 32px) !important;
  line-height: 1.2 !important;
}
body.jp-rad-publications main h2,
body.jp-radiation-therapy-film-page main h2,
body.jp-radon-monitor main h2,
body.jp-radsticker-detail main h2,
body.jp-radsticker-videos main h2,
body.jp-radtriage-detail main h2,
body.jp-radtriage-faq main h2,
body.jp-radtriage-foreign main h2,
body.jp-radtriage-manuals main h2,
body.jp-radtriage-page main h2,
body.jp-radtld-tld-osl main h2,
body.jp-radtld-detail main h2,
body.jp-visitor-badge-page main h2,
body.jp-radt-family-pack main h2,
body.jp-sterilization-page-body main h2,
body.jp-synthetic-blood-page main h2,
body.jp-synthetic-lipids-page main h2,
body.jp-radt-testimonials main h2,
body.jp-tti-page main h2,
body.jp-uv-dosimeters-page main h2,
body.jp-radt-why-purchase main h2,
body.jp-3d-dosimetry-page main h2,
body.jp-radt-awards main h2,
body.jp-bri main h2,
body.jp-radtriage-training main h2,
body.jp-debittering-page main h2,
body.jp-diacetylenes-page main h2,
body:has(main.jp-food-page) main h2,
body.jp-glass-lining-page main h2,
body.jp-high-dose main h2,
body.jp-high-dose-dosimetry main h2,
body.jp-rad-history main h2,
body.jp-homepage main h2,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main h2,
body.jp-press-coverage-page main h2,
body.jp-metallization main h2,
body.jp-nano-destruction-page main h2,
body.jp-novel-solar-page main h2,
body.jp-phenol-thermal-page main h2,
body.jp-plant-milks-page main h2,
body.jp-rad-press-articles main h2,
body.jp-rad-press-videos main h2 {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
}
body.jp-rad-publications main h3,
body.jp-radiation-therapy-film-page main h3,
body.jp-radon-monitor main h3,
body.jp-radsticker-detail main h3,
body.jp-radsticker-videos main h3,
body.jp-radtriage-detail main h3,
body.jp-radtriage-faq main h3,
body.jp-radtriage-foreign main h3,
body.jp-radtriage-manuals main h3,
body.jp-radtriage-page main h3,
body.jp-radtld-tld-osl main h3,
body.jp-radtld-detail main h3,
body.jp-visitor-badge-page main h3,
body.jp-radt-family-pack main h3,
body.jp-sterilization-page-body main h3,
body.jp-synthetic-blood-page main h3,
body.jp-synthetic-lipids-page main h3,
body.jp-radt-testimonials main h3,
body.jp-tti-page main h3,
body.jp-uv-dosimeters-page main h3,
body.jp-radt-why-purchase main h3,
body.jp-3d-dosimetry-page main h3,
body.jp-radt-awards main h3,
body.jp-bri main h3,
body.jp-radtriage-training main h3,
body.jp-debittering-page main h3,
body.jp-diacetylenes-page main h3,
body:has(main.jp-food-page) main h3,
body.jp-glass-lining-page main h3,
body.jp-high-dose main h3,
body.jp-high-dose-dosimetry main h3,
body.jp-rad-history main h3,
body.jp-homepage main h3,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main h3,
body.jp-press-coverage-page main h3,
body.jp-metallization main h3,
body.jp-nano-destruction-page main h3,
body.jp-novel-solar-page main h3,
body.jp-phenol-thermal-page main h3,
body.jp-plant-milks-page main h3,
body.jp-rad-press-articles main h3,
body.jp-rad-press-videos main h3 {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
}

/* Existing title-band decorative/subtitle line: standard yellow; no new content is inserted. */
body.jp-rad-publications main .rad-publications-title p,
body.jp-radiation-therapy-film-page main .jp-radiation-film-title p,
body.jp-radon-monitor main .radon-title-band p,
body.jp-radsticker-detail main .rads-title p,
body.jp-radsticker-videos main .radv-title p,
body.jp-radtriage-detail main .radt-title p,
body.jp-radtriage-faq main .radt-faq-title p,
body.jp-radtriage-foreign main .radt-foreign-title p,
body.jp-radtriage-manuals main .radt-manuals-title p,
body.jp-radtriage-page main .rad-title-band p,
body.jp-radtld-tld-osl main .radtld-osl-title p,
body.jp-radtld-detail main .radtld-title p,
body.jp-visitor-badge-page main .jp-visitor-badge-titlebar p,
body.jp-radt-family-pack main .radt-family-title p,
body.jp-sterilization-page-body main .usi-titleband p,
body.jp-synthetic-blood-page main .jp-synthetic-blood-titlebar p,
body.jp-synthetic-lipids-page main .jp-synthetic-lipids-titlebar p,
body.jp-radt-testimonials main .radt-testimonials-title p,
body.jp-tti-page main .tti-title p,
body.jp-sterilization-page-body main .usi-titleband.uci-titleband p,
body.jp-uv-dosimeters-page main .jp-uv-titlebar p,
body.jp-radt-why-purchase main .radt-why-purchase-title p,
body.jp-3d-dosimetry-page main .jp-3d-dosimetry-title p,
body.jp-radt-awards main .radt-awards-brand-band p,
body.jp-bri main .bri-title-band p,
body.jp-radtriage-training main .radt-training-title p,
body.jp-debittering-page main .deb-title p,
body.jp-diacetylenes-page main .dia-title p,
body:has(main.jp-food-page) main .hero p,
body.jp-glass-lining-page main .glass-lining-hero p,
body.jp-high-dose main .hd-title-band p,
body.jp-high-dose-dosimetry main .hdd-title-band p,
body.jp-rad-history main .rad-history-title p,
body.jp-homepage main .jp-home-heading p,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main .flex.flex-col.md:flex-row.md:items-center.justify-between.border-b-2.border-slate-200/80.pb-4.mb-8.bg-white.p-4.rounded-xl.border.border-slate-200/60.shadow-sm p,
body.jp-press-coverage-page main .press-title p,
body.jp-metallization main .jp-metallization-titlebar p,
body.jp-nano-destruction-page main .nano-title p,
body.jp-novel-solar-page main .jp-novel-solar-titlebar p,
body.jp-phenol-thermal-page main .phenol-thermal-title p,
body.jp-plant-milks-page main .plant-title p,
body.jp-rad-press-articles main .rad-press-title p,
body.jp-rad-press-videos main .rad-press-videos-title p {
  color: #FFFF00 !important;
}

/* Images: preserve HTML/CSS sizing and placement; apply only the agreed frame treatment. */
body.jp-rad-publications main img,
body.jp-radiation-therapy-film-page main img,
body.jp-radon-monitor main img,
body.jp-radsticker-detail main img,
body.jp-radsticker-videos main img,
body.jp-radtriage-detail main img,
body.jp-radtriage-faq main img,
body.jp-radtriage-foreign main img,
body.jp-radtriage-manuals main img,
body.jp-radtriage-page main img,
body.jp-radtld-tld-osl main img,
body.jp-radtld-detail main img,
body.jp-visitor-badge-page main img,
body.jp-radt-family-pack main img,
body.jp-sterilization-page-body main img,
body.jp-synthetic-blood-page main img,
body.jp-synthetic-lipids-page main img,
body.jp-radt-testimonials main img,
body.jp-tti-page main img,
body.jp-uv-dosimeters-page main img,
body.jp-radt-why-purchase main img,
body.jp-3d-dosimetry-page main img,
body.jp-radt-awards main img,
body.jp-bri main img,
body.jp-radtriage-training main img,
body.jp-debittering-page main img,
body.jp-diacetylenes-page main img,
body:has(main.jp-food-page) main img,
body.jp-glass-lining-page main img,
body.jp-high-dose main img,
body.jp-high-dose-dosimetry main img,
body.jp-rad-history main img,
body.jp-homepage main img,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main img,
body.jp-press-coverage-page main img,
body.jp-metallization main img,
body.jp-nano-destruction-page main img,
body.jp-novel-solar-page main img,
body.jp-phenol-thermal-page main img,
body.jp-plant-milks-page main img,
body.jp-rad-press-articles main img,
body.jp-rad-press-videos main img {
  border: 1px solid #D9DDE2 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  cursor: default !important;
}

/* Neutralise legacy image hover zoom, transitions, filters and zoom cursors on page content. */
body.jp-rad-publications main img, body.jp-rad-publications main img:hover, body.jp-rad-publications main *:hover img,
body.jp-radiation-therapy-film-page main img, body.jp-radiation-therapy-film-page main img:hover, body.jp-radiation-therapy-film-page main *:hover img,
body.jp-radon-monitor main img, body.jp-radon-monitor main img:hover, body.jp-radon-monitor main *:hover img,
body.jp-radsticker-detail main img, body.jp-radsticker-detail main img:hover, body.jp-radsticker-detail main *:hover img,
body.jp-radsticker-videos main img, body.jp-radsticker-videos main img:hover, body.jp-radsticker-videos main *:hover img,
body.jp-radtriage-detail main img, body.jp-radtriage-detail main img:hover, body.jp-radtriage-detail main *:hover img,
body.jp-radtriage-faq main img, body.jp-radtriage-faq main img:hover, body.jp-radtriage-faq main *:hover img,
body.jp-radtriage-foreign main img, body.jp-radtriage-foreign main img:hover, body.jp-radtriage-foreign main *:hover img,
body.jp-radtriage-manuals main img, body.jp-radtriage-manuals main img:hover, body.jp-radtriage-manuals main *:hover img,
body.jp-radtriage-page main img, body.jp-radtriage-page main img:hover, body.jp-radtriage-page main *:hover img,
body.jp-radtld-tld-osl main img, body.jp-radtld-tld-osl main img:hover, body.jp-radtld-tld-osl main *:hover img,
body.jp-radtld-detail main img, body.jp-radtld-detail main img:hover, body.jp-radtld-detail main *:hover img,
body.jp-visitor-badge-page main img, body.jp-visitor-badge-page main img:hover, body.jp-visitor-badge-page main *:hover img,
body.jp-radt-family-pack main img, body.jp-radt-family-pack main img:hover, body.jp-radt-family-pack main *:hover img,
body.jp-sterilization-page-body main img, body.jp-sterilization-page-body main img:hover, body.jp-sterilization-page-body main *:hover img,
body.jp-synthetic-blood-page main img, body.jp-synthetic-blood-page main img:hover, body.jp-synthetic-blood-page main *:hover img,
body.jp-synthetic-lipids-page main img, body.jp-synthetic-lipids-page main img:hover, body.jp-synthetic-lipids-page main *:hover img,
body.jp-radt-testimonials main img, body.jp-radt-testimonials main img:hover, body.jp-radt-testimonials main *:hover img,
body.jp-tti-page main img, body.jp-tti-page main img:hover, body.jp-tti-page main *:hover img,
body.jp-uv-dosimeters-page main img, body.jp-uv-dosimeters-page main img:hover, body.jp-uv-dosimeters-page main *:hover img,
body.jp-radt-why-purchase main img, body.jp-radt-why-purchase main img:hover, body.jp-radt-why-purchase main *:hover img,
body.jp-3d-dosimetry-page main img, body.jp-3d-dosimetry-page main img:hover, body.jp-3d-dosimetry-page main *:hover img,
body.jp-radt-awards main img, body.jp-radt-awards main img:hover, body.jp-radt-awards main *:hover img,
body.jp-bri main img, body.jp-bri main img:hover, body.jp-bri main *:hover img,
body.jp-radtriage-training main img, body.jp-radtriage-training main img:hover, body.jp-radtriage-training main *:hover img,
body.jp-debittering-page main img, body.jp-debittering-page main img:hover, body.jp-debittering-page main *:hover img,
body.jp-diacetylenes-page main img, body.jp-diacetylenes-page main img:hover, body.jp-diacetylenes-page main *:hover img,
body:has(main.jp-food-page) main img, body:has(main.jp-food-page) main img:hover, body:has(main.jp-food-page) main *:hover img,
body.jp-glass-lining-page main img, body.jp-glass-lining-page main img:hover, body.jp-glass-lining-page main *:hover img,
body.jp-high-dose main img, body.jp-high-dose main img:hover, body.jp-high-dose main *:hover img,
body.jp-high-dose-dosimetry main img, body.jp-high-dose-dosimetry main img:hover, body.jp-high-dose-dosimetry main *:hover img,
body.jp-rad-history main img, body.jp-rad-history main img:hover, body.jp-rad-history main *:hover img,
body.jp-homepage main img, body.jp-homepage main img:hover, body.jp-homepage main *:hover img,
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main img, body.text-slate-800.antialiased.flex.flex-col.min-h-screen main img:hover, body.text-slate-800.antialiased.flex.flex-col.min-h-screen main *:hover img,
body.jp-press-coverage-page main img, body.jp-press-coverage-page main img:hover, body.jp-press-coverage-page main *:hover img,
body.jp-metallization main img, body.jp-metallization main img:hover, body.jp-metallization main *:hover img,
body.jp-nano-destruction-page main img, body.jp-nano-destruction-page main img:hover, body.jp-nano-destruction-page main *:hover img,
body.jp-novel-solar-page main img, body.jp-novel-solar-page main img:hover, body.jp-novel-solar-page main *:hover img,
body.jp-phenol-thermal-page main img, body.jp-phenol-thermal-page main img:hover, body.jp-phenol-thermal-page main *:hover img,
body.jp-plant-milks-page main img, body.jp-plant-milks-page main img:hover, body.jp-plant-milks-page main *:hover img,
body.jp-rad-press-articles main img, body.jp-rad-press-articles main img:hover, body.jp-rad-press-articles main *:hover img,
body.jp-rad-press-videos main img, body.jp-rad-press-videos main img:hover, body.jp-rad-press-videos main *:hover img {
  transform: none !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
  box-shadow: none !important;
  cursor: default !important;
}

/* Keep existing content panels white and give existing bordered panels the shared neutral edge.
   No padding, margins, display, grid, flex, dimensions or ordering are changed here. */
body.jp-rad-publications main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radiation-therapy-film-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radon-monitor main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radsticker-detail main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radsticker-videos main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtriage-detail main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtriage-faq main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtriage-foreign main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtriage-manuals main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtriage-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtld-tld-osl main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtld-detail main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-visitor-badge-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radt-family-pack main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-sterilization-page-body main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-synthetic-blood-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-synthetic-lipids-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radt-testimonials main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-tti-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-uv-dosimeters-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radt-why-purchase main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-3d-dosimetry-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radt-awards main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-bri main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-radtriage-training main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-debittering-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-diacetylenes-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body:has(main.jp-food-page) main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-glass-lining-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-high-dose main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-high-dose-dosimetry main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-rad-history main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-homepage main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.text-slate-800.antialiased.flex.flex-col.min-h-screen main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-press-coverage-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-metallization main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-nano-destruction-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-novel-solar-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-phenol-thermal-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-plant-milks-page main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-rad-press-articles main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel),
body.jp-rad-press-videos main :is(article, section, figure, .image-container, .image-frame, .content-box, .content-panel) {
  border-color: #D9DDE2;
  border-radius: 5px;
}

/* End master visual consistency layer. */


/* ==========================================================================
   HIGH DOSE PAGE — MATCH THE APPROVED GLASS-LINING FULL-WIDTH BANNER
   The original 1200px slide and all card/content coordinates remain unchanged.
   Only the black title-band background is extended to the browser edges.
   The 28px space above the band and 13px gap below it are retained.
   ========================================================================== */

html body.jp-high-dose .hd-slide {
  overflow: visible !important;
}

html body.jp-high-dose .hd-title-band {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: none !important;
  height: 82px !important;
  margin: 0 !important;
  padding: 7px 12px 5px !important;
  box-sizing: border-box !important;
  transform: translateX(-50%) !important;
  border-radius: 0 !important;
  background: #050505 !important;
  text-align: center !important;
  z-index: 5 !important;
}

html body.jp-high-dose .hd-title-band h1 {
  color: #39ff14 !important;
}

html body.jp-high-dose .hd-title-band p {
  color: #ffff00 !important;
}

/* End High Dose full-width banner correction. */


/* ==========================================================================
   PAGE BANNER RECONCILIATION — DIACETYLENES, RADON, UV DOSIMETERS
   Match the approved Glass-Lining banner without changing HTML layout.
   The title element remains in normal document flow; only its black
   background is extended to the viewport edges. Existing top/bottom
   spacing, title content, page padding and content order are preserved.
   ========================================================================== */

/* Diacetylenes */
html body.jp-diacetylenes-page .jp-diacetylenes-main,
html body.jp-diacetylenes-page .dia-title {
  overflow: visible !important;
}
html body.jp-diacetylenes-page .dia-title {
  position: relative !important;
  isolation: isolate;
  background: transparent !important;
  border-radius: 0 !important;
}
html body.jp-diacetylenes-page .dia-title::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #050505;
}
html body.jp-diacetylenes-page .dia-title h1 {
  color: #39ff14 !important;
}
html body.jp-diacetylenes-page .dia-title p {
  color: #ffff00 !important;
}

/* Radon monitors */
html body.jp-radon-monitor .radon-page,
html body.jp-radon-monitor .radon-title-band {
  overflow: visible !important;
}
html body.jp-radon-monitor .radon-title-band {
  position: relative !important;
  isolation: isolate;
  background: transparent !important;
  border-radius: 0 !important;
}
html body.jp-radon-monitor .radon-title-band::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #050505;
}
html body.jp-radon-monitor .radon-title-band h1 {
  color: #39ff14 !important;
}
html body.jp-radon-monitor .radon-title-band p {
  color: #ffff00 !important;
}

/* UV dosimeters / indicators */
html body.jp-uv-dosimeters-page .jp-uv-main,
html body.jp-uv-dosimeters-page .jp-uv-page,
html body.jp-uv-dosimeters-page .jp-uv-titlebar {
  overflow: visible !important;
}
html body.jp-uv-dosimeters-page .jp-uv-titlebar {
  position: relative !important;
  isolation: isolate;
  background: transparent !important;
  border-radius: 0 !important;
}
html body.jp-uv-dosimeters-page .jp-uv-titlebar::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #050505;
}
html body.jp-uv-dosimeters-page .jp-uv-titlebar h1 {
  color: #39ff14 !important;
}
html body.jp-uv-dosimeters-page .jp-uv-titlebar p {
  color: #ffff00 !important;
}

/* End three-page banner reconciliation. */


/* UV DOSIMETERS — remove the exposed white top-padding strip above the banner.
   The title remains in its original HTML position/order; its existing parent
   top padding is visually cancelled so the banner meets the page's top edge. */
html body.jp-uv-dosimeters-page .jp-uv-page {
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* ==========================================================================
   SITE-WIDE TITLE BANNER AND TOP-EDGE RECONCILIATION — V5
   Built from the actual HTML structure of the content pages.
   Reference: Glass Lining; spacing correction: successful UV Dosimeters V4.
   Only title backgrounds and the title container's exposed top padding/border
   are corrected. No content ordering, image placement, grids, columns,
   dimensions, image sizing, or section spacing below the title is changed.
   Shared header/footer files are not targeted.
   ========================================================================== */

html body.jp-rad-publications .rad-publications-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-rad-publications .rad-publications-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radiation-therapy-film-page .jp-radiation-film-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radiation-therapy-film-page .jp-radiation-film-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radon-monitor .radon-title-band { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radon-monitor .radon-title-band::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radsticker-detail .rads-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radsticker-detail .rads-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radsticker-videos .radv-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radsticker-videos .radv-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtriage-detail .radt-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtriage-detail .radt-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtriage-faq .radt-faq-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtriage-faq .radt-faq-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtriage-foreign .radt-foreign-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtriage-foreign .radt-foreign-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtriage-manuals .radt-manuals-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtriage-manuals .radt-manuals-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtriage-page .rad-title-band { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtriage-page .rad-title-band::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtld-tld-osl .radtld-osl-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtld-tld-osl .radtld-osl-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtld-detail .radtld-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtld-detail .radtld-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-visitor-badge-page .jp-visitor-badge-titlebar { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-visitor-badge-page .jp-visitor-badge-titlebar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radt-family-pack .radt-family-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radt-family-pack .radt-family-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-sterilization-page-body .usi-titleband { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-sterilization-page-body .usi-titleband::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-synthetic-blood-page .jp-synthetic-blood-titlebar { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-synthetic-blood-page .jp-synthetic-blood-titlebar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-synthetic-lipids-page .jp-synthetic-lipids-titlebar { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-synthetic-lipids-page .jp-synthetic-lipids-titlebar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radt-testimonials .radt-testimonials-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radt-testimonials .radt-testimonials-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-tti-page .tti-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-tti-page .tti-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-sterilization-page-body .usi-titleband.uci-titleband { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-sterilization-page-body .usi-titleband.uci-titleband::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-uv-dosimeters-page .jp-uv-titlebar { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-uv-dosimeters-page .jp-uv-titlebar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radt-why-purchase .radt-why-purchase-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radt-why-purchase .radt-why-purchase-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-3d-dosimetry-page .jp-3d-dosimetry-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-3d-dosimetry-page .jp-3d-dosimetry-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radt-awards .radt-awards-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radt-awards .radt-awards-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-bri .bri-title-band { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-bri .bri-title-band::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-radtriage-training .radt-training-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-radtriage-training .radt-training-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-debittering-page .deb-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-debittering-page .deb-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-diacetylenes-page .dia-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-diacetylenes-page .dia-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-high-dose-dosimetry .hdd-title-band { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-high-dose-dosimetry .hdd-title-band::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-rad-history .rad-history-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-rad-history .rad-history-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-homepage .jp-home-heading { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-homepage .jp-home-heading::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-press-coverage-page .press-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-press-coverage-page .press-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-metallization .jp-metallization-titlebar { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-metallization .jp-metallization-titlebar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-nano-destruction-page .nano-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-nano-destruction-page .nano-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-novel-solar-page .jp-novel-solar-titlebar { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-novel-solar-page .jp-novel-solar-titlebar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-phenol-thermal-page .phenol-thermal-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-phenol-thermal-page .phenol-thermal-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-plant-milks-page .plant-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-plant-milks-page .plant-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-rad-press-articles .rad-press-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-rad-press-articles .rad-press-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

html body.jp-rad-press-videos .rad-press-videos-title { position: relative !important; isolation: isolate; overflow: visible !important; background: transparent !important; border-radius: 0 !important; }
html body.jp-rad-press-videos .rad-press-videos-title::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #050505; }

/* Remove only the exposed top strip on the title's immediate wrapper. */
html body.jp-rad-publications .rad-publications-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radiation-therapy-film-page .jp-radiation-film-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radon-monitor .radon-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radsticker-detail .rads-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radsticker-videos .radv-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtriage-detail .radt-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtriage-faq .radt-faq-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtriage-foreign .radt-foreign-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtriage-manuals .radt-manuals-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtriage-page .rad-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtld-tld-osl .radtld-osl-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtld-detail .radtld-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-visitor-badge-page .jp-visitor-badge-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radt-family-pack .radt-family-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-sterilization-page-body .jp-sterilization-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-synthetic-blood-page .jp-synthetic-blood-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-synthetic-lipids-page .jp-synthetic-lipids-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radt-testimonials .radt-testimonials-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-tti-page .tti-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-sterilization-page-body .jp-sterilization-page.jp-ultrasonic-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-uv-dosimeters-page .jp-uv-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radt-why-purchase .radt-why-purchase-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-3d-dosimetry-page .jp-3d-dosimetry-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radt-awards .radt-awards-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-bri .bri-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-radtriage-training .radt-training-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-debittering-page .deb-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-diacetylenes-page .jp-diacetylenes-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-high-dose-dosimetry .hdd-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-rad-history .rad-history-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-homepage main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-press-coverage-page .press-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-metallization .jp-metallization-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-nano-destruction-page .nano-destruction-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-novel-solar-page .jp-novel-solar-detail { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-phenol-thermal-page .phenol-thermal-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-plant-milks-page .plant-main { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-rad-press-articles .rad-press-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }
html body.jp-rad-press-videos .rad-press-videos-page { padding-top: 0 !important; border-top: 0 !important; overflow: visible !important; }

/* Standard banner title colours; preserve each page's own wording and sizes. */
html body :is(.rad-publications-title, .jp-radiation-film-title, .radon-title-band,
.rads-title, .radv-title, .radt-title, .radt-faq-title, .radt-foreign-title,
.radt-manuals-title, .rad-title-band, .radtld-osl-title, .radtld-title,
.radt-family-title, .usi-titleband, .jp-synthetic-blood-titlebar,
.jp-synthetic-lipids-titlebar, .radt-testimonials-title, .tti-title,
.jp-visitor-badge-titlebar, .jp-uv-titlebar, .radt-why-purchase-title,
.jp-3d-dosimetry-title, .radt-awards-title, .bri-title-band,
.radt-training-title, .deb-title, .dia-title, .hdd-title-band,
.rad-history-title, .jp-home-heading, .press-title,
.jp-metallization-titlebar, .nano-title, .jp-novel-solar-titlebar,
.phenol-thermal-title, .plant-title, .rad-press-title,
.rad-press-videos-title) h1 {
  color: #39ff14 !important;
}
html body :is(.rad-publications-title, .jp-radiation-film-title, .radon-title-band,
.rads-title, .radv-title, .radt-title, .radt-faq-title, .radt-foreign-title,
.radt-manuals-title, .rad-title-band, .radtld-osl-title, .radtld-title,
.radt-family-title, .usi-titleband, .jp-synthetic-blood-titlebar,
.jp-synthetic-lipids-titlebar, .radt-testimonials-title, .tti-title,
.jp-visitor-badge-titlebar, .jp-uv-titlebar, .radt-why-purchase-title,
.jp-3d-dosimetry-title, .radt-awards-title, .bri-title-band,
.radt-training-title, .deb-title, .dia-title, .hdd-title-band,
.rad-history-title, .jp-home-heading, .press-title,
.jp-metallization-titlebar, .nano-title, .jp-novel-solar-titlebar,
.phenol-thermal-title, .plant-title, .rad-press-title,
.rad-press-videos-title) p {
  color: #ffff00 !important;
}

/* End V5 site-wide title banner and spacing reconciliation. */


/* ==========================================================================
   SITE-WIDE CONTENT TEXT COLOUR NORMALISATION — V6
   All blue/navy body-copy text is black, including legacy named blue classes
   and inline blue text. Title-banner green/yellow colours are intentionally
   excluded. Hyperlink destinations and underlines remain unchanged.
   ========================================================================== */

/* Explicit blue text treatments found in the page-specific CSS. */

html body main .tti-offer h2,
html body main .tti-offer li,
html body main .rad-copy a,
html body main .radtld-blue-bullets li.blue-copy,
html body main .radtld-osl-bullets li.blue,
html body main .radt-awards-panel a,
html body main .faq-section-heading,
html body main .nano-destroyed-label,
html body main .hd-source-panel h2,
html body main .hd-dose-sensitivity .hd-blue-intro,
html body main .hd-blue,
html body main .hd-info-panel h2,
html body main .hdd-blue,
html body main .jp-uv-superiorities li:nth-child(2),
html body main .jp-uv-superiorities li:nth-child(4),
html body main .jp-uv-superiorities li:nth-child(6),
html body main .dia-subtitle p:nth-of-type(1),
html body main .dia-bullets li:nth-child(odd) {
  color: #000000 !important;
}

/* Inline blue text sometimes survives class-based page styling. */
html body main [style*="color: blue"],
html body main [style*="color:blue"],
html body main [style*="color: #0000ff"],
html body main [style*="color:#0000ff"],
html body main [style*="color: #00f"],
html body main [style*="color:#00f"],
html body main [style*="color: #0070c0"],
html body main [style*="color:#0070c0"],
html body main [style*="color: #0563c1"],
html body main [style*="color:#0563c1"],
html body main [style*="color: #0645ad"],
html body main [style*="color:#0645ad"] {
  color: #000000 !important;
}

/* Legacy classes containing "blue" are black when applied to text content.
   Exclude the decorative title/banner backgrounds and non-text elements. */
html body main :is(p, li, span, strong, em, b, i, h2, h3, h4, td, th)[class*="blue"],
html body main :is(p, li, span, strong, em, b, i, h2, h3, h4, td, th)[class*="Blue"] {
  color: #000000 !important;
}

/* Blue list markers are also changed to black. */
html body main li[class*="blue"]::marker,
html body main li.blue-copy::marker {
  color: #000000 !important;
}

/* End V6 content text colour normalisation. */

/* ==========================================================================
   JP LABORATORIES — FOOD PRESERVATION PAGE
   Website Protocol V3 page styling.
   Append to the END of css/style.css.
   HTML contains structure and content only.
   ========================================================================== */

body.jp-food-preservation-page {
  margin: 0;
  min-height: 100vh;
  color: #000;
  background: #e5e7eb !important;
  background-image: none !important;
  font-family: 'Inter', Arial, sans-serif;
}

body.jp-food-preservation-page .jp-food-preservation-main {
  width: 100%;
  box-sizing: border-box;
  padding: 28px 20px 42px;
  background: #e5e7eb !important;
}

body.jp-food-preservation-page .jp-food-preservation-detail {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 34px 34px;
  box-sizing: border-box;
  background: #fff !important;
  border: 1px solid #d9dee7;
  box-shadow: 0 3px 18px rgba(0, 0, 0, .10);
}

/* Full-width black title banner */
body.jp-food-preservation-page .jp-food-preservation-titlebar {
  position: relative;
  width: 100vw;
  margin: 0 0 22px calc(50% - 50vw);
  padding: 16px 20px 13px;
  box-sizing: border-box;
  background: #000;
  color: #39ff14;
  text-align: center;
}

body.jp-food-preservation-page .jp-food-preservation-titlebar h1 {
  margin: 0;
  color: #39ff14 !important;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
}

body.jp-food-preservation-page .jp-food-preservation-titlebar p {
  margin: 6px 0 0;
  color: #ffff00 !important;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  line-height: 1.25;
  font-weight: 700;
}

/* Featured resource cards */
body.jp-food-preservation-page .intro-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 18px;
}

body.jp-food-preservation-page .intro-card {
  min-width: 0;
  margin: 0;
  padding: 13px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fffecb;
  text-align: center;
  box-shadow: none;
  transition: none;
}

body.jp-food-preservation-page .intro-card:nth-child(2) {
  background: #f4fff4;
}

body.jp-food-preservation-page .intro-card h2 {
  margin: 0 0 10px;
  color: #000;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
}

body.jp-food-preservation-page .jp-food-resource-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

body.jp-food-preservation-page .intro-card img {
  display: block;
  width: 100%;
  height: clamp(140px, 16vw, 185px);
  object-fit: contain;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  cursor: default;
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}

body.jp-food-preservation-page .jp-food-resource-link:hover img,
body.jp-food-preservation-page .jp-food-resource-link:focus-visible img {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Text and content panels */
body.jp-food-preservation-page .intro-text,
body.jp-food-preservation-page .content-panel,
body.jp-food-preservation-page .test-panel,
body.jp-food-preservation-page .test-card {
  margin: 0 0 14px;
  padding: 16px 18px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

body.jp-food-preservation-page .intro-text p {
  margin: 0;
  color: #000;
  font-size: 15px;
  line-height: 1.65;
  text-align: justify;
}

body.jp-food-preservation-page .content-panel h2,
body.jp-food-preservation-page .test-panel h2,
body.jp-food-preservation-page .test-card h2 {
  display: inline-block;
  margin: 0 0 12px;
  padding: 0 0 5px;
  border: 0;
  border-bottom: 1px solid #cbd5e1;
  color: #000;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

/* Food loss section */
body.jp-food-preservation-page .food-loss-content {
  display: grid;
  grid-template-columns: minmax(220px, 32%) minmax(0, 1fr);
  align-items: center;
  gap: 22px;
}

body.jp-food-preservation-page .food-loss-content img,
body.jp-food-preservation-page .spoilage-images img,
body.jp-food-preservation-page .tomato-group img,
body.jp-food-preservation-page .test-card img {
  display: block;
  max-width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}

body.jp-food-preservation-page .food-loss-content img {
  width: 100%;
  height: auto;
  cursor: default;
}

body.jp-food-preservation-page .food-loss-copy p {
  margin: 0 0 12px;
  color: #000;
  font-size: 16px;
}

body.jp-food-preservation-page .blue {
  color: #000 !important;
}

body.jp-food-preservation-page .source-url {
  color: #555;
  font-size: 12px;
  font-style: italic;
  overflow-wrap: anywhere;
}

/* Food spoilage section */
body.jp-food-preservation-page .spoilage-content {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(0, 3.2fr);
  gap: 18px;
  align-items: center;
}

body.jp-food-preservation-page .spoilage-list {
  margin: 0;
  padding-left: 24px;
}

body.jp-food-preservation-page .spoilage-list li {
  padding: 2px 0 2px 3px;
  color: #000;
}

body.jp-food-preservation-page .spoilage-images {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  align-items: stretch;
}

body.jp-food-preservation-page .spoilage-images img {
  width: 100%;
  aspect-ratio: 1.1 / 1;
  object-fit: cover;
  cursor: default;
}

/* Tomato testing section */
body.jp-food-preservation-page .test-panel {
  margin-top: 14px;
}

body.jp-food-preservation-page .tomato-comparison {
  display: grid;
  grid-template-columns: 1fr 1.55fr;
  gap: 26px;
  align-items: end;
  padding: 0 10px;
}

body.jp-food-preservation-page .tomato-group {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  background: #fff;
  text-align: center;
}

body.jp-food-preservation-page .tomato-group h3.tomato-untreated {
  color: #ff0000 !important;
}

body.jp-food-preservation-page .tomato-group h3 {
  margin: 0 0 8px;
  color: #000 !important;
  font-size: 16px;
  font-weight: 700;
}

body.jp-food-preservation-page .tomato-group img {
  width: 100%;
  max-height: 190px;
  object-fit: contain;
  cursor: default;
}

/* Individual food testing cards */
body.jp-food-preservation-page .testing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

body.jp-food-preservation-page .test-card {
  min-width: 0;
  margin: 0;
  padding: 14px;
  transition: none;
}

body.jp-food-preservation-page .test-card figure {
  margin: 0;
  padding: 9px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
}

body.jp-food-preservation-page .test-card img {
  width: 100%;
  max-height: 230px;
  object-fit: contain;
  object-position: center;
  cursor: default;
}

body.jp-food-preservation-page .test-card.wide {
  grid-column: 1 / -1;
}

body.jp-food-preservation-page .test-card.wide img {
  max-height: 245px;
}

/* No hover enlargement, movement, or image effects */
body.jp-food-preservation-page .intro-card:hover,
body.jp-food-preservation-page .test-card:hover,
body.jp-food-preservation-page .spoilage-images img:hover,
body.jp-food-preservation-page .food-loss-content img:hover,
body.jp-food-preservation-page .tomato-group img:hover,
body.jp-food-preservation-page .test-card img:hover {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.jp-food-preservation-page img:focus-visible {
  outline: 2px solid #777;
  outline-offset: 2px;
}

/* Tablet layout */
@media (max-width: 800px) {

  body.jp-food-preservation-page .jp-food-preservation-detail {
    padding: 0 20px 28px;
  }

  body.jp-food-preservation-page .intro-cards {
    gap: 12px;
  }

  body.jp-food-preservation-page .intro-card {
    padding: 10px;
  }

  body.jp-food-preservation-page .intro-card h2 {
    font-size: 16px;
  }

  body.jp-food-preservation-page .intro-card img {
    height: 125px;
  }

  body.jp-food-preservation-page .food-loss-content {
    grid-template-columns: 38% minmax(0, 1fr);
  }

  body.jp-food-preservation-page .spoilage-content {
    grid-template-columns: 1fr;
  }

  body.jp-food-preservation-page .spoilage-list {
    columns: 2;
  }

  body.jp-food-preservation-page .spoilage-images {
    gap: 7px;
  }
}

/* Mobile layout */
@media (max-width: 560px) {

  body.jp-food-preservation-page .jp-food-preservation-main {
    padding: 16px 10px 28px;
  }

  body.jp-food-preservation-page .jp-food-preservation-detail {
    padding: 0 12px 20px;
  }

  body.jp-food-preservation-page .jp-food-preservation-titlebar {
    padding: 16px 12px 13px;
  }

  body.jp-food-preservation-page .intro-cards {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  body.jp-food-preservation-page .intro-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    text-align: left;
  }

  body.jp-food-preservation-page .intro-card h2 {
    margin: 0;
  }

  body.jp-food-preservation-page .intro-card img {
    height: 88px;
  }

  body.jp-food-preservation-page .intro-text,
  body.jp-food-preservation-page .content-panel,
  body.jp-food-preservation-page .test-panel,
  body.jp-food-preservation-page .test-card {
    padding: 12px;
  }

  body.jp-food-preservation-page .intro-text p {
    text-align: left;
  }

  body.jp-food-preservation-page .food-loss-content {
    grid-template-columns: 1fr;
  }

  body.jp-food-preservation-page .food-loss-content img {
    max-width: 380px;
    margin: 0 auto;
  }

  body.jp-food-preservation-page .spoilage-images {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.jp-food-preservation-page .tomato-comparison {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0;
  }

  body.jp-food-preservation-page .tomato-group img {
    max-height: 180px;
  }

  body.jp-food-preservation-page .testing-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  body.jp-food-preservation-page .test-card img,
  body.jp-food-preservation-page .test-card.wide img {
    max-height: 210px;
  }
}

/* Static images only: no magnification, lightbox, or zoom cursor. */
body.jp-food-preservation-page img {
  cursor: default !important;
}

/* End Food Preservation page styling. */

/* ==========================================================
   FOOD PRESERVATION — CLICKABLE RESOURCE CARDS
   No image zoom or magnification.
   ========================================================== */

body.jp-food-preservation-page a.jp-food-resource-card {
  display: block;
  color: #000 !important;
  text-decoration: none !important;
  cursor: pointer;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  transition: border-color .2s ease, background-color .2s ease;
}

body.jp-food-preservation-page a.jp-food-resource-card:hover {
  border-color: #16803c;
  background-color: #f3fff4;
}

body.jp-food-preservation-page .jp-food-resource-image {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}

body.jp-food-preservation-page .jp-food-resource-image img {
  display: block;
  width: 100%;
  height: clamp(140px, 16vw, 185px);
  object-fit: contain;
  transition: none !important;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}

body.jp-food-preservation-page .jp-food-resource-hint {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 9px 6px;
  background: rgba(0, 0, 0, .78);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .6px;
  text-align: center;
  opacity: 0;
  transition: opacity .2s ease;
}

body.jp-food-preservation-page a.jp-food-resource-card:hover
.jp-food-resource-hint,
body.jp-food-preservation-page a.jp-food-resource-card:focus-visible
.jp-food-resource-hint {
  opacity: 1;
}

body.jp-food-preservation-page a.jp-food-resource-card:focus-visible {
  outline: 3px solid #16803c;
  outline-offset: 3px;
}

/* On touchscreens, always show the link indication */
@media (hover: none) {
  body.jp-food-preservation-page .jp-food-resource-hint {
    opacity: 1;
  }
}

/* Keep the original mobile card arrangement */
@media (max-width: 560px) {
  body.jp-food-preservation-page .jp-food-resource-image img {
    height: 88px;
  }
}


/* Homepage index cards — title at top; entire card is the destination link.
   Append to the existing css/style.css. */
body.jp-homepage .jp-home-grid > .jp-product-link {
  display: block;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  border-radius: 10px;
  outline-offset: 4px;
}
body.jp-homepage .jp-home-grid > .jp-product-link > .jp-product {
  height: 100%;
  background: #eeeeee !important;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.jp-homepage .jp-home-grid > .jp-product-link:hover > .jp-product,
body.jp-homepage .jp-home-grid > .jp-product-link:focus-visible > .jp-product {
  transform: translateY(-4px);
  border-color: #9ca3af;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .14);
}
body.jp-homepage .jp-home-grid > .jp-product-link:focus-visible {
  outline: 3px solid #0d2c54;
}
body.jp-homepage .jp-product > h3 {
  order: 0;
  box-sizing: border-box;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 12px 14px 8px;
  color: #0b1e36;
  font-family: "Arial Narrow", "Liberation Sans Narrow", Arial, sans-serif;
  font-size: 21px;
  font-stretch: condensed;
  font-weight: 700;
  line-height: 1.15;
}
body.jp-homepage .jp-product > .img-container {
  order: 1;
}
body.jp-homepage .jp-product > .card-body {
  order: 2;
}
body.jp-homepage .jp-product .card-body {
  justify-content: flex-start;
}
body.jp-homepage .jp-product-link:hover,
body.jp-homepage .jp-product-link:focus-visible {
  text-decoration: none;
}

/* ============================================================
   JP LABORATORIES — ULTRASONIC CLEANING INDICATORS
   APPEND this block at the END of css/style.css.
   Layout corrections follow the original two-slide PowerPoint.
   Header/footer remain external and are not recreated here.
   ============================================================ */

/* Leave a visible gap below the external site header. */
body.jp-sterilization-page-body .jp-ultrasonic-page {
  margin-top: 22px !important;
}

/* Black title banner with green heading, centred. */
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-titleband {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 18px !important;
  padding: 13px 12px !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband h1,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-titleband h1 {
  color: #39ff14 !important;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* Flyer and video stay as two side-by-side PowerPoint panels. */
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  max-width: 720px !important;
  margin: 0 auto 22px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action {
  border-radius: 10px !important;
  padding: 10px !important;
  background: #f1f2f3 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media {
  height: 150px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Rounded light-grey content panels; black copy throughout. */
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section.uci-box {
  background: #f1f2f3 !important;
  color: #111 !important;
  border: 1px solid #d4d6d8 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
  padding: 12px 14px !important;
  margin: 0 0 14px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section p,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section li,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-blue,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-bold-under {
  color: #111 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-source-heading {
  color: #111 !important;
  margin-bottom: 5px !important;
}

/* First image row: four separate images in PPT order. */
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid {
  display: grid !important;
  grid-template-columns: 1.35fr .78fr 1.05fr 1.45fr !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 12px 0 16px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid figure {
  margin: 0 !important;
  min-width: 0 !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid img {
  display: block !important;
  width: 100% !important;
  height: 150px !important;
  object-fit: contain !important;
  border: 1px solid #b9bec4 !important;
  border-radius: 7px !important;
  background: #fff !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid figcaption {
  color: #111 !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
}

/* Liquid-vial photos remain paired and centred as in the slide. */
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-liquid-images {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: center !important;
  max-width: 640px !important;
  margin: 12px auto 2px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-liquid-images > img {
  width: 100% !important;
  height: 185px !important;
  object-fit: contain !important;
  border: 1px solid #b9bec4 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

/* Mapping: each source strip contains three consecutive time points. */
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-mapping-images {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 10px 0 0 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-mapping-images img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  border: 1px solid #b9bec4 !important;
  border-radius: 7px !important;
  background: #fff !important;
}

/* Second slide's complete package diagram: large, centred, not split. */
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-product-diagram {
  margin: 0 auto 12px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-product-diagram img {
  display: block !important;
  width: min(100%, 920px) !important;
  max-height: none !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  border-radius: 7px !important;
}

/* Contact block follows the PPT: contact text left, mark on right. */
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row {
  display: grid !important;
  grid-template-columns: 1fr 130px !important;
  gap: 20px !important;
  align-items: center !important;
  max-width: 650px !important;
  margin: 0 auto !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row img {
  width: 100% !important;
  max-height: 150px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
}

/* Gentle zoom, without changing the normal image dimensions. */
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section img,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media img {
  transition: transform .25s ease !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section img:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media:hover img {
  transform: scale(1.025) !important;
}

@media (max-width: 760px) {
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-liquid-images,
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-mapping-images {
    grid-template-columns: 1fr !important;
  }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row {
    grid-template-columns: 1fr !important;
  }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row img {
    max-width: 120px !important;
    justify-self: center !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.jp-sterilization-page-body .jp-ultrasonic-page img {
    transition: none !important;
  }
}

/* ============================================================
   ULTRASONIC CLEANING INDICATORS — FINAL VISUAL OVERRIDES
   Append this block at the VERY END of css/style.css.
   Makes all text/action boxes white and removes image hover zoom.
   ============================================================ */

body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section.uci-box {
  background: #fff !important;
}

/* Remove the image zoom/hover animation completely on this page. */
body.jp-sterilization-page-body .jp-ultrasonic-page img,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media img {
  transform: none !important;
  transition: none !important;
}

body.jp-sterilization-page-body .jp-ultrasonic-page img:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media:hover img {
  transform: none !important;
}


/* ============================================================
   ULTRASONIC CLEANING INDICATORS — LAYOUT RESTORATION
   Page-only overrides. Preserve the approved layout while keeping
   all hover, zoom, pop-up, transition and animation effects disabled.
   ============================================================ */

body.jp-sterilization-page-body .jp-ultrasonic-page {
  width: min(100%, 1240px) !important;
  margin: 22px auto 0 !important;
  padding: 0 1rem 2.5rem !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #111 !important;
}

body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband.uci-titleband {
  display: block !important;
  position: relative !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 18px !important;
  padding: 13px 12px !important;
  box-sizing: border-box !important;
  background: #050505 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband::before,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband.uci-titleband::before {
  content: none !important;
  display: none !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband h1 {
  margin: 0 !important;
  color: #39ff14 !important;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-titleband p {
  margin: .3rem 0 0 !important;
  color: #ffff00 !important;
  font-size: clamp(.95rem, 1.6vw, 1.15rem) !important;
  font-weight: 700 !important;
}

body.jp-sterilization-page-body .jp-ultrasonic-page .usi-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  margin: 0 auto 22px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action {
  min-width: 0 !important;
  padding: 10px !important;
  background: #f1f2f3 !important;
  border: 1px solid #d4d6d8 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  text-align: center !important;
  transform: none !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action h2 {
  margin: 0 0 8px !important;
  color: #111 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media {
  display: flex !important;
  height: 150px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: #fff !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  transform: none !important;
  transition: none !important;
  filter: none !important;
  box-shadow: none !important;
}

body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section.uci-box {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  background: #f1f2f3 !important;
  color: #111 !important;
  border: 1px solid #d4d6d8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section h2,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-source-heading {
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section p,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section li,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section figcaption,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-blue,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-bold-under {
  color: #111 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid {
  display: grid !important;
  grid-template-columns: 1.35fr .78fr 1.05fr 1.45fr !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 12px 0 16px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid figure {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid img {
  display: block !important;
  width: 100% !important;
  height: 150px !important;
  max-height: 150px !important;
  object-fit: contain !important;
  border: 1px solid #b9bec4 !important;
  border-radius: 7px !important;
  background: #fff !important;
  filter: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid figcaption {
  color: #111 !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-liquid-images {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: center !important;
  width: min(100%, 640px) !important;
  margin: 12px auto 2px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-liquid-images > img {
  width: 100% !important;
  height: 185px !important;
  object-fit: contain !important;
  border: 1px solid #b9bec4 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-mapping-images {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 10px 0 0 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-mapping-images img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  border: 1px solid #b9bec4 !important;
  border-radius: 7px !important;
  background: #fff !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-product-diagram {
  margin: 0 auto 12px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-product-diagram img {
  display: block !important;
  width: min(100%, 920px) !important;
  max-height: none !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  border-radius: 7px !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row {
  display: grid !important;
  grid-template-columns: 1fr 130px !important;
  gap: 20px !important;
  align-items: center !important;
  max-width: 650px !important;
  margin: 0 auto !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row img {
  width: 100% !important;
  max-height: 150px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page img,
body.jp-sterilization-page-body .jp-ultrasonic-page img:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page *:hover img {
  transform: none !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
  box-shadow: none !important;
}
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section:hover {
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body.jp-sterilization-page-body .jp-ultrasonic-page { padding: 0 .65rem 2rem !important; }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-liquid-images,
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-mapping-images { grid-template-columns: 1fr !important; }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row { grid-template-columns: 1fr !important; }
  body.jp-sterilization-page-body .jp-ultrasonic-page .uci-contact-row img { max-width: 120px !important; justify-self: center !important; }
}

/* ============================================================
   ULTRASONIC CLEANING INDICATORS — FINAL WHITE PANELS + NO HOVER ZOOM
   These page-scoped rules override the older shared .usi hover rules.
   ============================================================ */
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section.uci-box,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action {
  background: #fff !important;
}

/* No enlargement or movement of the image, its frame, or its card on hover. */
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-action-media:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section,
body.jp-sterilization-page-body .jp-ultrasonic-page .usi-section:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid figure,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-photo-grid figure:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-product-diagram,
body.jp-sterilization-page-body .jp-ultrasonic-page .uci-product-diagram:hover {
  transform: none !important;
  transition: none !important;
  animation: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.jp-sterilization-page-body .jp-ultrasonic-page img,
body.jp-sterilization-page-body .jp-ultrasonic-page img:hover,
body.jp-sterilization-page-body .jp-ultrasonic-page a:hover img,
body.jp-sterilization-page-body .jp-ultrasonic-page *:hover img {
  transform: none !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* ============================================================
   ULTRASONIC CLEANING INDICATORS — FULL-BROWSER-WIDTH TITLE BAND
   Final page-only correction: extend the black/green title band
   to both browser edges without changing the content width.
   ============================================================ */
html body.jp-sterilization-page-body .jp-ultrasonic-page > .usi-titleband,
html body.jp-sterilization-page-body .jp-ultrasonic-page > .uci-titleband {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  padding: 13px 16px !important;
}
html body.jp-sterilization-page-body .jp-ultrasonic-page > .usi-titleband h1,
html body.jp-sterilization-page-body .jp-ultrasonic-page > .uci-titleband h1 {
  color: #39ff14 !important;
}

/* RADIATION THERAPY FILM PAGE — revised image presentation */
body.jp-radiation-therapy-film-page {
  background-color: #eef0f2 !important;
  background-image: none !important;
}
.jp-radiation-therapy-film-page .jp-radiation-film-main {
  width: min(1200px, calc(100% - 32px));
  margin: 26px auto;
  padding: 28px clamp(16px, 3vw, 38px) 34px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 3px 16px rgba(0,0,0,.09);
}
.jp-radiation-therapy-film-page .jp-radiation-film-title {
  margin: 0 0 22px;
  padding: 14px 16px 16px;
  text-align: center;
  color: #fff;
  background: #050505;
}
.jp-radiation-therapy-film-page .jp-radiation-film-title h1 {
  margin: 0;
  color: #b6df45;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.2;
  font-weight: 800;
}
.jp-radiation-therapy-film-page .jp-radiation-film-title p {
  margin: 5px 0 0;
  color: #f3dc36;
  font-size: clamp(15px, 2vw, 21px);
  font-weight: 700;
}
.jp-radiation-therapy-film-page .jp-radiation-film-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.jp-radiation-therapy-film-page .jp-radiation-film-copy {
  padding: 14px 18px;
  border: 1px solid #b9b9b9;
  background: #fff;
  color: #202020;
  font-size: 15px;
  line-height: 1.55;
}
.jp-radiation-therapy-film-page .jp-radiation-film-copy p {
  margin: 0 0 12px;
}
.jp-radiation-therapy-film-page .jp-radiation-film-copy p:last-child {
  margin-bottom: 0;
}
.jp-radiation-therapy-film-page .jp-radiation-film-figure {
  margin: 0;
  padding: 10px;
  background: #fff;
  border: 1px solid #b9b9b9;
  box-shadow: 0 3px 10px rgba(0,0,0,.12);
  text-align: center;
}
.jp-radiation-therapy-film-page .jp-radiation-film-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  transition: none !important;
  transform: none !important;
  filter: none !important;
}
.jp-radiation-therapy-film-page .jp-radiation-film-figure img:hover {
  transform: none !important;
  filter: none !important;
}
.jp-radiation-therapy-film-page .jp-radiation-patent img {
  max-height: 460px;
}
/* Keep the explanatory line and both dose images together as one visual unit. */
.jp-radiation-therapy-film-page .jp-radiation-film-dose-section {
  width: 100%;
  box-sizing: border-box;
  padding: clamp(16px, 2.2vw, 26px);
  border: 1.5px solid #aeb9c2;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 9px rgba(0,0,0,.08);
}
.jp-radiation-therapy-film-page .jp-radiation-dose-intro {
  margin: 0 0 16px;
  padding: 0 2px 0;
  color: #202020;
  border-bottom: 0;
  font-size: clamp(14px, 1.35vw, 17px);
  line-height: 1.4;
  font-weight: 600;
  text-align: left;
}
.jp-radiation-therapy-film-page .jp-radiation-dose-intro span {
  display: inline-block;
  margin-left: 5px;
  font-size: 1.45em;
  font-weight: 800;
}
.jp-radiation-therapy-film-page .jp-radiation-film-dose-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(240px, .9fr);
  gap: clamp(22px, 5vw, 64px);
  align-items: center;
  justify-content: space-between;
}
.jp-radiation-therapy-film-page .jp-radiation-dosimetry {
  width: 100%;
  max-width: 370px;
  justify-self: start;
  box-sizing: border-box;
}
.jp-radiation-therapy-film-page .jp-radiation-dosimetry img {
  width: 100%;
  max-height: 205px;
  object-fit: contain;
}
.jp-radiation-therapy-film-page .jp-radiation-dose-scale {
  width: 100%;
  max-width: 330px;
  justify-self: end;
  box-sizing: border-box;
}
.jp-radiation-therapy-film-page .jp-radiation-dose-scale img {
  width: 100%;
  max-height: 320px;
  object-fit: contain;
}
.jp-radiation-therapy-film-page .jp-radiation-film-conclusion {
  margin-top: 0;
}
@media (max-width: 700px) {
  .jp-radiation-therapy-film-page .jp-radiation-film-main {
    width: calc(100% - 20px);
    margin: 14px auto;
    padding: 16px 12px 22px;
  }
  .jp-radiation-therapy-film-page .jp-radiation-film-dose-section {
    padding: 14px;
  }
  .jp-radiation-therapy-film-page .jp-radiation-film-dose-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .jp-radiation-therapy-film-page .jp-radiation-dosimetry,
  .jp-radiation-therapy-film-page .jp-radiation-dose-scale {
    max-width: min(100%, 410px);
    justify-self: center;
  }
  .jp-radiation-therapy-film-page .jp-radiation-dosimetry img,
  .jp-radiation-therapy-film-page .jp-radiation-dose-scale img,
  .jp-radiation-therapy-film-page .jp-radiation-patent img {
    max-height: none;
  }
  .jp-radiation-therapy-film-page .jp-radiation-film-copy {
    padding: 12px;
    font-size: 14px;
  }
}

/* =========================================================
   DIACETYLENES — PPTX-ALIGNED PAGE CORRECTIONS
   Append this block to the END of css/style.css.
   ========================================================= */
body.jp-diacetylenes-page .dia-panel {
  box-sizing: border-box;
  width: 100%;
  margin: 22px 0 28px;
  padding: 16px 18px 18px;
  background: #fff;
  border: 1px solid #b8b8b8;
  border-radius: 0;
  box-shadow: none;
}
body.jp-diacetylenes-page .dia-panel > h3 {
  margin: 0 0 16px;
  padding: 0;
  color: #111;
  font-weight: 700;
  text-align: left;
}
body.jp-diacetylenes-page .dia-panel > p {
  margin: 8px 0 14px;
}
body.jp-diacetylenes-page .dia-panel .dia-figure {
  margin: 0 auto;
}
body.jp-diacetylenes-page .dia-panel img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
  box-shadow: none !important;
}
body.jp-diacetylenes-page .dia-synthesis-panel > .dia-figure img {
  width: min(100%, 920px);
  margin: 0 auto;
}
body.jp-diacetylenes-page .dia-pioneers-panel {
  padding: 14px 18px 18px;
}
body.jp-diacetylenes-page .dia-pioneers-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}
body.jp-diacetylenes-page .dia-pioneers-grid .dia-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
body.jp-diacetylenes-page .dia-pioneers-grid figcaption {
  order: 0;
  margin: 0;
  text-align: center;
  font-weight: 600;
}
body.jp-diacetylenes-page .dia-pioneers-grid img {
  order: 1;
  width: 150px;
  height: 180px;
  object-fit: cover;
  object-position: center top;
}
body.jp-diacetylenes-page .dia-crystal-panel .dia-figure img {
  width: min(100%, 760px);
  margin: 0 auto;
}
body.jp-diacetylenes-page .dia-radiography-panel .dia-figure img {
  width: min(100%, 650px);
  max-height: 300px;
  margin: 0 auto;
  object-fit: contain;
}
body.jp-diacetylenes-page .dia-patent-panel .dia-figure img {
  width: min(100%, 850px);
  margin: 0 auto;
  object-fit: contain;
}
body.jp-diacetylenes-page .dia-panel figure,
body.jp-diacetylenes-page .dia-panel img,
body.jp-diacetylenes-page .dia-panel a {
  transition: none !important;
}
@media (max-width: 680px) {
  body.jp-diacetylenes-page .dia-panel {
    padding: 12px;
    margin: 16px 0 22px;
  }
  body.jp-diacetylenes-page .dia-pioneers-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body.jp-diacetylenes-page .dia-pioneers-grid img {
    width: 150px;
    height: 180px;
  }
}


/* Radiography: retain only the bordered image box; no heading or text box. */
body.jp-diacetylenes-page .dia-radiography-image-box {
  box-sizing: border-box;
  padding: 12px;
  background: #fff;
  border: 1px solid #d0d0d0;
}

/* Calculator / Instant Industrial Radiography: one outer box only */
body.jp-diacetylenes-page .dia-radiography-image-box {
  width: 100%;
  box-sizing: border-box;
  margin: 22px 0 28px;
  padding: 14px;
  background: #fff;
  border: 1px solid #b8b8b8;
  border-radius: 0;
  box-shadow: none;
}
body.jp-diacetylenes-page .dia-radiography-image-box > .dia-figure {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.jp-diacetylenes-page .dia-radiography-image-box img {
  display: block;
  width: min(100%, 1050px) !important;
  max-width: 100%;
  max-height: none !important;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border: 0 !important;
  box-shadow: none !important;
}

/* PPT-specific layout only. Keep the existing master style.css. */

.jp-3d-dosimetry-page .gnp-page {
  max-width: 1200px;
}

.jp-3d-dosimetry-page .gnp-title {
  margin-bottom: 8px;
}

.jp-3d-dosimetry-page .gnp-resources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 7vw, 48px);
  padding: 0 3.5% 14px;
}

.jp-3d-dosimetry-page .gnp-resource-column {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.jp-3d-dosimetry-page .gnp-resource {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 5px 8px;
  border: 1px solid #111;
  border-radius: 0;
  color: #111;
  text-align: center;
  text-decoration: none;
  font-size: clamp(12px, 1.2vw, 16px);
  font-weight: 700;
  line-height: 1.2;
}

.jp-3d-dosimetry-page .gnp-yellow {
  background: #ffffcc;
}

.jp-3d-dosimetry-page .gnp-green {
  background: #effff0;
}

.jp-3d-dosimetry-page .gnp-resource:hover {
  filter: brightness(.97);
}

.jp-3d-dosimetry-page .gnp-panel {
  border: 1px solid #222;
  border-radius: 0;
  background: #fff;
  margin: 0 0 8px;
  padding: 7px;
  color: #111;
  font-size: clamp(12px, 1.05vw, 15px);
  line-height: 1.22;
  overflow: hidden;
}

.jp-3d-dosimetry-page .gnp-panel p {
  margin: 0 0 7px;
}

.jp-3d-dosimetry-page .gnp-panel h2 {
  font-size: 1em;
  line-height: 1.2;
  margin: 0 0 3px;
  font-weight: 700;
}

.jp-3d-dosimetry-page .gnp-panel ul {
  margin: 3px 0 0;
  padding-left: 17px;
}

.jp-3d-dosimetry-page .gnp-panel li {
  margin: 0 0 2px;
}

/* Portrait floats left so the biography begins beside it
   and continues underneath it, as in the PowerPoint. */
.jp-3d-dosimetry-page .gnp-biography {
  display: block;
}

.jp-3d-dosimetry-page .gnp-portrait {
  float: left;
  width: 82px;
  max-width: 24%;
  height: auto;
  margin: 0 9px 5px 0;
  border: 1px solid #777;
  border-radius: 0;
}

.jp-3d-dosimetry-page .gnp-clear {
  clear: both;
}

.jp-3d-dosimetry-page .gnp-education img {
  display: block;
  width: min(82%, 760px);
  max-height: 250px;
  object-fit: contain;
  margin: 5px auto 0;
}

.jp-3d-dosimetry-page .gnp-honeywell h2 {
  text-align: center;
  text-decoration: underline;
}

.jp-3d-dosimetry-page .gnp-honeywell-images {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 10px;
  align-items: end;
}

.jp-3d-dosimetry-page .gnp-honeywell-images img {
  display: block;
  width: 100%;
  max-height: 190px;
  object-fit: contain;
}

/* JP Laboratories text and RADTriage video image share one panel. */
.jp-3d-dosimetry-page .gnp-jpl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36%;
  gap: 12px;
  align-items: center;
  min-height: 190px;
}

.jp-3d-dosimetry-page .gnp-jpl-text {
  min-width: 0;
}

.jp-3d-dosimetry-page .gnp-jpl-text h2 {
  margin-bottom: 2px;
}

.jp-3d-dosimetry-page .gnp-video-link {
  position: relative;
  display: block;
  width: 100%;
  max-width: 360px;
  margin: auto;
}

.jp-3d-dosimetry-page .gnp-video-link img {
  display: block;
  width: 100%;
  height: auto;
}

.jp-3d-dosimetry-page .gnp-video-link span {
  position: absolute;
  left: -5%;
  top: 43%;
  width: 110%;
  transform: rotate(-24deg);
  background: #ffeb00;
  color: #e00000;
  font-size: clamp(18px, 2.6vw, 30px);
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
}

.jp-3d-dosimetry-page .gnp-facility {
  display: block;
  width: min(78%, 820px);
  max-height: 290px;
  object-fit: contain;
  margin: 5px auto 0;
}

.jp-3d-dosimetry-page .gnp-patent-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: start;
  margin-top: 7px;
}

.jp-3d-dosimetry-page .gnp-patent-images img {
  width: 100%;
  max-height: 430px;
  object-fit: contain;
}

.jp-3d-dosimetry-page .gnp-award-layout {
  display: grid;
  grid-template-columns: 1fr .8fr .8fr;
  gap: 8px;
  align-items: stretch;
}

.jp-3d-dosimetry-page .gnp-award-left,
.jp-3d-dosimetry-page .gnp-award-right {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.jp-3d-dosimetry-page .gnp-award-layout img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 185px;
  object-fit: contain;
}

.jp-3d-dosimetry-page .gnp-award-layout .gnp-edison {
  height: 100%;
  max-height: 360px;
  object-fit: contain;
}

.jp-3d-dosimetry-page .gnp-award-right figcaption {
  text-align: center;
  font-size: .9em;
}

.jp-3d-dosimetry-page .gnp-major-awards ul {
  margin-top: 2px;
}

.jp-3d-dosimetry-page .gnp-major-awards li {
  margin-bottom: 1px;
}

@media (max-width: 700px) {
  .jp-3d-dosimetry-page .gnp-resources {
    gap: 8px;
    padding-left: 0;
    padding-right: 0;
  }

  .jp-3d-dosimetry-page .gnp-resource {
    min-height: 38px;
    font-size: 11px;
    padding: 4px;
  }

  .jp-3d-dosimetry-page .gnp-jpl {
    grid-template-columns: 1fr;
  }

  .jp-3d-dosimetry-page .gnp-video-link {
    width: 70%;
  }

  .jp-3d-dosimetry-page .gnp-honeywell-images {
    grid-template-columns: 1fr;
  }

  .jp-3d-dosimetry-page .gnp-patent-images {
    grid-template-columns: 1fr;
  }

  .jp-3d-dosimetry-page .gnp-award-layout {
    grid-template-columns: 1fr 1fr;
  }

  .jp-3d-dosimetry-page .gnp-award-layout .gnp-edison {
    grid-column: 1 / -1;
    grid-row: 2;
    max-height: 260px;
  }
}

/* JP LABORATORIES — AWARDS & SIGNIFICANCE PAGE (5.6)
   Image styling — NO HOVER, NO ZOOM.
   Replaces the previous hover-restoration CSS block. */

body.jp-radt-awards main .radt-awards-panel figure {
  overflow: hidden;
  border-radius: 7px;
}

body.jp-radt-awards main .radt-awards-panel figure img,
body.jp-radt-awards main .radt-awards-panel figure img:hover,
body.jp-radt-awards main .radt-awards-panel figure:hover img {
  border: 1px solid #d1d5db !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  cursor: default !important;
  transform: none !important;
  transition: none !important;
}

/* Prevent hover effects on award images */
body.jp-radt-awards main .radt-awards-panel figure:hover img {
  transform: none !important;
  box-shadow: none !important;
}


/* =========================================================
   ABOUT JP LABORATORIES — PAGE-SPECIFIC LAYOUT
   Append to the existing master style.css
   ========================================================= */

body.jp-about-jpl-page {
    margin: 0;
    min-height: 100vh;
    background: #e5e7eb !important;
    background-image: none !important;
    color: #111;
    font-family: Inter, Arial, sans-serif;
}

/* Full-width black title banner */

.jp-about-jpl-page .jp-about-jpl-titlebar {
    display: block !important;
    position: relative;
    width: 100vw !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 0 16px calc(50% - 50vw) !important;
    padding: 10px 16px 11px !important;
    background: #000 !important;
    color: #39e52b !important;
    text-align: center !important;
    border: 0 !important;
}

.jp-about-jpl-page .jp-about-jpl-titlebar h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: #39e52b !important;
    background: transparent !important;
    font-size: clamp(19px, 2.2vw, 27px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

.jp-about-jpl-page .jp-about-jpl-titlebar p {
    margin: 2px 0 0 !important;
    padding: 0 !important;
    color: #ffeb00 !important;
    background: transparent !important;
    font-size: clamp(16px, 1.9vw, 22px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

/* Grey canvas and white page */

.jp-about-jpl-page .jp-about-jpl-main {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 16px 22px;
    background: #e5e7eb !important;
}

.jp-about-jpl-page .jp-about-jpl-sheet {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 10px 28px 18px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d9dee7;
    box-shadow: 0 3px 18px rgba(0,0,0,.10);
}


/* Four feature cards */

.jp-about-jpl-page .jp-about-jpl-feature-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2%;
    padding: 0 3.2%;
    margin: 0 0 15px;
}

.jp-about-jpl-page .jp-about-jpl-feature {
    display: flex;
    min-width: 0;
    min-height: 190px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 8px 10px;
    border: 1px solid #555;
    border-radius: 6px;
    color: #111;
    text-decoration: none;
    text-align: center;
}

.jp-about-jpl-page .jp-about-jpl-feature h2 {
    min-height: 27px;
    margin: 0 0 7px;
    font-size: clamp(13px, 1.45vw, 17px);
    font-weight: 700;
    line-height: 1.2;
}

.jp-about-jpl-page .jp-about-jpl-feature img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 125px;
    object-fit: contain;
    border-radius: 6px;
    transition: transform .25s ease;
}

.jp-about-jpl-page .jp-about-jpl-feature:hover img {
    transform: scale(1.035);
}

.jp-about-jpl-page .jp-about-jpl-yellow {
    background: #ffffcc;
}

.jp-about-jpl-page .jp-about-jpl-green {
    background: #effff0;
}


/* Six resource links */

.jp-about-jpl-page .jp-about-jpl-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 7.5%;
    row-gap: 6px;
    padding: 0 3.2%;
    margin: 0 0 18px;
}

.jp-about-jpl-page .jp-about-jpl-link {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 4px 7px;
    border: 1px solid #555;
    border-radius: 6px;
    color: #111;
    text-align: center;
    text-decoration: none;
    font-size: clamp(13px, 1.45vw, 17px);
    font-weight: 700;
    line-height: 1.2;
}

.jp-about-jpl-page .jp-about-jpl-link:hover,
.jp-about-jpl-page .jp-about-jpl-feature:hover {
    filter: brightness(.97);
}

/* Main text panel */

.jp-about-jpl-page .jp-about-jpl-copy {
    margin: 0;
    padding: 7px 8px 9px;
    border: 1px solid #d3d3d3;
    border-radius: 6px;
    background: #fff;
    color: #111;
    font-size: clamp(13px, 1.28vw, 16px);
    line-height: 1.22;
}

.jp-about-jpl-page .jp-about-jpl-copy p {
    margin: 0 0 15px;
}

.jp-about-jpl-page .jp-about-jpl-copy p:last-child {
    margin-bottom: 0;
}

.jp-about-jpl-page .jp-about-jpl-examples > p {
    margin: 0 0 2px;
}

.jp-about-jpl-page .jp-about-jpl-examples ol {
    margin: 0;
    padding-left: 23px;
}

.jp-about-jpl-page .jp-about-jpl-examples li {
    padding-left: 0;
    margin: 0 0 1px;
    line-height: 1.2;
}

/* Mobile layout */

@media (max-width: 650px) {

    .jp-about-jpl-page .jp-about-jpl-main {
        padding: 8px 7px 16px;
    }

    .jp-about-jpl-page .jp-about-jpl-sheet {
        padding: 9px 10px 14px;
    }

    .jp-about-jpl-page .jp-about-jpl-feature-cards {
        gap: 10px;
        padding: 0;
        margin-bottom: 12px;
    }

    .jp-about-jpl-page .jp-about-jpl-feature {
        min-height: 120px;
        padding: 6px 3px;
    }

    .jp-about-jpl-page .jp-about-jpl-feature h2 {
        font-size: 11px;
        min-height: 27px;
    }

    .jp-about-jpl-page .jp-about-jpl-feature img {
        height: 68px;
    }

    .jp-about-jpl-page .jp-about-jpl-links {
        gap: 5px 10px;
        padding: 0;
        margin-bottom: 12px;
    }

    .jp-about-jpl-page .jp-about-jpl-link {
        font-size: 11px;
        min-height: 36px;
        padding: 3px;
    }

    .jp-about-jpl-page .jp-about-jpl-copy {
        font-size: 12px;
        line-height: 1.25;
    }
}
/* Space between the shared website header and About page banner */
.jp-about-jpl-page .jp-about-jpl-titlebar {
    margin-top: 15px !important;
}

/* JP LABORATORIES — PRESS RELEASES PAGE
   Page-specific addition. Append to the existing master css/style.css.
   Does not replace or alter global typography, header, footer or site styling. */

body.jp-press-releases-page {
  background: #e8e8e8;
}

body.jp-press-releases-page .jp-press-releases-main {
  width: min(100% - 32px, 1200px);
  margin: 22px auto 28px;
  padding: 0 0 24px;
  background: #fff;
  border-radius: 7px;
  box-shadow: 0 1px 5px rgba(0,0,0,.12);
  overflow: hidden;
}

body.jp-press-releases-page .jp-press-releases-title {
  margin: 0;
  padding: 8px 18px 9px;
  background: #000;
  color: #39e52d;
  text-align: center;
}

body.jp-press-releases-page .jp-press-releases-title h1 {
  margin: 0;
  color: #39e52d;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-press-releases-page .jp-press-releases-title p {
  margin: 2px 0 0;
  color: #fff000;
  font-size: clamp(17px, 1.8vw, 23px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-press-releases-page .jp-press-releases-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 14px;
  padding: 16px 5% 0;
  align-items: stretch;
}

body.jp-press-releases-page .jp-press-release-card {
  min-width: 0;
  padding: 7px 9px 9px;
  border: 1px solid #555;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
}

body.jp-press-releases-page .jp-press-release-yellow {
  background: #ffffc8;
}

body.jp-press-releases-page .jp-press-release-green {
  background: #effff0;
}

body.jp-press-releases-page .jp-press-release-card h2 {
  margin: 0 0 5px;
  color: #111;
  text-align: center;
  font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.12;
  font-weight: 700;
}

body.jp-press-releases-page .jp-press-release-card a {
  display: block;
  width: 100%;
  line-height: 0;
}

body.jp-press-releases-page .jp-press-release-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
  object-position: top center;
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  transform: none;
  transition: none;
}

body.jp-press-releases-page .jp-press-release-card a:hover img,
body.jp-press-releases-page .jp-press-release-card:hover img {
  transform: none;
  box-shadow: none;
}

@media (max-width: 700px) {
  body.jp-press-releases-page .jp-press-releases-main {
    width: calc(100% - 16px);
    margin: 10px auto 18px;
  }

  body.jp-press-releases-page .jp-press-releases-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 12px 4% 0;
  }

  body.jp-press-releases-page .jp-press-release-card {
    padding: 7px 8px 8px;
  }

  body.jp-press-releases-page .jp-press-release-card img {
    max-height: 240px;
  }
}

/* FOOD RELATED PAGE — layout additions only.
   Append to the end of css/style.css. Do not replace the master stylesheet. */

body.jp-food-related-page .jp-food-related-main {
  width: min(100% - 28px, 1200px);
  margin: 22px auto 30px;
  padding: 0 14px 22px;
  border: 1px solid #d9dde2;
  background: #fff;
  box-sizing: border-box;
}

body.jp-food-related-page .food-related-titlebar {
  margin: 0 -14px 10px;
  padding: 12px 14px 10px;
  background: #000;
  color: #39ff14;
  text-align: center;
}
body.jp-food-related-page .food-related-titlebar h1 {
  margin: 0;
  color: #39ff14 !important;
  font-weight: 800;
}
body.jp-food-related-page .food-related-titlebar p {
  margin: 3px 0 0;
  color: #ffff00 !important;
  font-weight: 700;
}

body.jp-food-related-page .food-related-section {
  margin: 0 0 8px;
  padding: 7px;
  border: 1px solid #777;
  background: #fff;
}
body.jp-food-related-page .food-related-section-heading {
  margin: 0 0 8px;
  padding: 0 2px;
  color: #000;
  font-size: 15px;
  font-weight: 800;
}
body.jp-food-related-page .food-figure {
  min-width: 0;
  margin: 0;
}
body.jp-food-related-page .food-figure img,
body.jp-food-related-page .diet-images img,
body.jp-food-related-page .final-food-row img,
body.jp-food-related-page .balanced-dish img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
body.jp-food-related-page .food-figure figcaption {
  margin: 5px 4px 0;
  color: #000;
  font-size: 13px;
  line-height: 1.25;
}
body.jp-food-related-page .salad-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-template-areas:
    "ingredients chopper"
    "chopped mixed"
    "dressing notes";
  gap: 12px 18px;
  align-items: start;
}
body.jp-food-related-page .salad-ingredients { grid-area: ingredients; }
body.jp-food-related-page .chopper-figure { grid-area: chopper; }
body.jp-food-related-page .chopped-vegetables { grid-area: chopped; width: 78%; justify-self: center; }
body.jp-food-related-page .mixed-salad { grid-area: mixed; }
body.jp-food-related-page .dressing { grid-area: dressing; width: 78%; justify-self: center; }
body.jp-food-related-page .salad-notes { grid-area: notes; align-self: center; }
body.jp-food-related-page .salad-ingredients img { width: 100%; }
body.jp-food-related-page .chopper-figure img { width: 78%; margin: 0 auto; }
body.jp-food-related-page .chopped-vegetables img { width: 100%; }
body.jp-food-related-page .mixed-salad img { width: 100%; max-height: 280px; object-fit: cover; }
body.jp-food-related-page .dressing img { width: 100%; }
body.jp-food-related-page .salad-notes p { margin: 0 0 12px; font-size: 14px; line-height: 1.35; }
body.jp-food-related-page .food-video-link { margin: 5px 0 0; text-align: center; font-size: 13px; }
body.jp-food-related-page a { color: #0645ad; }
body.jp-food-related-page .pyramid-main { width: 76%; margin: 0 auto; }
body.jp-food-related-page .pyramid-main img { width: 100%; max-height: 300px; }

body.jp-food-related-page .diet-explanation {
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.35;
}
body.jp-food-related-page .diet-explanation p { margin: 0 0 9px; }
body.jp-food-related-page .diet-explanation ul { margin: 0 0 12px; padding-left: 22px; }
body.jp-food-related-page .diet-explanation li { margin: 0 0 5px; }
body.jp-food-related-page .diet-explanation h2 { margin: 12px 0 5px; font-size: 15px; font-weight: 800; }

body.jp-food-related-page .diet-row { margin: 0 0 12px; }
body.jp-food-related-page .diet-label { margin: 0 0 6px; font-size: 14px; font-weight: 600; }
body.jp-food-related-page .diet-images {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
}
body.jp-food-related-page .diet-images img { max-height: 210px; }
body.jp-food-related-page .roti-row .diet-images img:first-child { width: 34%; }
body.jp-food-related-page .roti-row .diet-images img:last-child { width: 38%; }
body.jp-food-related-page .legumes-images img:first-child { width: 48%; }
body.jp-food-related-page .legumes-images img:last-child { width: 40%; }
body.jp-food-related-page .vegetable-packets img { width: 58%; }
body.jp-food-related-page .diet-note { margin: 8px 0; font-size: 13px; }
body.jp-food-related-page .undhiyu-images img { width: 40%; }
body.jp-food-related-page .nuts-images img:first-child { width: 46%; }
body.jp-food-related-page .nuts-images img:last-child { width: 23%; }

body.jp-food-related-page .final-food-row { margin: 0 0 12px; }
body.jp-food-related-page .spices-row { display: grid; grid-template-columns: 34% 1fr; gap: 18px; align-items: center; }
body.jp-food-related-page .spices-row img { width: 100%; max-height: 160px; }
body.jp-food-related-page .spices-row > p { font-size: 14px; }
body.jp-food-related-page .fruit-images { display: flex; align-items: center; gap: 18px; }
body.jp-food-related-page .fruit-images img:nth-child(1) { width: 25%; }
body.jp-food-related-page .fruit-images img:nth-child(2) { width: 34%; }
body.jp-food-related-page .fruit-images img:nth-child(3) { width: 17%; }
body.jp-food-related-page .dry-fruits-row img { width: 48%; margin-left: 4%; }
body.jp-food-related-page .food-conclusion { margin: 12px 0; font-size: 14px; line-height: 1.35; }
body.jp-food-related-page .food-conclusion p { margin: 0 0 7px; }
body.jp-food-related-page .final-pyramid { width: 55%; margin: 10px auto 18px; }
body.jp-food-related-page .final-pyramid img { width: 100%; }
body.jp-food-related-page .balanced-dish img { width: 72%; margin: 0 auto; }
body.jp-food-related-page .food-suggestions { margin-top: 12px; font-size: 14px; }
body.jp-food-related-page .food-suggestions h2 { margin: 0 0 4px; font-size: 15px; font-weight: 800; }
body.jp-food-related-page .food-suggestions ul { margin: 0; padding-left: 22px; }

@media (max-width: 700px) {
  body.jp-food-related-page .jp-food-related-main { width: calc(100% - 16px); margin: 10px auto 18px; padding: 0 8px 14px; }
  body.jp-food-related-page .food-related-titlebar { margin: 0 -8px 8px; }
  body.jp-food-related-page .salad-layout { grid-template-columns: 1fr 1fr; gap: 10px; }
  body.jp-food-related-page .chopped-vegetables,
  body.jp-food-related-page .dressing { width: 100%; }
  body.jp-food-related-page .chopper-figure img { width: 85%; }
  body.jp-food-related-page .pyramid-main { width: 94%; }
  body.jp-food-related-page .diet-images img { max-height: 160px; }
  body.jp-food-related-page .balanced-dish img { width: 92%; }
}
@media (max-width: 480px) {
  body.jp-food-related-page .salad-layout { grid-template-columns: 1fr; grid-template-areas: "ingredients" "chopper" "chopped" "mixed" "dressing" "notes"; }
  body.jp-food-related-page .chopper-figure img { width: 62%; }
  body.jp-food-related-page .chopped-vegetables,
  body.jp-food-related-page .dressing { width: 78%; }
  body.jp-food-related-page .spices-row { grid-template-columns: 1fr; }
  body.jp-food-related-page .spices-row img { width: 70%; }
  body.jp-food-related-page .fruit-images { gap: 8px; }
  body.jp-food-related-page .fruit-images img:nth-child(1) { width: 30%; }
  body.jp-food-related-page .fruit-images img:nth-child(2) { width: 38%; }
  body.jp-food-related-page .fruit-images img:nth-child(3) { width: 20%; }
  body.jp-food-related-page .diet-images { gap: 8px; }
  body.jp-food-related-page .diet-images img { max-width: 100%; max-height: 135px; }
  body.jp-food-related-page .roti-row .diet-images img:first-child,
  body.jp-food-related-page .roti-row .diet-images img:last-child { width: 46%; }
  body.jp-food-related-page .legumes-images img:first-child,
  body.jp-food-related-page .legumes-images img:last-child { width: 46%; }
  body.jp-food-related-page .undhiyu-images img { width: 46%; }
}

/* FOOD RELATED PAGE — image alignment and size refinements.
   Append after the existing Food Related page rules. */
body.jp-food-related-page .food-related-section img,
body.jp-food-related-page .food-figure img,
body.jp-food-related-page .diet-images img,
body.jp-food-related-page .final-food-row img,
body.jp-food-related-page .balanced-dish img {
  margin-left: auto;
  margin-right: auto;
}

/* Keep the two product photographs upright and at portrait proportions. */
body.jp-food-related-page .dressing { width: 38%; justify-self: center; }
body.jp-food-related-page .dressing img { width: 100%; }
body.jp-food-related-page .roti-row .diet-images img:last-child {
  width: 25%;
  max-height: 230px;
}

/* Reduce oversized photographs while retaining their original aspect ratios. */
body.jp-food-related-page .salad-ingredients { width: 88%; justify-self: center; }
body.jp-food-related-page .chopped-vegetables { width: 62%; justify-self: center; }
body.jp-food-related-page .mixed-salad { width: 78%; justify-self: center; }
body.jp-food-related-page .dry-fruits-row img { width: 36%; margin: 0 auto; }
body.jp-food-related-page .balanced-dish img { width: 58%; margin: 0 auto; }
body.jp-food-related-page .final-pyramid { width: 48%; }

/* Center image groups and their contents. */
body.jp-food-related-page .diet-images,
body.jp-food-related-page .fruit-images {
  justify-content: center;
}
body.jp-food-related-page .final-food-row,
body.jp-food-related-page .dry-fruits-row,
body.jp-food-related-page .balanced-dish {
  text-align: center;
}
body.jp-food-related-page .diet-label,
body.jp-food-related-page .diet-note {
  text-align: left;
}

@media (max-width: 700px) {
  body.jp-food-related-page .salad-ingredients { width: 88%; }
  body.jp-food-related-page .chopped-vegetables { width: 65%; }
  body.jp-food-related-page .mixed-salad { width: 78%; }
  body.jp-food-related-page .dressing { width: 42%; }
  body.jp-food-related-page .dry-fruits-row img { width: 58%; }
  body.jp-food-related-page .balanced-dish img { width: 78%; }
  body.jp-food-related-page .roti-row .diet-images img:last-child { width: 34%; }
}
@media (max-width: 480px) {
  body.jp-food-related-page .salad-ingredients,
  body.jp-food-related-page .chopped-vegetables,
  body.jp-food-related-page .mixed-salad { width: 82%; }
  body.jp-food-related-page .dressing { width: 52%; }
  body.jp-food-related-page .dry-fruits-row img { width: 72%; }
  body.jp-food-related-page .balanced-dish img { width: 88%; }
  body.jp-food-related-page .final-pyramid { width: 70%; }
}

/* DEDICATIONS PAGE — page-specific additions only.
   Append this block to the end of the existing css/style.css.
   Do not replace or overwrite the master stylesheet. */
body.jp-dedications-page { background: #e8e8e8; }
body.jp-dedications-page .jp-dedications-main {
  width: min(100% - 28px, 1100px); margin: 22px auto 30px; padding: 0 14px 18px;
  background: #fff; border: 1px solid #d5d5d5; box-sizing: border-box;
}
body.jp-dedications-page .dedications-titlebar {
  margin: 0 -14px 10px; padding: 10px 14px 8px; background: #000; text-align: center;
}
body.jp-dedications-page .dedications-titlebar h1 { margin: 0; color: #39ff14 !important; font-weight: 800; }
body.jp-dedications-page .dedications-titlebar p { margin: 2px 0 0; color: #ffff00 !important; font-weight: 700; }
body.jp-dedications-page .dedications-intro {
  margin: 0 0 12px; padding: 7px; border: 1px solid #aaa; background: #fff;
  color: #111; font-size: 14px; line-height: 1.3;
}
body.jp-dedications-page .dedications-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 14px; align-items: stretch;
}
body.jp-dedications-page .dedication-card {
  min-width: 0; min-height: 168px; padding: 7px 8px 9px; border: 1px solid #777;
  border-radius: 2px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  box-sizing: border-box; text-decoration: none; color: #111;
}
body.jp-dedications-page .dedication-yellow { background: #ffffcc; }
body.jp-dedications-page .dedication-green { background: #f0fff0; }
body.jp-dedications-page .dedication-card h2 {
  margin: 0 0 7px; color: #000; text-align: center; font-size: 17px; line-height: 1.1; font-weight: 800;
}
body.jp-dedications-page .dedication-card img {
  display: block; width: auto; max-width: 100%; max-height: 120px; height: auto;
  object-fit: contain; border-radius: 3px;
}
body.jp-dedications-page .dedication-card:hover { text-decoration: none; }
body.jp-dedications-page .ma-and-me-card img { max-height: 145px; }
body.jp-dedications-page .honorary-dedication {
  margin: 10px 0 0; padding: 8px 12px 10px; border: 1px solid #777; border-radius: 2px; background: #ffffcc;
}
body.jp-dedications-page .honorary-dedication h2 {
  margin: 0 0 7px; color: #e00000; font-size: 14px; line-height: 1.25; font-weight: 500;
}
body.jp-dedications-page .honorary-dedication img {
  display: block; width: min(94%, 900px); max-height: 210px; height: auto; object-fit: contain;
  margin: 0 auto; border-radius: 3px;
}
@media (max-width: 650px) {
  body.jp-dedications-page .jp-dedications-main { width: calc(100% - 14px); margin: 10px auto 18px; padding: 0 7px 12px; }
  body.jp-dedications-page .dedications-titlebar { margin: 0 -7px 8px; padding: 9px 7px; }
  body.jp-dedications-page .dedications-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.jp-dedications-page .dedication-card { min-height: 145px; padding: 6px; }
  body.jp-dedications-page .dedication-card h2 { font-size: 14px; }
  body.jp-dedications-page .dedication-card img { max-height: 100px; }
  body.jp-dedications-page .ma-and-me-card img { max-height: 120px; }
  body.jp-dedications-page .honorary-dedication img { width: 100%; max-height: none; }
}
@media (max-width: 420px) {
  body.jp-dedications-page .dedications-grid { grid-template-columns: 1fr; }
  body.jp-dedications-page .dedication-card { min-height: 0; }
  body.jp-dedications-page .dedication-card img { max-height: 125px; }
}

/* JP LABORATORIES — FELICITATIONS & HONORS PAGE
   Page-specific addition only. Append to the end of css/style.css.
   Does not replace or modify the master stylesheet. */

body.jp-felicitations-honors-page .fah-page {
  width: min(96%, 1280px);
  margin: 18px auto 28px;
  padding: 0;
  background: #fff;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  overflow: hidden;
}

body.jp-felicitations-honors-page .fah-title-band {
  margin: 0;
  padding: 10px 14px 9px;
  text-align: center;
  background: #050505;
  color: #42e52d;
}
body.jp-felicitations-honors-page .fah-title-band h1 {
  margin: 0;
  color: #42e52d;
  font-size: clamp(17px, 2vw, 25px);
  line-height: 1.2;
  font-weight: 800;
}
body.jp-felicitations-honors-page .fah-title-band p {
  margin: 2px 0 0;
  color: #42e52d;
  font-weight: 700;
  font-size: clamp(13px, 1.4vw, 18px);
}
body.jp-felicitations-honors-page .fah-panel {
  margin: 10px 12px;
  padding: 7px 8px 10px;
  border: 1px solid #777;
  border-radius: 4px;
  background: #fff;
}
body.jp-felicitations-honors-page .fah-panel h2 {
  margin: 0 0 8px;
  color: #111;
  font-size: clamp(12px, 1.15vw, 15px);
  line-height: 1.25;
  font-weight: 800;
  text-transform: none;
}
body.jp-felicitations-honors-page .fah-panel figure {
  margin: 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.jp-felicitations-honors-page .fah-panel figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 330px;
  height: auto;
  object-fit: contain;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: none;
}
body.jp-felicitations-honors-page .fah-achala-awards,
body.jp-felicitations-honors-page .fah-achala-ceremony,
body.jp-felicitations-honors-page .fah-patanjali-grid,
body.jp-felicitations-honors-page .fah-tejas-top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 14px 20px;
  margin: 8px auto 12px;
}
body.jp-felicitations-honors-page .fah-achala-awards figure img {
  max-height: 260px;
}
body.jp-felicitations-honors-page .fah-achala-ceremony figure img {
  max-height: 235px;
}
body.jp-felicitations-honors-page .fah-video-link {
  position: relative;
  display: flex;
  width: min(78%, 760px);
  margin: 14px auto 8px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
  border: 1px solid #d1d5db;
  border-radius: 4px;
}
body.jp-felicitations-honors-page .fah-video-link img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
}
body.jp-felicitations-honors-page .fah-play-mark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding-left: 4px;
  border-radius: 50%;
  background: rgba(0,0,0,.72);
  color: #fff;
  font-size: 27px;
}
body.jp-felicitations-honors-page .fah-video-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6px 10px;
  text-align: center;
  background: rgba(0,0,0,.68);
  color: #fff;
  font-weight: 700;
}
body.jp-felicitations-honors-page .fah-flag-top {
  display: grid;
  grid-template-columns: 1fr 1fr 0.9fr 1.35fr;
  align-items: center;
  justify-items: center;
  gap: 10px;
  margin: 8px 0 14px;
}
body.jp-felicitations-honors-page .fah-flag-top figure img {
  max-height: 190px;
}
body.jp-felicitations-honors-page .fah-flag-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: center;
  align-items: center;
  gap: 18px;
}
body.jp-felicitations-honors-page .fah-flag-bottom figure img {
  max-height: 220px;
}
body.jp-felicitations-honors-page .fah-patanjali-grid figure img {
  max-height: 285px;
}
body.jp-felicitations-honors-page .fah-tejas-collage {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: center;
  justify-items: center;
  gap: 8px;
  width: 100%;
}
body.jp-felicitations-honors-page .fah-tejas-collage figure img {
  max-height: 250px;
}
body.jp-felicitations-honors-page .fah-tejas-video {
  width: min(76%, 760px);
}
@media (max-width: 700px) {
  body.jp-felicitations-honors-page .fah-page { width: 98%; margin: 10px auto 18px; }
  body.jp-felicitations-honors-page .fah-panel { margin: 8px 6px; padding: 7px 6px 9px; }
  body.jp-felicitations-honors-page .fah-achala-awards,
  body.jp-felicitations-honors-page .fah-achala-ceremony,
  body.jp-felicitations-honors-page .fah-patanjali-grid,
  body.jp-felicitations-honors-page .fah-tejas-top { gap: 9px; }
  body.jp-felicitations-honors-page .fah-flag-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.jp-felicitations-honors-page .fah-flag-top figure img,
  body.jp-felicitations-honors-page .fah-flag-bottom figure img { max-height: 180px; }
  body.jp-felicitations-honors-page .fah-video-link,
  body.jp-felicitations-honors-page .fah-tejas-video { width: 94%; }
  body.jp-felicitations-honors-page .fah-play-mark { width: 46px; height: 46px; font-size: 22px; }
}
@media (max-width: 460px) {
  body.jp-felicitations-honors-page .fah-achala-awards,
  body.jp-felicitations-honors-page .fah-achala-ceremony,
  body.jp-felicitations-honors-page .fah-patanjali-grid,
  body.jp-felicitations-honors-page .fah-tejas-top { grid-template-columns: 1fr; }
  body.jp-felicitations-honors-page .fah-tejas-collage { grid-template-columns: 0.8fr 1.2fr; }
}

/* FELICITATIONS & HONORS — FULL-WIDTH BLACK/GREEN TITLE BAND */

body.jp-felicitations-honors-page .fah-page {
    overflow: visible;
}

body.jp-felicitations-honors-page .fah-title-band {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    border-radius: 0;
}

/* DEDICATIONS — FULL BROWSER-WIDTH TITLE BAND */

body.jp-dedications-page .dedications-titlebar {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    border-radius: 0;
}

/* FOOD RELATED — FULL BROWSER-WIDTH TITLE BAND */
main.jp-food-page .food-related-titlebar {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
    border-radius: 0;
}

/* ARTICLES IN ENGLISH — PAGE-SPECIFIC ADDITION ONLY
   Append this to the bottom of the existing css/style.css.
   Do not replace the master stylesheet. */

body.jp-articles-english-page {
  background: #e8e8e8;
}

body.jp-articles-english-page .jp-articles-english-main {
  width: min(100% - 32px, 1200px);
  margin: 22px auto 28px;
  padding: 0 0 24px;
  background: #fff;
  border-radius: 7px;
  box-shadow: 0 1px 5px rgba(0,0,0,.12);
  overflow: visible;
}

/* Full browser-width black-and-green title band */
body.jp-articles-english-page .jp-articles-english-titlebar {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
  padding: 8px 18px 9px;
  background: #000;
  color: #39e52d;
  text-align: center;
  border-radius: 0;
}

body.jp-articles-english-page .jp-articles-english-titlebar h1 {
  margin: 0;
  color: #39e52d;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-articles-english-page .jp-articles-english-titlebar p {
  margin: 2px 0 0;
  color: #fff000;
  font-size: clamp(17px, 1.8vw, 23px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-articles-english-page .jp-articles-english-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 12px;
  padding: 16px 5% 0;
  align-items: stretch;
}

body.jp-articles-english-page .jp-article-card {
  min-width: 0;
  min-height: 185px;
  padding: 7px 9px 9px;
  border: 1px solid #555;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body.jp-articles-english-page .jp-article-yellow { background: #ffffc8; }
body.jp-articles-english-page .jp-article-green { background: #effff0; }

body.jp-articles-english-page .jp-article-card h2 {
  margin: 0 0 7px;
  color: #111;
  text-align: center;
  font-size: clamp(16px, 1.65vw, 21px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-articles-english-page .jp-article-card a {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  line-height: 0;
}

body.jp-articles-english-page .jp-article-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: contain;
  object-position: center;
  border: 0;
  border-radius: 2px;
  box-shadow: none;
  transition: transform .2s ease;
}

body.jp-articles-english-page .jp-article-card a:hover img {
  transform: scale(1.025);
}

@media (max-width: 700px) {
  body.jp-articles-english-page .jp-articles-english-main {
    width: calc(100% - 16px);
    margin: 10px auto 18px;
  }
  body.jp-articles-english-page .jp-articles-english-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 12px 4% 0;
  }
  body.jp-articles-english-page .jp-article-card { min-height: 160px; }
  body.jp-articles-english-page .jp-article-card img { max-height: 240px; }
}

/* ARTICLES IN GUJARATI — PAGE-SPECIFIC ADDITION ONLY
   Append this to the bottom of the existing css/style.css.
   Do not replace the master stylesheet. */

body.jp-articles-gujarati-page {
  background: #e8e8e8;
}

body.jp-articles-gujarati-page .jp-articles-gujarati-main {
  width: min(100% - 32px, 1200px);
  margin: 22px auto 28px;
  padding: 0 0 24px;
  background: #fff;
  border-radius: 7px;
  box-shadow: 0 1px 5px rgba(0,0,0,.12);
  overflow: visible;
}

/* Full browser-width black-and-green title band */
body.jp-articles-gujarati-page .jp-articles-gujarati-titlebar {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
  padding: 8px 18px 9px;
  background: #000;
  color: #39e52d;
  text-align: center;
  border-radius: 0;
}

body.jp-articles-gujarati-page .jp-articles-gujarati-titlebar h1 {
  margin: 0;
  color: #39e52d;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-articles-gujarati-page .jp-articles-gujarati-titlebar p {
  margin: 2px 0 0;
  color: #fff000;
  font-size: clamp(17px, 1.8vw, 23px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-articles-gujarati-page .jp-articles-gujarati-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 12px;
  padding: 16px 5% 0;
  align-items: stretch;
}

body.jp-articles-gujarati-page .jp-article-card {
  min-width: 0;
  min-height: 150px;
  padding: 7px 9px 9px;
  border: 1px solid #555;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body.jp-articles-gujarati-page .jp-article-yellow { background: #ffffc8; }
body.jp-articles-gujarati-page .jp-article-green { background: #effff0; }

body.jp-articles-gujarati-page .jp-article-card h2 {
  margin: 0 0 7px;
  color: #111;
  text-align: center;
  font-size: clamp(16px, 1.65vw, 21px);
  line-height: 1.15;
  font-weight: 700;
}

body.jp-articles-gujarati-page .jp-article-card a {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  line-height: 0;
}

body.jp-articles-gujarati-page .jp-article-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: contain;
  object-position: center;
  border: 0;
  border-radius: 2px;
  box-shadow: none;
  transition: transform .2s ease;
}

body.jp-articles-gujarati-page .jp-article-card a:hover img {
  transform: scale(1.025);
}

@media (max-width: 700px) {
  body.jp-articles-gujarati-page .jp-articles-gujarati-main {
    width: calc(100% - 16px);
    margin: 10px auto 18px;
  }
  body.jp-articles-gujarati-page .jp-articles-gujarati-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 12px 4% 0;
  }
  body.jp-articles-gujarati-page .jp-article-card { min-height: 145px; }
  body.jp-articles-gujarati-page .jp-article-card img { max-height: 200px; }
}

@media (max-width: 768px) {
    .jp-about-jpl-page .jp-about-jpl-feature-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .jp-about-jpl-page .jp-about-jpl-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 15px;
    }
}

@media (max-width: 480px) {
    .jp-about-jpl-page .jp-about-jpl-feature-cards,
    .jp-about-jpl-page .jp-about-jpl-links {
        grid-template-columns: 1fr;
    }
}
