:root{
  --orange:#ff5a1f; --orange2:#ff7a45; --ink:#171717; --muted:#6c6c6c; --line:#e7e5e2; --paper:#fff; --soft:#f7f6f3; --deep:#202020;
  --green:#1b7f5f; --red:#b83a3a; --blue:#315f8f; --purple:#6850a0; --sand:#9b7b52;
  --radius:20px; --shadow:0 14px 42px rgba(22,20,18,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer}
.brand{display:flex;align-items:center;gap:11px}.brandMark{width:38px;height:38px;border-radius:11px;background:var(--orange);display:grid;place-items:center;color:white;font-weight:900;font-size:20px;letter-spacing:-1px}.brandWords{display:grid;grid-template-columns:auto auto;line-height:.9;column-gap:4px;align-items:end}.brandWords b{font-size:17px;letter-spacing:-.7px}.brandWords strong{font-size:17px;color:var(--orange);letter-spacing:-.7px}.brandWords small{grid-column:1/3;margin-top:6px;font-size:7px;letter-spacing:2px;color:#777;font-weight:700}
.button{border:0;border-radius:13px;padding:11px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--orange);color:white}.button.dark{background:#202020;color:white}.button.light{background:white;border:1px solid var(--line)}.button.ghost{background:transparent;border:1px solid var(--line)}.button.full{width:100%}
.iconBtn{border:1px solid var(--line);background:white;width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#8a8987}.smallMuted{font-size:11px;color:#8b8986;line-height:1.45}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.demoTag{font-size:9px;letter-spacing:1.4px;background:#fff3ec;color:#c3481a;border:1px solid #ffd8c7;padding:7px 9px;border-radius:10px;width:max-content;margin:24px 0 18px}
.appShell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--soft)}.sidebar{background:white;border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40}.sidebarTop{display:flex;justify-content:space-between;align-items:center}.sidebar nav{display:flex;flex-direction:column;gap:5px}.navLink{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;font-size:13px;font-weight:700;color:#565552}.navLink:hover{background:#faf8f5}.navLink.active{background:#fff0e8;color:#d14816}.sidebarFooter{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:11px}.switchMode{font-size:12px;font-weight:800;color:var(--orange)}
.mainArea{min-width:0}.topbar{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.topbarTitle{display:flex;flex-direction:column;gap:4px}.topbarTitle b{font-size:14px}.topbarActions{display:flex;align-items:center;gap:10px}.campusSelect{border:1px solid var(--line);padding:10px 12px;border-radius:12px;background:white;font-size:12px;font-weight:700;color:#4c4b49}.userChip{width:38px;height:38px;border-radius:50%;background:#1e1e1e;color:white;display:grid;place-items:center;font-size:12px;font-weight:800}.contentWrap{padding:30px;max-width:1500px;margin:0 auto}.mobileMenu,.mobileClose{display:none}
.pageHeader{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.pageHeader h1{font-size:34px;line-height:1;margin:7px 0 0;letter-spacing:-1.4px}.pageHeader p{margin:8px 0 0;color:var(--muted);font-size:13px;max-width:720px;line-height:1.55}.headerActions{display:flex;gap:8px;flex-wrap:wrap}
.hero{background:#191919;color:white;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding:30px 5vw;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:540px;height:540px;background:var(--orange);border-radius:50%;right:-180px;top:120px;filter:blur(0);opacity:.95}.heroHeader{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.hero .brandWords b{color:white}.hero .brandWords small{color:#a9a9a9}.heroNav{display:flex;gap:9px}.heroBody{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;position:relative;z-index:2;max-width:1350px;width:100%;margin:auto}.heroCopy{padding:80px 0}.heroCopy .eyebrow{color:#ffb69b}.hero h1{font-size:clamp(58px,8vw,122px);letter-spacing:-6px;line-height:.83;margin:18px 0 30px;max-width:860px}.hero p{font-size:18px;line-height:1.55;color:#c8c8c8;max-width:680px}.heroBtns{display:flex;gap:10px;margin-top:30px}.heroVisual{position:relative;display:flex;justify-content:center}.portalMock{width:min(520px,100%);background:white;color:#1b1b1b;border-radius:28px;box-shadow:0 40px 100px rgba(0,0,0,.35);padding:20px;transform:rotate(-2deg)}.mockHeader{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px}.mockDots{display:flex;gap:5px}.mockDots i{width:7px;height:7px;border-radius:50%;background:#ddd}.mockGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.mockCard{border:1px solid var(--line);border-radius:16px;padding:16px}.mockCard b{font-size:28px}.mockCard span{font-size:10px;color:#777;display:block;margin-top:5px}.mockProduct{grid-column:1/3;background:#faf9f7;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px}.mockThumb{width:48px;height:48px;border-radius:14px;background:#ffe4d6;color:var(--orange);font-weight:900;display:grid;place-items:center}.heroFooter{position:relative;z-index:2;display:flex;justify-content:space-between;border-top:1px solid #333;padding-top:17px;color:#8f8f8f;font-size:11px}
.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.metricTop{display:flex;justify-content:space-between;align-items:center;color:#8b8986;font-size:11px;font-weight:700}.metric b{display:block;font-size:30px;letter-spacing:-1px;margin-top:14px}.metric small{color:#8b8986}.metric.warn{border-color:#ffcdbb;background:#fff8f4}.metric.good{border-color:#cde9df;background:#f8fffc}
.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:20px}.panelHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panelHeader h2{font-size:17px;margin:0;letter-spacing:-.3px}.panelHeader a,.panelHeader button{font-size:11px;color:var(--orange);font-weight:800;border:0;background:none}.twoCol{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.threeCol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.actionGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 22px}.actionCard{background:white;border:1px solid var(--line);border-radius:17px;padding:16px;display:flex;align-items:center;gap:12px;transition:.2s}.actionCard:hover{border-color:#f3a17f;transform:translateY(-1px)}.actionIcon{width:42px;height:42px;border-radius:13px;background:#fff0e8;color:var(--orange);display:grid;place-items:center}.actionCard b{font-size:12px;display:block}.actionCard span{font-size:10px;color:#777;margin-top:3px;display:block}
.tableWrap{overflow:auto}.dataTable{width:100%;border-collapse:collapse;min-width:760px}.dataTable th{text-align:left;font-size:9px;letter-spacing:1.1px;color:#93918f;border-bottom:1px solid var(--line);padding:10px 12px}.dataTable td{font-size:12px;border-bottom:1px solid #efeeec;padding:13px 12px;vertical-align:middle}.dataTable tr:last-child td{border-bottom:0}.dataTable .sub{font-size:10px;color:#8c8986;margin-top:3px}.statusPill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800;background:#eee;color:#555;white-space:nowrap}.status-sent,.status-drafting{background:#fff0e8;color:#c2491c}.status-authorized{background:#edf3ff;color:#315f8f}.status-procurement,.status-delivery{background:#fff8df;color:#8d6d06}.status-accepted,.status-good{background:#eaf8f2;color:#1b7f5f}.status-review-soon{background:#fff2df;color:#9a6500}.status-reorder-candidate{background:#ffe8e8;color:#a83232}
.filterBar{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);padding:10px;border-radius:16px;margin-bottom:18px}.searchInput{flex:1;display:flex;align-items:center;gap:8px;padding:0 4px}.searchInput input{width:100%;border:0;outline:0;background:transparent;font-size:13px}.filterBar select{border:0;background:#f6f4f1;padding:9px 10px;border-radius:10px;font-size:11px}.productGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.productCard{background:white;border:1px solid var(--line);border-radius:20px;padding:13px;display:flex;flex-direction:column;min-height:460px}.productVisual{height:140px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.productVisual:after{content:"";position:absolute;width:90px;height:90px;border:15px solid rgba(255,255,255,.45);border-radius:50%;right:-20px;top:-20px}.productVisual span{font-size:29px;font-weight:900;letter-spacing:-1px;z-index:1}.productVisual small{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;margin-top:6px;z-index:1}.toneOrange{background:#ffe8dc;color:#d84814}.toneGray{background:#efefed;color:#5a5957}.toneBlue{background:#e8f0fb;color:#315f8f}.toneGreen{background:#e5f5ef;color:#1b7f5f}.tonePurple{background:#efeafa;color:#6850a0}.toneRed{background:#f9e7e7;color:#a43b3b}.toneSand{background:#f3ebdf;color:#876b49}.productMetaTop{display:flex;justify-content:space-between;align-items:center;margin-top:13px;min-height:23px}.sku{font-size:9px;font-family:ui-monospace,monospace;color:#8b8986}.restricted{font-size:8px;font-weight:800;color:#a73a3a;background:#fff0f0;padding:5px 7px;border-radius:999px;display:flex;gap:4px;align-items:center}.productBrand{font-size:9px;letter-spacing:1px;font-weight:800;color:#888;margin-top:7px}.productCard h3{font-size:16px;line-height:1.25;margin:6px 0 4px;letter-spacing:-.3px}.pack{font-size:11px;color:#777;margin:0 0 10px}.productSpec{font-size:10.5px;color:#6f6e6b;line-height:1.5;margin:0 0 12px}.productFlags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.productFlags span{font-size:8px;padding:5px 7px;background:#f5f4f2;border-radius:999px;font-weight:700}.productFlags .good{background:#eaf8f2;color:#1b7f5f;display:flex;align-items:center;gap:3px}.productBottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.priceBlock{display:flex;flex-direction:column}.priceBlock small{font-size:7px;letter-spacing:1px;color:#999;font-weight:800}.priceBlock b{font-size:14px;margin-top:4px}.squareAdd{width:38px;height:38px;border:0;background:#1e1e1e;color:white;border-radius:12px;display:grid;place-items:center}.squareAdd:hover{background:var(--orange)}
.drawerBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:100;display:flex;justify-content:flex-end}.drawer{width:min(520px,100vw);background:white;height:100%;display:flex;flex-direction:column;box-shadow:-30px 0 70px rgba(0,0,0,.18)}.drawerHeader{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}.drawerHeader h2{margin:4px 0 0;font-size:24px}.drawerBody{padding:14px 22px;overflow:auto;flex:1}.basketLine{display:grid;grid-template-columns:auto 1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:13px 0;position:relative}.productGlyph{width:48px;height:48px;border-radius:14px;background:#fff0e8;color:var(--orange);display:grid;place-items:center;font-weight:900}.productGlyph.small{width:42px;height:42px;font-size:11px}.basketInfo{display:flex;flex-direction:column;gap:3px}.basketInfo b{font-size:12px}.basketInfo span,.basketInfo small{font-size:9px;color:#777}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;height:32px}.qty button{border:0;background:white;width:28px;height:30px;display:grid;place-items:center}.qty span{width:24px;text-align:center;font-size:10px;font-weight:800}.removeLink{position:absolute;right:0;bottom:4px;border:0;background:none;color:#a33;font-size:8px}.drawerFooter{padding:18px 22px;border-top:1px solid var(--line)}.fieldLabel{font-size:10px;font-weight:800;display:flex;justify-content:space-between;margin-bottom:6px}.fieldLabel span{color:#999;font-weight:400}.textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px;resize:none;min-height:78px;outline:0}.textarea:focus{border-color:#f09a77}.totals{display:flex;justify-content:space-between;padding:13px 0;font-size:12px}.microcopy{font-size:9px;color:#8a8885;line-height:1.45;margin:0 0 12px}.emptyState,.successPanel{text-align:center;padding:70px 20px;color:#777}.emptyState h3,.successPanel h3{color:#222;margin-bottom:6px}.successPanel svg{color:var(--green)}
.notice{border:1px solid #ffd7c7;background:#fff8f4;border-radius:16px;padding:14px 15px;font-size:11px;line-height:1.5;color:#73412e;margin-bottom:18px}.notice strong{color:#a33f17}.sectionLabel{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#8c8986;margin:0 0 10px}.templateRow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.templateChip{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800}.templateChip:hover{border-color:#f0a98d;color:#cb4b1b}.quickTable input{width:64px;border:1px solid var(--line);border-radius:9px;padding:7px;text-align:center}
.progress{display:flex;align-items:center;gap:0;margin:16px 0 3px}.progressStep{display:flex;align-items:center;flex:1;position:relative}.progressStep:after{content:"";height:2px;background:#e6e5e3;flex:1;margin:0 6px}.progressStep:last-child:after{display:none}.progressDot{width:20px;height:20px;border-radius:50%;background:#e6e5e3;color:#777;display:grid;place-items:center;font-size:8px;font-weight:800}.progressStep.done .progressDot,.progressStep.current .progressDot{background:var(--orange);color:white}.progressStep.done:after{background:#ffc7b2}.progressLabels{display:grid;grid-template-columns:repeat(6,1fr);font-size:8px;color:#8d8b88;text-align:center;margin-bottom:12px}.requestCard{border:1px solid var(--line);border-radius:17px;padding:16px;margin-bottom:12px;background:white}.requestTop{display:flex;justify-content:space-between;gap:15px}.requestTop h3{font-size:13px;margin:3px 0}.requestTop p{font-size:10px;color:#888;margin:0}.lineSummary{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.lineSummary span{font-size:9px;background:#f4f3f1;padding:6px 8px;border-radius:8px}
.assetCard{background:white;border:1px solid var(--line);border-radius:18px;padding:16px}.assetIcon{width:44px;height:44px;border-radius:14px;background:#f3eee8;color:#846746;display:grid;place-items:center;margin-bottom:14px}.assetCard h3{font-size:14px;margin:0 0 5px}.assetCard .serial{font-size:9px;color:#777;font-family:ui-monospace,monospace}.assetDetails{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.assetDetails span{font-size:8px;color:#999;display:block}.assetDetails b{font-size:10px;display:block;margin-top:3px}.stockEdit{display:flex;align-items:center;gap:6px}.stockEdit input{width:65px;border:1px solid var(--line);border-radius:9px;padding:6px 7px}
.adminStatRow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.adminStat{background:#1f1f1f;color:white;border-radius:16px;padding:15px}.adminStat span{font-size:8px;letter-spacing:1px;color:#999}.adminStat b{font-size:22px;display:block;margin-top:7px}.marginBox{background:#191919;color:white;border-radius:18px;padding:18px}.marginBox h3{font-size:13px;margin-top:0}.marginGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.marginGrid div{background:#292929;border-radius:12px;padding:11px}.marginGrid span{font-size:7px;color:#a9a9a9}.marginGrid b{font-size:15px;display:block;margin-top:4px}.gateList{display:flex;flex-direction:column;gap:8px;margin-top:12px}.gate{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;background:#f7f5f2;border-radius:10px;font-size:10px}.gate i{width:10px;height:10px;border-radius:50%;background:#bbb}.gate.ok i{background:var(--green)}.gate.warn i{background:#e8a21a}.gate.block i{background:#b63b3b}
.adminFilter{display:flex;gap:8px;margin-bottom:14px}.input{border:1px solid var(--line);padding:9px 11px;border-radius:10px;outline:0}.input:focus{border-color:#f0a98d}.badge{display:inline-flex;padding:5px 7px;border-radius:999px;background:#f2f1ef;font-size:8px;font-weight:800}.badge.orange{background:#fff0e8;color:#c24718}.badge.red{background:#fdeaea;color:#a43636}.badge.green{background:#eaf8f2;color:#1b7f5f}.sourceNote{font-size:9px;color:#777;line-height:1.4;max-width:280px}.adminProductTitle{display:flex;align-items:center;gap:8px}.miniGlyph{width:30px;height:30px;border-radius:8px;background:#f6eee8;color:#c74b1e;display:grid;place-items:center;font-size:9px;font-weight:900}
.feedDiagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:24px 0}.feedNode{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;min-height:140px}.feedNode strong{font-size:13px}.feedNode p{font-size:10px;color:#777;line-height:1.5}.feedArrow{font-size:26px;color:#bbb}.codeBlock{background:#171717;color:#eaeaea;border-radius:16px;padding:16px;font-family:ui-monospace,monospace;font-size:10px;line-height:1.65;overflow:auto}.fulfilCard{background:white;border:1px solid var(--line);border-radius:18px;padding:17px}.fulfilTop{display:flex;justify-content:space-between}.fulfilTop h3{margin:3px 0;font-size:15px}.routeLine{display:grid;grid-template-columns:120px 1fr;gap:8px;margin-top:11px;font-size:10px}.routeLine span{color:#8b8986}.routeLine b{font-weight:700}
@media(max-width:1200px){.productGrid{grid-template-columns:repeat(3,1fr)}.metricGrid{grid-template-columns:repeat(2,1fr)}.actionGrid{grid-template-columns:repeat(2,1fr)}.adminStatRow{grid-template-columns:repeat(3,1fr)}.heroBody{grid-template-columns:1fr}.heroVisual{display:none}}
@media(max-width:900px){.appShell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:270px;transition:.25s;box-shadow:20px 0 50px rgba(0,0,0,.2)}.sidebarOpen{left:0}.mobileMenu,.mobileClose{display:grid}.topbar{padding:0 16px}.contentWrap{padding:20px 15px}.topbarTitle .eyebrow{display:none}.campusSelect{display:none}.productGrid{grid-template-columns:repeat(2,1fr)}.twoCol{grid-template-columns:1fr}.threeCol{grid-template-columns:1fr 1fr}.hero{padding:20px}.hero h1{letter-spacing:-3px}.heroHeader .heroNav .button.light{display:none}.feedDiagram{grid-template-columns:1fr}.feedArrow{transform:rotate(90deg);text-align:center}}
@media(max-width:620px){.pageHeader{align-items:flex-start;flex-direction:column}.pageHeader h1{font-size:29px}.productGrid{grid-template-columns:1fr}.metricGrid,.threeCol{grid-template-columns:1fr}.actionGrid{grid-template-columns:1fr 1fr}.adminStatRow{grid-template-columns:1fr 1fr}.topbarTitle b{font-size:12px}.topbarActions .button{font-size:0;padding:10px}.topbarActions .button svg{margin:0}.hero h1{font-size:58px}.heroBody{gap:10px}.hero p{font-size:15px}.heroBtns{flex-direction:column;align-items:flex-start}.heroFooter{flex-direction:column;gap:5px}.brandWords{display:none}}
/* Static SPA additions */
html,body,#app{min-height:100%}.brand{cursor:pointer}.navLink{cursor:pointer;border:0;background:transparent;text-align:left;width:100%}.landingBrand .brandWords b{color:#fff}.landingBrand .brandWords small{color:#aaa}.clickable{cursor:pointer}.hidden{display:none!important}.toast{position:fixed;right:22px;bottom:22px;background:#1f1f1f;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:var(--shadow);z-index:200;font-size:12px;font-weight:700;max-width:360px}.toast strong{color:#ff8c61}.modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:140;display:grid;place-items:center;padding:18px}.modal{width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.25);padding:22px}.modalHeader{display:flex;justify-content:space-between;align-items:start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.modalHeader h2{font-size:22px;margin:4px 0 0}.quoteSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.quoteSummary div{background:#f7f5f2;border-radius:12px;padding:11px}.quoteSummary span{font-size:7px;color:#999;letter-spacing:1px}.quoteSummary b{font-size:14px;display:block;margin-top:4px}.moneyInput{width:88px;border:1px solid var(--line);border-radius:9px;padding:7px;text-align:right}.selectInput{border:1px solid var(--line);border-radius:9px;padding:7px;background:#fff}.dangerText{color:#a63737}.successText{color:var(--green)}.mutedBox{background:#f6f5f2;border-radius:14px;padding:13px;font-size:10px;color:#70706d;line-height:1.5}.navDivider{height:1px;background:var(--line);margin:12px 0}.brandButton{border:0;background:none;padding:0}.adminCostInput{width:88px;border:1px solid var(--line);border-radius:8px;padding:6px 7px}.adminCostInput.missing{border-color:#e6adad;background:#fff7f7}.landingLegal{max-width:800px;font-size:10px;line-height:1.5;color:#7f7f7f;margin-top:20px}.quoteLineWarning{font-size:8px;color:#9b4b25;background:#fff1e9;border-radius:7px;padding:4px 6px;display:inline-block;margin-top:3px}.schoolQuoteBox{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.schoolQuoteTotal{display:flex;justify-content:space-between;font-size:18px;border-top:1px solid var(--line);padding-top:11px;margin-top:9px}.pillButton{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}.pillButton.active{border-color:var(--orange);color:#c8491b;background:#fff6f1}.statLine{display:flex;justify-content:space-between;gap:12px;font-size:10px;padding:7px 0;border-bottom:1px dashed #e7e4e0}.statLine:last-child{border-bottom:0}.mobileOverlay{display:none}.footerNote{font-size:9px;color:#999;margin-top:14px;line-height:1.5}
@media(max-width:900px){.mobileOverlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:35}.quoteSummary{grid-template-columns:1fr 1fr}}


/* V2 Branded overrides */
:root{--teal:#159ca0;--teal-dark:#117b7e;--ink:#111319;--muted:#5f646c;--line:#dfe5e8;--paper:#f5f2ec;--soft:#fbfaf7;--accent:#dbeff0;--hero:#101217;--radius:22px;--shadow:0 24px 64px rgba(15,19,25,.08)}
body{font-family:"DM Sans",Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
.button.primary{background:var(--teal)} .button.primary:hover{background:var(--teal-dark)} .button.dark{background:#121820}.button.light{border-color:#d7dcdf}.button.ghost{background:transparent;border:1px solid rgba(255,255,255,.2)}
.brand{gap:12px;text-align:left}.brandButton{background:transparent;border:0;padding:0}.brandSeal{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),#74c9ca);color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;box-shadow:0 12px 24px rgba(21,156,160,.25)}
.brandLockup{display:flex;flex-direction:column;line-height:1.05}.brandLogo{font-size:30px;font-weight:800;letter-spacing:-.05em}.landingBrand .brandLogo{font-size:42px}.brandPharma{color:#131621}.brandService{color:var(--teal);font-style:italic}.brandSubtitle{font-size:10px;letter-spacing:.18em;color:#666f74;font-weight:800;margin-top:4px}.brandTagline{font-size:11px;color:#60646a;margin-top:3px}.hero .brandTagline{color:#a7b2bb}.hero .brandSubtitle{color:#86919d}
.heroV2{background:radial-gradient(circle at 100% 0%, rgba(21,156,160,.18), transparent 30%),linear-gradient(180deg,#141821 0%,#0f1218 100%);padding-bottom:32px}.heroGhost{color:#fff;border-color:rgba(255,255,255,.18)}
.heroBodyV2{grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.heroCopy{padding:42px 0}.hero h1{font-size:clamp(54px,7vw,104px);line-height:.9;letter-spacing:-.08em;max-width:760px}.hero p{font-size:18px;color:#ced7dc}.heroTagline{margin-top:14px;font-size:18px;font-weight:700;color:#fff}.heroBulletRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.heroBulletRow span{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:9px 12px;border-radius:999px;color:#e3e8eb;font-size:11px;font-weight:700}.heroCategoryStrip{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.heroCategoryStrip span{background:#f6f8f9;color:#19212a;padding:10px 12px;border-radius:14px;font-size:11px;font-weight:700}.landingLegal{margin-top:22px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:16px;color:#b9c1c7;font-size:12px;line-height:1.55;max-width:760px}
.portalMockV2{transform:none;border-radius:32px;padding:22px;background:linear-gradient(180deg,#fff,#f8fafb)}.mockRibbon{margin-top:14px;padding:10px 12px;border-radius:14px;background:#eef7f7;color:#155255;font-size:12px;font-weight:700}.mockGridV2{margin-top:14px}.mockCard{border-radius:18px}.mockThumb{background:#ddf1f2;color:#11575a}.mockThumb.alt{background:#eaf0f8;color:#27507f}.mockBadge{margin-left:auto;font-weight:800;color:var(--teal)}.mockPrice{margin-left:auto;font-weight:800;color:#151b22}.heroMiniReport{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.heroMiniReport>div{padding:12px;border-radius:16px;background:#fff;border:1px solid #e6ecef}.heroMiniReport small{display:block;color:#72808a;font-size:10px;letter-spacing:.08em}.heroMiniReport b{display:block;margin-top:6px;font-size:13px}
.landingSection{max-width:1350px;margin:0 auto;padding:20px 0 0;position:relative;z-index:2}.sectionHeading h2{font-size:38px;line-height:1;letter-spacing:-.05em;color:#fff;margin:8px 0 12px}.sectionHeading p{color:#c7d0d5;max-width:860px}.landingFeatureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.landingFeature{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:22px;color:#fff}.landingFeature strong{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dff4f4;color:#0d5154;font-size:12px}.landingFeature h3{margin:16px 0 10px;font-size:20px;letter-spacing:-.03em}.landingFeature p{color:#bec7cc;line-height:1.6;font-size:14px}.heroFooterV2{border-color:rgba(255,255,255,.08);color:#9faab3;margin-top:36px}
.sidebar,.topbar,.panel,.metric,.actionCard,.productCard,.requestCard,.fulfilCard,.adminStat,.marginBox{box-shadow:var(--shadow)}
.sidebar{background:#fff}.navLink.active{background:#eaf7f7;color:#0d6c70}.navLink:hover{background:#f4f8f8}.switchMode{color:var(--teal)}
.pageHeader h1{font-size:42px;letter-spacing:-.06em}.pageHeader p{font-size:14px;color:#666f74}.eyebrow{color:#6f7a80;letter-spacing:.16em}.metric{background:#fff;border-color:#e6eaed}.metric.good{background:#f3fbfb;border-color:#d7eff0}.metric.warn{background:#fff9f3;border-color:#ffe1c1}.actionIcon{background:#e9f7f7;color:var(--teal)}
.sectionLabel{font-size:11px;letter-spacing:.18em;color:#6f7a80;font-weight:800;margin:20px 0 12px}.notice{margin-bottom:16px;background:#f7fbfc;border:1px solid #d8ecee;border-radius:16px;padding:14px 16px;color:#36545a;font-size:13px;line-height:1.55}.productGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.productCard{border-radius:24px;min-height:430px}.productVisual{background:linear-gradient(180deg,#f1f7f8,#e4f1f2);border:1px solid #dbe9eb}.productVisual span{font-size:26px;color:#134a4c}.productBrand{color:#77828a;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.productCard h3{font-size:21px;line-height:1.08;letter-spacing:-.04em;margin:8px 0}.sku{display:inline-block;background:#f1f4f6;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;color:#54616b}.restricted{display:inline-block;background:#fff1f1;color:#9d4343;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.productSpec{font-size:13px;color:#687179;line-height:1.55}.productFlags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.productFlags span{background:#f4f7f8;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;color:#50606a}.productFlags .good{background:#edf8f8;color:#0f6e72}.squareAdd{width:48px;height:48px;border-radius:16px;border:0;background:#121820;color:#fff;font-size:26px}
.templateChip{border:1px solid #d8e3e5;background:#fff;padding:11px 14px;border-radius:999px;font-weight:700}
.tourStep{display:grid;grid-template-columns:92px 1fr;gap:18px;background:#fff;border:1px solid #e3eaec;border-radius:26px;padding:22px;margin-bottom:14px;box-shadow:var(--shadow)}.tourNumber{width:68px;height:68px;border-radius:22px;background:linear-gradient(135deg,#0f9fa1,#84d0d0);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px}.tourContent h3{font-size:28px;letter-spacing:-.05em;margin:6px 0 10px}.tourContent p{font-size:14px;color:#5f666d;line-height:1.7;margin:0}.tourTags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tourTags span{background:#eef7f7;color:#155659;padding:9px 12px;border-radius:999px;font-size:11px;font-weight:700}.demoScript p{font-size:14px;color:#5f666d;line-height:1.7}
.inventoryOverview{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.overviewRing{width:180px;height:180px;border-radius:50%;margin:auto;background:conic-gradient(var(--teal) 0 88%, #d8eaec 0 100%);display:grid;place-items:center}.overviewRing>div{width:132px;height:132px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.overviewRing b{font-size:34px;letter-spacing:-.05em}.overviewRing span{font-size:12px;color:#6f7a80;text-transform:uppercase;letter-spacing:.16em}.overviewLegend{display:grid;gap:12px}.overviewLegend>div{display:grid;grid-template-columns:18px auto 1fr;align-items:center;gap:10px}.legendSwatch{width:12px;height:12px;border-radius:50%;display:inline-block}.legendSwatch.good{background:var(--teal)}.legendSwatch.review{background:#f3b562}.legendSwatch.reorder{background:#d96060}.overviewLegend b{font-size:18px}.overviewLegend small{color:#6e777f}.barList{margin-top:10px;display:grid;gap:12px}.barRow{display:grid;gap:8px}.barLabel{display:flex;justify-content:space-between;align-items:center;font-size:13px}.barTrack{height:12px;background:#eef3f5;border-radius:999px;overflow:hidden}.barTrack i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#83d3d1);border-radius:999px}.actionChecklist{display:grid;gap:12px}.actionLine{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.actionLine span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf8f8;color:#0d6c70;font-weight:800}.actionLine p{margin:0;color:#5f666d;line-height:1.6}.summaryStack{display:grid;gap:12px}.summaryCard{border:1px solid #e4eaed;border-radius:18px;padding:16px;background:#fbfcfc}.summaryCard small{display:block;color:#738089;text-transform:uppercase;letter-spacing:.14em;font-size:10px}.summaryCard b{display:block;margin-top:8px;font-size:28px;letter-spacing:-.04em}.summaryCard p{margin:8px 0 0;color:#687179;font-size:13px;line-height:1.55}
@media (max-width:1200px){.productGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.landingFeatureGrid{grid-template-columns:1fr}.heroBodyV2{grid-template-columns:1fr}.inventoryOverview{grid-template-columns:1fr}.heroVisualV2{margin-top:12px}}
@media (max-width:900px){.appShell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:.2s;width:280px}.sidebar.sidebarOpen{transform:translateX(0)}.mobileOverlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:39}.mobileMenu,.mobileClose{display:grid}.metricGrid,.actionGrid,.twoCol,.threeCol{grid-template-columns:1fr}.productGrid{grid-template-columns:1fr}.hero h1{font-size:54px}.sectionHeading h2{font-size:32px}.tourStep{grid-template-columns:1fr}.heroHeader{gap:12px;align-items:flex-start;flex-direction:column}.heroNav{flex-wrap:wrap}.brandLogo{font-size:32px}.landingBrand .brandLogo{font-size:36px}}

/* ==========================================================
   V3 — PHARMA SERVICE BRANDED SYSTEM
   Brand reference: supplied PSC logo + Institutional Supply PDF
   UI typeface: DM Sans (loaded in index.html)
   ========================================================== */
:root{
  --orange:#229e91;
  --orange2:#6cc8bf;
  --teal:#229e91;
  --teal-dark:#17766e;
  --teal-soft:#e9f6f4;
  --ink:#050607;
  --ink2:#15191c;
  --muted:#61686d;
  --line:#d9dddc;
  --paper:#faf9f9;
  --soft:#f3f5f4;
  --white:#ffffff;
  --red:#ae3f3f;
  --amber:#a26a16;
  --green:#17766e;
  --radius:22px;
  --shadow:0 18px 48px rgba(7,20,20,.07);
}
html,body,button,input,select,textarea{font-family:"DM Sans",sans-serif!important}
body{background:var(--paper);color:var(--ink)}
button{font-family:inherit}
.button{border-radius:999px;padding:11px 17px;letter-spacing:-.01em}
.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:var(--teal-dark)}
.button.dark{background:#070809;color:#fff}
.button.light,.button.outline,.button.quiet{background:#fff;color:#070809;border:1px solid var(--line)}
.button.outline{background:transparent}.button.quiet{border-color:transparent;background:transparent}
.button.large{padding:14px 21px;font-size:13px}

/* Exact supplied logo asset */
.brand{display:flex;align-items:center;gap:14px;text-align:left;min-width:0}
.brandButton{border:0;background:transparent;padding:0}
.brandImage{display:block;width:188px;height:auto;object-fit:contain}
.brandMeta{display:flex;flex-direction:column;gap:3px;border-left:1px solid #cdd2d1;padding-left:13px}
.brandMeta b{font-size:8px;letter-spacing:.15em;white-space:nowrap}.brandMeta small{font-size:8px;color:#777d80;white-space:nowrap}
.landingBrand .brandImage{width:230px}
.landingBrand .brandMeta b{font-size:9px}.landingBrand .brandMeta small{font-size:9px}
.sidebar .brand{display:block}.sidebar .brandImage{width:184px}.sidebar .brandMeta{margin-top:9px;border-left:0;padding-left:0}.sidebar .brandMeta b{font-size:7px}.sidebar .brandMeta small{font-size:7px}

/* Main app shell */
.appShell{background:#f4f5f4;grid-template-columns:270px 1fr}
.sidebar{background:#fff;border-right:1px solid #e0e3e2;padding:22px 20px;box-shadow:none}
.demoTag{background:#eff8f7;color:var(--teal-dark);border:1px solid #d2ece8;letter-spacing:.15em}
.navLink{color:#4f5659;border-radius:13px}.navLink.active{background:#eaf6f4;color:#126b64}.navLink:hover{background:#f5f8f7}
.switchMode{color:var(--teal-dark)}
.topbar{background:rgba(255,255,255,.96);border-bottom:1px solid #dfe3e2;height:78px}
.contentWrap{max-width:1540px;padding:34px 36px}
.eyebrow,.kicker{font-size:10px;letter-spacing:.17em;font-weight:800;color:#727b7e}
.pageHeader{align-items:flex-end}.pageHeader h1{font-size:44px;letter-spacing:-.055em;line-height:.98}.pageHeader p{font-size:14px;color:#646b6e;max-width:790px}
.panel,.metric,.actionCard,.productCard,.requestCard,.assetCard,.fulfilCard,.adminStat,.marginBox{box-shadow:none;border-color:#dde2e1}
.panel{border-radius:22px}.metric{border-radius:20px}.actionCard{border-radius:18px}
.actionIcon{background:#e9f6f4;color:var(--teal-dark)}
.notice{background:#f0f8f7;border-color:#d2e9e6;color:#325e5a}
.panelHeader a,.panelHeader button{color:var(--teal-dark)}
.status-accepted,.status-good{background:#e7f5f2;color:#126b64}.status-sent,.status-drafting{background:#eef5f5;color:#45666a}
.squareAdd{background:#070809;color:#fff}

/* Brand landing — deliberately echoes the catalogue cover */
.landingPage{min-height:100vh;background:#faf9f9;color:#050607;padding:28px 5vw 0;overflow:hidden}
.landingHeader{max-width:1450px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #d5d8d7;padding-bottom:22px}
.heroNav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.landingHero{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;padding:72px 0 68px}
.landingCopy h1{font-size:clamp(70px,8vw,122px);line-height:.84;letter-spacing:-.082em;margin:18px 0 30px;font-weight:700}
.landingCopy h1 em{font-style:normal;color:var(--teal)}
.landingCopy .lead{font-size:19px;line-height:1.55;color:#4f5659;max-width:760px;margin:0}
.brandPromise{margin-top:31px;display:grid;grid-template-columns:auto 1fr;max-width:620px;border-top:1px solid #cfd4d2;padding-top:17px;column-gap:18px}
.brandPromise span{grid-row:1/3;font-size:10px;font-weight:800;letter-spacing:.12em;padding-top:5px}.brandPromise strong,.brandPromise b{font-size:19px;line-height:1.25}.brandPromise strong{font-weight:500;font-style:italic}.brandPromise b{font-weight:800}
.landingActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.landingFacts{display:flex;align-items:center;gap:13px;margin-top:24px;font-size:11px;color:#6b7173;font-weight:700}.landingFacts i{width:3px;height:3px;border-radius:50%;background:#969b9c}
.supplyLabel{border:2px solid #111;border-radius:28px;padding:30px 32px;background:#fff;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.06)}
.supplyLabel:before{content:"PSC";position:absolute;right:24px;top:22px;width:52px;height:52px;border-radius:50%;border:1px solid #1b1b1b;display:grid;place-items:center;font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--teal)}
.labelTop{padding-right:78px}.labelTop>span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:10px}.labelTop>b{font-size:18px;line-height:1.35}
.labelPortal{background:#f3f7f6;border-radius:19px;padding:18px;margin:28px 0 26px}.labelTiny{font-size:9px;letter-spacing:.14em;color:#737b7d;font-weight:800}.labelPortal h3{font-size:20px;letter-spacing:-.03em;margin:5px 0 15px}.labelStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.labelStats>div{background:#fff;border:1px solid #dfe5e3;border-radius:14px;padding:11px}.labelStats b{display:block;font-size:24px;letter-spacing:-.05em}.labelStats span{font-size:9px;color:#747c7e}.labelStatus{margin-top:10px;display:flex;align-items:center;gap:10px}.labelStatus span{font-size:8px;font-weight:900;background:#f4dddd;color:#8d3333;border-radius:999px;padding:6px 8px}.labelStatus b{font-size:10px;color:#545b5d}
.barcodeTitle{text-align:center;font-size:17px;font-weight:900;letter-spacing:.01em;margin-bottom:8px}.barcode{height:78px;background:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 6px,#000 6px 12px,transparent 12px 16px,#000 16px 18px,transparent 18px 23px,#000 23px 29px,transparent 29px 33px);border-left:3px solid #000;border-right:3px solid #000}.barcodeFoot{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:12px;font-size:12px}
.beliefSection{max-width:1450px;margin:0 auto;padding:30px 0 74px}.beliefRule{border-top:1px solid #cfd4d2;margin-bottom:42px}.beliefGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px}.beliefGrid h2{font-size:48px;line-height:1.07;letter-spacing:-.055em;margin:13px 0 0}.beliefGrid h2 em{font-weight:500}.beliefGrid p{font-size:16px;color:#555d60;line-height:1.7;margin:0 0 18px}
.landingModules{max-width:1450px;margin:0 auto;padding:52px 0 58px;border-top:1px solid #cfd4d2}.moduleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8dcdb;border:1px solid #d8dcdb;margin-top:17px}.moduleGrid article{background:#fff;padding:24px;min-height:205px}.moduleGrid article>b{color:var(--teal);font-size:12px}.moduleGrid h3{font-size:21px;letter-spacing:-.04em;margin:32px 0 10px}.moduleGrid p{font-size:13px;line-height:1.6;color:#636a6d}
.landingFooter{border-top:1px solid #cfd4d2;max-width:1450px;margin:0 auto;display:flex;justify-content:space-between;padding:18px 0 24px;font-size:10px;color:#717779}

/* Catalogue: curated + media-feed-ready */
.catalogueMeta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:18px 0 12px}.catalogueMeta .sectionLabel{margin:0}.catalogueMeta>span{font-size:10px;color:#757d7f;max-width:520px;text-align:right}
.productGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.productCard{background:#fff;border-radius:22px;padding:12px;min-height:510px}
.productVisual{height:185px;border-radius:15px;border:1px solid #e0e4e3;overflow:hidden;position:relative;background:#f4f6f5}
.productVisual.productPhoto{display:block;padding:0}.productPhoto img{width:100%;height:100%;object-fit:contain;background:#fff}.imageSourceTag{position:absolute!important;right:8px;bottom:8px!important;background:rgba(0,0,0,.74)!important;color:#fff!important;border-radius:999px!important;padding:5px 8px!important;font-size:8px!important;font-weight:800!important;letter-spacing:.08em}
.productPlaceholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#f6f8f7,#eef5f3)}.productPlaceholder>span{font-size:38px;color:var(--teal)!important;font-weight:800}.productPlaceholder small{margin-top:12px;text-align:center;font-size:8px;line-height:1.45;letter-spacing:.12em;color:#778083}
.productMetaTop{margin-top:12px}.productBrand{font-size:9px;letter-spacing:.14em;color:#778083}.productCard h3{font-size:19px;line-height:1.08;letter-spacing:-.04em;margin:7px 0}.productSpec{font-size:11px;line-height:1.52;color:#6b7275}.productFlags{margin-top:auto}.productBottom{border-top:1px solid #e3e7e6;padding-top:12px}.restricted{background:#f7e8e8;color:#873737}.sku{background:#f1f4f3;color:#535c5e}

/* Interactive guided demo */
.demoHeader{margin-bottom:18px}.tourProgress{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:18px}.tourDot{border:1px solid #dbe0df;background:#fff;border-radius:14px;padding:11px;text-align:left;color:#5e6769;min-height:68px}.tourDot b{display:block;font-size:10px;color:#92999a}.tourDot span{display:block;font-size:10px;font-weight:700;margin-top:5px;line-height:1.25}.tourDot.active{border-color:var(--teal);background:#eaf6f4;color:#0d5e58}.tourDot.active b,.tourDot.done b{color:var(--teal)}.tourDot.done{border-color:#cfe6e2}
.tourStage{display:grid;grid-template-columns:.82fr 1.18fr;min-height:560px;background:#fff;border:1px solid #dce1e0;border-radius:28px;overflow:hidden}.tourNarrative{padding:46px;display:flex;flex-direction:column;justify-content:center}.tourNarrative h2{font-size:48px;line-height:.98;letter-spacing:-.06em;margin:12px 0 18px}.tourNarrative>p{font-size:16px;line-height:1.7;color:#5b6466;max-width:590px}.tourNav{display:flex;gap:9px;margin-top:28px}.tourNote{margin-top:27px;border-top:1px solid #dfe3e2;padding-top:18px;font-size:12px;color:#6c7476;line-height:1.55}.tourVisual{background:#f2f5f4;padding:34px;display:flex;align-items:center;justify-content:center}.tourVisual>*{width:100%;max-width:650px}
.demoSchool{font-size:11px;letter-spacing:.13em;font-weight:800;color:#757d7f;margin-bottom:12px}.demoCampus{display:grid;gap:10px}.demoCampusCard{background:#fff;border:1px solid #dfe4e3;border-radius:18px;padding:20px;text-align:left}.demoCampusCard span{display:block;font-size:22px;font-weight:800}.demoCampusCard small{display:block;color:#747c7e;margin-top:5px}.demoCampusCard b{display:block;color:var(--teal-dark);margin-top:18px;font-size:11px}.demoCampusCard.active{border-color:var(--teal);box-shadow:0 0 0 3px #e5f5f2}
.demoRequest{background:#fff;border:1px solid #dce2e1;border-radius:22px;padding:18px}.demoSearch{border:1px solid #dfe4e3;background:#f8faf9;border-radius:13px;padding:13px;color:#767e80;margin-bottom:12px}.demoLine{display:grid;grid-template-columns:1fr auto;gap:4px;border-bottom:1px solid #ecefee;padding:13px 2px}.demoLine span{font-weight:700}.demoLine small{grid-column:1;color:#7a8183}.demoLine b{grid-column:2;grid-row:1/3;background:#eff6f4;min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px}.demoRequest .button{margin-top:16px}
.demoFlow{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.flowNode{display:grid;justify-items:center;gap:6px}.flowNode i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dce2e1;font-style:normal;font-weight:800}.flowNode.done i{background:var(--teal);color:#fff}.flowNode span{font-size:9px;font-weight:800}.demoGate{grid-column:1/-1;margin-top:18px;background:#fff;border-radius:18px;padding:18px;display:grid;gap:8px}.demoGate b{font-size:15px;margin-bottom:5px}.demoGate span{font-size:11px;color:#626b6d;border-top:1px solid #e5e9e8;padding-top:8px}
.demoStockGrid{display:grid;grid-template-columns:180px 1fr;gap:14px}.stockScore{background:var(--teal);color:#fff;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px}.stockScore b{font-size:54px;letter-spacing:-.06em}.stockScore span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.demoStockRows{background:#fff;border-radius:22px;padding:10px 16px}.demoStockRows>div{display:flex;justify-content:space-between;gap:10px;padding:17px 0;border-bottom:1px solid #e7eae9}.demoStockRows>div:last-child{border-bottom:0}.demoStockRows span{font-size:12px;font-weight:700}.demoStockRows b{font-size:9px;border-radius:999px;padding:6px 8px}.demoStockRows .red{background:#f6e3e3;color:#8f3434}.demoStockRows .amber{background:#fff1db;color:#8b5b12}.demoStockRows .teal{background:#e5f5f2;color:#126b64}
.demoAssets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.demoAssets article{background:#fff;border-radius:18px;padding:16px;min-height:190px}.demoAssets span{font-size:8px;letter-spacing:.14em;color:#788083}.demoAssets b{display:block;font-size:16px;margin-top:12px}.demoAssets small{display:block;font-size:9px;color:#767e80;margin-top:8px}.demoAssets em{display:inline-block;margin-top:27px;font-style:normal;font-size:9px;background:#fff0de;color:#805415;border-radius:999px;padding:6px 8px}
.demoReport{background:#fff;border-radius:22px;padding:20px}.reportScore{display:flex;align-items:end;gap:12px;border-bottom:1px solid #e2e6e5;padding-bottom:15px}.reportScore b{font-size:52px;letter-spacing:-.07em;color:var(--teal)}.reportScore span{font-size:11px;font-weight:800;padding-bottom:8px}.miniBars{display:grid;gap:9px;margin:18px 0}.miniBars div{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:8px}.miniBars span{font-size:10px}.miniBars i{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal) 0 70%,#dce8e6 70%)}.reportActions{display:grid;gap:7px;border-top:1px solid #e2e6e5;padding-top:15px}.reportActions b{font-size:12px}.reportActions span{font-size:10px;color:#60686a}

/* Reporting */
.reportHero{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:12px;margin-bottom:18px}.readinessPanel,.reportMetric{background:#fff;border:1px solid #dce1e0;border-radius:22px;padding:19px}.readinessBig{display:flex;align-items:end;gap:16px;margin-top:12px}.readinessBig>b{font-size:55px;letter-spacing:-.07em;color:var(--teal)}.readinessBig strong{display:block;font-size:13px}.readinessBig span{display:block;font-size:10px;color:#747c7e;margin-top:4px}.readinessTrack{height:9px;background:#edf2f1;border-radius:999px;margin-top:15px;overflow:hidden}.readinessTrack i{display:block;height:100%;background:var(--teal);border-radius:999px}.reportMetric span{font-size:9px;letter-spacing:.12em;color:#727b7d;font-weight:800}.reportMetric b{display:block;font-size:28px;letter-spacing:-.04em;margin-top:15px}.reportMetric small{display:block;color:#788083;font-size:9px;margin-top:5px}.reportMetric.urgent{border-color:#ecd8d8;background:#fffafa}
.insightGrid{display:grid;grid-template-columns:1.55fr .85fr;gap:18px}.insightGrid.second{margin-top:18px}.reportHint{font-size:9px;color:#8a9092}.categoryHealth{display:grid}.categoryHealthRow{display:grid;grid-template-columns:1.35fr 1fr 45px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e8ebea}.categoryHealthRow:last-child{border-bottom:0}.categoryHealthRow b{font-size:12px}.categoryHealthRow span{display:block;font-size:9px;color:#7b8284;margin-top:4px}.categoryHealthRow>strong{font-size:12px;text-align:right}.coverBar{height:10px;background:#eef2f1;border-radius:999px;overflow:hidden}.coverBar i{display:block;height:100%;background:var(--teal);border-radius:999px}.actionCards{display:grid;gap:9px}.reportAction{display:grid;grid-template-columns:12px 1fr;gap:10px;padding:13px;background:#f8faf9;border-radius:15px}.reportAction i{width:9px;height:9px;border-radius:50%;background:#333;margin-top:4px}.reportAction.teal i{background:var(--teal)}.reportAction.red i{background:#b54343}.reportAction.amber i{background:#c08329}.reportAction b{font-size:11px}.reportAction p{font-size:9px;color:#707779;line-height:1.45;margin:4px 0 0}.summaryNarrative p{font-size:12px;color:#636b6d;line-height:1.65}.reportTable td,.reportTable th{white-space:nowrap}

/* Responsive */
@media(max-width:1300px){.productGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.landingHero{gap:40px}.reportHero{grid-template-columns:1.4fr 1fr 1fr}.reportMetric:last-child{grid-column:2/4}.moduleGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.landingHero,.beliefGrid,.tourStage,.insightGrid{grid-template-columns:1fr}.productGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tourProgress{grid-template-columns:repeat(3,1fr)}.reportHero{grid-template-columns:1fr 1fr}.readinessPanel{grid-column:1/-1}.reportMetric:last-child{grid-column:auto}.brandMeta{display:none}}
@media(max-width:900px){.appShell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:280px;transform:translateX(-100%);transition:.2s}.sidebar.sidebarOpen{transform:translateX(0)}.mobileMenu,.mobileClose{display:grid}.mobileOverlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:39}.contentWrap{padding:24px 18px}.landingPage{padding:20px 20px 0}.landingHeader{align-items:flex-start;flex-direction:column}.landingHero{padding:45px 0}.landingCopy h1{font-size:68px}.beliefGrid h2{font-size:38px}.moduleGrid{grid-template-columns:1fr}.productGrid{grid-template-columns:1fr}.tourProgress{display:flex;overflow:auto}.tourDot{min-width:145px}.tourNarrative{padding:28px}.tourNarrative h2{font-size:38px}.tourVisual{padding:20px}.demoAssets{grid-template-columns:1fr}.demoStockGrid{grid-template-columns:1fr}.reportHero{grid-template-columns:1fr}.categoryHealthRow{grid-template-columns:1fr 80px}.categoryHealthRow .coverBar{grid-column:1/2}.landingFooter{flex-direction:column;gap:5px}.brandImage{width:175px}.landingBrand .brandImage{width:210px}}


/* ==== V4 simplified dashboard / icon sidebar ==== */
body{font-family:"DM Sans",Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f2f6f6,#f8f6f2)}
.v4Shell{grid-template-columns:96px 1fr;background:transparent}
.sidebar{margin:18px 0 18px 18px;border:1px solid rgba(16,25,26,.08);border-radius:28px;background:linear-gradient(180deg,#081113 0%,#09181a 100%);padding:18px 12px;box-shadow:0 18px 50px rgba(8,17,19,.18)}
.sidebarTop{justify-content:center;margin-bottom:14px}.sidebarBrand{display:flex;justify-content:center;width:100%}.sidebarLogoImg{width:74px;height:auto;display:block}.brandImageLight{width:210px}.brandMeta{display:none}
.iconNav,.compactFooter{display:flex;flex-direction:column;gap:12px}.iconNav{margin-top:8px}.compactFooter{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.navLink.iconOnly{position:relative;justify-content:center;padding:0;border-radius:18px;width:52px;height:52px;color:#d7e3e3;background:transparent;border:1px solid transparent}
.navLink.iconOnly:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.navLink.iconOnly.active{background:linear-gradient(90deg,rgba(25,182,180,.18),rgba(25,182,180,.08));border-color:rgba(31,194,190,.24);color:#9ff7f2;box-shadow:inset 3px 0 0 #22d0cb, 0 8px 20px rgba(20,156,157,.14)}
.navIcon{width:24px;height:24px;display:grid;place-items:center}.navIcon svg,.searchIcon svg,.iconShell svg,.miniIcon svg,.serviceThumb svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round}
.navLink.active .navIcon{color:#7df1eb}.navLabel{position:absolute;left:60px;top:50%;transform:translateY(-50%) translateX(-8px);opacity:0;pointer-events:none;background:rgba(9,16,16,.95);color:#fff;border:1px solid rgba(255,255,255,.08);padding:10px 14px;border-radius:14px;font-size:12px;font-weight:700;white-space:nowrap;transition:.18s ease;box-shadow:0 15px 30px rgba(0,0,0,.25)}.navLabel:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%) rotate(45deg);width:12px;height:12px;background:rgba(9,16,16,.95);border-left:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.navLink.iconOnly:hover .navLabel,.navLink.iconOnly:focus-visible .navLabel{opacity:1;transform:translateY(-50%) translateX(0)}
.mainArea{padding:18px 18px 18px 12px}.sleekTopbar{height:76px;background:rgba(255,255,255,.86);border:1px solid rgba(21,30,34,.08);border-radius:26px;padding:0 18px;gap:14px;box-shadow:0 12px 40px rgba(16,20,24,.06)}
.topbarTitleV4 b{font-size:26px;letter-spacing:-.04em}.topbarSearch{flex:1;max-width:430px;display:flex;align-items:center;gap:10px;background:#f6f8f8;border:1px solid #e8eced;border-radius:18px;padding:12px 14px;color:#879093}.topbarSearch input{border:0;background:transparent;outline:none;width:100%;font-size:14px;color:#394143}.searchIcon{display:grid;place-items:center;color:#647176}.iconShell{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid #e3e8ea;background:#fff;color:#20282c;position:relative}.iconShell:after{content:"";position:absolute;right:10px;top:10px;width:7px;height:7px;border-radius:50%;background:#12c9c7;border:2px solid #fff}.campusPill,.userPill,.pillBasket{border-radius:18px}.campusPill{border:1px solid #e4eaec;background:#fff;padding:9px 12px}.campusPillMain{display:flex;flex-direction:column;text-align:left}.campusPillMain b{font-size:13px}.campusPillMain small,.userPill small{font-size:11px;color:#7a8489}.pillBasket{padding:12px 14px}.pillBasket b{display:inline-grid;place-items:center;min-width:22px;height:22px;background:#fff;color:#12181b;border-radius:999px;padding:0 6px;font-size:12px}.userPill{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid #e4eaec;background:#fff}.avatarDot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#121820,#274147);color:#fff;font-size:11px;font-weight:800}
.contentWrap{max-width:none;padding:18px}
.v4Overview h1{font-size:58px;line-height:.92;letter-spacing:-.07em;margin:8px 0 6px}.v4Heading p{font-size:16px;color:#6b7278;margin:0 0 16px}.v4MetricRow{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:16px}.v4ReadinessCard,.v4StatCard,.v4ChartPanel,.v4PromoCard,.v4ServicePanel{border-radius:26px}.v4ReadinessCard,.v4StatCard{background:rgba(255,255,255,.74);backdrop-filter:blur(14px);border:1px solid rgba(17,27,31,.06);padding:22px;box-shadow:0 15px 40px rgba(11,18,22,.05)}
.cardHead{display:flex;align-items:center;gap:12px}.cardHead h3{font-size:15px;margin:0;letter-spacing:-.03em}.miniIcon{width:34px;height:34px;border-radius:12px;background:#edf8f8;color:#0f7e81;display:grid;place-items:center}
.readinessMain{display:flex;align-items:center;gap:12px;margin-top:18px}.readinessMain b{font-size:56px;letter-spacing:-.07em;color:#08383d}.gainPill{background:#ddf5ee;color:#18835d;padding:8px 12px;border-radius:999px;font-size:16px;font-weight:700}.v4ReadinessCard small,.v4StatCard small{display:block;color:#6d767b;font-size:13px;line-height:1.4;margin-top:8px}.v4StatCard b{display:block;font-size:56px;letter-spacing:-.06em;margin-top:18px}.v4StatCard.rose{background:#fff3f1}.v4StatCard.sand{background:#fbf7ec}.v4StatCard.mint{background:#eef9fb}.tinyChart{height:44px;margin-top:16px;background:linear-gradient(180deg,rgba(20,156,157,.16),rgba(20,156,157,0));border-radius:14px;position:relative;overflow:hidden}.tinyChart i{position:absolute;left:8px;right:8px;top:14px;height:18px;border-bottom:3px solid #149c9d;border-radius:40% 30% 60% 20%;transform:skewX(-18deg)}
.v4MainGrid{display:grid;grid-template-columns:1.55fr .95fr;gap:18px;margin-top:18px}.v4ChartPanel{padding:22px}.bigChart{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:stretch}.yAxis{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:#95a0a4;padding:18px 0 32px}.chartSurface{position:relative;background:linear-gradient(180deg,#fbfdfd,#f4f7f7);border:1px solid #edf1f2;border-radius:22px;padding:18px 20px 38px;min-height:320px}.chartSurface svg{width:100%;height:250px;display:block}.chartMonths{position:absolute;left:20px;right:20px;bottom:14px;display:flex;justify-content:space-between;font-size:11px;color:#6f787d}
.v4PromoStack{display:grid;gap:18px}.v4PromoCard{background:linear-gradient(180deg,#f6fbfb,#edf6f5);border:1px solid rgba(19,40,40,.05);padding:28px;display:flex;flex-direction:column;justify-content:flex-start;min-height:340px;box-shadow:0 15px 40px rgba(11,18,22,.05)}.promoLogo img{width:160px;height:auto}.v4PromoCard h2{font-size:48px;line-height:.94;letter-spacing:-.06em;margin:24px 0 14px}.v4PromoCard p{font-size:18px;line-height:1.45;color:#586368;margin:0 0 18px}.v4ServicePanel .serviceRow{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0f1}.v4ServicePanel .serviceRow:first-of-type{border-top:0}.serviceThumb{width:42px;height:42px;border-radius:14px;background:#eef5f5;color:#0c6f72;display:grid;place-items:center}.serviceRow b{font-size:14px;display:block}.serviceRow small{display:block;color:#768084;font-size:12px;margin-top:4px}
.v4LowerGrid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}.circleMore{width:36px;height:36px;border-radius:50%;border:1px solid #e5eaec;background:#fff}.v4Table td,.v4Table th{font-size:13px}.v4Table th{text-transform:none;letter-spacing:0;color:#859095;font-size:12px}
.panel,.metric,.requestCard,.assetCard,.drawer,.productCard,.tourStage,.tourDot,.reportMetric,.readinessPanel{box-shadow:0 15px 40px rgba(11,18,22,.05)}
@media(max-width:1200px){.v4MetricRow{grid-template-columns:1fr 1fr}.v4ReadinessCard{grid-column:1/-1}.v4MainGrid{grid-template-columns:1fr}.topbarSearch{max-width:320px}}
@media(max-width:900px){.v4Shell{grid-template-columns:1fr}.sidebar{margin:0;border-radius:0;width:88px;transform:translateX(-100%)}.sidebar.sidebarOpen{transform:translateX(0)}.mainArea{padding:10px}.sleekTopbar{padding:0 12px;height:auto;min-height:72px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.topbarSearch{order:3;max-width:none;width:100%}.topbarTitleV4 b{font-size:22px}.contentWrap{padding:10px}.v4Overview h1{font-size:42px}.v4MetricRow{grid-template-columns:1fr}.campusPill{display:none}}


/* ==== V5 refinements ==== */
.v5Overview h1,.v4Overview h1{font-size:56px}
.schoolHeroStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.schoolHeroStrip>div{background:#fff;border:1px solid #e7ecee;border-radius:20px;padding:18px 20px;box-shadow:0 15px 35px rgba(11,18,22,.05)}.schoolHeroStrip b{display:block;font-size:30px;letter-spacing:-.05em}.schoolHeroStrip span{display:block;margin-top:6px;color:#6f787d;font-size:12px;font-weight:600}
.schoolGridV5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.schoolCardV5{background:rgba(255,255,255,.88);border:1px solid #e6ebec;border-radius:28px;padding:24px;box-shadow:0 15px 40px rgba(11,18,22,.05)}.schoolCardV5.featured{background:linear-gradient(180deg,#fbfefe,#f3faf9)}.schoolCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schoolCardHead h3{margin:5px 0 0;font-size:26px;letter-spacing:-.04em}.campusScore{display:inline-grid;place-items:center;min-width:68px;height:42px;border-radius:999px;background:#e7f7f5;color:#0a7879;font-weight:800}.schoolCardV5 p{margin:12px 0 0;color:#697277;font-size:13px}.schoolStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.schoolStats>div{background:#f7fafb;border:1px solid #edf1f2;border-radius:18px;padding:14px}.schoolStats b{display:block;font-size:24px}.schoolStats span{display:block;margin-top:6px;font-size:11px;color:#6d767a}.schoolMetaRows{display:grid;gap:10px}.schoolMetaRows>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #eef2f3;padding-bottom:10px}.schoolMetaRows>div:last-child{border-bottom:0;padding-bottom:0}.schoolMetaRows span{font-size:11px;color:#778084}.schoolMetaRows b{font-size:13px}.schoolCardActions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.v5PositionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.v5PositionGrid h3{margin:8px 0;font-size:18px;letter-spacing:-.03em}.v5PositionGrid p{margin:0}
.tourProgressV5{grid-template-columns:repeat(4,1fr)}.tourStageV5{grid-template-columns:.92fr 1.08fr;min-height:520px}.tourVisualV5{background:linear-gradient(180deg,#f3f7f7,#eef4f3)}.demoOutcome,.demoTalkTrack{margin-top:18px;border:1px solid #e4eaec;border-radius:18px;padding:14px 16px;background:#fff}.demoOutcome span,.demoTalkTrack span{display:block;font-size:10px;letter-spacing:.12em;color:#788184;font-weight:800;text-transform:uppercase}.demoOutcome b{display:block;margin-top:8px;font-size:18px;line-height:1.35}.demoTalkTrack strong{display:block;margin-top:8px;font-size:15px;line-height:1.45}
.demoShotV5{background:#fff;border:1px solid #e1e7e8;border-radius:24px;overflow:hidden;box-shadow:0 16px 38px rgba(11,18,22,.06)}.shotHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid #edf0f1;background:#fbfdfd}.shotHeader span{font-size:11px;letter-spacing:.12em;color:#7a8387;font-weight:800;text-transform:uppercase}.shotHeader b{font-size:16px;letter-spacing:-.02em}.shotBody{padding:18px}.shotFoot{padding:12px 18px;border-top:1px solid #edf0f1;background:#fbfcfc;color:#697278;font-size:12px;line-height:1.45}
.schoolSelector{display:grid;gap:12px}.schoolMini{border:1px solid #e3e9eb;border-radius:18px;padding:18px;background:#fbfdfd}.schoolMini.active{border-color:#bfe8e5;background:#f3fbfa;box-shadow:0 0 0 3px #e8f8f6 inset}.schoolMini b{display:block;font-size:18px}.schoolMini small{display:block;margin-top:6px;color:#738086}.schoolMini span{display:inline-block;margin-top:12px;background:#e6f7f5;color:#0e7a7b;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:800}
.requestStack{display:grid;gap:10px}.reqRow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border-bottom:1px solid #edf1f2;padding-bottom:10px}.reqRow:last-of-type{margin-bottom:8px}.reqRow b{font-size:15px}.reqRow small{display:block;margin-top:4px;color:#768084}.reqRow span{min-width:38px;height:38px;border-radius:12px;background:#eef6f6;color:#0f7e81;display:grid;place-items:center;font-weight:800}
.controlGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.controlChip{border-radius:18px;padding:14px 14px 15px}.controlChip b{display:block;font-size:14px}.controlChip small{display:block;margin-top:6px;font-size:11px}.controlChip.ok{background:#edf8f6;color:#0f6f67}.controlChip.warn{background:#fff5e6;color:#9a6514}.controlChip.block{background:#f8eded;color:#8e3a3a}
.reportStack{display:grid;gap:16px}.reportBig{display:flex;align-items:end;gap:10px}.reportBig b{font-size:54px;letter-spacing:-.06em;color:#0f7d80}.reportBig span{padding-bottom:10px;font-weight:700;color:#657074}.reportBars{display:grid;gap:10px}.reportBars div{display:grid;grid-template-columns:160px 1fr;gap:8px;align-items:center}.reportBars label{font-size:12px;font-weight:700}.reportBars i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#17a1a0 var(--fill,70%),#e6ecee var(--fill,70%))}.reportBars div:nth-child(1) i{--fill:81%}.reportBars div:nth-child(2) i{--fill:66%}.reportBars div:nth-child(3) i{--fill:54%}.reportBars div:nth-child(4) i{--fill:38%}.reportActionsMini{display:grid;gap:8px}.reportActionsMini span{display:block;background:#f7fafb;border:1px solid #eef2f3;border-radius:14px;padding:11px 12px;font-size:12px;font-weight:600}
.compactActions{gap:10px}
@media(max-width:1100px){.schoolGridV5,.v5PositionGrid{grid-template-columns:1fr}.schoolHeroStrip{grid-template-columns:repeat(2,1fr)}.tourStageV5{grid-template-columns:1fr}.tourProgressV5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.schoolHeroStrip{grid-template-columns:1fr}.tourProgressV5{display:flex;overflow:auto}.reportBars div{grid-template-columns:1fr}.schoolCardActions{flex-direction:column}}


/* ==== V7 UI adjustments ==== */
.v7Shell{grid-template-columns:88px 1fr}
.sidebar{width:auto;padding:16px 10px;margin:14px 0 14px 14px;border-radius:30px}.sidebarLogoImg{width:64px}.navLink.iconOnly{width:50px;height:50px;border-radius:16px}.iconNav{gap:10px}.compactFooter{gap:10px}
.v7MainArea{padding:14px 16px 16px 10px;position:relative}.v7Topbar{margin-top:58px;height:72px}.pageLogoChip{position:absolute;left:18px;top:6px;height:44px;background:#fff;border:1px solid #edf0f2;border-radius:16px;padding:8px 16px;display:flex;align-items:center;box-shadow:0 10px 28px rgba(14,19,24,.05);z-index:5}.pageLogoChip img{height:28px;width:auto;display:block}
.v7ContentWrap{padding-top:16px}.v7PageHeader h1{font-size:46px}.v7PageHeader p{max-width:780px}
.v7FlowSection{margin-top:18px}.v7FlowHead{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.v7FlowHead h2{font-size:18px;letter-spacing:-.03em;margin:0}.v7FlowHead span{font-size:12px;color:#788185;font-weight:700}
.requestBoard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v7RequestCard{background:rgba(255,255,255,.92);border:1px solid #e8edee;border-radius:22px;padding:18px;box-shadow:0 15px 34px rgba(11,18,22,.04)}.v7RequestCard.order{background:linear-gradient(180deg,#fff,#fcfdfd)}
.v7CardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.v7CardRef{font-size:12px;letter-spacing:.16em;color:#6e777c;font-weight:800;margin-bottom:8px}.v7RequestCard h3{font-size:21px;letter-spacing:-.04em;margin:0 0 4px;color:#1d2730}.v7RequestCard p{margin:0;color:#818a90;font-size:13px}.ghostIconBtn{width:34px;height:34px;border-radius:50%;border:1px solid #e8eced;background:#fbfcfc;color:#718086}
.v7Timeline{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;margin-top:16px}.v7TimelineDot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#1ab5b1;color:#fff;font-size:12px;font-weight:800}.v7TimelineDot.order{background:#16a59f}.v7TimelineBar{height:3px;background:#eceff0;border-radius:999px;overflow:hidden}.v7TimelineBar i{display:block;height:100%;background:linear-gradient(90deg,#22c2bd,#f0b097);border-radius:999px}.v7TimelineStatus{font-size:12px;font-weight:700;color:#6d757a}
.v7LineChip{margin-top:14px;background:#f7f9f9;border:1px solid #eff2f3;border-radius:14px;padding:12px 14px;font-size:14px;font-weight:700;color:#2b3338}.v7LineChip small{font-size:12px;color:#7d878b;font-weight:700}.v7Note{margin-top:12px;font-size:12px}.v7CardFooter{display:flex;gap:8px;margin-top:14px}.button.small{padding:10px 14px;border-radius:12px;font-size:12px}
.navLink.iconOnly.active{box-shadow:inset 0 0 0 2px rgba(27,196,191,.55), 0 8px 20px rgba(20,156,157,.14)}
@media(max-width:1100px){.requestBoard{grid-template-columns:1fr}.v7Topbar{margin-top:56px}.pageLogoChip{left:14px}}
@media(max-width:900px){.v7Topbar{margin-top:64px}.pageLogoChip{position:static;margin:0 0 10px 6px;width:max-content}.v7MainArea{padding:10px}.v7PageHeader h1{font-size:38px}}


/* ==== V7B header correction ==== */
.sidebarTop{min-height:18px;justify-content:center;margin-bottom:10px}.sidebarBrandEmpty{width:100%;height:4px}.sidebarLogoImg{display:none}
.v7bMainArea{padding-top:14px}.v7bTopbar{margin-top:0;height:76px}.pageLogoChip{display:none !important}.topbarTitle,.topbarTitleV4{display:none !important}
.topbarBrandSlot{display:flex;align-items:center;justify-content:flex-start;min-width:280px;max-width:320px;height:48px;background:#fff;border:1px solid #edf0f2;border-radius:18px;padding:8px 16px;box-shadow:0 10px 28px rgba(14,19,24,.05)}
.topbarBrandSlot img{height:31px;width:auto;display:block}
.v7Topbar .mobileMenu{margin-right:4px}
@media(max-width:1100px){.topbarBrandSlot{min-width:220px;max-width:260px}}
@media(max-width:900px){.v7bTopbar{margin-top:0}.topbarBrandSlot{order:1;min-width:200px;max-width:240px;height:44px}.topbarSearch{order:3;width:100%;max-width:none}}


/* ==== V9 customer commerce + history model ==== */
.customerSimpleHeader h1{font-size:48px}.homeStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.homeStats>div{background:#fff;border:1px solid #e7ecee;border-radius:22px;padding:20px;box-shadow:0 12px 32px rgba(11,18,22,.04)}.homeStats span{display:block;font-size:10px;letter-spacing:.15em;color:#7c8589;font-weight:800}.homeStats b{display:block;font-size:36px;letter-spacing:-.05em;margin-top:8px}.homeStats small{display:block;margin-top:6px;color:#687277;font-size:12px;line-height:1.4}
.customerHomeGrid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.customerActionPanel{background:linear-gradient(155deg,#0b1719,#10292a);color:#fff;border-radius:26px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;box-shadow:0 15px 40px rgba(11,18,22,.12)}.customerActionPanel .eyebrow{color:#7eddd8}.customerActionPanel h2{font-size:34px;line-height:1;letter-spacing:-.05em;margin:10px 0}.customerActionPanel p{color:#c8d5d5;line-height:1.55}.customerActionPanel .button{margin-top:auto;width:max-content}
.homeActivity{display:grid}.homeActivityRow{display:flex;justify-content:space-between;align-items:center;gap:14px;border:0;background:transparent;border-bottom:1px solid #edf1f2;padding:14px 0;text-align:left}.homeActivityRow:last-child{border-bottom:0}.homeActivityRow b{display:block;font-size:14px}.homeActivityRow span{display:block;margin-top:5px;color:#747d82;font-size:12px}.homeActivityRow>div:last-child{text-align:right}.homeActivityRow small{display:block;margin-top:5px;color:#4d7778;font-size:10px}.resourcePreview{margin-top:18px}.resourcePreviewGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resourcePreviewGrid article{background:#f8faf9;border:1px solid #edf1f2;border-radius:18px;padding:17px}.resourcePreviewGrid span{font-size:9px;letter-spacing:.13em;font-weight:800;color:#11878a}.resourcePreviewGrid h3{font-size:16px;line-height:1.25;margin:10px 0 14px}.resourcePreviewGrid small{color:#7d868a;font-size:11px}
.shopNotice{margin-bottom:14px}.orderSection{margin-top:24px}.orderSectionHead{display:flex;align-items:center;gap:10px;margin-bottom:12px}.orderSectionHead h2{font-size:20px;margin:0}.orderSectionHead span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#eef4f4;color:#526064;font-size:11px;font-weight:800}.orderCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.orderCardGrid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.customerOrderCard{background:#fff;border:1px solid #e6ebed;border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(11,18,22,.04)}.orderCardHead{display:flex;justify-content:space-between;gap:12px}.orderCardHead h3{font-size:15px;margin:5px 0}.orderCardHead p{margin:0;color:#7f888c;font-size:11px}.orderCardProduct{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:13px 14px;border-radius:15px;background:#f7f9f9}.orderCardProduct b{display:block;font-size:13px}.orderCardProduct span{display:block;color:#778084;font-size:11px;margin-top:4px}.orderCardProduct strong{font-size:15px}.orderMessage{margin-top:12px;border-radius:14px;padding:12px 13px;background:#f5f8f8;color:#526267;font-size:12px;line-height:1.45}.orderMessage.quoteReady{background:#edf8f7;color:#176c6b}.orderMessage.deliveredMsg{background:#eef8f1;color:#356b4c}.orderMessage.cancelledMsg{background:#f8f2f2;color:#865555}.deliveryPromise{margin-top:12px;background:#0e2526;color:#fff;border-radius:15px;padding:13px 14px}.deliveryPromise span{display:block;color:#79d8d3;font-size:9px;letter-spacing:.14em;font-weight:800}.deliveryPromise b{display:block;margin-top:6px;font-size:13px}.deliveryPromise.large{margin-top:16px;padding:18px}.deliveryPromise.large b{font-size:20px}.deliveryPromise.large small{display:block;color:#b8c8c8;margin-top:7px}.orderCardActions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.button.quietDanger{background:#fff;border:1px solid #efdcdc;color:#9a5656}.status-under-review{background:#f3f5f6;color:#667277}.status-quote-sent{background:#eaf7f7;color:#0d7778}.status-confirmed{background:#e9f5ed;color:#2f6b49}.status-under-process{background:#edf3fa;color:#43698d}.status-delivered{background:#edf7ef;color:#3a7051}.status-cancelled{background:#f7eded;color:#8f5151}
.replenishGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.replenishCard{background:#fff;border:1px solid #e5eaec;border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(11,18,22,.04);display:flex;flex-direction:column;height:100%}.replenishVisual{height:230px;background:linear-gradient(180deg,#f1f7f7,#e7f1f1);display:grid;place-items:center;padding:18px 18px 24px;overflow:hidden}.replenishVisual img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.replenishVisual>span{font-size:28px;color:#116c6f;font-weight:800}.replenishBody{padding:18px 18px 20px;background:#fff;border-top:1px solid #eef2f3;display:flex;flex-direction:column;gap:8px;flex:1}.replenishBody .sku{display:inline-block;width:max-content}.replenishBody h3{font-size:19px;line-height:1.18;letter-spacing:-.035em;margin:0;min-height:44px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.replenishBody p{color:#717b80;font-size:12px;margin:0;min-height:18px}.replenishMeta{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin:8px 0 10px}.replenishMeta>div{border-radius:14px;background:#f7f9f9;padding:11px}.replenishMeta span{display:block;font-size:8px;letter-spacing:.13em;color:#7f898d;font-weight:800}.replenishMeta b{display:block;font-size:13px;margin-top:5px;line-height:1.25}
.resourceHero{display:grid;grid-template-columns:1fr 180px;gap:20px;background:linear-gradient(135deg,#0c1c1e,#163537);color:#fff;border-radius:28px;padding:30px;margin-bottom:18px}.resourceHero h2{font-size:38px;line-height:1;letter-spacing:-.05em;margin:10px 0}.resourceHero p{color:#c9d6d6;max-width:760px;line-height:1.6}.resourceHero .eyebrow{color:#79d9d3}.resourceHeroMark{display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.14);border-radius:22px;font-size:35px;line-height:.8;font-weight:900}.resourceHeroMark span{font-size:12px;letter-spacing:.22em;color:#79d9d3}.resourceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.resourceCard{background:#fff;border:1px solid #e5ebec;border-radius:22px;padding:20px;min-height:245px;display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(11,18,22,.04)}.resourceCard.featured{background:#f1f9f8;border-color:#cee9e6}.resourceMeta{display:flex;justify-content:space-between;gap:10px}.resourceMeta span{font-size:9px;letter-spacing:.12em;color:#0f8183;font-weight:800;text-transform:uppercase}.resourceMeta small{color:#899194;font-size:10px}.resourceCard h3{font-size:21px;line-height:1.08;letter-spacing:-.04em;margin:18px 0 10px}.resourceCard p{color:#687277;font-size:13px;line-height:1.55}.resourceLink{margin-top:auto;border:0;background:transparent;padding:0;text-align:left;color:#0b7476;font-weight:800;font-size:12px}.checkoutPromise{border:1px solid #dce8e8;background:#f5faf9;border-radius:14px;padding:13px;margin:12px 0}.checkoutPromise span{font-size:8px;letter-spacing:.13em;color:#0e8183;font-weight:800}.checkoutPromise p{font-size:12px;line-height:1.45;color:#59686c;margin:7px 0 0}.quoteCustomerTop{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:14px}.quoteCustomerTop h3{font-size:24px;margin:5px 0 0}.quoteStatePanel{border-radius:16px;background:#f4f8f8;padding:17px;margin-bottom:15px}.quoteStatePanel b{display:block;font-size:17px}.quoteStatePanel p{margin:7px 0 0;color:#667377;line-height:1.5}.quoteStatePanel.delivered{background:#eff8f2}.quoteStatePanel.cancelled{background:#f8eeee}.modalQuoteActions{display:flex;gap:10px;margin-top:16px}
@media(max-width:1150px){.homeStats{grid-template-columns:1fr 1fr}.customerHomeGrid{grid-template-columns:1fr}.orderCardGrid.compact,.resourceGrid,.replenishGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.homeStats,.resourcePreviewGrid,.orderCardGrid,.orderCardGrid.compact,.resourceGrid,.replenishGrid{grid-template-columns:1fr}.resourceHero{grid-template-columns:1fr}.resourceHeroMark{display:none}.customerSimpleHeader h1{font-size:38px}.replenishVisual{height:210px}.replenishMeta{grid-template-columns:1fr}}

/* === V10 Product imagery + regulatory specification detail === */
.productVisualButton{width:100%;border:0;padding:0;cursor:pointer;text-align:inherit;background:transparent}.productVisualButton img{transition:transform .22s ease}.productVisualButton:hover img{transform:scale(1.025)}
.productTitleButton{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}.productTitleButton h3{margin:0}.productTitleButton:hover h3{text-decoration:underline;text-decoration-color:#9bcfcd;text-underline-offset:4px}
.dhaMapped{background:#e9f8f6!important;color:#087a78!important}.productCardActions{display:flex;align-items:center;gap:8px}.specLink{border:1px solid #dfe7e8;background:#fff;padding:10px 12px;border-radius:12px;font-size:11px;font-weight:800;color:#506064;cursor:pointer}.specLink:hover{border-color:#93d7d3;color:#087c7a}
.productModalShell{width:min(1060px,94vw);max-height:92vh;overflow:auto;padding:0;border-radius:28px}.productDetailModal{padding:24px}.productDetailGrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;margin-top:18px}.detailImagePane{background:linear-gradient(180deg,#fbfdfd,#f2f6f6);border:1px solid #e6ebec;border-radius:22px;padding:18px;min-width:0}.detailImagePane>img{width:100%;height:390px;object-fit:contain;display:block;background:#fff;border-radius:16px}.detailImageMeta{display:grid;gap:4px;padding-top:14px}.detailImageMeta b{font-size:18px}.detailImageMeta span{font-size:13px;color:#677277}.detailImageMeta small{font-size:10px;color:#8a9499;line-height:1.45}.detailContentPane{min-width:0}.regulatoryHero{border-radius:20px;padding:18px 20px;border:1px solid}.regulatoryHero.mapped{background:#edf9f7;border-color:#ccebe7}.regulatoryHero.support{background:#f7f8f8;border-color:#e5eaeb}.regulatoryHero>span,.specLabel{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#69777a}.regulatoryHero h3{margin:8px 0 5px;font-size:25px;line-height:1.1;letter-spacing:-.04em}.regulatoryHero p{margin:0;color:#687277;font-size:12px}.specBlocks{display:grid;gap:0;margin-top:16px;border:1px solid #e5eaeb;border-radius:20px;overflow:hidden}.specBlocks section{padding:15px 17px;background:#fff;border-bottom:1px solid #edf1f2}.specBlocks section:last-child{border-bottom:0}.specBlocks p{margin:7px 0 0;font-size:13px;line-height:1.55;color:#3d484d}.specBlocks small{display:block;margin-top:7px;color:#727d82;font-size:11px;line-height:1.5}.mappingDisclosure,.licensedNotice{margin-top:14px;padding:14px 16px;border-radius:16px}.mappingDisclosure{background:#f5f8f8;border:1px solid #e4eaeb}.licensedNotice{background:#fff5ed;border:1px solid #f0dfcf}.mappingDisclosure b,.licensedNotice b{font-size:12px}.mappingDisclosure p,.licensedNotice p{margin:5px 0 0;font-size:11px;line-height:1.5;color:#59666b}.detailActions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:820px){.productDetailGrid{grid-template-columns:1fr}.detailImagePane>img{height:280px}.productModalShell{width:96vw}.productDetailModal{padding:16px}}


/* ==== V12 public website + first MVP access ==== */
.publicLanding,.publicPage{background:#fbfaf8;min-height:100vh;color:#111}
.publicHeader{max-width:1460px;margin:0 auto;padding:24px 6%;display:grid;grid-template-columns:280px 1fr auto;align-items:center;gap:28px;border-bottom:1px solid #dfe3e4;background:rgba(251,250,248,.96);position:relative;z-index:20}
.publicLogo{border:0;background:transparent;padding:0;display:flex;align-items:center;cursor:pointer}.publicLogo img{width:245px;height:auto;display:block}.publicNav{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.publicNavLink{border:0;background:transparent;padding:12px 14px;border-radius:14px;font-family:inherit;font-size:15px;font-weight:700;color:#596776;cursor:pointer}.publicNavLink:hover{background:#f0f5f4;color:#102322}.publicNavLink.active{color:#17355e;background:#fff;border:1px solid #d8dfe5;box-shadow:0 6px 18px rgba(17,26,31,.04)}.publicPortalBtn{white-space:nowrap}
.publicFooter{max-width:1460px;margin:70px auto 0;padding:28px 6% 38px;border-top:1px solid #dde2e3;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;color:#657076}.publicFooter img{width:180px}.publicFooter p{max-width:520px;font-size:13px;line-height:1.6}.publicFooter>div:last-child{display:grid;gap:5px;text-align:right;font-size:13px}
.publicPageHero{max-width:1320px;margin:0 auto;padding:100px 6% 58px;border-bottom:1px solid #dfe3e4}.publicPageHero h1{font-size:clamp(54px,7vw,104px);line-height:.92;letter-spacing:-.07em;margin:12px 0 22px;max-width:1050px}.publicPageHero p{font-size:19px;line-height:1.6;max-width:850px;color:#586168}.publicSection{max-width:1320px;margin:0 auto;padding:64px 6%}.twoPublicCols{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.twoPublicCols h2,.publicCta h2{font-size:48px;line-height:1;letter-spacing:-.05em;margin:10px 0 16px}.twoPublicCols p{font-size:17px;line-height:1.7;color:#59646a}.publicFeatureStack{display:grid;gap:12px}.publicFeatureStack article,.simplePublicPanel,.contactCard{background:#fff;border:1px solid #e3e7e8;border-radius:22px;padding:22px}.publicFeatureStack b{font-size:17px}.publicFeatureStack p{font-size:13px;margin:7px 0 0}.serviceCards,.publicMediaGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.serviceCards article,.publicMediaGrid article{background:#fff;border:1px solid #e0e5e6;border-radius:22px;padding:24px;min-height:220px}.serviceCards span,.publicMediaGrid span{font-size:11px;letter-spacing:.13em;color:#159c9d;font-weight:800}.serviceCards h3,.publicMediaGrid h3{font-size:24px;letter-spacing:-.04em;margin:20px 0 10px}.serviceCards p,.publicMediaGrid p{font-size:14px;line-height:1.6;color:#667177}.serviceCards button{border:0;background:transparent;padding:12px 0 0;color:#0d7578;font-weight:800;cursor:pointer}.procurementFlow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.procurementFlow article{background:#101819;color:#fff;border-radius:24px;padding:26px;min-height:220px;position:relative}.procurementFlow article span{position:absolute;right:20px;top:20px;color:#57d2ce;font-size:13px;font-weight:800}.procurementFlow article b{font-size:24px}.procurementFlow article p{margin-top:80px;color:#c9d4d4;line-height:1.55}.publicCta{max-width:1320px;margin:0 auto;padding:50px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#eef7f6;border-radius:28px}.simplePublicPanel{max-width:760px}.simplePublicPanel h2{font-size:34px;letter-spacing:-.04em}.simplePublicPanel p{color:#667177;line-height:1.65}.contactGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.contactCard span{font-size:10px;letter-spacing:.15em;color:#7b858a;font-weight:800}.contactCard b{display:block;font-size:24px;margin-top:12px}
.loginWrap{max-width:1250px;margin:0 auto;padding:90px 6%;display:grid;grid-template-columns:1.05fr .75fr;gap:80px;align-items:center}.loginIntro h1{font-size:66px;line-height:.94;letter-spacing:-.065em;margin:14px 0 18px}.loginIntro p{font-size:17px;line-height:1.65;color:#667177;max-width:680px}.loginCard{background:#fff;border:1px solid #dfe5e6;border-radius:28px;padding:28px;box-shadow:0 22px 60px rgba(16,23,27,.08)}.loginCard img{width:180px}.loginLabel{display:block;margin-top:26px;font-size:10px;letter-spacing:.15em;font-weight:800;color:#778186}.loginCard h2{font-size:30px;letter-spacing:-.04em;margin:8px 0 24px}.loginCard label{display:block;font-size:11px;font-weight:800;color:#6d777c;margin:14px 0 7px}.loginCard .input{width:100%;border-radius:14px}.fakeSelect{display:flex;justify-content:space-between;align-items:center;background:#f7f9f9;border:1px solid #e4e9ea;border-radius:14px;padding:13px 14px;font-size:14px;font-weight:700}.loginNote{font-size:11px;line-height:1.5;color:#7f888c;margin-top:14px}
.customRequestPanel{display:grid;grid-template-columns:.75fr 1.25fr;gap:22px;background:linear-gradient(135deg,#f1f9f8,#fff);border:1px solid #dceaea;border-radius:24px;padding:22px;margin:18px 0}.customRequestPanel h2{font-size:27px;letter-spacing:-.04em;margin:7px 0}.customRequestPanel p{font-size:13px;color:#687277;line-height:1.55}.customRequestForm{display:grid;gap:10px}.customRequestForm textarea{min-height:88px}.customRequestActions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.customRequestActions label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#657075}.customRequestActions input{width:70px;border:1px solid #d9e0e2;border-radius:12px;padding:10px;font-family:inherit}
@media(max-width:1100px){.publicHeader{grid-template-columns:220px 1fr}.publicNav{order:3;grid-column:1/-1;justify-content:flex-start}.publicPortalBtn{grid-column:2;grid-row:1;justify-self:end}.publicLogo img{width:210px}.serviceCards,.procurementFlow,.publicMediaGrid{grid-template-columns:repeat(2,1fr)}.loginWrap{grid-template-columns:1fr}.twoPublicCols{grid-template-columns:1fr}.customRequestPanel{grid-template-columns:1fr}}
@media(max-width:720px){.publicHeader{display:flex;flex-wrap:wrap;padding:18px 20px}.publicLogo img{width:190px}.publicNav{width:100%;display:flex;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:4px}.publicNavLink{white-space:nowrap}.publicPortalBtn{margin-left:auto}.publicPageHero{padding:64px 22px 40px}.publicPageHero h1{font-size:52px}.publicSection{padding:42px 22px}.serviceCards,.procurementFlow,.publicMediaGrid,.contactGrid{grid-template-columns:1fr}.publicCta{margin:0 20px;padding:28px;align-items:flex-start;flex-direction:column}.publicFooter{padding:28px 22px;flex-direction:column;align-items:flex-start}.publicFooter>div:last-child{text-align:left}.loginWrap{padding:55px 22px;gap:32px}.loginIntro h1{font-size:50px}.customRequestActions{align-items:stretch;flex-direction:column}.customRequestActions label{justify-content:space-between}.customRequestActions input{width:90px}}


/* ==== V12 CLEAN PUBLIC MVP OVERRIDES ==== */
.publicLanding,.publicPage{background:#faf9f9!important;color:#050607!important}
.publicLanding .landingHero{background:transparent!important;color:#050607!important}
.publicLanding .landingCopy h1{color:#050607!important}
.publicLanding .landingCopy h1 em{color:#27a99f!important}
.publicLanding .landingCopy .lead{color:#4f5659!important}
.publicLanding .supplyLabel{background:#fff!important;color:#050607!important;border:2px solid #111!important;box-shadow:0 30px 80px rgba(0,0,0,.06)!important}
.publicLanding .beliefSection,.publicLanding .landingModules{color:#050607!important}
.publicLanding .moduleGrid article{background:#fff!important;color:#050607!important}
.publicHeader{background:#faf9f9!important;color:#111!important;border-bottom:1px solid #dfe3e4!important;box-shadow:none!important}
.publicNavLink{color:#596776!important;background:transparent!important}
.publicNavLink:hover{background:#f0f5f4!important;color:#102322!important}
.publicNavLink.active{background:#fff!important;color:#17355e!important;border:1px solid #d8dfe5!important}
.publicPortalBtn{background:#27a99f!important;color:#fff!important;border-color:#27a99f!important}
.publicPageHero{background:#faf9f9!important;color:#050607!important}
.publicSection{color:#050607!important}
.publicFooter{background:#faf9f9!important}


/* ==== V12.1 Git-ready public header / privacy cleanup ==== */
.publicHeader{max-width:1540px!important;margin:0 auto!important;padding:24px 32px!important;display:flex!important;align-items:center!important;gap:24px!important;min-height:108px!important;border-bottom:1px solid #dfe3e4!important;background:#faf9f9!important;box-sizing:border-box!important}
.publicLogo{flex:0 0 auto!important}.publicLogo img{width:235px!important}
.publicNav{flex:1 1 auto!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:2px!important;flex-wrap:nowrap!important;min-width:0!important}
.publicNavLink{padding:11px 10px!important;font-size:14px!important;white-space:nowrap!important}
.publicPortalBtn{flex:0 0 auto!important;white-space:nowrap!important;padding:14px 20px!important}
.loginSupport{margin-top:22px;font-size:13px;color:#697378}.loginSupport button{border:0;background:transparent;color:#0b7f7d;font:inherit;font-weight:800;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.simpleAccountLabel .labelTop b{font-size:20px;line-height:1.28}
@media(max-width:1180px){
  .publicHeader{padding:20px 24px!important;gap:16px!important}.publicLogo img{width:205px!important}.publicNavLink{padding:10px 7px!important;font-size:13px!important}.publicPortalBtn{padding:12px 16px!important;font-size:13px!important}
}
@media(max-width:980px){
  .publicHeader{display:grid!important;grid-template-columns:1fr auto!important;gap:14px 18px!important;min-height:auto!important}.publicLogo img{width:205px!important}.publicPortalBtn{grid-column:2;grid-row:1}.publicNav{grid-column:1/-1!important;grid-row:2!important;justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:2px!important}.publicNavLink{padding:9px 10px!important}
}
@media(max-width:720px){
  .publicHeader{display:grid!important;grid-template-columns:1fr auto!important;padding:16px 18px!important}.publicLogo img{width:180px!important}.publicPortalBtn{font-size:12px!important;padding:11px 14px!important}.publicNav{width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important}.publicNavLink{font-size:12px!important;padding:8px 9px!important}
}

/* =========================================================
   V13 — stronger operating proposition + guided demo
   ========================================================= */

/* Stronger, clearer portal navigation icons */
.navLink.iconOnly{width:52px;height:52px;border-radius:17px}
.navIcon{width:26px;height:26px}
.navIcon svg{width:25px!important;height:25px!important;stroke-width:2.55!important}
.navLink.iconOnly:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.13);transform:translateY(-1px)}
.navLink.iconOnly.active{background:rgba(24,173,169,.15)!important;border-color:rgba(47,211,204,.5)!important;color:#d5fffc!important;box-shadow:inset 0 0 0 1px rgba(47,211,204,.23),0 10px 24px rgba(10,87,88,.2)!important}
.navLink.iconOnly.active .navIcon{color:#65eee7!important}

/* Home proposition */
.publicLanding .landingCopy .lead{max-width:720px}
.demoCta{display:inline-flex;align-items:center;gap:10px}
.playDot{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#111;color:#fff;font-size:9px;padding-left:1px}
.animatedAccountLabel{position:relative;overflow:hidden}
.animatedAccountLabel:after{content:"";position:absolute;inset:-60% auto auto -30%;width:45%;height:190%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);transform:rotate(14deg);animation:pscSheen 7s ease-in-out infinite;pointer-events:none}
.flowPulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(25,160,158,.35);animation:pscPulse 2s ease-out infinite;margin-right:7px}
.operationsBelief .beliefGrid{align-items:start}
.operationsBelief .beliefGrid h2{max-width:790px}
.operationsBelief .beliefGrid>div:last-child{max-width:600px}
.beliefStrong{font-weight:800;color:#101717!important;line-height:1.5!important}
.beliefCloser{margin-top:26px;padding:20px 22px;border-left:4px solid var(--teal);background:#f3f8f7;border-radius:0 18px 18px 0;font-size:17px;line-height:1.45;color:#34403f}
.beliefCloser b{color:#060808;font-size:19px}
.sectionTitleRow{display:flex;justify-content:space-between;align-items:center;gap:16px}
.textAction{border:0;background:transparent;color:#087f7d;font-family:inherit;font-weight:800;cursor:pointer;font-size:13px;padding:8px}
.operationalModules .moduleGrid article{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.operationalModules .moduleGrid article:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(19,40,40,.08);border-color:#c8d9d6}
.moduleIcon{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:#eaf6f4;color:#0b8d89;margin-bottom:22px}
.moduleIcon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
.operationalModules .moduleGrid h3{margin-top:22px}
.demoTeaser{margin:70px 0 0;border-radius:30px;background:#081514;color:#fff;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px;overflow:hidden;position:relative}
.demoTeaser:after{content:"";position:absolute;right:-90px;top:-105px;width:280px;height:280px;border-radius:50%;border:56px solid rgba(32,181,176,.12)}
.demoTeaser>div,.demoTeaser>button{position:relative;z-index:1}.demoTeaser .kicker{color:#83dad6}.demoTeaser h2{font-size:34px;line-height:1.05;letter-spacing:-.045em;margin:10px 0}.demoTeaser p{max-width:650px;color:#bfd0ce;line-height:1.6;margin:0}.demoTeaser .button.dark{background:#fff;color:#081514;border-color:#fff;white-space:nowrap}

/* Guided public demo */
.publicDemoPage{background:#fbfcfb;color:#070a0a;min-height:100vh}
.demoPublicHero{max-width:1460px;margin:0 auto;padding:86px 44px 48px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.demoPublicHero h1{font-size:64px;line-height:.98;letter-spacing:-.062em;margin:14px 0 22px;max-width:820px}
.demoPublicHero p{font-size:18px;line-height:1.7;color:#5d6867;max-width:790px}
.demoHeroFlow{height:210px;border:1px solid #dce5e3;background:#fff;border-radius:30px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;box-shadow:0 24px 70px rgba(16,45,43,.07);overflow:hidden}
.demoHeroFlow>div{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:2;min-width:64px}
.demoHeroFlow>div b{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#e8f6f4;color:#087f7d;font-size:13px}.demoHeroFlow>div span{font-size:9px;letter-spacing:.12em;font-weight:900;color:#566260}.demoHeroFlow>i{height:2px;background:#cfe0dd;flex:1;min-width:20px;position:relative}.flowRunner{position:absolute!important;left:38px!important;top:91px!important;width:10px!important;height:10px!important;min-width:10px!important;border-radius:50%;background:#13aaa5;box-shadow:0 0 0 6px rgba(19,170,165,.12);animation:flowRunner 6s ease-in-out infinite;z-index:3!important}
.publicDemoBody{max-width:1460px;margin:0 auto;padding:0 44px 80px}
.publicDemoStepper{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 18px}
.demoStepButton{border:1px solid #dce4e2;background:#fff;border-radius:17px;padding:15px 16px;text-align:left;font-family:inherit;cursor:pointer;transition:.2s;min-height:72px}.demoStepButton span{display:block;font-size:10px;color:#91a09d;font-weight:900;letter-spacing:.08em}.demoStepButton b{display:block;font-size:11px;margin-top:6px;color:#5e6967;letter-spacing:.05em}.demoStepButton:hover{transform:translateY(-2px);border-color:#b9d4d0}.demoStepButton.active{background:#e9f6f4;border-color:#37aaa6;box-shadow:inset 0 0 0 1px rgba(31,160,156,.18)}.demoStepButton.active span,.demoStepButton.active b,.demoStepButton.done span{color:#087f7d}
.publicDemoStage{display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px;border:1px solid #dbe3e1;background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 28px 76px rgba(15,43,41,.07)}
.publicDemoCopy{padding:54px 48px;display:flex;flex-direction:column;justify-content:center}.publicDemoCopy h2{font-size:50px;line-height:1;letter-spacing:-.055em;margin:12px 0 20px}.publicDemoCopy>p{font-size:16px;line-height:1.75;color:#5d6867;max-width:580px}.publicDemoCopy .demoOutcome{margin-top:28px;background:#f6f9f8;border-color:#e0e8e6}.publicDemoCopy .demoOutcome b{font-size:16px}.publicDemoVisual{background:linear-gradient(155deg,#eff7f5,#f8faf9);padding:48px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.publicDemoVisual:before,.publicDemoVisual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(16,147,142,.13)}.publicDemoVisual:before{width:420px;height:420px;right:-160px;top:-130px}.publicDemoVisual:after{width:270px;height:270px;left:-100px;bottom:-80px}
.demoMachine{width:100%;max-width:670px;min-height:430px;border-radius:26px;background:#fff;border:1px solid #dfe7e5;box-shadow:0 28px 70px rgba(20,54,51,.12);position:relative;z-index:2;overflow:hidden;animation:demoFloat 5s ease-in-out infinite}.demoMachineBar{height:58px;border-bottom:1px solid #e5ebe9;display:flex;align-items:center;padding:0 20px;gap:7px;background:#fcfdfd}.demoMachineBar>span{width:8px;height:8px;border-radius:50%;background:#d8e0de}.demoMachineBar b{font-size:11px;letter-spacing:.08em;margin-left:8px;color:#66716f;text-transform:uppercase}
.demoProductGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:28px}.demoProductGrid article{border:1px solid #e0e7e5;border-radius:18px;padding:15px;min-height:280px;display:flex;flex-direction:column;position:relative}.demoProductGrid article>span{font-size:13px;font-weight:800;margin-top:14px}.demoProductGrid article>small{font-size:10px;color:#7b8684;margin-top:5px}.demoProductGrid article>button{width:34px;height:34px;border:0;border-radius:11px;background:#0d9d99;color:#fff;font-size:20px;position:absolute;right:13px;bottom:13px}.demoPack{height:130px;border-radius:14px;background:linear-gradient(145deg,#eef7ff,#dfeefa);display:grid;place-items:center;font-size:22px;font-weight:900;color:#2d6391;letter-spacing:.08em}.demoPack.diag{background:linear-gradient(145deg,#f5f6f7,#dfe3e5);color:#141b1d}.demoPack.saline,.repeatThumb.saline{background:linear-gradient(145deg,#eaf9f7,#d5efeb);color:#087f7d}.demoCursor{position:absolute;width:20px;height:27px;clip-path:polygon(0 0,100% 72%,58% 74%,80% 100%,65% 100%,45% 76%,15% 100%);background:#071313;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2));z-index:5}.cursorOne{left:22%;top:53%;animation:cursorMove 4.8s ease-in-out infinite}
.requestDemoLines{padding:28px;display:grid;gap:12px}.requestDemoLines>div:not(.customDemo){display:grid;grid-template-columns:38px 1fr 48px;align-items:center;gap:12px;border:1px solid #e1e8e6;border-radius:16px;padding:13px}.requestDemoLines i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf6f4;color:#0a8581;font-style:normal;font-size:11px;font-weight:900}.requestDemoLines span b{display:block;font-size:13px}.requestDemoLines span small{display:block;color:#7a8583;font-size:10px;margin-top:3px}.requestDemoLines strong{text-align:center;font-size:18px}.customDemo{border:1px dashed #a8c8c4;border-radius:16px;padding:14px 16px;background:#f7fbfa}.customDemo span,.customDemo em{display:block;font-size:9px;font-style:normal;letter-spacing:.1em;color:#71817e;text-transform:uppercase;font-weight:800}.customDemo b{display:block;font-size:13px;margin:7px 0}.customDemo em{color:#0a8e89}.demoSubmit{margin:0 28px 28px;width:calc(100% - 56px);height:50px;border:0;border-radius:15px;background:#0c9894;color:#fff;font-family:inherit;font-weight:800;animation:buttonBreath 3s ease-in-out infinite}
.controlTrack{height:120px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;position:relative}.trackLine{position:absolute;left:72px;right:72px;top:58px;height:2px;background:#d8e4e1}.trackLine:after{content:"";display:block;height:100%;width:63%;background:#11a39e;animation:lineGrow 3.8s ease-in-out infinite}.trackDot{position:relative;z-index:2;width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid #d8e2df;display:grid;place-items:center;font-weight:900;color:#7d8986}.trackDot small{position:absolute;top:49px;font-size:8px;letter-spacing:.08em;color:#7d8986}.trackDot.done{background:#0c9894;color:#fff;border-color:#0c9894}.trackDot.active{border-color:#0c9894;color:#0c9894;box-shadow:0 0 0 8px rgba(12,152,148,.1);animation:pscPulse 2s ease-out infinite}.controlCards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px 28px 28px}.controlCards article{border:1px solid #e1e8e6;border-radius:17px;padding:18px;min-height:126px}.controlCards span{font-size:9px;letter-spacing:.1em;color:#7a8583;font-weight:900}.controlCards b{display:block;margin-top:16px;font-size:14px}.controlCards small{display:block;color:#6f7977;font-size:10px;margin-top:7px;line-height:1.4}
.quoteDemo{margin:28px;border:1px solid #e0e7e5;border-radius:19px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.quoteDemo span{font-size:9px;letter-spacing:.1em;color:#74807e;font-weight:800}.quoteDemo b{display:block;font-size:20px;margin-top:7px}.quoteDemo small{display:block;color:#74807e;margin-top:5px}.quoteActions{display:flex;gap:8px}.quoteActions button{border:1px solid #dce3e1;background:#fff;border-radius:11px;padding:10px 12px;font-family:inherit;font-weight:700;font-size:10px}.quoteActions .confirm{background:#0b9692;color:#fff;border-color:#0b9692;animation:buttonBreath 3s ease-in-out infinite}.deliveryTrack{height:120px;margin:10px 40px;display:flex;align-items:center;position:relative}.deliveryTrack>span{height:3px;background:#bcd9d5;flex:1;position:relative;overflow:hidden}.deliveryTrack>span:after{content:"";position:absolute;inset:0;background:#0c9d98;transform:translateX(-65%);animation:deliveryProgress 4s ease-in-out infinite}.deliveryVan{width:56px;height:42px;border-radius:13px;background:#081514;color:#fff;display:grid;place-items:center;font-size:20px;animation:vanBob 1.4s ease-in-out infinite}.deliveryPin{width:44px;height:44px;border-radius:50%;background:#e5f6f3;color:#07847f;display:grid;place-items:center;font-weight:900}.deliveryPromiseDemo{margin:0 28px 28px;border-radius:15px;background:#f3f8f7;padding:15px 18px}.deliveryPromiseDemo small{font-size:9px;letter-spacing:.1em;color:#75827f;font-weight:900}.deliveryPromiseDemo b{display:block;margin-top:5px;font-size:14px}
.repeatCards{display:grid;gap:13px;padding:28px}.repeatCards article{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;border:1px solid #e1e8e6;border-radius:18px;padding:14px}.repeatThumb{width:72px;height:72px;border-radius:14px;background:#e9f2fa;color:#275c86;display:grid;place-items:center;font-size:13px;font-weight:900}.repeatCards span{display:block;font-size:8px;letter-spacing:.09em;color:#7b8784;font-weight:900;text-transform:uppercase}.repeatCards b{display:block;font-size:14px;margin-top:5px}.repeatCards small{display:block;font-size:10px;color:#7b8784;margin-top:5px}.repeatCards button{border:0;border-radius:12px;background:#0b9894;color:#fff;padding:11px 14px;font-family:inherit;font-weight:800;font-size:10px}.repeatLoop{margin:0 28px 28px;border-radius:16px;background:#071514;color:#fff;padding:17px 20px;font-size:24px;display:flex;align-items:center;gap:12px;animation:buttonBreath 3.4s ease-in-out infinite}.repeatLoop span{font-size:12px;color:#d3e2df}
.demoDisclosure{display:flex;gap:12px;align-items:flex-start;padding:20px 22px;margin-top:16px;background:#f6f8f7;border:1px solid #e1e7e5;border-radius:17px;color:#687370;font-size:12px;line-height:1.5}.demoDisclosure b{color:#111817;white-space:nowrap}
.publicCtaActions{display:flex;gap:10px;align-items:center}

@keyframes pscSheen{0%,62%{transform:translateX(-160%) rotate(14deg)}82%,100%{transform:translateX(420%) rotate(14deg)}}
@keyframes pscPulse{0%{box-shadow:0 0 0 0 rgba(19,170,165,.35)}70%{box-shadow:0 0 0 12px rgba(19,170,165,0)}100%{box-shadow:0 0 0 0 rgba(19,170,165,0)}}
@keyframes flowRunner{0%,8%{left:38px}22%{left:24%}42%{left:43%}62%{left:62%}82%,100%{left:calc(100% - 48px)}}
@keyframes demoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes cursorMove{0%,18%{left:20%;top:48%;transform:scale(.96)}45%{left:78%;top:77%;transform:scale(1)}52%{transform:scale(.83)}60%{transform:scale(1)}100%{left:78%;top:77%}}
@keyframes buttonBreath{0%,100%{box-shadow:0 0 0 0 rgba(12,152,148,0)}50%{box-shadow:0 0 0 7px rgba(12,152,148,.09)}}
@keyframes lineGrow{0%,15%{width:18%}65%,100%{width:63%}}
@keyframes deliveryProgress{0%{transform:translateX(-100%)}65%,100%{transform:translateX(0)}}
@keyframes vanBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

@media(max-width:1100px){
  .demoPublicHero{grid-template-columns:1fr;gap:34px;padding-top:60px}.demoPublicHero h1{font-size:56px}.demoHeroFlow{height:170px}.publicDemoStage{grid-template-columns:1fr}.publicDemoVisual{min-height:560px}.publicDemoStepper{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:6px}.demoStepButton{min-width:150px}.demoTeaser{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .landingActions{flex-direction:column;align-items:stretch}.landingActions .button{justify-content:center}.beliefCloser{font-size:15px}.beliefCloser b{font-size:17px}.sectionTitleRow{align-items:flex-start}.demoTeaser{margin-top:46px;padding:30px 26px}.demoTeaser h2{font-size:28px}.demoPublicHero,.publicDemoBody{padding-left:20px;padding-right:20px}.demoPublicHero h1{font-size:44px}.demoPublicHero p{font-size:15px}.demoHeroFlow{padding:20px 14px;height:150px}.demoHeroFlow>div{min-width:48px}.demoHeroFlow>div b{width:38px;height:38px;border-radius:12px}.demoHeroFlow>div span{font-size:7px}.flowRunner{top:67px!important}.publicDemoCopy{padding:34px 25px}.publicDemoCopy h2{font-size:39px}.publicDemoVisual{padding:22px;min-height:500px}.demoMachine{min-height:390px}.demoProductGrid{grid-template-columns:1fr 1fr;padding:18px}.demoProductGrid article:nth-child(3){display:none}.controlCards{grid-template-columns:1fr;padding:8px 18px 22px}.controlCards article{min-height:auto}.quoteDemo{grid-template-columns:1fr;margin:18px}.quoteActions{margin-top:4px}.repeatCards{padding:18px}.repeatCards article{grid-template-columns:58px 1fr}.repeatThumb{width:58px;height:58px}.repeatCards button{grid-column:1/-1;width:100%}.demoDisclosure{flex-direction:column}.publicCtaActions{flex-direction:column;align-items:stretch;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .animatedAccountLabel:after,.flowPulse,.flowRunner,.demoMachine,.demoCursor,.trackLine:after,.trackDot.active,.quoteActions .confirm,.deliveryTrack>span:after,.deliveryVan,.repeatLoop,.demoSubmit{animation:none!important}
}


/* =========================================================
   V14 — simplified institutional hero + cleaner control cards
   ========================================================= */
.publicLanding .landingHero{padding-top:78px;padding-bottom:72px}
.publicLanding .landingCopy{align-self:center}
.publicLanding .institutionalHero{font-size:clamp(68px,7.6vw,118px);line-height:.84;letter-spacing:-.075em;margin:0 0 42px;font-weight:700;max-width:760px;white-space:normal;position:relative}
.publicLanding .institutionalHero:after{content:"";display:block;width:60px;height:1px;background:#969d9b;margin-top:25px}
.publicLanding .institutionalHero span,.publicLanding .institutionalHero em{display:block}
.publicLanding .institutionalHero span{color:#17191d}
.publicLanding .institutionalHero em{font-style:normal;color:var(--teal)!important;font-weight:700}
.publicLanding .heroStatement{font-size:clamp(20px,1.55vw,24px);line-height:1.08;max-width:700px!important;color:#15171b!important;font-weight:500;letter-spacing:-.03em;margin:0}
.publicLanding .heroStatement>span,.publicLanding .heroStatement>strong{display:block}
.publicLanding .heroStatement em{font-style:italic;font-weight:500}
.publicLanding .heroStatement strong{font-weight:800;color:#111317;margin-top:2px}

.procurementHeroCard{background:#fff;border:1.7px solid #111;border-radius:30px;padding:28px 30px 24px;box-shadow:0 28px 70px rgba(0,0,0,.055);min-width:0}
.procurementCardTop{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:24px;align-items:start}
.procurementCardHeadline{font-size:clamp(24px,2vw,33px);line-height:1.06;letter-spacing:-.04em;padding-top:10px}
.procurementCardHeadline span,.procurementCardHeadline strong{display:block}
.procurementCardHeadline strong{font-weight:850;margin-top:7px}
.procurementQr{width:108px;height:108px;object-fit:contain;image-rendering:pixelated}
.procurementFlowPanel{background:#f1f7f6;border-radius:18px;padding:25px 24px 23px;margin-top:25px}
.procurementFlowIntro b{display:block;font-size:15px;letter-spacing:.04em;color:#0e706e}
.procurementFlowIntro em{display:block;margin-top:8px;font-size:18px;letter-spacing:-.02em;color:#2f3535}
.procurementSteps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr;gap:8px;align-items:center;margin-top:25px}
.procurementSteps span{background:#fff;border-radius:10px;padding:11px 10px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.07em;color:#77849b;box-shadow:0 7px 20px rgba(38,92,88,.05)}
.procurementSteps i{font-style:normal;font-size:20px;color:#0c7d78}
.procurementStatus{display:flex;align-items:center;gap:13px;margin-top:29px;font-size:17px}
.procurementStatus i{width:18px;height:18px;border-radius:50%;background:#e57a6f;box-shadow:0 0 0 7px rgba(229,122,111,.07);flex:0 0 auto}
.procurementStatus em{letter-spacing:-.02em}
.procurementAccount{text-align:center;font-size:13px;font-weight:800;margin-top:17px;letter-spacing:.04em}
.procurementBarcode{height:72px;margin:15px 11px 0;background:repeating-linear-gradient(90deg,#0a0a0a 0 4px,transparent 4px 8px,#0a0a0a 8px 10px,transparent 10px 14px,#0a0a0a 14px 20px,transparent 20px 24px)}
.procurementFoot{text-align:center;font-weight:800;font-size:13px;letter-spacing:.015em;margin-top:16px}
.procurementFoot i{font-style:normal;color:var(--teal);padding:0 5px}
.publicLanding .landingActions{margin-top:34px}
.operationalModules .moduleGrid article{padding-top:28px}
.operationalModules .moduleGrid article>b{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid #b9d4d0;border-radius:50%;font-size:10px;letter-spacing:.06em;background:#f5fbfa}
.operationalModules .moduleGrid h3{margin-top:28px}
.moduleIcon{display:none!important}

@media(max-width:900px){
  .publicLanding .institutionalHero{font-size:clamp(62px,13vw,92px);max-width:680px}
}

@media(max-width:1050px){
  .procurementHeroCard{max-width:760px}
}
@media(max-width:650px){
  .publicLanding .institutionalHero{font-size:clamp(50px,15vw,76px);line-height:.86;white-space:normal;margin-bottom:36px;max-width:100%}
  .publicLanding .institutionalHero:after{margin-top:20px}
  .publicLanding .heroStatement{font-size:19px;line-height:1.13}
  .procurementHeroCard{padding:22px 18px;border-radius:24px}
  .procurementCardTop{grid-template-columns:1fr 82px;gap:14px}
  .procurementQr{width:82px;height:82px}
  .procurementCardHeadline{font-size:23px}
  .procurementFlowPanel{padding:20px 16px}
  .procurementSteps{grid-template-columns:1fr;gap:7px}
  .procurementSteps i{transform:rotate(90deg);text-align:center;line-height:1}
  .procurementStatus{font-size:16px}
  .procurementBarcode{height:55px;margin-left:4px;margin-right:4px}
}


/* =========================================================
   V19 — approved hero-card proportions + official logo lock
   ========================================================= */
.publicLanding .landingHero{
  grid-template-columns:minmax(0,.88fr) minmax(620px,1.12fr)!important;
  gap:52px!important;
  align-items:center!important;
}
.publicLanding .landingCopy{min-width:0}
.procurementHeroCard{
  width:100%;
  max-width:none!important;
  padding:30px 32px 26px!important;
  border-radius:30px!important;
}
.procurementCardTop{
  grid-template-columns:minmax(0,1fr) 118px!important;
  gap:28px!important;
}
.procurementCardHeadline{
  font-size:clamp(24px,1.75vw,30px)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
  max-width:560px;
}
.procurementCardHeadline strong{
  margin-top:6px!important;
  font-weight:850!important;
  white-space:normal;
}
.procurementQr{width:118px!important;height:118px!important}
.procurementFlowPanel{
  margin-top:28px!important;
  padding:28px 28px 26px!important;
  border-radius:19px!important;
}
.procurementFlowIntro b{font-size:15px!important}
.procurementFlowIntro em{font-size:18px!important;margin-top:9px!important}
.procurementSteps{
  grid-template-columns:minmax(112px,1.05fr) auto minmax(100px,.9fr) auto minmax(100px,.9fr) auto minmax(136px,1.18fr)!important;
  gap:9px!important;
  margin-top:27px!important;
}
.procurementSteps span{
  padding:12px 10px!important;
  font-size:12px!important;
  line-height:1.15!important;
}
.procurementStatus{margin-top:30px!important}
.publicLogo img,.publicFooter img,.topbarBrandSlot img,.brandImage{
  font-family:initial!important;
  filter:none!important;
}

/* Public menu follows intent: reveal on scroll up, tuck away on scroll down. */
.publicHeader{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  transition:transform .26s ease,box-shadow .26s ease,background-color .26s ease!important;
  will-change:transform;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.publicHeader.headerHidden{transform:translateY(calc(-100% - 8px))!important}
.publicHeader.headerScrolled{
  box-shadow:0 10px 30px rgba(15,31,31,.07)!important;
  background:rgba(250,249,249,.94)!important;
}

@media(max-width:1180px){
  .publicLanding .landingHero{
    grid-template-columns:1fr!important;
    gap:42px!important;
  }
  .procurementHeroCard{
    max-width:780px!important;
    justify-self:start;
  }
}
@media(max-width:720px){
  .publicHeader.headerHidden{transform:translateY(calc(-100% - 6px))!important}
  .procurementCardTop{grid-template-columns:minmax(0,1fr) 86px!important;gap:16px!important}
  .procurementQr{width:86px!important;height:86px!important}
  .procurementCardHeadline{font-size:22px!important}
  .procurementSteps{grid-template-columns:1fr!important}
}


/* =========================================================
   V20 — final clinic-account hero card
   ========================================================= */
.procurementHeroCard{
  background:#fff!important;
  border:1.7px solid #111!important;
  border-radius:30px!important;
  padding:28px 28px 24px!important;
  box-shadow:0 28px 70px rgba(0,0,0,.045)!important;
}
.procurementCardTop{
  grid-template-columns:minmax(0,1fr) 118px!important;
  gap:30px!important;
  align-items:start!important;
}
.procurementCardHeadline{
  font-size:clamp(23px,1.75vw,29px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  padding-top:7px!important;
  max-width:560px!important;
}
.procurementCardHeadline span{
  display:block!important;
  font-weight:500!important;
}
.procurementCardHeadline strong{
  display:block!important;
  font-weight:850!important;
  margin-top:4px!important;
}
.procurementQr{
  width:118px!important;
  height:118px!important;
}
.procurementFlowPanel{
  background:#eef5f4!important;
  border-radius:18px!important;
  padding:0 0 17px!important;
  margin-top:26px!important;
  overflow:hidden!important;
}
.procurementFlowIntroCentered{
  text-align:center!important;
  padding:0 16px!important;
  transform:translateY(-2px);
}
.procurementFlowIntroCentered em{
  display:block!important;
  margin:0!important;
  font-size:clamp(18px,1.35vw,23px)!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
  color:#2b3031!important;
  font-style:italic!important;
  font-weight:500!important;
}
.procurementStageGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  padding:16px 10px 0!important;
}
.procurementStage{
  position:relative!important;
  min-height:190px!important;
  border-radius:14px!important;
  background:#101c1d!important;
  color:#fff!important;
  padding:17px 16px 18px!important;
  box-shadow:none!important;
}
.procurementStage .stageNumber{
  position:absolute!important;
  right:12px!important;
  top:11px!important;
  color:#29c2ba!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.procurementStage h4{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}
.procurementStage .stageRule{
  display:block!important;
  width:38px!important;
  height:1px!important;
  background:#aab5b4!important;
  margin:48px 0 15px!important;
  opacity:.9!important;
}
.procurementStage p{
  margin:0!important;
  color:#d9e1e0!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  letter-spacing:-.012em!important;
}
.procurementStatus{
  margin:18px 14px 0!important;
  padding:0!important;
  gap:13px!important;
  font-size:16px!important;
}
.procurementStatus i{
  width:18px!important;
  height:18px!important;
}
.procurementAccount{
  margin-top:18px!important;
  font-size:13px!important;
}
.procurementBarcode{
  height:75px!important;
  margin:15px 13px 0!important;
}
.procurementFoot{
  margin-top:16px!important;
  font-size:13px!important;
}

@media(max-width:720px){
  .procurementStageGrid{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  .procurementStage{
    min-height:170px!important;
  }
  .procurementFlowIntroCentered em{
    font-size:18px!important;
  }
}
@media(max-width:480px){
  .procurementStageGrid{
    grid-template-columns:1fr!important;
  }
  .procurementStage{
    min-height:145px!important;
  }
  .procurementStage .stageRule{
    margin:34px 0 13px!important;
  }
}


/* =========================================================
   V21 — approved final hero-card layout
   ========================================================= */
.procurementHeroCard{
  background:#fff!important;
  border:1.7px solid #111!important;
  border-radius:30px!important;
  padding:24px 22px 22px!important;
  box-shadow:0 28px 70px rgba(0,0,0,.04)!important;
  overflow:hidden!important;
}
.procurementCardTop{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 128px!important;
  gap:22px!important;
  align-items:start!important;
  padding:3px 7px 0!important;
}
.procurementCardHeadline{
  max-width:565px!important;
  padding-top:7px!important;
  font-size:clamp(22px,1.65vw,30px)!important;
  line-height:1.03!important;
  letter-spacing:-.042em!important;
  color:#111!important;
}
.procurementCardHeadline span,
.procurementCardHeadline strong{display:block!important}
.procurementCardHeadline span{font-weight:500!important}
.procurementCardHeadline strong{font-weight:850!important;margin-top:5px!important}
.procurementQr{
  width:128px!important;
  height:128px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
}
.procurementFlowPanel{
  margin-top:56px!important;
  padding:14px 11px!important;
  background:#f3f6f6!important;
  border-radius:0!important;
  overflow:visible!important;
}
.procurementStageGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  padding:0!important;
}
.procurementStage{
  position:relative!important;
  min-height:185px!important;
  border-radius:15px!important;
  padding:16px 14px 15px!important;
  background:linear-gradient(180deg,#071417 0%,#0a191c 100%)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.procurementStage .stageNumber{
  position:absolute!important;
  top:11px!important;
  right:11px!important;
  color:#24c9c3!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
}
.procurementStage h4{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}
.procurementStage p{
  margin:62px 0 0!important;
  max-width:98%!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.15!important;
  letter-spacing:-.012em!important;
  font-weight:500!important;
}
.procurementFlowIntro,
.procurementFlowIntroCentered,
.procurementStatus,
.procurementAccount,
.procurementStage .stageRule{display:none!important}
.procurementBarcode{
  height:100px!important;
  margin:82px 20px 0!important;
  background:repeating-linear-gradient(90deg,#090909 0 4px,transparent 4px 8px,#090909 8px 10px,transparent 10px 14px,#090909 14px 20px,transparent 20px 24px)!important;
}
.procurementFoot{
  margin-top:18px!important;
  text-align:center!important;
  color:#111!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.procurementFoot i{font-style:normal!important;color:var(--teal)!important;padding:0 5px!important}

@media(max-width:1180px){
  .procurementHeroCard{max-width:780px!important}
}
@media(max-width:760px){
  .procurementCardTop{grid-template-columns:minmax(0,1fr) 94px!important;gap:14px!important}
  .procurementQr{width:94px!important;height:94px!important}
  .procurementCardHeadline{font-size:22px!important}
  .procurementFlowPanel{margin-top:34px!important}
  .procurementStageGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .procurementStage{min-height:165px!important}
  .procurementStage p{margin-top:46px!important}
  .procurementBarcode{height:72px!important;margin:46px 8px 0!important}
}
@media(max-width:480px){
  .procurementStageGrid{grid-template-columns:1fr!important}
  .procurementStage{min-height:145px!important}
  .procurementStage p{margin-top:38px!important}
}


/* =========================================================
   V22 — exact approved hero-card reference
   ========================================================= */
.procurementHeroCard{
  background:#fff!important;
  border:1.7px solid #111!important;
  border-radius:30px!important;
  padding:24px 22px 22px!important;
  box-shadow:0 28px 70px rgba(0,0,0,.04)!important;
  overflow:hidden!important;
}
.procurementCardTop{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 128px!important;
  gap:22px!important;
  align-items:start!important;
  padding:3px 7px 0!important;
}
.procurementCardHeadline{
  max-width:565px!important;
  padding-top:7px!important;
  font-size:clamp(22px,1.65vw,30px)!important;
  line-height:1.03!important;
  letter-spacing:-.042em!important;
  color:#111!important;
}
.procurementCardHeadline span,
.procurementCardHeadline strong{display:block!important}
.procurementCardHeadline span{font-weight:500!important}
.procurementCardHeadline strong{font-weight:850!important;margin-top:5px!important}
.procurementQr{
  width:128px!important;
  height:128px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
}
.procurementFlowPanel{
  margin-top:56px!important;
  padding:14px 11px!important;
  background:#f3f6f6!important;
  border-radius:0!important;
  overflow:visible!important;
}
.procurementStageGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  padding:0!important;
}
.procurementStage{
  position:relative!important;
  min-height:185px!important;
  border-radius:15px!important;
  padding:16px 14px 15px!important;
  background:linear-gradient(180deg,#071417 0%,#0a191c 100%)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.procurementStage .stageNumber{
  position:absolute!important;
  top:11px!important;
  right:11px!important;
  color:#24c9c3!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
}
.procurementStage h4{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}
.procurementStage p{
  margin:62px 0 0!important;
  max-width:98%!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.08!important;
  letter-spacing:-.012em!important;
  font-weight:500!important;
}
.procurementFlowIntro,
.procurementFlowIntroCentered,
.procurementStatus,
.procurementAccount,
.procurementStage .stageRule{display:none!important}
.procurementBarcode{
  height:100px!important;
  margin:82px 20px 0!important;
  background:repeating-linear-gradient(90deg,#090909 0 4px,transparent 4px 8px,#090909 8px 10px,transparent 10px 14px,#090909 14px 20px,transparent 20px 24px)!important;
}
.procurementFoot{
  margin-top:18px!important;
  text-align:center!important;
  color:#111!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.procurementFoot i{font-style:normal!important;color:var(--teal)!important;padding:0 5px!important}
@media(max-width:1180px){
  .procurementHeroCard{max-width:780px!important}
}
@media(max-width:760px){
  .procurementCardTop{grid-template-columns:minmax(0,1fr) 94px!important;gap:14px!important}
  .procurementQr{width:94px!important;height:94px!important}
  .procurementCardHeadline{font-size:22px!important}
  .procurementFlowPanel{margin-top:34px!important}
  .procurementStageGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .procurementStage{min-height:165px!important}
  .procurementStage p{margin-top:46px!important}
  .procurementBarcode{height:72px!important;margin:46px 8px 0!important}
}
@media(max-width:480px){
  .procurementStageGrid{grid-template-columns:1fr!important}
  .procurementStage{min-height:145px!important}
  .procurementStage p{margin-top:38px!important}
}


/* =========================================================
   V23 — mobile-first public site polish
   Desktop is intentionally unchanged.
   ========================================================= */
.publicFooter a{
  color:inherit;
  text-decoration:none;
}
.publicFooter a:hover{
  color:#0b7f7d;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:760px){
  /* Keep sticky header predictable on iOS/Safari. */
  .publicLanding,.publicPage{overflow:visible!important}
  .publicHeader{
    padding:12px 14px!important;
    min-height:auto!important;
    gap:10px 12px!important;
    background:rgba(250,249,249,.96)!important;
  }
  .publicLogo img{width:150px!important;max-width:42vw!important}
  .publicPortalBtn{
    padding:10px 12px!important;
    font-size:11px!important;
    min-height:40px!important;
    border-radius:12px!important;
  }
  .publicNav{
    width:100%!important;
    gap:2px!important;
    padding:1px 0 2px!important;
    scrollbar-width:none;
  }
  .publicNav::-webkit-scrollbar{display:none}
  .publicNavLink{
    padding:7px 9px!important;
    font-size:11px!important;
    border-radius:10px!important;
  }

  /* Homepage hero: preserve the two-line title without oversized mobile type. */
  .landingPage{padding:0 16px!important}
  .publicLanding .landingHero{
    padding:38px 0 44px!important;
    gap:30px!important;
  }
  .publicLanding .institutionalHero{
    font-size:clamp(50px,14.6vw,62px)!important;
    line-height:.86!important;
    letter-spacing:-.07em!important;
    margin-bottom:31px!important;
    max-width:100%!important;
  }
  .publicLanding .institutionalHero:after{
    width:48px!important;
    margin-top:18px!important;
  }
  .publicLanding .heroStatement{
    font-size:18px!important;
    line-height:1.16!important;
    max-width:340px!important;
  }
  .publicLanding .landingActions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:25px!important;
  }
  .publicLanding .landingActions .button{
    min-height:50px!important;
    width:100%!important;
    border-radius:14px!important;
  }

  /* Approved clinic-account graphic, adapted rather than stacked into four huge rows. */
  .procurementHeroCard{
    width:100%!important;
    max-width:none!important;
    padding:18px 14px 17px!important;
    border-radius:24px!important;
  }
  .procurementCardTop{
    grid-template-columns:minmax(0,1fr) 76px!important;
    gap:12px!important;
    padding:1px 2px 0!important;
  }
  .procurementCardHeadline{
    padding-top:4px!important;
    font-size:18px!important;
    line-height:1.03!important;
    letter-spacing:-.04em!important;
  }
  .procurementCardHeadline strong{margin-top:4px!important}
  .procurementQr{
    width:76px!important;
    height:76px!important;
  }
  .procurementFlowPanel{
    margin-top:30px!important;
    padding:9px!important;
  }
  .procurementStageGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .procurementStage{
    min-height:132px!important;
    border-radius:13px!important;
    padding:13px 11px 12px!important;
  }
  .procurementStage h4{font-size:14px!important}
  .procurementStage .stageNumber{
    top:10px!important;
    right:10px!important;
    font-size:8px!important;
  }
  .procurementStage p{
    margin-top:37px!important;
    font-size:10px!important;
    line-height:1.14!important;
    max-width:100%!important;
  }
  .procurementBarcode{
    height:58px!important;
    margin:30px 6px 0!important;
  }
  .procurementFoot{
    margin-top:13px!important;
    font-size:10px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* Tighten the mission / control sections for a phone-length page. */
  .publicLanding .beliefSection{
    padding:22px 0 38px!important;
  }
  .beliefRule{margin-bottom:25px!important}
  .beliefGrid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .beliefGrid h2{
    font-size:32px!important;
    line-height:1.02!important;
  }
  .beliefGrid p{
    font-size:14px!important;
    line-height:1.58!important;
    margin-bottom:14px!important;
  }
  .beliefCloser{
    padding:15px!important;
    font-size:14px!important;
  }
  .beliefCloser b{font-size:15px!important}

  .publicLanding .landingModules{
    padding:34px 0 38px!important;
  }
  .sectionTitleRow{gap:12px!important}
  .moduleGrid{margin-top:14px!important}
  .operationalModules .moduleGrid article{
    min-height:145px!important;
    padding:20px!important;
  }
  .operationalModules .moduleGrid h3{
    margin:18px 0 8px!important;
    font-size:20px!important;
  }
  .operationalModules .moduleGrid p{
    font-size:12.5px!important;
    line-height:1.48!important;
  }

  /* The screenshot showed this block taking almost a full phone screen. */
  .demoTeaser{
    margin:36px 0 0!important;
    border-radius:24px!important;
    padding:25px 22px!important;
    gap:21px!important;
    min-height:0!important;
  }
  .demoTeaser:after{
    width:190px!important;
    height:190px!important;
    right:-78px!important;
    top:-82px!important;
    border-width:39px!important;
  }
  .demoTeaser .kicker{font-size:10px!important}
  .demoTeaser h2{
    font-size:29px!important;
    line-height:1.02!important;
    margin:9px 0 12px!important;
    max-width:300px!important;
  }
  .demoTeaser p{
    font-size:14px!important;
    line-height:1.5!important;
    max-width:310px!important;
  }
  .demoTeaser .button{
    width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
    border-radius:999px!important;
    padding:12px 18px!important;
  }

  /* Compact, tap-friendly mobile footer. */
  .publicFooter{
    margin:34px auto 0!important;
    padding:24px 4px 28px!important;
    gap:18px!important;
    align-items:flex-start!important;
  }
  .publicFooter img{width:148px!important}
  .publicFooter p{
    max-width:330px!important;
    margin:14px 0 0!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  .publicFooter>div:last-child{
    margin-top:3px!important;
    gap:5px!important;
    text-align:left!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .publicFooter a{
    display:block;
    width:max-content;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
  }
}

@media(max-width:390px){
  .publicLogo img{width:142px!important}
  .publicPortalBtn{padding:9px 10px!important;font-size:10.5px!important}
  .publicLanding .institutionalHero{font-size:50px!important}
  .procurementCardHeadline{font-size:17px!important}
  .procurementCardTop{grid-template-columns:minmax(0,1fr) 70px!important}
  .procurementQr{width:70px!important;height:70px!important}
  .procurementStage{min-height:128px!important}
  .procurementStage p{font-size:9.5px!important}
  .procurementFoot{font-size:9.4px!important}
}


/* =========================================================
   V24 — Standard School Clinic shop template
   ========================================================= */
.clinicNeedSection{margin:8px 0 24px;padding:25px 0 4px;border-top:1px solid #e3e8e7}
.clinicNeedHeading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.clinicNeedHeading h2{font-size:30px;line-height:1;letter-spacing:-.045em;margin:7px 0 8px;color:#111817}
.clinicNeedHeading p{margin:0;max-width:700px;color:#6b7674;font-size:13px;line-height:1.5}
.templateBadge{flex:0 0 auto;padding:8px 11px;border:1px solid #c9d9d6;border-radius:999px;background:#f5faf9;color:#167c78;font-size:9px;font-weight:900;letter-spacing:.09em;white-space:nowrap}
.clinicNeedRail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 1px 13px;scrollbar-width:thin;scrollbar-color:#c5d3d0 transparent}
.clinicNeedCard{scroll-snap-align:start;flex:0 0 190px;min-height:128px;border:1px solid #dfe7e5;border-radius:18px;background:#fff;padding:15px 14px 13px;display:grid;grid-template-columns:38px 1fr auto;grid-template-rows:auto 1fr;gap:12px 10px;text-align:left;font-family:inherit;color:#17201f;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.clinicNeedCard:hover{transform:translateY(-2px);border-color:#a9cbc6;box-shadow:0 10px 25px rgba(23,61,58,.06)}
.clinicNeedCard.active{background:#0c1a1a;color:#fff;border-color:#0c1a1a;box-shadow:0 12px 28px rgba(5,30,29,.12)}
.clinicNeedIcon{width:38px;height:38px;border-radius:12px;background:#ebf6f4;color:#128d87;display:grid;place-items:center;grid-row:1/3}
.clinicNeedIcon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.clinicNeedCard.active .clinicNeedIcon{background:#16302f;color:#61ddd6}
.clinicNeedCopy{min-width:0;align-self:center}
.clinicNeedCopy b{display:block;font-size:13px;line-height:1.12;letter-spacing:-.015em}
.clinicNeedCopy small{display:block;margin-top:6px;color:#7a8583;font-size:9.5px;line-height:1.35}
.clinicNeedCard.active .clinicNeedCopy small{color:#b7c8c5}
.clinicNeedCount{font-size:9px;font-weight:900;color:#8a9693;align-self:start}
.clinicNeedCard.active .clinicNeedCount{color:#61ddd6}
.shopFilterBar{margin-top:18px}
.clinicCatalogueMeta{align-items:center}
.clinicCatalogueMeta>div>span{display:block;margin-top:5px;color:#77817f;font-size:10px}
.clinicCatalogueMeta .isHidden{visibility:hidden}
@media(max-width:760px){
  .clinicNeedSection{margin-top:0;padding-top:18px;margin-bottom:18px}
  .clinicNeedHeading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:14px}
  .clinicNeedHeading h2{font-size:26px}
  .clinicNeedHeading p{font-size:12px}
  .templateBadge{font-size:8px;padding:7px 10px}
  .clinicNeedRail{margin-right:-18px;padding-right:18px;gap:8px}
  .clinicNeedCard{flex-basis:168px;min-height:116px;border-radius:16px;padding:13px 12px;grid-template-columns:34px 1fr auto;gap:10px 8px}
  .clinicNeedIcon{width:34px;height:34px;border-radius:10px}
  .clinicNeedIcon svg{width:19px;height:19px}
  .clinicNeedCopy b{font-size:12px}.clinicNeedCopy small{font-size:9px}
  .shopFilterBar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .shopFilterBar .searchInput{grid-column:1/-1!important}
  .shopFilterBar select{min-width:0!important;width:100%!important}
  .clinicCatalogueMeta{align-items:flex-start;gap:10px}
}


/* =========================================================
   V25 — Institutional Catalogue / Clinical Need Journey
   Aesthetic: warm, rounded, calm, icon-led and touch-friendly
   ========================================================= */
.institutionalCatalogueHeader{align-items:flex-end!important}
.institutionalCatalogueHeader h1{max-width:760px}
.institutionalCatalogueHeader p{max-width:860px}
.catalogueDepthPill{
  flex:0 0 auto;min-width:190px;padding:18px 20px;border-radius:24px;
  background:#fff7e6;border:1px solid #f0dfbd;display:grid;gap:2px;box-shadow:0 10px 28px rgba(67,46,13,.05)
}
.catalogueDepthPill b{font-size:34px;line-height:1;letter-spacing:-.055em;color:#17191d}
.catalogueDepthPill span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#5c513b}
.catalogueDepthPill small{font-size:9px;color:#8a7d65;margin-top:6px}

.v25NeedJourney{
  margin:8px 0 26px!important;padding:28px!important;border:0!important;border-radius:32px;
  background:
    radial-gradient(circle at 8% 4%,rgba(255,255,255,.7) 0 88px,transparent 89px),
    radial-gradient(circle at 92% 85%,rgba(255,255,255,.42) 0 130px,transparent 131px),
    linear-gradient(135deg,#fff9ea 0%,#fff2cf 52%,#fff8e5 100%);
  overflow:hidden;position:relative
}
.v25NeedJourney:before{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:48px solid rgba(255,255,255,.28);
  right:-90px;top:-105px;pointer-events:none
}
.v25NeedJourney .clinicNeedHeading{position:relative;z-index:2;align-items:flex-end;margin-bottom:22px}
.v25NeedJourney .clinicNeedHeading h2{font-size:34px;margin-top:8px;color:#1c1d20}
.v25NeedJourney .clinicNeedHeading p{font-size:13px;color:#6f6759;max-width:760px}
.v25NeedJourney .templateBadge{background:rgba(255,255,255,.7);border-color:rgba(101,78,35,.14);color:#695927}

.clinicNeedRail{
  position:relative;z-index:2;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important
}
.clinicNeedCard{
  --need-bg:#f6cb75;--need-ink:#4b3a08;
  min-height:178px!important;flex:none!important;width:auto!important;border:0!important;border-radius:25px!important;
  padding:17px 18px 16px!important;background:var(--need-bg)!important;color:var(--need-ink)!important;
  display:block!important;position:relative!important;overflow:hidden!important;text-align:left!important;
  box-shadow:0 11px 26px rgba(77,61,24,.07)!important;transition:transform .22s ease,box-shadow .22s ease,outline-color .22s ease!important;
  outline:3px solid transparent;outline-offset:-3px
}
.clinicNeedCard:before{
  content:"";position:absolute;width:155px;height:155px;border-radius:50%;border:31px solid rgba(255,255,255,.18);
  right:-50px;top:-58px;pointer-events:none
}
.clinicNeedCard:after{
  content:"";position:absolute;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.12);
  left:-23px;bottom:-23px;pointer-events:none
}
.clinicNeedCard:hover{transform:translateY(-5px)!important;box-shadow:0 18px 38px rgba(61,48,22,.11)!important}
.clinicNeedCard.active{outline-color:rgba(19,27,26,.78)!important;box-shadow:0 17px 38px rgba(34,33,25,.14)!important}
.clinicNeedCount{
  position:absolute!important;left:18px!important;top:16px!important;font-size:10px!important;letter-spacing:.06em!important;
  color:var(--need-ink)!important;opacity:.62;font-weight:900!important
}
.clinicNeedIcon{
  position:absolute!important;right:16px!important;top:15px!important;width:49px!important;height:49px!important;
  border-radius:16px!important;background:rgba(255,255,255,.28)!important;color:var(--need-ink)!important;display:grid!important;place-items:center!important
}
.clinicNeedIcon svg{width:25px!important;height:25px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.clinicNeedCopy{position:absolute!important;left:18px!important;right:48px!important;bottom:17px!important;display:block!important;color:var(--need-ink)!important}
.clinicNeedCopy b{font-size:18px!important;line-height:1.02!important;letter-spacing:-.04em!important;color:inherit!important}
.clinicNeedCopy small{font-size:10px!important;line-height:1.35!important;color:inherit!important;opacity:.72;margin-top:7px!important}
.clinicNeedArrow{
  position:absolute;right:17px;bottom:16px;font-size:18px;font-weight:700;color:var(--need-ink);opacity:.65;
  transition:transform .18s ease
}
.clinicNeedCard:hover .clinicNeedArrow{transform:translate(2px,-2px)}
.clinicNeedCard.active .clinicNeedIcon{background:rgba(255,255,255,.35)!important;color:var(--need-ink)!important}

.v25FilterBar{margin-top:8px!important;border-radius:18px!important}
.v25ProductGrid{margin-top:2px}
.v25CustomRequest{margin-top:34px!important;margin-bottom:8px!important}

.v25ProductCard{border-radius:24px!important;min-height:438px!important;box-shadow:0 8px 24px rgba(15,35,34,.035)}
.v25ProductCard:hover{box-shadow:0 14px 34px rgba(15,35,34,.07)}
.productNeedVisual{background:var(--need-bg)!important;color:var(--need-ink)!important;border:0!important}
.productNeedVisual:before{
  content:"";position:absolute;width:125px;height:125px;border:24px solid rgba(255,255,255,.22);border-radius:50%;right:-37px;top:-40px
}
.productNeedVisual:after{display:none!important}
.productNeedIcon{display:grid!important;place-items:center!important;width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.28);z-index:1}
.productNeedIcon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.productNeedVisual small{font-size:9px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:currentColor!important;opacity:.72}
.productBadgeStack{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.dhaRequirementBadge{
  display:inline-flex;align-items:center;gap:5px;padding:4px 7px 4px 4px;border-radius:999px;background:#e6f4f6;color:#08727c;
  font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap
}
.dhaRequirementBadge i{
  width:24px;height:18px;border-radius:8px;background:#08727c;color:#fff;display:grid;place-items:center;font-style:normal;
  font-size:7px;letter-spacing:.03em
}
.specLedFlag{background:#fff6df!important;color:#8a6512!important}
.v25ProductCard .productFlags span{border:1px solid rgba(0,0,0,.035)}

.modalNeedChips{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.modalNeedChip{padding:7px 9px;border-radius:999px;background:var(--chip-bg);color:var(--chip-ink);font-size:9px;font-weight:850}
.detailNeedVisual{
  width:100%;height:390px;border-radius:16px;background:var(--need-bg);color:var(--need-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden
}
.detailNeedVisual:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;border:44px solid rgba(255,255,255,.2);right:-74px;top:-70px}
.detailNeedVisual span{width:88px;height:88px;border-radius:27px;background:rgba(255,255,255,.3);display:grid;place-items:center;z-index:1}
.detailNeedVisual svg{width:47px;height:47px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.detailNeedVisual b{font-size:14px;z-index:1}
.v25DhaHero{position:relative;overflow:hidden}
.v25DhaHero:after{content:"DHA";position:absolute;right:-7px;bottom:-20px;font-size:72px;font-weight:900;letter-spacing:-.06em;color:rgba(7,113,122,.055)}
.dhaModalBadge{display:flex;align-items:center;gap:8px;margin-bottom:13px}
.dhaModalBadge span{display:grid;place-items:center;width:43px;height:27px;border-radius:10px;background:#08727c;color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em}
.dhaModalBadge b{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#08727c}

@media(max-width:1180px){
  .clinicNeedRail{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .institutionalCatalogueHeader{align-items:flex-start!important}
}
@media(max-width:820px){
  .v25NeedJourney{padding:20px!important;border-radius:25px}
  .v25NeedJourney .clinicNeedHeading{align-items:flex-start!important}
  .v25NeedJourney .clinicNeedHeading h2{font-size:29px!important}
  .clinicNeedRail{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;padding:0!important}
  .clinicNeedCard{min-height:154px!important;border-radius:20px!important;padding:14px!important}
  .clinicNeedCount{left:14px!important;top:13px!important}
  .clinicNeedIcon{right:13px!important;top:12px!important;width:42px!important;height:38px!important;border-radius:14px!important}
  .clinicNeedIcon svg{width:22px!important;height:22px!important}
  .clinicNeedCopy{left:14px!important;right:34px!important;bottom:14px!important}
  .clinicNeedCopy b{font-size:15px!important}
  .clinicNeedCopy small{font-size:8.7px!important;line-height:1.28!important}
  .clinicNeedArrow{right:13px;bottom:12px;font-size:15px}
  .catalogueDepthPill{min-width:0;width:100%;grid-template-columns:auto 1fr;align-items:end}
  .catalogueDepthPill b{font-size:28px}.catalogueDepthPill small{grid-column:1/-1}
  .detailNeedVisual{height:280px}
}
@media(max-width:520px){
  .v25NeedJourney{margin-left:-2px!important;margin-right:-2px!important;padding:16px!important}
  .clinicNeedRail{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .clinicNeedCard{min-height:142px!important;border-radius:18px!important}
  .clinicNeedCopy b{font-size:14px!important}
  .clinicNeedCopy small{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .v25ProductGrid{grid-template-columns:1fr!important}
}


/* =========================================================
   V26 — Catalogue routes + unified Pharma Service visual system
   ========================================================= */

/* Shared portal canvas: warmer and more connected to the catalogue */
.v26Shell{background:#f8f5ef}
.v26Shell .mainArea{background:
  radial-gradient(circle at 97% 3%,rgba(255,232,182,.22),transparent 280px),
  linear-gradient(180deg,#fbfaf7 0%,#f7f4ee 100%)}
.v26Shell .contentWrap{max-width:1500px}
.v26Shell .sleekTopbar{
  background:rgba(255,255,255,.94)!important;
  border-color:#ebe5dc!important;
  box-shadow:0 9px 30px rgba(34,27,18,.045)!important;
  backdrop-filter:blur(18px)
}
.v26Shell .topbarSearch{background:#f7f7f4!important;border-color:#e8e7e1!important}
.v26Shell .panel{border-color:#e9e4dc;box-shadow:0 10px 30px rgba(43,34,23,.035)}
.v26Shell .pageHeader h1{letter-spacing:-.055em}

/* Catalogue home is now a true destination page */
.v26CatalogueLandingHeader{padding-bottom:8px}
.v26CatalogueLanding{margin-top:12px!important}
.v26CatalogueLanding .clinicNeedRail{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.v26CatalogueLanding .clinicNeedCard{min-height:183px!important}
.v26CatalogueLanding .clinicNeedCount{display:none!important}

.catalogueLandingShortcuts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 6px
}
.catalogueShortcut{
  border:0;border-radius:22px;padding:17px 18px;display:grid;grid-template-columns:46px 1fr auto;gap:13px;
  align-items:center;text-align:left;font-family:inherit;cursor:pointer;color:#202321;transition:transform .18s ease,box-shadow .18s ease
}
.catalogueShortcut:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(38,32,20,.07)}
.catalogueShortcut>span{width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.45);display:grid;place-items:center}
.catalogueShortcut svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catalogueShortcut div{display:grid;gap:3px}
.catalogueShortcut b{font-size:14px}
.catalogueShortcut small{font-size:10px;line-height:1.35;opacity:.65}
.catalogueShortcut i{font-style:normal;font-size:18px}
.catalogueShortcut.warm{background:#f7d67f}.catalogueShortcut.blue{background:#b5c8f8}.catalogueShortcut.mint{background:#a9ded2}

/* Category destination */
.categoryHero{
  --need-bg:#f5d37e;--need-ink:#45350a;
  min-height:175px;border-radius:28px;padding:24px 26px;margin:4px 0 12px;background:var(--need-bg);color:var(--need-ink);
  display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;position:relative;overflow:hidden
}
.categoryHero:after{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:48px solid rgba(255,255,255,.18);
  right:-75px;top:-105px;pointer-events:none
}
.categoryHeroIcon{
  width:68px;height:68px;border-radius:22px;background:rgba(255,255,255,.35);display:grid;place-items:center;z-index:1
}
.categoryHeroIcon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.categoryHeroCopy{z-index:1}.categoryHeroCopy .eyebrow{color:currentColor;opacity:.62}
.categoryHeroCopy h1{font-size:42px;line-height:.98;letter-spacing:-.055em;margin:7px 0 8px}
.categoryHeroCopy p{margin:0;font-size:13px;opacity:.68}
.categoryHeroCount{z-index:1;display:grid;text-align:right;padding-right:8px}
.categoryHeroCount b{font-size:42px;line-height:1;letter-spacing:-.055em}
.categoryHeroCount span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;opacity:.62;margin-top:4px}

/* Small persistent one-line navigation on category pages */
.needRibbon{
  display:flex;align-items:center;gap:8px;margin:10px 0 16px;padding:8px;background:rgba(255,255,255,.8);
  border:1px solid #e9e4db;border-radius:17px;overflow:hidden;box-shadow:0 7px 22px rgba(43,34,23,.025)
}
.needRibbonHome{
  flex:0 0 auto;border:0;background:#121d1d;color:#fff;border-radius:12px;padding:9px 11px;display:flex;align-items:center;gap:7px;
  font-family:inherit;font-size:9px;font-weight:850;cursor:pointer;white-space:nowrap
}
.needRibbonHome svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.needRibbonTrack{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 2px}
.needRibbonTrack::-webkit-scrollbar{display:none}
.needRibbonChip{
  --need-bg:#f5d37e;--need-ink:#45350a;
  flex:0 0 auto;border:1px solid #ece7df;background:#fff;color:#46504f;border-radius:12px;padding:8px 10px;
  display:flex;align-items:center;gap:7px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease
}
.needRibbonChip:hover{background:color-mix(in srgb,var(--need-bg) 24%,white)}
.needRibbonChip.active{background:var(--need-bg);color:var(--need-ink);border-color:transparent}
.needRibbonIcon{width:19px;height:19px;display:grid;place-items:center}
.needRibbonIcon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.needRibbonChip b{font-size:9px;letter-spacing:-.01em}
.compactInstitutionalNotice{margin:0 0 12px!important;padding:11px 13px!important;border-radius:13px!important}
.v26FilterBar{margin-top:0!important}
.v26CatalogueMeta{margin-top:4px}
.v26CustomRequest{margin-top:36px!important}

/* Home: same visual grammar as catalogue, without turning the dashboard into a toy */
.v26HomeHero{
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:end;padding:24px 26px;border-radius:29px;
  background:
    radial-gradient(circle at 90% -10%,rgba(255,255,255,.32) 0 105px,transparent 106px),
    linear-gradient(135deg,#fff2cd,#fff8e8);
  margin-bottom:14px;overflow:hidden
}
.v26HomeHero h1{font-size:46px;line-height:.97;letter-spacing:-.06em;margin:8px 0 11px}
.v26HomeHero p{margin:0;max-width:720px;color:#6c6354;font-size:14px;line-height:1.5}
.v26HomeStatus{min-width:220px;padding:15px 17px;border-radius:18px;background:rgba(255,255,255,.58);display:grid;gap:3px}
.v26HomeStatus span{font-size:8px;letter-spacing:.12em;font-weight:900;color:#8b7953}
.v26HomeStatus b{font-size:14px}.v26HomeStatus small{font-size:9px;color:#7c7569}

.v26QuickActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.v26ActionCard{
  position:relative;min-height:205px;border:0;border-radius:25px;padding:17px 18px;text-align:left;font-family:inherit;color:#202422;
  cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease
}
.v26ActionCard:after{content:"";position:absolute;width:150px;height:150px;border:29px solid rgba(255,255,255,.18);border-radius:50%;right:-45px;top:-56px}
.v26ActionCard:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(44,36,24,.09)}
.v26ActionCard.coral{background:#ff9787}.v26ActionCard.blue{background:#aebff1}.v26ActionCard.mint{background:#9fd8ce}.v26ActionCard.sand{background:#f3cc82}
.v26ActionIcon{width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.35);display:grid;place-items:center}
.v26ActionIcon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.v26ActionCard>small{position:absolute;top:18px;right:18px;font-size:9px;font-weight:900;opacity:.58}
.v26ActionCard h2{font-size:21px;letter-spacing:-.045em;margin:34px 0 8px}
.v26ActionCard p{font-size:10.5px;line-height:1.45;max-width:90%;margin:0;opacity:.68}
.v26ActionCard>i{position:absolute;right:17px;bottom:15px;font-style:normal;font-size:18px}

.v26NeedPreview{background:#fff;border:1px solid #ebe5dd;border-radius:25px;padding:19px 20px;margin-bottom:14px}
.v26SectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:13px}
.v26SectionHead h2{font-size:23px;letter-spacing:-.045em;margin:5px 0 0}
.v26SectionHead>button{border:0;background:transparent;font:inherit;font-size:10px;font-weight:850;color:#197f7a;cursor:pointer}
.v26NeedStrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.v26NeedStrip::-webkit-scrollbar{display:none}
.v26MiniNeed{
  --need-bg:#f6cb75;--need-ink:#4b3a08;flex:0 0 auto;border:0;border-radius:15px;background:var(--need-bg);color:var(--need-ink);
  padding:9px 11px;display:flex;align-items:center;gap:8px;font-family:inherit;cursor:pointer
}
.v26MiniNeed span{width:26px;height:26px;border-radius:9px;background:rgba(255,255,255,.32);display:grid;place-items:center}
.v26MiniNeed svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.v26MiniNeed b{font-size:9px;white-space:nowrap}

.v26OperationsStrip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px
}
.v26OperationsStrip>div{background:#fff;border:1px solid #ece7df;border-radius:18px;padding:14px 15px;display:grid;gap:3px}
.v26OperationsStrip span{font-size:8px;letter-spacing:.1em;font-weight:900;color:#888078}
.v26OperationsStrip b{font-size:24px;line-height:1}.v26OperationsStrip small{font-size:9px;color:#827b73}
.v26HomeGrid .panel,.v26RepeatPanel{border-radius:24px!important}
.v26RepeatPanel{background:linear-gradient(145deg,#0c1a1a,#16302f)!important}
.v26Resources{border-radius:24px!important}

/* Login visual bridge */
.v26LoginPage{background:#fbf6eb!important}
.v26LoginWrap{position:relative;overflow:hidden}
.v26LoginIntro{
  position:relative;min-height:500px;padding:48px;border-radius:34px;background:
    radial-gradient(circle at 92% 12%,transparent 0 75px,rgba(38,168,159,.11) 76px 118px,transparent 119px),
    radial-gradient(circle at 15% 90%,rgba(255,162,132,.22) 0 95px,transparent 96px),
    linear-gradient(145deg,#fff0c9,#fff8e8);
  display:flex;flex-direction:column;justify-content:center
}
.v26LoginIntro h1{font-size:64px!important}
.v26LoginIntro p{color:#665f54!important}
.v26LoginFlow{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 4px}
.v26LoginFlow span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.62);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.v26LoginCard{border-radius:30px!important;box-shadow:0 24px 60px rgba(43,34,22,.075)!important}

/* Gentle public-site bridge without touching the approved hero composition */
.publicLanding,.publicPage{background:#fbf8f1!important}
.publicSection{background:transparent}
.serviceCards article{border-radius:26px!important}
.serviceCards article:nth-child(4n+1){background:#fff2df!important}
.serviceCards article:nth-child(4n+2){background:#eef2ff!important}
.serviceCards article:nth-child(4n+3){background:#edf8f4!important}
.serviceCards article:nth-child(4n+4){background:#fff0f2!important}
.moduleGrid article{border-radius:26px!important}

/* Responsive */
@media(max-width:1180px){
  .v26CatalogueLanding .clinicNeedRail{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v26QuickActions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .v26CatalogueLanding .clinicNeedRail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .categoryHero{grid-template-columns:54px 1fr;gap:14px;min-height:150px;padding:20px}
  .categoryHeroIcon{width:54px;height:54px;border-radius:18px}.categoryHeroIcon svg{width:28px;height:28px}
  .categoryHeroCopy h1{font-size:31px}.categoryHeroCount{grid-column:2;text-align:left;padding:0}.categoryHeroCount b{font-size:25px}.categoryHeroCount span{display:inline;margin-left:5px}
  .needRibbon{margin-left:-2px;margin-right:-2px}
  .v26HomeHero{grid-template-columns:1fr}.v26HomeHero h1{font-size:38px}.v26HomeStatus{min-width:0}
  .v26OperationsStrip{grid-template-columns:repeat(2,1fr)}
  .v26LoginIntro{min-height:360px;padding:30px}.v26LoginIntro h1{font-size:48px!important}
}
@media(max-width:620px){
  .catalogueLandingShortcuts{grid-template-columns:1fr}
  .v26CatalogueLanding .clinicNeedRail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v26CatalogueLanding .clinicNeedCard{min-height:145px!important}
  .v26QuickActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .v26ActionCard{min-height:174px;padding:14px}.v26ActionCard h2{font-size:17px;margin-top:26px}.v26ActionCard p{font-size:9px}
  .v26OperationsStrip{gap:6px}.v26OperationsStrip>div{padding:12px}
  .v26SectionHead{align-items:flex-start;flex-direction:column;gap:6px}
  .needRibbonHome span{display:none}
}
@media(max-width:420px){
  .v26CatalogueLanding{padding:14px!important}
  .v26CatalogueLanding .clinicNeedCard{min-height:136px!important}
  .v26QuickActions{grid-template-columns:1fr 1fr}
  .v26ActionCard{min-height:166px}
}


/* =========================================================
   V26.1 — Product card cleanup
   ========================================================= */
.v261ProductCard{
  min-height:410px!important;
}
.v261ProductCard .productBadgeRow{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  min-height:24px;
  margin-top:12px;
}
.v261ProductCard .productBrand{
  margin-top:6px;
}
.v261ProductCard .productTitleButton h3{
  margin-top:4px;
}
.v261ProductCard .productFlags{
  margin-top:auto;
}
.v261ProductCard .specLedFlag{
  display:none!important;
}
.v261ProductCard .sku{
  display:none!important;
}
@media(max-width:620px){
  .v261ProductCard{min-height:390px!important}
}


/* =========================================================
   V26.2 — Clean minimal catalogue
   Remove AI-looking pills, icon bubbles and decorative circles.
   ========================================================= */

/* Product cards */
.v262ProductCard{
  min-height:392px!important;
  padding:13px 13px 14px!important;
}
.v262ProductCard .productBrand{
  font-size:8px!important;
  letter-spacing:.08em!important;
  margin-top:8px!important;
  color:#8c8a86!important;
}
.v262ProductCard .productTitleButton h3{
  margin-top:3px!important;
}
.v262ProductCard .pack{
  margin-bottom:8px!important;
}
.v262ProductCard .productStatusText{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
  min-height:13px;
}
.v262ProductCard .productStatusText span{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  font-size:8px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:#7b7770!important;
}
.v262ProductCard .productStatusText span+span:before{
  content:"·";
  margin-right:10px;
  color:#a7a29a;
}
.v262ProductCard .productNeedTags{
  margin-top:auto;
  padding-top:12px;
  font-size:9px;
  line-height:1.35;
  color:#74716b;
  font-weight:650;
}
.v262ProductCard .productFlags,
.v262ProductCard .productBadgeRow{
  display:none!important;
}
.v262ProductCard .priceBlock small{
  display:none!important;
}
.v262ProductCard .priceBlock b{
  font-size:14px!important;
  margin-top:0!important;
}
.v262ProductCard .productBottom{
  margin-top:12px!important;
}

/* No icon bubble on specification-led / placeholder product visual */
.productNeedVisual{
  justify-content:flex-end!important;
  align-items:flex-start!important;
  padding:18px!important;
  background:var(--need-bg)!important;
}
.productNeedVisual:before,
.productNeedVisual:after{
  display:none!important;
}
.productNeedText{
  position:relative;
  z-index:2;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--need-ink)!important;
}
.productNeedIcon{
  display:none!important;
}

/* Category cards: no generated icon, no translucent circles */
.clinicNeedCard:before,
.clinicNeedCard:after{
  display:none!important;
}
.clinicNeedIcon{
  display:none!important;
}
.clinicNeedCopy{
  left:18px!important;
  right:42px!important;
  bottom:18px!important;
}
.clinicNeedCopy b{
  font-size:18px!important;
}
.clinicNeedArrow{
  opacity:.52!important;
}

/* Category page: remove icon block and decorative ring */
.categoryHero{
  grid-template-columns:1fr auto!important;
  min-height:150px!important;
}
.categoryHero:after{
  display:none!important;
}
.categoryHeroIcon{
  display:none!important;
}

/* Ribbon: text only. Active state uses a quiet underline / tint, not a pill bubble. */
.needRibbon{
  gap:6px!important;
  padding:7px 10px!important;
}
.needRibbonHome{
  background:transparent!important;
  color:#3c4342!important;
  border-radius:0!important;
  padding:7px 8px!important;
  border-right:1px solid #e7e3dc!important;
}
.needRibbonHome svg,
.needRibbonIcon{
  display:none!important;
}
.needRibbonChip{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:7px 8px!important;
  color:#77746f!important;
}
.needRibbonChip:hover{
  background:transparent!important;
  color:#262927!important;
}
.needRibbonChip.active{
  background:transparent!important;
  color:#171918!important;
  box-shadow:inset 0 -2px 0 var(--need-ink)!important;
}
.needRibbonChip b{
  font-size:9px!important;
}

/* Dashboard clinical-need strip: text only */
.v26MiniNeed{
  border-radius:10px!important;
  padding:10px 12px!important;
}
.v26MiniNeed span{
  display:none!important;
}
.v26MiniNeed b{
  font-size:9px!important;
}

/* Catalogue shortcut and dashboard action icons were decorative; remove them */
.catalogueShortcut>span,
.v26ActionIcon{
  display:none!important;
}
.catalogueShortcut{
  grid-template-columns:1fr auto!important;
}
.v26ActionCard{
  padding-top:20px!important;
}
.v26ActionCard h2{
  margin-top:46px!important;
}

/* Status badges across product cards should not look like bubbles */
.v262ProductCard .dhaRequirementBadge,
.v262ProductCard .restricted{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
}

/* Remove decorative transparent rings from the V26 catalogue/home graphics */
.v26ActionCard:after,
.v26LoginIntro:before,
.v26CatalogueLanding:before,
.v25NeedJourney:before{
  display:none!important;
}

/* Keep color as layout/navigation, not decoration */
.v25NeedJourney{
  background:#fff7e3!important;
}

/* Mobile stays clean */
@media(max-width:620px){
  .v262ProductCard{min-height:375px!important}
  .clinicNeedCopy b{font-size:14px!important}
  .categoryHero{grid-template-columns:1fr!important}
  .categoryHeroCount{grid-column:1!important}
}


/* =========================================================
   V27 — Pharma Service Semantic Design System
   Shape communicates hierarchy:
   - Pill = commit / advance / primary action
   - Rounded rectangle = navigate / filter / edit / secondary action
   - Text = tertiary / low-friction navigation
   ========================================================= */

:root{
  --psc-teal:#27a99f;
  --psc-teal-dark:#16867f;
  --psc-ink:#111817;
  --psc-muted:#707873;
  --psc-canvas:#faf8f2;
  --psc-surface:#ffffff;
  --psc-line:#e6e3dc;

  --psc-radius-primary:999px;
  --psc-radius-control:14px;
  --psc-radius-surface:20px;

  --psc-control-h:42px;
  --psc-focus:0 0 0 3px rgba(39,169,159,.18);
}

/* ---------- Global interaction language ---------- */
button,
input,
select,
textarea{
  font-family:inherit;
}

button{
  -webkit-tap-highlight-color:transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:0!important;
  box-shadow:var(--psc-focus)!important;
}

/* Primary: the only family allowed to become a pill */
.button.primary,
.semanticPrimary,
.publicPortalBtn,
.pillBasket,
.squareAdd,
button[data-submit-request],
button[data-submit-custom],
button[data-mvp-login],
button[data-confirm-quote],
button[data-approve-quote],
button[data-add],
button[data-quick-add],
button[data-replenish],
.tourNav .button.primary,
.publicCta .button.primary,
.demoTeaser .button.dark,
.demoSubmit,
.quoteActions .confirm{
  border-radius:var(--psc-radius-primary)!important;
}

/* Primary action appearance */
.button.primary,
.semanticPrimary,
button[data-submit-request],
button[data-submit-custom],
button[data-mvp-login],
button[data-confirm-quote],
button[data-approve-quote],
button[data-add],
button[data-quick-add],
button[data-replenish],
.tourNav .button.primary,
.publicCta .button.primary{
  background:var(--psc-teal)!important;
  border-color:var(--psc-teal)!important;
  color:#fff!important;
  box-shadow:none!important;
}

.button.primary:hover,
.semanticPrimary:hover,
button[data-submit-request]:hover,
button[data-submit-custom]:hover,
button[data-mvp-login]:hover,
button[data-confirm-quote]:hover,
button[data-approve-quote]:hover,
button[data-add]:hover,
button[data-quick-add]:hover,
button[data-replenish]:hover{
  background:var(--psc-teal-dark)!important;
  border-color:var(--psc-teal-dark)!important;
  transform:translateY(-1px);
}

/* Cart is also a high-priority action; use the same semantic treatment */
.pillBasket{
  background:var(--psc-teal)!important;
  color:#fff!important;
  border:1px solid var(--psc-teal)!important;
  min-height:var(--psc-control-h);
  padding:0 18px!important;
}
.pillBasket:hover{background:var(--psc-teal-dark)!important}

/* Compact product CTA becomes a real pill action, not a mysterious square */
.squareAdd{
  width:auto!important;
  min-width:64px!important;
  height:38px!important;
  padding:0 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
}

/* ---------- Secondary controls: one consistent rounded rectangle ---------- */
.button:not(.primary):not(.semanticPrimary),
.button.outline,
.button.light,
.button.dark:not(.semanticPrimary),
.specLink,
.publicNavLink,
.demoStepButton,
.templateChip,
.needRibbonChip,
.needRibbonHome,
.filterBar select,
.searchInput,
.input,
.textarea,
.customRequestActions input,
.adminCostInput,
.fakeSelect,
.iconBtn,
.iconShell,
.navLink,
.campusPill,
.userPill{
  border-radius:var(--psc-radius-control)!important;
}

/* Secondary button behavior */
.button.outline,
.button.light,
.specLink{
  background:#fff!important;
  color:#303735!important;
  border:1px solid var(--psc-line)!important;
  box-shadow:none!important;
}
.button.outline:hover,
.button.light:hover,
.specLink:hover{
  border-color:#b9c2bd!important;
  background:#fbfbf8!important;
  color:#151918!important;
}

/* Dark secondary buttons remain strong but rectangular, not pill */
.button.dark:not(.semanticPrimary){
  border-radius:var(--psc-radius-control)!important;
  background:#14201f!important;
  color:#fff!important;
}

/* Tertiary actions are text, never pseudo-buttons */
.textAction,
.resourceLink,
.panelHeader>button,
.v26SectionHead>button{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
  box-shadow:none!important;
  color:#47605d!important;
  text-decoration:none!important;
}
.textAction:hover,
.resourceLink:hover,
.panelHeader>button:hover,
.v26SectionHead>button:hover{
  color:#111817!important;
  text-decoration:underline!important;
  text-underline-offset:4px;
}

/* ---------- Inputs / filters / selectors ---------- */
.searchInput,
.topbarSearch,
.input,
.textarea,
.filterBar select,
.customRequestActions input,
.adminCostInput,
.fakeSelect{
  border-radius:var(--psc-radius-control)!important;
}
.searchInput,
.topbarSearch{
  border:1px solid var(--psc-line)!important;
}
.filterBar{
  border-radius:var(--psc-radius-surface)!important;
}
.filterBar select{
  background:#f7f6f2!important;
  border:1px solid transparent!important;
}
.filterBar select:hover{
  border-color:#dedbd3!important;
}

/* ---------- Navigation ---------- */
.publicNavLink{
  border:1px solid transparent!important;
  background:transparent!important;
}
.publicNavLink.active{
  background:#fff!important;
  border-color:var(--psc-line)!important;
  box-shadow:none!important;
}
.publicNavLink:hover{
  background:#f4f4f0!important;
}

.iconShell,
.iconBtn{
  border-radius:var(--psc-radius-control)!important;
}
.iconShell{
  background:#fff!important;
  border:1px solid var(--psc-line)!important;
}

/* Account identity is not a CTA: rectangle, not pill */
.campusPill,
.userPill{
  border-radius:var(--psc-radius-control)!important;
}

/* Sidebar nav follows secondary-control geometry */
.navLink{
  border-radius:var(--psc-radius-control)!important;
}

/* ---------- Status / metadata must not compete with CTAs ---------- */
.statusPill,
.badge,
.restricted,
.dhaMapped,
.dhaRequirementBadge,
.templateBadge,
.modalNeedChip{
  border-radius:8px!important;
}

/* Product-card status stays mostly textual */
.v262ProductCard .productStatusText span,
.v262ProductCard .productNeedTags{
  border-radius:0!important;
}

/* ---------- Surface system ---------- */
.panel,
.productCard,
.customerOrderCard,
.replenishCard,
.resourceCard,
.publicFeatureStack article,
.simplePublicPanel,
.contactCard,
.serviceCards article,
.publicMediaGrid article,
.moduleGrid article,
.customRequestPanel,
.loginCard,
.procurementHeroCard,
.v26ActionCard,
.v26NeedPreview,
.v26OperationsStrip>div,
.catalogueShortcut,
.categoryHero,
.v25NeedJourney,
.v26HomeHero{
  border-radius:var(--psc-radius-surface)!important;
}

/* Media / image containment: same secondary geometry */
.productVisual,
.detailImagePane,
.detailImagePane>img,
.detailNeedVisual,
.replenishVisual,
.demoMachine,
.demoPack{
  border-radius:var(--psc-radius-control)!important;
}

/* ---------- Clinical catalogue geometry ---------- */
.clinicNeedCard{
  border-radius:var(--psc-radius-surface)!important;
}
.needRibbon{
  border-radius:var(--psc-radius-control)!important;
}
.needRibbonChip,
.needRibbonHome{
  border-radius:var(--psc-radius-control)!important;
}

/* ---------- Public site CTAs ---------- */
.landingActions .button.primary,
.publicPortalBtn{
  border-radius:var(--psc-radius-primary)!important;
}
.landingActions .button.outline{
  border-radius:var(--psc-radius-control)!important;
}
.playDot{
  display:none!important;
}

/* ---------- Guided demo ---------- */
.demoStepButton{
  border-radius:var(--psc-radius-control)!important;
}
.quoteActions button:not(.confirm),
.tourNav .button.outline{
  border-radius:var(--psc-radius-control)!important;
}
.quoteActions .confirm{
  border-radius:var(--psc-radius-primary)!important;
  background:var(--psc-teal)!important;
  color:#fff!important;
}

/* ---------- Destructive actions stay clearly secondary/danger ---------- */
.quietDanger,
button[data-cancel-quote]{
  border-radius:var(--psc-radius-control)!important;
  background:#fff!important;
  color:#9d3e3e!important;
  border:1px solid #ebd1d1!important;
}
.quietDanger:hover,
button[data-cancel-quote]:hover{
  background:#fff6f6!important;
}

/* ---------- Remove accidental radius noise ---------- */
.productFlags span,
.v26MiniNeed,
.v26LoginFlow span{
  border-radius:8px!important;
}

/* ---------- Micro-interaction consistency ---------- */
.button,
.specLink,
.squareAdd,
.publicNavLink,
.needRibbonChip,
.clinicNeedCard,
.v26ActionCard,
.catalogueShortcut,
.productCard{
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease,
    box-shadow .16s ease!important;
}

/* No exaggerated hover animation */
.productCard:hover,
.clinicNeedCard:hover,
.v26ActionCard:hover,
.catalogueShortcut:hover{
  transform:translateY(-2px)!important;
}

/* ---------- Mobile: preserve hierarchy, reduce shape noise ---------- */
@media(max-width:720px){
  :root{
    --psc-radius-control:13px;
    --psc-radius-surface:18px;
  }

  .button.primary,
  .semanticPrimary,
  .publicPortalBtn,
  .pillBasket,
  .squareAdd{
    border-radius:var(--psc-radius-primary)!important;
  }

  .publicNavLink,
  .needRibbonChip,
  .filterBar select,
  .searchInput,
  .input,
  .textarea{
    border-radius:var(--psc-radius-control)!important;
  }

  .squareAdd{
    min-width:58px!important;
    padding:0 13px!important;
  }
}


/* =========================================================
   V27.2 — Group account / campus switcher
   ========================================================= */
.accountSwitcherWrap{
  position:relative;
  min-width:0;
}
.accountSwitcherButton{
  min-width:245px;
  max-width:320px;
  min-height:54px;
  padding:8px 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  text-align:left!important;
  background:#fff!important;
  border:1px solid var(--psc-line)!important;
  box-shadow:none!important;
  cursor:default;
}
.accountSwitcherButton.switchable{
  cursor:pointer;
}
.accountSwitcherButton.switchable:hover{
  border-color:#c9cec8!important;
  background:#fdfcf9!important;
}
.accountSwitcherButton .campusPillMain{
  min-width:0;
  display:grid;
  gap:2px;
}
.accountSwitcherButton .campusPillMain b{
  display:block;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1.15;
  color:#171b1a;
}
.accountSwitcherButton .accountGroupName{
  display:block;
  font-size:7.5px!important;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:850;
  color:#7f847f!important;
}
.accountChevron{
  flex:0 0 auto;
  font-size:15px;
  line-height:1;
  color:#747a76;
  transition:transform .15s ease;
}
.accountSwitcherButton[aria-expanded="true"] .accountChevron{
  transform:rotate(180deg);
}

.accountSwitcherMenu{
  position:absolute;
  right:0;
  top:calc(100% + 9px);
  z-index:90;
  width:360px;
  max-width:min(88vw,360px);
  background:#fff;
  border:1px solid #e5e2db;
  border-radius:18px;
  box-shadow:0 20px 55px rgba(34,28,20,.14);
  padding:10px;
}
.accountMenuHead{
  padding:9px 10px 10px;
  border-bottom:1px solid #eeeae3;
  display:grid;
  gap:3px;
}
.accountMenuHead span{
  font-size:7.5px;
  letter-spacing:.13em;
  font-weight:900;
  color:#96918a;
}
.accountMenuHead b{
  font-size:13px;
  color:#202321;
}
.accountMenuList{
  display:grid;
  gap:3px;
  padding-top:7px;
}
.accountSchoolOption{
  width:100%;
  border:0;
  background:transparent;
  border-radius:12px;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  text-align:left;
  font-family:inherit;
  cursor:pointer;
  color:#202321;
}
.accountSchoolOption:hover{
  background:#f7f5f0;
}
.accountSchoolOption.active{
  background:#eef8f6;
}
.accountSchoolOption>span{
  min-width:0;
  display:grid;
  gap:3px;
}
.accountSchoolOption b{
  font-size:11px;
  line-height:1.2;
}
.accountSchoolOption small{
  font-size:9px;
  color:#777b77;
}
.accountSchoolOption em{
  flex:0 0 auto;
  font-style:normal;
  font-size:8px;
  font-weight:850;
  color:var(--psc-teal-dark);
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* At smaller widths, prioritize the active account over the global search. */
@media(max-width:980px){
  .accountSwitcherButton{
    min-width:210px;
    max-width:260px;
  }
}
@media(max-width:720px){
  .accountSwitcherWrap{
    flex:1 1 auto;
  }
  .accountSwitcherButton{
    width:100%;
    min-width:0;
    max-width:none;
    min-height:48px;
  }
  .accountSwitcherButton .campusPillMain b{
    max-width:210px;
    font-size:10px;
  }
  .accountSwitcherMenu{
    right:0;
    width:min(360px,calc(100vw - 34px));
  }
}


/* =========================================================
   V27.4 — Public homepage clinical-category preview
   ========================================================= */
.publicClinicalPreview{
  max-width:1320px;
  margin:0 auto;
  padding:68px 6%;
  border-top:1px solid #dfe3e4;
}
.publicClinicalPreviewHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:34px;
  margin-bottom:24px;
}
.publicClinicalPreviewHead>div{max-width:850px}
.publicClinicalPreviewHead h2{
  margin:10px 0 12px;
  max-width:820px;
  font-size:clamp(38px,4.2vw,66px);
  line-height:.98;
  letter-spacing:-.055em;
}
.publicClinicalPreviewHead p{
  margin:0;
  max-width:720px;
  color:#69716f;
  font-size:15px;
  line-height:1.55;
}
.publicClinicalPreviewGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.publicClinicalCard{
  position:relative;
  min-height:184px;
  border:0;
  border-radius:20px;
  padding:20px;
  font-family:inherit;
  text-align:left;
  color:#1c201f;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease;
}
.publicClinicalCard:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(45,37,25,.08);
}
.publicClinicalCard span{
  display:block;
  max-width:84%;
  font-size:22px;
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.04em;
}
.publicClinicalCard small{
  display:block;
  max-width:88%;
  margin-top:8px;
  color:rgba(28,32,31,.66);
  font-size:10px;
  line-height:1.45;
}
.publicClinicalCard i{
  position:absolute;
  right:18px;
  bottom:16px;
  font-style:normal;
  font-size:19px;
  opacity:.56;
}
.publicClinicalCard.coral{background:#ff9787}
.publicClinicalCard.blue{background:#afc4f6}
.publicClinicalCard.orange{background:#ffb57f}
.publicClinicalCard.mint{background:#a7ddd3}
.publicClinicalCard.rose{background:#f3a3b5}
.publicClinicalCard.sand{background:#e4c3a5}

.publicClinicalPreviewFoot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e2e1dc;
}
.publicClinicalPreviewFoot>span{
  max-width:760px;
  color:#737a77;
  font-size:11px;
  line-height:1.55;
}

/* Updated hero-card statement */
.procurementCardHeadline span{
  display:block!important;
  max-width:560px!important;
}
.procurementCardHeadline strong{
  display:none!important;
}

@media(max-width:900px){
  .publicClinicalPreviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publicClinicalPreviewHead{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .publicClinicalPreview{padding:48px 20px}
  .publicClinicalPreviewHead{margin-bottom:18px}
  .publicClinicalPreviewHead h2{font-size:38px}
  .publicClinicalPreviewHead p{font-size:13px}
  .publicClinicalPreviewGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .publicClinicalCard{min-height:145px;padding:15px;border-radius:18px}
  .publicClinicalCard span{font-size:16px}
  .publicClinicalCard small{
    font-size:8.5px;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .publicClinicalCard i{right:13px;bottom:11px;font-size:15px}
  .publicClinicalPreviewFoot{align-items:flex-start;flex-direction:column}
  .publicClinicalPreviewFoot .button{width:100%}
  .procurementCardHeadline{font-size:18px!important;line-height:1.05!important}
}


/* =========================================================
   V27.5 — Contact prospect capture + category cleanup
   ========================================================= */

/* Public category cards: no decorative arrows */
.publicClinicalCard i{
  display:none!important;
}
.publicClinicalCard span,
.publicClinicalCard small{
  max-width:100%!important;
}

/* Contact prospect form */
.prospectSection{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(520px,1.25fr);
  gap:70px;
  align-items:start;
}
.prospectIntro h2{
  margin:10px 0 16px;
  max-width:480px;
  font-size:clamp(38px,4vw,62px);
  line-height:.98;
  letter-spacing:-.055em;
}
.prospectIntro p{
  max-width:500px;
  margin:0;
  color:#66706d;
  font-size:15px;
  line-height:1.65;
}

.prospectForm{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:28px;
  background:#fff;
  border:1px solid #e4e5df;
  border-radius:20px;
}
.prospectField{
  display:grid;
  gap:8px;
}
.prospectFieldWide{
  grid-column:1/-1;
}
.prospectField label{
  color:#303735;
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
}
.prospectField input,
.prospectField textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dedfd9;
  border-radius:14px;
  background:#fbfbf8;
  color:#171a19;
  font:inherit;
  font-size:13px;
  line-height:1.45;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.prospectField input{
  min-height:48px;
  padding:0 14px;
}
.prospectField textarea{
  min-height:150px;
  padding:14px;
  resize:vertical;
}
.prospectField input::placeholder,
.prospectField textarea::placeholder{
  color:#a2a49f;
}
.prospectField input:focus,
.prospectField textarea:focus{
  background:#fff;
  border-color:#8ecbc6;
  box-shadow:0 0 0 3px rgba(39,169,159,.12);
}
.prospectHoneypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.prospectSubmitRow{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:4px;
}
.prospectSubmitRow p{
  margin:0;
  max-width:410px;
  color:#858984;
  font-size:9px;
  line-height:1.5;
}
.prospectSubmitRow .button{
  min-width:150px;
}
.prospectSubmitRow .button:disabled{
  opacity:.6;
  cursor:wait;
}

.prospectContactGrid{
  padding-top:12px!important;
}

@media(max-width:900px){
  .prospectSection{
    grid-template-columns:1fr;
    gap:30px;
  }
}
@media(max-width:620px){
  .prospectSection{
    padding:44px 22px!important;
  }
  .prospectIntro h2{
    font-size:40px;
  }
  .prospectForm{
    grid-template-columns:1fr;
    gap:14px;
    padding:18px;
    border-radius:18px;
  }
  .prospectFieldWide{
    grid-column:1;
  }
  .prospectSubmitRow{
    grid-column:1;
    align-items:flex-start;
    flex-direction:column;
  }
  .prospectSubmitRow .button{
    width:100%;
  }
}


/* =========================================================
   V27.6 — Hero workflow card background removal
   ========================================================= */
.procurementFlowPanel{
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:720px){
  .procurementFlowPanel{
    background:transparent!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* =========================================================
   V28 — Safe shared institutional demo account
   ========================================================= */
.demoAccountBanner{
  margin:0 22px;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:7px 14px;
  border-bottom:1px solid #e5dfcf;
  background:#fff4d6;
  color:#5d533c;
  font-size:9px;
  line-height:1.35;
}
.demoAccountBanner b{
  flex:0 0 auto;
  color:#27251f;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.demoAccountBanner span{
  color:#74694d;
}
@media(max-width:720px){
  .demoAccountBanner{
    margin:0 12px;
    justify-content:flex-start;
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
    padding:8px 10px;
  }
}

/* Demo site switcher should remain clearly discoverable without becoming a primary CTA */
.accountSwitcherButton.switchable .accountChevron{
  color:var(--psc-teal-dark)!important;
}


/* =========================================================
   V29 — PSC Admin CMS / PIM + dual storefront publishing
   ========================================================= */
.cmsPageHeader{align-items:flex-end!important}
.cmsChannelTabs{
  display:inline-flex;
  gap:4px;
  padding:4px;
  margin:0 0 16px;
  border:1px solid #dfddd6;
  border-radius:14px;
  background:#f4f2ec;
}
.cmsChannelTabs button{
  border:0;
  border-radius:10px;
  background:transparent;
  padding:9px 14px;
  font-family:inherit;
  font-size:10px;
  font-weight:850;
  color:#6f746f;
  cursor:pointer;
}
.cmsChannelTabs button.active{
  background:#fff;
  color:#171b1a;
  box-shadow:0 3px 10px rgba(30,25,18,.06);
}

.cmsStorefrontGrid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);
  gap:14px;
  margin-bottom:14px;
}
.cmsStorefrontForm{display:grid;gap:9px}
.cmsStorefrontForm .fieldLabel{margin-top:5px}
.cmsTextareaSmall{min-height:92px!important}
.cmsFormActions{display:flex;justify-content:flex-end;margin-top:6px}
.cmsMetricStack{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cmsMetric{
  background:#fff;
  border:1px solid #e7e3db;
  border-radius:20px;
  padding:17px;
  display:grid;
  gap:4px;
}
.cmsMetric span{font-size:8px;font-weight:900;letter-spacing:.11em;color:#8a877f}
.cmsMetric b{font-size:30px;line-height:1;letter-spacing:-.05em}
.cmsMetric small{font-size:9px;color:#777b76}

.cmsPreviewPanel{margin-top:14px}
.cmsPreviewGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.cmsPreviewGrid article{
  border:1px solid #e7e4dd;
  border-radius:18px;
  padding:10px;
  display:grid;
  gap:5px;
}
.cmsPreviewImage{
  height:120px;
  border-radius:12px;
  background:#f4f3ef;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.cmsPreviewImage img{width:100%;height:100%;object-fit:contain;background:#fff}
.cmsPreviewImage span{font-size:8px;letter-spacing:.1em;color:#999}
.cmsPreviewGrid article>small{font-size:8px;color:#82857f;text-transform:uppercase;letter-spacing:.07em}
.cmsPreviewGrid article>b{font-size:11px;line-height:1.25}
.cmsPreviewGrid article>p{margin:0;font-size:9px;line-height:1.35;color:#767b76}

.cmsMasterFilter{display:flex;align-items:center;gap:12px}
.cmsMasterFilter .searchInput{flex:1}
.cmsMasterCount{font-size:10px;font-weight:850;color:#7a7e79;padding:0 6px}
.cmsProductMasterPanel{padding:0!important;overflow:hidden}
.cmsMasterTable td{vertical-align:middle}
.cmsMasterTable td>small{display:block;color:#858983;font-size:8px;margin-top:4px}
.cmsMasterProduct{display:flex;align-items:center;gap:10px;min-width:280px}
.cmsMasterProduct>div:last-child{display:grid;gap:3px}
.cmsMasterProduct small{font-size:8px;color:#81847f}
.cmsMasterProduct em{font-size:8px;color:#9a9d97;font-style:normal}
.cmsMasterThumb{
  width:50px;height:50px;border-radius:12px;background:#f1f0ec;border:1px solid #e5e2db;
  overflow:hidden;display:grid;place-items:center;flex:0 0 auto
}
.cmsMasterThumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.cmsMasterThumb span{color:#aaa}
.cmsState{
  display:inline-block;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#8a877f;
}
.cmsState.live{color:#147d72}
.cmsState.draft{color:#9b7924}

.cmsBack{
  border:0;background:transparent;padding:0;margin:0 0 12px;font:inherit;font-size:10px;font-weight:800;color:#4f625f;cursor:pointer
}
.cmsEditorStatus{
  display:grid;text-align:right;gap:3px
}
.cmsEditorStatus span{font-size:8px;letter-spacing:.1em;font-weight:900;color:#167f75}
.cmsEditorStatus b{font-size:10px;color:#6d746f}
.cmsEditorLayout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.55fr);
  gap:14px;
}
.cmsEditorMain{display:grid;gap:14px}
.cmsEditorSide{display:grid;gap:14px;align-content:start}
.cmsFormSection{padding:20px}
.cmsFieldGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.cmsFieldGrid label{display:grid;gap:6px}
.cmsFieldGrid label>span{font-size:9px;font-weight:800;color:#59615d}
.cmsFieldGrid .wide{grid-column:1/-1}
.cmsFieldGrid textarea{min-height:110px}
.cmsCheckboxLabel{align-content:end;padding-bottom:11px}
.cmsCheckboxLabel input{width:17px;height:17px}
.cmsToggleGroup{display:flex;align-items:center;gap:18px}
.cmsToggleRow{
  display:flex!important;
  align-items:flex-start;
  gap:9px!important;
  padding:8px 0;
  cursor:pointer;
}
.cmsToggleRow input{width:16px;height:16px;margin-top:1px}
.cmsToggleRow span{display:grid;gap:2px}
.cmsToggleRow b{font-size:10px}
.cmsToggleRow small{font-size:8px;color:#838780}
.cmsPrivateLabel{
  font-size:7px;font-weight:900;letter-spacing:.1em;color:#9b6a31;background:#fff0d9;padding:6px 8px;border-radius:8px
}
.cmsMarginPreview{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 14px;
  align-items:center;
  margin-top:15px;
  padding:13px 14px;
  border-top:1px solid #ebe7df;
}
.cmsMarginPreview span{font-size:8px;letter-spacing:.08em;font-weight:900;color:#787c77}
.cmsMarginPreview b{font-size:20px}
.cmsMarginPreview small{grid-column:1/-1;font-size:8px;color:#8c8f8a}

.cmsMediaPanel{padding:18px}
.cmsUploadDrop{
  display:grid;
  gap:3px;
  padding:18px;
  border:1px dashed #cfd2cc;
  border-radius:14px;
  background:#fafaf7;
  cursor:pointer;
  text-align:center;
}
.cmsUploadDrop input{display:none}
.cmsUploadDrop b{font-size:11px}
.cmsUploadDrop small{font-size:8px;color:#848982}
.cmsMediaGrid{display:grid;gap:8px;margin-top:12px}
.cmsMediaGrid article{
  border:1px solid #e5e2db;border-radius:14px;overflow:hidden;background:#fff
}
.cmsMediaGrid article.primary{border-color:#8bcac4}
.cmsMediaGrid img{width:100%;height:150px;object-fit:contain;background:#f8f8f5}
.cmsMediaGrid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px}
.cmsMediaGrid article span{font-size:7px;letter-spacing:.1em;font-weight:900;color:#7e837d}
.cmsMediaGrid button{border:0;background:transparent;font:inherit;font-size:8px;font-weight:800;color:#4d615e;cursor:pointer}
.cmsMediaGrid button.danger{color:#a24949}
.cmsNoMedia{padding:18px;text-align:center;font-size:9px;color:#959891}
.cmsPublishPanel{display:grid;gap:10px}
.cmsPublishPanel h2{margin:0;font-size:18px}
.cmsPublishPanel p{margin:0 0 4px;font-size:10px;line-height:1.5;color:#747a75}
.cmsPublishPanel .full{width:100%}

/* Wholesale public storefront */
.wholesalePublicPage{background:#fbf8f1!important}
.wholesaleHero{max-width:1180px!important}
.wholesaleHero h1{max-width:900px!important}
.wholesaleStorefront{max-width:1320px;margin:0 auto}
.wholesaleFilter{margin-bottom:20px}
.wholesaleFilter .searchInput{flex:1}
.wholesaleGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.wholesaleCard{
  background:#fff;
  border:1px solid #e7e4dd;
  border-radius:20px;
  padding:12px;
  display:flex;
  flex-direction:column;
  min-height:390px;
}
.wholesaleImage{
  height:190px;
  border-radius:14px;
  background:#f5f4f0;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.wholesaleImage img{width:100%;height:100%;object-fit:contain;background:#fff}
.wholesaleImage span{font-size:8px;letter-spacing:.12em;color:#aaa}
.wholesaleCard>small{font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#888;margin-top:12px}
.wholesaleCard h3{font-size:16px;line-height:1.08;letter-spacing:-.035em;margin:5px 0 6px}
.wholesaleCard>p{font-size:10px;line-height:1.45;color:#727873;margin:0}
.wholesaleMeta{display:flex;gap:10px;margin-top:auto;padding-top:14px;font-size:8px;color:#777}
.wholesaleAction{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:11px;border-top:1px solid #ece9e2}
.wholesaleAction>b{font-size:12px}
.wholesaleAction .button{min-height:36px;padding:0 13px;font-size:9px}
.wholesaleEmpty{padding:60px 20px}

/* Preserve admin as desktop-capable but usable on tablets/mobile */
@media(max-width:1100px){
  .cmsStorefrontGrid,.cmsEditorLayout{grid-template-columns:1fr}
  .cmsPreviewGrid,.wholesaleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .cmsMetricStack{grid-template-columns:repeat(2,1fr)}
  .cmsPreviewGrid,.wholesaleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmsFieldGrid{grid-template-columns:1fr}
  .cmsFieldGrid .wide{grid-column:1}
  .cmsToggleGroup{align-items:flex-start;flex-direction:column;gap:2px}
  .cmsMasterTable th:nth-child(2),.cmsMasterTable td:nth-child(2),
  .cmsMasterTable th:nth-child(5),.cmsMasterTable td:nth-child(5){display:none}
}
@media(max-width:480px){
  .cmsPreviewGrid,.wholesaleGrid{grid-template-columns:1fr}
  .cmsMetricStack{grid-template-columns:1fr 1fr}
}


/* V29 product-gallery presentation */
.productGalleryStrip{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  margin-top:9px;
  padding-bottom:2px;
}
.productGalleryStrip::-webkit-scrollbar{display:none}
.productGalleryStrip img{
  flex:0 0 62px!important;
  width:62px!important;
  height:62px!important;
  object-fit:contain!important;
  border:1px solid #e5e2db;
  border-radius:10px!important;
  background:#fff;
}
.cmsClinicalNeeds{display:grid;gap:8px}
.cmsClinicalNeeds>span{font-size:9px;font-weight:800;color:#59615d}
.cmsNeedOptions{display:flex;gap:7px;flex-wrap:wrap}
.cmsNeedOptions label{display:inline-flex!important;align-items:center;gap:6px;border:1px solid #e6e2da;border-radius:10px;padding:7px 9px;background:#fbfaf7;cursor:pointer}
.cmsNeedOptions label b{font-size:9px;font-weight:700}
.cmsNeedOptions label input{margin:0;width:14px;height:14px;accent-color:#249f95}


/* =========================================================
   V30 — Clean product hierarchy + unified outline icons
   ========================================================= */
.v262ProductCard .productStatusTop{
  margin:0 0 8px!important;
  padding:0 1px!important;
  min-height:12px!important;
}
.v262ProductCard .productNeedVisual{
  display:block!important;
  padding:0!important;
  background:var(--need-bg)!important;
}
.v262ProductCard .productNeedText{
  display:none!important;
}

/* Supplied-reference icon language */
.navIcon svg,
.searchIcon svg,
.iconShell svg,
.iconBtn svg,
.actionIcon svg,
.miniIcon svg,
.serviceThumb svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}
.sidebar{
  background:#061616!important;
  border:1px solid rgba(255,255,255,.035)!important;
  box-shadow:0 22px 55px rgba(2,20,20,.10)!important;
}
.navLink.iconOnly{
  width:52px!important;
  height:52px!important;
  border-radius:14px!important;
  color:#eef5f4!important;
  background:transparent!important;
  border:1.5px solid transparent!important;
  box-shadow:none!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease!important;
}
.navLink.iconOnly:hover{
  transform:none!important;
  color:#fff!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.07)!important;
}
.navLink.iconOnly.active{
  color:#68eee8!important;
  background:rgba(9,37,36,.45)!important;
  border-color:#169f9a!important;
  box-shadow:inset 0 0 0 1px rgba(57,218,210,.10)!important;
}
.navLink.iconOnly.active .navIcon{color:#68eee8!important}
.navIcon{width:28px!important;height:28px!important}
.navIcon svg{width:27px!important;height:27px!important;stroke-width:1.8!important}
.sidebarFooter.compactFooter{
  border-top:1px solid rgba(122,214,209,.16)!important;
  padding-top:18px!important;
  margin-top:auto!important;
}
.iconShell,.iconBtn{border-radius:13px!important}
.iconShell{
  color:#253130!important;
  background:#fff!important;
  border:1px solid #e4e8e5!important;
}
.iconShell svg,.iconBtn svg{width:21px!important;height:21px!important}
.actionIcon{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  color:#176e69!important;
  background:transparent!important;
  border:0!important;
  font-size:0!important;
}
.actionIcon svg{width:27px!important;height:27px!important}
.searchIcon svg{width:20px!important;height:20px!important}
.mobileMenu,.mobileClose{display:none}
@media(max-width:820px){
  .mobileMenu,.mobileClose{display:grid;place-items:center}
}


/* =========================================================
   V31 — Flat portal header + thinner icon rendering
   ========================================================= */
.navIcon svg,
.searchIcon svg,
.iconShell svg,
.iconBtn svg,
.actionIcon svg,
.miniIcon svg,
.serviceThumb svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.45!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}
.navIcon svg{width:25px!important;height:25px!important;stroke-width:1.45!important}
.iconShell svg,.iconBtn svg{width:20px!important;height:20px!important;stroke-width:1.45!important}
.actionIcon svg{width:24px!important;height:24px!important;stroke-width:1.45!important}
.searchIcon svg{width:18px!important;height:18px!important;stroke-width:1.45!important}

/* Flatten header site-wide in portals */
.sleekTopbar,
.v26Shell .sleekTopbar,
.v7Topbar,
.v7bTopbar{
  height:72px!important;
  min-height:72px!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #e7eae8!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0 8px 0 6px!important;
  gap:16px!important;
  backdrop-filter:none!important;
}
.v7bMainArea{padding-top:8px!important}
.topbarBrandSlot,
.topbarBrandSlot.plainLogo{
  min-width:auto!important;
  max-width:none!important;
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.topbarBrandSlot img{
  height:38px!important;
  width:auto!important;
  display:block!important;
}
.topbarSearch{
  background:#f7f8f7!important;
  border:1px solid #e5e9e7!important;
  border-radius:18px!important;
}
.topbarActionsV4{gap:12px!important}
.iconShell{
  background:#fff!important;
  border:1px solid #e3e7e5!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.iconShell:after{width:6px!important;height:6px!important;right:9px!important;top:9px!important}
.campusPill,.userPill,.pillBasket{
  border-radius:18px!important;
  box-shadow:none!important;
}
@media(max-width:1100px){
  .topbarBrandSlot,.topbarBrandSlot.plainLogo{min-width:auto!important;max-width:none!important}
}
@media(max-width:900px){
  .sleekTopbar,
  .v26Shell .sleekTopbar,
  .v7Topbar,
  .v7bTopbar{
    min-height:auto!important;
    height:auto!important;
    padding:10px 0 12px!important;
    gap:12px!important;
  }
  .topbarBrandSlot img{height:34px!important}
  .topbarSearch{order:3;width:100%;max-width:none!important}
}


/* =========================================================
   V32 — Canva product cards + corrected solid portal header
   ========================================================= */

/* ---------- PORTAL HEADER ---------- */
.mainArea.v7bMainArea,
.v7bMainArea{
  padding-top:0!important;
}

.portalHeaderBar,
.sleekTopbar.portalHeaderBar,
.v26Shell .portalHeaderBar,
.v7Topbar.portalHeaderBar,
.v7bTopbar.portalHeaderBar{
  position:sticky!important;
  top:0!important;
  z-index:120!important;
  display:grid!important;
  grid-template-columns:220px minmax(280px,1fr) auto!important;
  align-items:center!important;
  column-gap:20px!important;
  width:100%!important;
  height:84px!important;
  min-height:84px!important;
  margin:0!important;
  padding:0 18px!important;
  background:#fbfaf7!important;
  border:0!important;
  border-bottom:1px solid #e5e0d8!important;
  border-radius:0!important;
  box-shadow:0 5px 18px rgba(40,31,19,.045)!important;
  backdrop-filter:none!important;
  overflow:visible!important;
}

.portalHeaderBar .topbarBrandSlot,
.portalHeaderBar .topbarBrandSlot.plainLogo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  height:56px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.portalHeaderBar .topbarBrandSlot img{
  display:block!important;
  width:205px!important;
  max-width:205px!important;
  height:auto!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.portalHeaderBar .topbarSearch{
  justify-self:center!important;
  width:min(100%,560px)!important;
  max-width:560px!important;
  min-height:52px!important;
  padding:0 18px!important;
  background:#f7f6f2!important;
  border:1px solid #e4e0d8!important;
  border-radius:18px!important;
  box-shadow:none!important;
}

.portalHeaderBar .topbarSearch input{
  font-size:14px!important;
}

.portalHeaderBar .topbarActions{
  justify-self:end!important;
  min-width:0!important;
  gap:10px!important;
}

.portalHeaderBar .iconShell{
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
}

.portalHeaderBar .userPill,
.portalHeaderBar .campusPill,
.portalHeaderBar .accountSwitcherButton{
  min-height:52px!important;
}

.portalHeaderBar .pillBasket{
  min-height:52px!important;
  padding:0 18px!important;
}

/* Ensure catalogue/category navigation begins BELOW the header */
.portalHeaderBar + .demoAccountBanner + .contentWrap,
.portalHeaderBar + .contentWrap{
  position:relative!important;
  z-index:1!important;
}

.needRibbon{
  position:relative!important;
  z-index:2!important;
  margin-top:10px!important;
  background:#fff!important;
  border:1px solid #e5e0d8!important;
  box-shadow:none!important;
}

/* ---------- CANVA-STYLE PRODUCT CARD ---------- */
.productGrid.v25ProductGrid{
  align-items:stretch!important;
}

.canvaProductCard,
.v262ProductCard.canvaProductCard{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:535px!important;
  padding:12px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dcd8d1!important;
  border-radius:25px!important;
  box-shadow:none!important;
}

.canvaProductCard:hover{
  transform:none!important;
  box-shadow:0 8px 22px rgba(36,29,20,.055)!important;
}

/* Fixed status rail: every card reserves the same height so images align */
.canvaCardStatus{
  flex:0 0 24px!important;
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 4px!important;
  margin:0!important;
  color:#777168!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.canvaCardStatus.empty{
  visibility:hidden!important;
}

/* Image block */
.canvaProductCard .productVisual{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1.16 / 1!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:21px!important;
  overflow:hidden!important;
  background:#f4f2ee!important;
}

.canvaProductCard .productVisual:before,
.canvaProductCard .productVisual:after{
  display:none!important;
}

.canvaProductCard .productPhoto{
  background:#fff!important;
}

.canvaProductCard .productPhoto img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  background:#fff!important;
}

.canvaProductCard .productNeedVisual{
  background:var(--need-bg)!important;
}

.canvaProductCard .imageSourceTag,
.canvaProductCard .productNeedText,
.canvaProductCard .productBrand{
  display:none!important;
}

/* Body uses fixed rhythm so every CTA lands at the same height */
.canvaCardBody{
  display:grid!important;
  grid-template-rows:54px 22px 32px!important;
  align-content:start!important;
  gap:2px!important;
  padding:15px 5px 8px!important;
}

.canvaProductCard .productTitleButton{
  display:block!important;
  width:100%!important;
  height:54px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  cursor:pointer!important;
}

.canvaProductCard .productTitleButton h3{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  margin:0!important;
  color:#222!important;
  font-size:18px!important;
  line-height:1.12!important;
  font-weight:750!important;
  letter-spacing:-.035em!important;
}

.canvaProductCard .pack{
  align-self:start!important;
  margin:0!important;
  color:#73706b!important;
  font-size:12px!important;
  line-height:1.35!important;
}

.canvaProductCard .productNeedTags{
  align-self:end!important;
  margin:0!important;
  padding:8px 0 0!important;
  border:0!important;
  color:#4d4b47!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:650!important;
}

/* Exact interaction hierarchy from the Canva reference:
   rounded rectangle = secondary, pill = primary */
.canvaCardActions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:auto!important;
  padding:12px 5px 4px!important;
  border-top:0!important;
}

.canvaDetails,
.canvaRequest{
  width:100%!important;
  min-height:46px!important;
  padding:0 18px!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:750!important;
  cursor:pointer!important;
}

.canvaDetails{
  background:#fff!important;
  color:#262626!important;
  border:1px solid #aaa59d!important;
  border-radius:14px!important;
}

.canvaRequest{
  background:#050505!important;
  color:#fff!important;
  border:1px solid #050505!important;
  border-radius:999px!important;
}

.canvaDetails:hover{
  background:#f7f5f1!important;
  border-color:#6d6962!important;
}

.canvaRequest:hover{
  background:#242424!important;
}

/* Kill legacy bottom/card controls on this new card only */
.canvaProductCard .productBottom,
.canvaProductCard .priceBlock,
.canvaProductCard .productCardActions,
.canvaProductCard .specLink,
.canvaProductCard .squareAdd,
.canvaProductCard .productStatusText{
  display:none!important;
}

/* 4-up desktop cards, matching the proportions in the reference */
@media(min-width:1180px){
  .productGrid.v25ProductGrid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

@media(max-width:1179px) and (min-width:721px){
  .productGrid.v25ProductGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:15px!important;
  }
}

/* Responsive header + cards */
@media(max-width:1080px){
  .portalHeaderBar,
  .sleekTopbar.portalHeaderBar,
  .v26Shell .portalHeaderBar,
  .v7Topbar.portalHeaderBar,
  .v7bTopbar.portalHeaderBar{
    grid-template-columns:185px minmax(220px,1fr) auto!important;
    column-gap:12px!important;
    padding:0 12px!important;
  }
  .portalHeaderBar .topbarBrandSlot,
  .portalHeaderBar .topbarBrandSlot.plainLogo{
    width:185px!important;
    min-width:185px!important;
    max-width:185px!important;
  }
  .portalHeaderBar .topbarBrandSlot img{
    width:175px!important;
    max-width:175px!important;
  }
}

@media(max-width:900px){
  .portalHeaderBar,
  .sleekTopbar.portalHeaderBar,
  .v26Shell .portalHeaderBar,
  .v7Topbar.portalHeaderBar,
  .v7bTopbar.portalHeaderBar{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    height:auto!important;
    min-height:72px!important;
    row-gap:10px!important;
    padding:10px 12px 12px!important;
  }

  .portalHeaderBar .mobileMenu{
    grid-column:1!important;
    grid-row:1!important;
  }

  .portalHeaderBar .topbarBrandSlot{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    justify-content:center!important;
  }

  .portalHeaderBar .topbarBrandSlot img{
    width:160px!important;
    max-width:160px!important;
  }

  .portalHeaderBar .topbarActions{
    grid-column:3!important;
    grid-row:1!important;
  }

  .portalHeaderBar .topbarSearch{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
  }

  .canvaProductCard{
    min-height:510px!important;
  }
}

@media(max-width:720px){
  .productGrid.v25ProductGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .canvaProductCard,
  .v262ProductCard.canvaProductCard{
    min-height:430px!important;
    padding:9px!important;
    border-radius:20px!important;
  }

  .canvaCardStatus{
    min-height:20px!important;
    flex-basis:20px!important;
    font-size:8px!important;
  }

  .canvaProductCard .productVisual{
    border-radius:17px!important;
    aspect-ratio:1.08 / 1!important;
  }

  .canvaCardBody{
    grid-template-rows:46px 18px 28px!important;
    padding:11px 3px 6px!important;
  }

  .canvaProductCard .productTitleButton,
  .canvaProductCard .productTitleButton h3{
    height:46px!important;
  }

  .canvaProductCard .productTitleButton h3{
    font-size:15px!important;
  }

  .canvaProductCard .pack,
  .canvaProductCard .productNeedTags{
    font-size:10px!important;
  }

  .canvaDetails,
  .canvaRequest{
    min-height:42px!important;
    font-size:13px!important;
  }
}

@media(max-width:480px){
  .productGrid.v25ProductGrid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .canvaProductCard,
  .v262ProductCard.canvaProductCard{
    min-height:520px!important;
  }

  .canvaProductCard .productVisual{
    aspect-ratio:1.22 / 1!important;
  }
}


/* =========================================================
   V33 — Exact Canva product-card treatment + supplied DHA icon
   ========================================================= */

/* Uniform grid */
.productGrid.v25ProductGrid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}

/* Exact card proportions / colours */
.exactCanvaCard,
.canvaProductCard.exactCanvaCard,
.v262ProductCard.canvaProductCard.exactCanvaCard{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:520px!important;
  min-height:520px!important;
  max-height:520px!important;
  padding:12px!important;
  margin:0!important;
  background:#ffffff!important;
  border:1px solid #d6d3ce!important;
  border-radius:25px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.exactCanvaCard:hover{
  transform:none!important;
  box-shadow:0 6px 18px rgba(28,25,20,.045)!important;
}

/* Image block: same dimensions on every card */
.exactCanvaCard .productVisual{
  position:relative!important;
  flex:0 0 292px!important;
  width:100%!important;
  height:292px!important;
  min-height:292px!important;
  max-height:292px!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:22px!important;
  background:#ffffff!important;
}

.exactCanvaCard .productNeedVisual{
  background:var(--need-bg)!important;
}

.exactCanvaCard .productPhoto .productMainImage{
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#ffffff!important;
}

/* User-supplied DHA icon: untouched image file, only positioned/scaled */
.dhaRequirementIcon{
  display:block!important;
  object-fit:contain!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

.cardDhaIcon{
  position:absolute!important;
  z-index:5!important;
  top:16px!important;
  right:16px!important;
  width:47px!important;
  height:47px!important;
  pointer-events:none!important;
}

.exactCanvaBody{
  flex:0 0 112px!important;
  display:grid!important;
  grid-template-rows:50px 22px 30px!important;
  align-content:start!important;
  gap:0!important;
  padding:13px 5px 0!important;
}

.exactCanvaCard .productTitleButton{
  display:block!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}

.exactCanvaCard .productTitleButton h3{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  width:100%!important;
  height:38px!important;
  margin:0!important;
  color:#303030!important;
  font-size:15px!important;
  line-height:1.12!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}

.exactCanvaCard .pack{
  margin:0!important;
  color:#454545!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:400!important;
}

.exactCanvaCard .productNeedTags{
  margin:0!important;
  padding:7px 0 0!important;
  border:0!important;
  color:#3d3d3d!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:650!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Buttons: identical card-to-card. Request is ALWAYS black. */
.exactCanvaActions{
  flex:0 0 88px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:40px 40px!important;
  gap:7px!important;
  margin-top:auto!important;
  padding:5px 4px 2px!important;
}

.exactCanvaActions .canvaDetails,
.exactCanvaActions .canvaRequest{
  box-sizing:border-box!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:0 14px!important;
  font-family:inherit!important;
  font-size:15px!important;
  line-height:40px!important;
  font-weight:700!important;
  text-align:center!important;
}

.exactCanvaActions .canvaDetails{
  color:#303030!important;
  background:#ffffff!important;
  border:1px solid #8d8d8d!important;
  border-radius:14px!important;
}

.exactCanvaActions .canvaRequest{
  color:#ffffff!important;
  background:#000000!important;
  border:1px solid #000000!important;
  border-radius:999px!important;
}

.exactCanvaActions .canvaRequest:hover,
.exactCanvaActions .canvaRequest:focus{
  color:#ffffff!important;
  background:#000000!important;
  border-color:#000000!important;
}

/* Remove ALL old card status text / pricing controls from this version */
.exactCanvaCard .canvaCardStatus,
.exactCanvaCard .productStatusText,
.exactCanvaCard .productBottom,
.exactCanvaCard .priceBlock,
.exactCanvaCard .productCardActions,
.exactCanvaCard .specLink,
.exactCanvaCard .squareAdd,
.exactCanvaCard .productBrand,
.exactCanvaCard .imageSourceTag,
.exactCanvaCard .productNeedText{
  display:none!important;
}

/* Product details / product page image + DHA icon */
.detailProductImageWrap{
  position:relative!important;
  width:100%!important;
  min-height:330px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#ffffff!important;
}

.detailProductImageWrap>img:not(.dhaRequirementIcon){
  width:100%!important;
  height:330px!important;
  object-fit:contain!important;
  background:#ffffff!important;
}

.detailProductImageWrap .detailNeedVisual{
  width:100%!important;
  height:330px!important;
  border-radius:20px!important;
  background:var(--need-bg)!important;
}

.detailDhaIcon{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  width:58px!important;
  height:58px!important;
  pointer-events:none!important;
}

/* Product-page CTA hierarchy: outlined secondary + BLACK primary */
.productPageActions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}

.productPageActions .productCloseAction,
.productPageActions .productRequestAction{
  width:100%!important;
  min-height:48px!important;
  font-size:15px!important;
  font-weight:700!important;
}

.productPageActions .productCloseAction{
  background:#ffffff!important;
  color:#303030!important;
  border:1px solid #8d8d8d!important;
  border-radius:14px!important;
}

.productPageActions .productRequestAction{
  background:#000000!important;
  color:#ffffff!important;
  border:1px solid #000000!important;
  border-radius:999px!important;
  box-shadow:none!important;
}

.productPageActions .productRequestAction:hover,
.productPageActions .productRequestAction:focus{
  background:#000000!important;
  color:#ffffff!important;
  border-color:#000000!important;
}

/* Four equal cards on large screens */
@media(min-width:1180px){
  .productGrid.v25ProductGrid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* Three equal cards on tablet */
@media(max-width:1179px) and (min-width:721px){
  .productGrid.v25ProductGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
}

/* Mobile keeps proportions but remains usable */
@media(max-width:720px){
  .productGrid.v25ProductGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .exactCanvaCard,
  .canvaProductCard.exactCanvaCard,
  .v262ProductCard.canvaProductCard.exactCanvaCard{
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
    padding:9px!important;
    border-radius:20px!important;
  }

  .exactCanvaCard .productVisual{
    flex-basis:226px!important;
    height:226px!important;
    min-height:226px!important;
    max-height:226px!important;
    border-radius:17px!important;
  }

  .cardDhaIcon{
    top:11px!important;
    right:11px!important;
    width:36px!important;
    height:36px!important;
  }

  .exactCanvaBody{
    flex-basis:96px!important;
    grid-template-rows:44px 18px 27px!important;
    padding:10px 3px 0!important;
  }

  .exactCanvaCard .productTitleButton,
  .exactCanvaCard .productTitleButton h3{
    height:40px!important;
  }

  .exactCanvaCard .productTitleButton h3{
    font-size:13px!important;
    line-height:1.14!important;
  }

  .exactCanvaCard .pack,
  .exactCanvaCard .productNeedTags{
    font-size:10px!important;
  }

  .exactCanvaActions{
    flex-basis:75px!important;
    grid-template-rows:34px 34px!important;
    gap:6px!important;
  }

  .exactCanvaActions .canvaDetails,
  .exactCanvaActions .canvaRequest{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    line-height:34px!important;
    font-size:12px!important;
  }
}

@media(max-width:480px){
  .productGrid.v25ProductGrid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .exactCanvaCard,
  .canvaProductCard.exactCanvaCard,
  .v262ProductCard.canvaProductCard.exactCanvaCard{
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
  }

  .exactCanvaCard .productVisual{
    flex-basis:292px!important;
    height:292px!important;
    min-height:292px!important;
    max-height:292px!important;
  }

  .exactCanvaBody{
    flex-basis:108px!important;
    grid-template-rows:46px 22px 28px!important;
  }

  .exactCanvaCard .productTitleButton,
  .exactCanvaCard .productTitleButton h3{
    height:46px!important;
  }

  .exactCanvaCard .productTitleButton h3{
    font-size:14px!important;
    line-height:1.14!important;
  }

  .exactCanvaCard .pack,
  .exactCanvaCard .productNeedTags{
    font-size:12px!important;
  }

  .exactCanvaActions{
    flex-basis:88px!important;
    grid-template-rows:40px 40px!important;
    gap:7px!important;
  }

  .exactCanvaActions .canvaDetails,
  .exactCanvaActions .canvaRequest{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    line-height:40px!important;
    font-size:15px!important;
  }
}


/* =========================================================
   V35 — Public header uses the exact public page background
   ========================================================= */
.publicLanding,
.publicPage{
  background:#fbf8f1!important;
}

.publicHeader,
.publicHeader.headerScrolled{
  background:#fbf8f1!important;
}

/* Keep the separation subtle without creating a different header block */
.publicHeader{
  border-bottom:1px solid rgba(56,51,44,.12)!important;
  box-shadow:none!important;
}

/* =========================================================
   V37 — Responsive stabilization + conversion/account layers
   One authoritative responsive layer. Keep this block LAST.
   ========================================================= */

/* New public conversion sections */
.publicProofSection{padding:72px clamp(24px,6vw,88px);background:#fff;border-top:1px solid rgba(56,51,44,.12);border-bottom:1px solid rgba(56,51,44,.12)}
.publicProofHead{max-width:850px;margin-bottom:34px}.publicProofHead h2{font-size:clamp(30px,4vw,52px);line-height:1.02;margin:8px 0 14px}.publicProofHead p{max-width:720px;color:#625d54;line-height:1.6}
.publicProofGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.publicProofGrid article{background:#fbf8f1;border:1px solid rgba(56,51,44,.12);border-radius:18px;padding:24px;min-width:0}.publicProofGrid article>span{font-size:11px;letter-spacing:.12em}.publicProofGrid b{display:block;font-size:17px;margin:20px 0 8px}.publicProofGrid p{margin:0;color:#686259;line-height:1.5;font-size:13px}
.publicAudienceGrid,.publicWorkflowGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.publicAudienceGrid article,.publicWorkflowGrid article{border:1px solid rgba(56,51,44,.13);border-radius:20px;padding:28px;background:#fff}.publicAudienceGrid article>span{font-size:10px;letter-spacing:.11em;color:#69635b}.publicAudienceGrid h3,.publicWorkflowGrid h3{font-size:22px;margin:14px 0 10px}.publicAudienceGrid p,.publicWorkflowGrid p{margin:0;color:#686259;line-height:1.6}.publicWorkflowGrid article>b{font-size:11px;letter-spacing:.1em;background:#111;color:#fff;border-radius:999px;padding:7px 9px;display:inline-flex}
.supplyBasketGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.supplyBasketCard{padding:34px;border-radius:24px;min-height:300px;display:flex;flex-direction:column}.supplyBasketCard.capital{background:#191919;color:#fff}.supplyBasketCard.recurring{background:#f1dfb6;color:#201b14}.supplyBasketCard>span{font-size:10px;letter-spacing:.12em}.supplyBasketCard h2{font-size:34px;margin:18px 0 12px}.supplyBasketCard p{line-height:1.65;max-width:550px}.supplyBasketCard>b{margin-top:auto;font-size:13px}.publicCategoryCloud{display:flex;flex-wrap:wrap;gap:10px}.publicCategoryCloud span{border:1px solid rgba(56,51,44,.16);border-radius:999px;padding:10px 14px;font-size:11px;letter-spacing:.04em;background:#fff}.controlCallout{background:#131313;color:#fff;border-radius:24px;margin:0 clamp(24px,6vw,88px) 72px;padding:42px!important}.controlCallout p{color:#d8d4cc;max-width:850px;line-height:1.7}

/* Public catalogue */
.publicCataloguePage{background:#fbf8f1}.cataloguePublicHero{padding-bottom:38px!important}.publicCatalogueControls{padding-top:0!important}.publicNeedRibbon{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;scrollbar-width:thin}.publicNeedRibbon button{flex:0 0 auto;border:1px solid rgba(56,51,44,.12);border-radius:999px;background:var(--need-bg);color:var(--need-ink);padding:10px 14px;font-weight:700;font-size:12px}.publicNeedRibbon button.active{box-shadow:0 0 0 2px #111 inset}.publicCatalogueCount{display:flex;align-items:baseline;gap:10px;margin-bottom:18px}.publicCatalogueCount b{font-size:32px}.publicCatalogueCount span{font-size:13px;color:#706a61}.publicCatalogueGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.publicCatalogueCard{background:#fff;border:1px solid rgba(56,51,44,.12);border-radius:20px;padding:12px;display:flex;flex-direction:column;min-width:0}.publicCatalogueVisual{height:210px;border-radius:14px;background:var(--need-bg,#eee);display:grid;place-items:center;position:relative;overflow:hidden}.publicCatalogueVisual>img:not(.publicDhaMark){width:100%;height:100%;object-fit:contain;background:#fff}.publicCatalogueVisual>span{font-weight:800;color:var(--need-ink,#111);font-size:16px}.publicDhaMark{position:absolute!important;right:10px;top:10px;width:34px!important;height:34px!important;object-fit:contain}.publicCatalogueBody{padding:16px 4px;display:flex;flex-direction:column;gap:8px;flex:1}.publicCatalogueBody>small{font-size:10px;letter-spacing:.08em;color:#736c62}.publicCatalogueBody h3{font-size:17px;line-height:1.25;margin:0}.publicCatalogueBody>p{font-size:12px;color:#6b655c;margin:0}.publicSpec{font-size:12px;line-height:1.45;color:#4d4943}.publicMappingNote{font-size:11px;line-height:1.4;background:#f5efe2;padding:8px 10px;border-radius:8px}.publicCatalogueCard>.button{margin-top:auto}

/* Footer/nav housekeeping */
.publicMenuButton{display:none;border:0;background:transparent;width:42px;height:42px;padding:8px}.publicMenuButton svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.publicFooterLinks{display:flex;gap:14px;align-items:flex-start}.publicFooterLinks button{border:0;background:transparent;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}.mobileAccountDot{display:none}.mobileSearchRow{display:none}

/* Enquiry form additions */
.v37ProspectForm select,.v37ProspectForm input[type="date"],.v37ProspectForm input[type="number"]{width:100%;min-height:48px;border:1px solid rgba(56,51,44,.18);border-radius:10px;background:#fff;padding:0 13px;font:inherit;color:inherit}.rfqUploadField input[type="file"]{width:100%;border:1px dashed rgba(56,51,44,.24);border-radius:12px;padding:14px;background:#fff}.prospectField label span{font-weight:400;color:#8a8378}

/* Documents layer */
.orderDocumentsPanel{margin-top:20px;border-top:1px solid rgba(56,51,44,.12);padding-top:18px}.orderDocumentsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.orderDocumentsHead h3{margin:4px 0 0}.orderDocumentsHead>span{font-size:11px;color:#777066}.orderDocumentList{display:grid;gap:8px}.orderDocumentRow,.documentIndexRow{border:1px solid rgba(56,51,44,.12);background:#fff;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;width:100%;cursor:pointer}.orderDocumentRow>span:nth-child(2),.documentIndexRow>span{min-width:0;flex:1}.orderDocumentRow b,.documentIndexRow b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orderDocumentRow small,.documentIndexRow em{display:block;color:#777066;font-size:11px;font-style:normal;margin-top:3px}.orderDocumentRow em,.documentIndexRow strong{font-size:11px;font-style:normal;white-space:nowrap}.documentIcon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f4f1eb}.orderDocumentEmpty{font-size:12px;color:#777066;padding:14px;border:1px dashed rgba(56,51,44,.18);border-radius:12px}.orderDocumentUpload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.orderDocumentUpload select{min-height:42px;border:1px solid rgba(56,51,44,.16);border-radius:9px;background:#fff;padding:0 10px}.documentUploadButton{cursor:pointer;display:flex!important;align-items:center;justify-content:center}.documentsIndexPanel{padding:8px!important}.documentsIndex{display:grid;gap:8px}.documentIndexRow{padding:16px}.documentIndexRow span small{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.documentIndexRow span b{font-size:14px;margin-top:4px}.documentIndexRow span em{font-size:11px;margin-top:4px}

/* Actual global search */
.topbarAdminTitle{display:flex;align-items:center;gap:8px;font-size:12px}.topbarAdminTitle span{letter-spacing:.1em;color:#777}.topbarAdminTitle b{font-size:13px}.mobileSearchInput{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:1px solid rgba(56,51,44,.14);background:#fff;border-radius:999px;height:42px;padding:0 12px}.mobileSearchInput input{border:0;outline:0;background:transparent;width:100%;min-width:0;font:inherit;font-size:12px}.mobileSearchInput .searchIcon{display:flex}.mobileSearchInput svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.mobileCartButton{border:0;border-radius:999px;background:#111;color:#fff;height:42px;padding:0 14px;font-weight:700;white-space:nowrap}.mobileCartButton b{background:#fff;color:#111;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center;margin-left:5px;font-size:10px}

/* ---------- V37 TABLET ---------- */
@media(max-width:1100px){
  .publicProofGrid,.publicCatalogueGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publicNav{gap:13px}.publicNavLink{font-size:11px}
}

/* ---------- V37 PORTAL MOBILE AUTHORITY ---------- */
@media(max-width:900px){
  /* Clip horizontal spill without creating a non-scrolling ancestor that traps sticky navigation. */
  html,body,#app{max-width:100%;overflow-x:clip}
  .v37Shell{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:clip!important}
  .v37Shell .mainArea,.v37Shell .v7MainArea,.v37Shell .v7bMainArea{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;overflow:visible!important}
  .v37Shell .sidebar{position:fixed!important;z-index:130!important;left:0!important;top:0!important;bottom:0!important;width:min(84vw,310px)!important;max-width:310px!important;height:100dvh!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;overflow-y:auto!important;padding:14px!important;box-sizing:border-box!important}
  .v37Shell .sidebar.sidebarOpen{transform:translateX(0)!important}
  .v37Shell .mobileOverlay{position:fixed!important;inset:0!important;z-index:120!important;background:rgba(0,0,0,.34)!important;display:none!important}.v37Shell .mobileOverlay.show{display:block!important}
  .v37Shell .sidebarTop{min-height:52px!important;display:flex!important;justify-content:flex-end!important}.v37Shell .mobileClose{display:grid!important}
  .v37Shell .iconNav{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important}
  .v37Shell .navLink.iconOnly{width:100%!important;min-width:0!important;height:auto!important;min-height:48px!important;display:grid!important;grid-template-columns:34px 1fr!important;align-items:center!important;justify-items:start!important;gap:10px!important;padding:8px 10px!important;border-radius:12px!important}
  .v37Shell .navLink .navLabel{display:block!important;opacity:1!important;visibility:visible!important;position:static!important;width:auto!important;height:auto!important;font-size:13px!important;white-space:normal!important}
  .v37Shell .navIcon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important}.v37Shell .navIcon svg{width:18px!important;height:18px!important}
  .v37Shell .sidebarFooter{position:static!important;margin-top:18px!important;width:100%!important}

  .portalHeaderBar{position:sticky!important;top:0!important;z-index:90!important;width:100%!important;min-width:0!important;height:64px!important;min-height:64px!important;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))!important;display:grid!important;grid-template-columns:44px 1fr auto!important;align-items:center!important;gap:6px!important;box-sizing:border-box!important;background:#fbf8f1!important;border-bottom:1px solid rgba(56,51,44,.12)!important}
  .portalHeaderBar .mobileMenu{display:grid!important;width:42px!important;height:42px!important;padding:10px!important;place-items:center!important;z-index:2!important}
  .portalHeaderBar .topbarBrandSlot{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:auto!important;height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none!important}
  .portalHeaderBar .topbarBrandSlot img{width:auto!important;max-width:118px!important;max-height:32px!important;object-fit:contain!important}
  .portalHeaderBar .topbarSearch,.portalHeaderBar .topbarAdminTitle{display:none!important}
  .portalHeaderBar .topbarActions{grid-column:3!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;min-width:0!important;margin:0!important;padding:0!important}
  .portalHeaderBar .pillBasket{display:none!important}
  .portalHeaderBar .accountSwitcherWrap{position:relative!important;display:block!important}
  .portalHeaderBar .accountSwitcherButton{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important;border-radius:999px!important;display:grid!important;place-items:center!important;background:#fff!important;border:1px solid rgba(56,51,44,.14)!important}
  .portalHeaderBar .accountSwitcherButton .campusPillMain,.portalHeaderBar .accountSwitcherButton .accountChevron{display:none!important}
  .portalHeaderBar .mobileAccountDot{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:999px!important;background:#111!important;color:#fff!important;font-size:9px!important;font-weight:800!important;letter-spacing:.04em!important}
  .portalHeaderBar .compactUser{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border:0!important;background:transparent!important}.portalHeaderBar .compactUser>span:last-child{display:none!important}.portalHeaderBar .compactUser .avatarDot{width:38px!important;height:38px!important;margin:0!important}
  .accountSwitcherMenu{position:fixed!important;z-index:160!important;top:68px!important;right:8px!important;left:8px!important;width:auto!important;max-width:none!important;max-height:60dvh!important;overflow-y:auto!important}
  .mobileSearchRow{display:flex!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;background:#fbf8f1!important;border-bottom:1px solid rgba(56,51,44,.08)!important;position:sticky!important;top:64px!important;z-index:80!important}
  .demoAccountBanner{margin:0!important;border-radius:0!important;padding:8px 12px!important;display:flex!important;gap:8px!important;align-items:center!important;white-space:normal!important}.demoAccountBanner span{font-size:10px!important}

  .v37Shell .contentWrap,.v37Shell .v7ContentWrap{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:18px 12px calc(72px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow:visible!important}
  .v37Shell .contentWrap>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  .v37Shell .pageHeader{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;width:100%!important;margin-bottom:16px!important}.v37Shell .pageHeader>div{min-width:0!important;max-width:100%!important}.v37Shell .pageHeader h1{font-size:clamp(28px,8vw,42px)!important;line-height:1!important;overflow-wrap:anywhere!important}.v37Shell .pageHeader p{max-width:100%!important;font-size:13px!important;line-height:1.55!important}.v37Shell .pageHeader>.button{width:100%!important}
  .v37Shell .twoCol,.v37Shell .threeCol,.v37Shell .customerHomeGrid,.v37Shell .v26HomeGrid,.v37Shell .cmsStorefrontGrid{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:12px!important}
  .v37Shell .adminStatRow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.v37Shell .adminStat{min-width:0!important;padding:14px!important}.v37Shell .adminStat b{font-size:18px!important;overflow-wrap:anywhere!important}
  .v37Shell .actionGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.v37Shell .actionCard{min-width:0!important;width:100%!important;padding:13px!important;align-items:flex-start!important}.v37Shell .actionCard>div:last-child{min-width:0!important}.v37Shell .actionCard b,.v37Shell .actionCard span{white-space:normal!important;overflow-wrap:anywhere!important}
  .v37Shell .panel,.v37Shell .marginBox,.v37Shell .notice,.v37Shell .gateList,.v37Shell .resourceHero,.v37Shell .orderSection{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.v37Shell .notice{display:block!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;padding:15px!important;line-height:1.55!important}
  .v37Shell .marginGrid,.v37Shell .quoteSummary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.v37Shell .marginGrid>div,.v37Shell .quoteSummary>div{min-width:0!important}
  .v37Shell .tableWrap{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:10px!important}.v37Shell .dataTable{min-width:680px!important;width:max-content!important;max-width:none!important}.v37Shell .dataTable th,.v37Shell .dataTable td{white-space:nowrap!important}
  .v37Shell .orderCardGrid,.v37Shell .replenishGrid,.v37Shell .resourceGrid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.v37Shell .customerOrderCard,.v37Shell .replenishCard,.v37Shell .resourceCard{min-width:0!important;width:100%!important}
  .v37Shell .v26QuickActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.v37Shell .v26ActionCard{min-width:0!important;padding:14px!important}.v37Shell .v26ActionCard h2{font-size:16px!important}.v37Shell .v26ActionCard p{font-size:11px!important}
  .v37Shell .v26NeedStrip{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:4px!important}.v37Shell .v26MiniNeed{flex:0 0 auto!important;min-width:150px!important}
  .v37Shell .v26OperationsStrip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important}.v37Shell .v26OperationsStrip>div{min-width:0!important;padding:13px!important}

  .productGrid.v25ProductGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.exactCanvaCard,.canvaProductCard.exactCanvaCard,.v262ProductCard.canvaProductCard.exactCanvaCard{width:100%!important;min-width:0!important;max-width:100%!important}
  .filterBar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}.filterBar .searchInput,.filterBar select{width:100%!important;min-width:0!important}
  .needRibbon{max-width:100%!important;overflow-x:auto!important}.needRibbonChip{flex:0 0 auto!important}
  .drawer{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding-bottom:env(safe-area-inset-bottom)!important}.modalBackdrop{padding:8px!important;align-items:flex-end!important}.modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:92dvh!important;overflow:auto!important;border-radius:18px 18px 8px 8px!important}.productModalShell{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important}
  .orderDocumentUpload{grid-template-columns:1fr!important}.documentUploadButton{width:100%!important}.documentIndexRow strong,.orderDocumentRow em{display:none!important}
  .stockEdit{min-width:120px!important}
}

@media(max-width:560px){
  .v37Shell .contentWrap,.v37Shell .v7ContentWrap{padding-left:10px!important;padding-right:10px!important}
  .v37Shell .adminStatRow,.v37Shell .v26QuickActions,.v37Shell .v26OperationsStrip,.v37Shell .actionGrid,.v37Shell .marginGrid,.v37Shell .quoteSummary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .productGrid.v25ProductGrid{grid-template-columns:1fr!important}
  .exactCanvaCard,.canvaProductCard.exactCanvaCard,.v262ProductCard.canvaProductCard.exactCanvaCard{height:auto!important;min-height:0!important;max-height:none!important}
  .exactCanvaCard .productVisual{height:min(72vw,300px)!important;min-height:240px!important;max-height:300px!important;flex-basis:auto!important}.exactCanvaBody{flex-basis:auto!important}.exactCanvaActions{flex-basis:auto!important}
  .v37Shell .customerOrderCard .orderCardHead,.v37Shell .orderCardProduct{gap:8px!important;align-items:flex-start!important}.v37Shell .orderCardActions{display:grid!important;grid-template-columns:1fr 1fr!important}.v37Shell .orderCardActions .button{width:100%!important}
}

/* ---------- V37 PUBLIC WEBSITE MOBILE ---------- */
@media(max-width:820px){
  .v37PublicHeader{height:64px!important;min-height:64px!important;padding:0 12px!important;display:grid!important;grid-template-columns:1fr 42px!important;align-items:center!important;position:sticky!important;top:0!important;z-index:100!important;background:#fbf8f1!important}
  .v37PublicHeader .publicLogo{justify-self:start!important;z-index:2!important}.v37PublicHeader .publicLogo img{max-width:120px!important;max-height:34px!important}
  .publicMenuButton{display:grid!important;place-items:center!important;justify-self:end!important;z-index:2!important}
  .v37PublicHeader .publicNav{position:fixed!important;left:10px!important;right:10px!important;top:70px!important;display:none!important;grid-template-columns:1fr!important;gap:3px!important;background:#fff!important;border:1px solid rgba(56,51,44,.14)!important;border-radius:16px!important;padding:9px!important;box-shadow:0 16px 42px rgba(0,0,0,.14)!important;z-index:110!important}.v37PublicHeader .publicNav.open{display:grid!important}.v37PublicHeader .publicNavLink{text-align:left!important;width:100%!important;padding:12px!important;border-radius:10px!important}.v37PublicHeader .publicPortalBtn{display:none!important}
  .publicPageHero,.landingHero,.beliefSection,.publicClinicalPreview,.demoTeaser,.publicSection,.publicProofSection{padding-left:18px!important;padding-right:18px!important}
  .landingHero{grid-template-columns:1fr!important;padding-top:42px!important;gap:34px!important}.institutionalHero{font-size:clamp(48px,16vw,78px)!important}.heroStatement{font-size:18px!important}.landingActions{display:grid!important;grid-template-columns:1fr!important}.landingActions .button{width:100%!important}
  .procurementHeroCard{width:100%!important;max-width:520px!important;justify-self:center!important}.procurementStageGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.procurementStage{min-width:0!important}
  .beliefGrid{grid-template-columns:1fr!important;gap:22px!important}.publicProofGrid,.publicAudienceGrid,.publicWorkflowGrid,.supplyBasketGrid,.publicCatalogueGrid{grid-template-columns:1fr!important}.publicProofSection{padding-top:50px!important;padding-bottom:50px!important}.publicClinicalPreviewGrid{grid-template-columns:1fr!important}.publicClinicalPreviewHead,.publicClinicalPreviewFoot{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:16px!important}.publicClinicalPreviewFoot .button{width:100%!important}
  .publicPageHero h1{font-size:clamp(42px,12vw,68px)!important;overflow-wrap:anywhere!important}.publicPageHero p{max-width:100%!important}.publicSection{padding-top:38px!important;padding-bottom:38px!important}.publicCta{margin:0 18px 48px!important;padding:24px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important}.publicCtaActions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.publicCtaActions .button,.publicCta>.button{width:100%!important}
  .controlCallout{margin:0 18px 48px!important;padding:26px!important}.publicCategoryCloud{gap:7px!important}.publicCategoryCloud span{font-size:10px!important;padding:8px 10px!important}
  .publicCatalogueControls,.publicCatalogueResults{padding-left:14px!important;padding-right:14px!important}.publicCatalogueVisual{height:250px!important}.publicNeedRibbon{margin-right:-14px!important;padding-right:14px!important}.publicCatalogueCard{padding:10px!important}
  .prospectSection{grid-template-columns:1fr!important}.prospectForm{grid-template-columns:1fr!important}.prospectFieldWide{grid-column:auto!important}.prospectSubmitRow{grid-column:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}.prospectSubmitRow .button{width:100%!important}.contactGrid{grid-template-columns:1fr!important}
  .v37PublicFooter{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;padding:34px 18px!important}.publicFooterLinks{flex-wrap:wrap!important}
  .publicDemoStage{grid-template-columns:1fr!important}.demoHeroFlow{overflow-x:auto!important}.publicDemoStepper{overflow-x:auto!important}.demoStepButton{flex:0 0 140px!important}
}

@media(max-width:420px){
  .portalHeaderBar .topbarBrandSlot img{max-width:104px!important}.mobileSearchRow{padding-left:9px!important;padding-right:9px!important}.mobileCartButton{padding:0 11px!important}
  .v37Shell .adminStatRow,.v37Shell .actionGrid,.v37Shell .v26QuickActions,.v37Shell .v26OperationsStrip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v37Shell .adminStat{padding:11px!important}.v37Shell .adminStat span{font-size:8px!important}.v37Shell .adminStat b{font-size:16px!important}
  .v37Shell .actionCard{padding:11px!important}.v37Shell .actionCard .actionIcon{width:28px!important;height:28px!important}.v37Shell .actionCard b{font-size:12px!important}.v37Shell .actionCard span{font-size:9px!important}
  .procurementStageGrid{grid-template-columns:1fr!important}.publicCatalogueVisual{height:220px!important}
}

/* =========================================================
   V37.1 — Public cosmetic polish
   Calm CTAs, stronger contrast, and more breathing room.
   Keep this block LAST so it is the public-site authority.
   ========================================================= */

/* Fix dark callout hierarchy: no dark-on-dark headline. */
.controlCallout h2{
  color:#fff!important;
  max-width:980px;
}
.controlCallout .kicker{color:#8fbab7!important}
.controlCallout p{color:#dedbd4!important}

/* Public CTA typography: no accidental wrapping or cramped labels. */
.publicLanding .button,
.publicPage .button{
  white-space:nowrap;
  line-height:1.05;
  letter-spacing:-.01em;
}
.publicLanding .button.large,
.publicPage .button.large{
  min-height:52px;
  padding:0 25px!important;
  font-size:13.5px;
}
.publicPortalBtn{
  min-height:48px;
  padding:0 22px!important;
  font-size:13px;
}
.publicCtaActions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.publicCta>.button,
.publicCtaActions>.button,
.publicClinicalPreviewFoot>.button,
.demoTeaser>.button{
  flex:0 0 auto;
}

/* Give the primary conversion blocks a little more air. */
.publicCta{
  padding-top:54px!important;
  padding-bottom:54px!important;
  gap:42px!important;
}
.publicClinicalPreviewFoot{
  margin-top:26px;
  padding-top:24px;
  gap:34px;
}
.demoTeaser{
  padding:48px 52px!important;
  gap:48px!important;
}
.demoTeaser .button{min-width:168px}

/* Audience cards: editorial rather than cramped dashboard cards. */
.publicAudienceGrid{gap:18px}
.publicAudienceGrid article{
  padding:32px 34px;
  min-height:245px;
}
.publicAudienceGrid article>span{line-height:1.35}
.publicAudienceGrid h3{
  margin-top:20px;
  margin-bottom:12px;
  line-height:1.14;
  letter-spacing:-.035em;
}
.publicAudienceGrid p{line-height:1.65}

/* Desktop public header — logo, navigation and portal action get distinct space. */
@media(min-width:1101px){
  .v37PublicHeader{
    max-width:1560px!important;
    padding:27px clamp(28px,4.4vw,68px)!important;
    grid-template-columns:minmax(205px,230px) minmax(0,1fr) auto!important;
    gap:clamp(24px,2.5vw,42px)!important;
  }
  .v37PublicHeader .publicLogo img{
    width:218px!important;
    max-width:100%!important;
  }
  .v37PublicHeader .publicNav{
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:clamp(5px,.7vw,13px)!important;
    min-width:0;
  }
  .v37PublicHeader .publicNavLink{
    padding:12px 9px!important;
    font-size:14px!important;
    white-space:nowrap!important;
  }
}

/* Mid-size header keeps the second row readable rather than miniaturising it. */
@media(min-width:901px) and (max-width:1100px){
  .v37PublicHeader{
    padding:22px 28px!important;
    gap:18px 24px!important;
  }
  .v37PublicHeader .publicLogo img{width:198px!important}
  .v37PublicHeader .publicNav{
    gap:6px 12px!important;
  }
  .v37PublicHeader .publicNavLink{
    font-size:12.5px!important;
    padding:10px 11px!important;
  }
  .v37PublicHeader .publicPortalBtn{min-height:44px!important}
}

/* Mobile keeps full-width CTAs but never lets labels split awkwardly. */
@media(max-width:720px){
  .publicLanding .button,
  .publicPage .button{
    white-space:normal;
    text-align:center;
    line-height:1.2;
  }
  .publicLanding .button.large,
  .publicPage .button.large{
    min-height:52px;
    padding:13px 18px!important;
  }
  .publicCta{
    gap:20px!important;
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
  .publicAudienceGrid article{
    padding:26px!important;
    min-height:0;
  }
  .demoTeaser{
    padding:30px 26px!important;
    gap:24px!important;
  }
  .demoTeaser .button{min-width:0;width:100%!important}
}


/* =========================================================
   V37.2 — Public hierarchy + breathing room polish
   Consolidate Who / What / How into one Our Model page.
   Keep this block LAST.
   ========================================================= */

/* Full-width desktop header: logo belongs to the left edge of the composition,
   while the smaller navigation cluster breathes on the right. */
@media(min-width:1101px){
  .v37PublicHeader{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    padding:28px clamp(34px,3.2vw,64px)!important;
    gap:clamp(34px,3.2vw,62px)!important;
  }
  .v37PublicHeader .publicLogo{
    justify-self:start!important;
  }
  .v37PublicHeader .publicLogo img{
    width:224px!important;
  }
  .v37PublicHeader .publicNav{
    justify-content:flex-end!important;
    gap:clamp(14px,1.25vw,24px)!important;
  }
  .v37PublicHeader .publicNavLink{
    padding:12px 8px!important;
    font-size:14px!important;
  }
  .v37PublicHeader .publicPortalBtn{
    margin-left:2px!important;
    min-width:132px!important;
  }
}

/* A composed editorial page rather than three shallow pages. */
.modelSection{padding-top:72px!important;padding-bottom:72px!important}
.modelSectionAlt{background:rgba(255,255,255,.46)!important;border-top:1px solid rgba(56,51,44,.09);border-bottom:1px solid rgba(56,51,44,.09)}
.modelSectionHead{max-width:840px;margin-bottom:34px}
.modelSectionHead h2{font-size:clamp(32px,4.2vw,56px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 14px}
.modelSectionHead p{max-width:760px;font-size:16px;line-height:1.68;color:#686259;margin:0}
.modelCategoryCloud{margin-top:26px;padding-left:0!important;padding-right:0!important;padding-bottom:0!important}

/* Login should feel like a deliberate account gateway, not a form jammed into a card. */
@media(min-width:901px){
  .v26LoginWrap{
    max-width:1380px!important;
    grid-template-columns:minmax(0,1.12fr) minmax(440px,.72fr)!important;
    gap:clamp(72px,7vw,132px)!important;
    padding-left:clamp(42px,5vw,86px)!important;
    padding-right:clamp(42px,5vw,86px)!important;
  }
  .v26LoginCard{
    padding:40px 42px 38px!important;
  }
  .v26LoginCard .input{
    min-height:56px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .v26LoginCard button[data-mvp-login]{
    min-height:54px!important;
    padding:0 24px!important;
    font-size:16px!important;
    margin-top:4px!important;
  }
  .v26LoginCard .loginNote{
    margin-top:18px!important;
    line-height:1.6!important;
  }
}

@media(max-width:900px){
  .modelSection{padding-top:50px!important;padding-bottom:50px!important}
  .modelSectionHead{margin-bottom:24px}
  .modelSectionHead h2{font-size:38px}
}

@media(max-width:620px){
  .v26LoginCard{padding:28px 24px!important}
  .v26LoginCard button[data-mvp-login]{font-size:15px!important;min-height:52px!important}
  .modelSectionHead h2{font-size:32px}
}

/* =========================================================
   V37.3 — CTA consistency + text-fit cleanup
   Keep this block LAST.
   ========================================================= */

/* Public CTA button groups should feel like one system.
   Equal geometry, cleaner proportions, no accidental width mismatch. */
.publicCtaActions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,260px))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.publicCtaActions>.button,
.publicCta>.button{
  min-height:56px!important;
  padding:0 22px!important;
  border-radius:18px!important;
  font-size:13px!important;
  line-height:1.15!important;
  text-align:center!important;
}
.publicCtaActions>.button{
  width:100%!important;
}

/* Public catalogue / quote buttons: keep copy under control on card grids. */
.productCard .button.full,
.productCard .specLink,
.publicSection .button.full{
  min-height:46px!important;
  padding:0 14px!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
}
.productCard .button.full{
  white-space:normal!important;
  text-wrap:balance!important;
}

/* Login CTA was visually oversized for the card width. */
.v26LoginCard button[data-mvp-login]{
  font-size:14.5px!important;
  line-height:1.15!important;
}

/* Basic safety pass: prevent overlarge button labels in public sections. */
.publicLanding .button,
.publicPage .button,
.publicSection .button,
.publicFooter .button{
  overflow-wrap:anywhere;
}

@media(max-width:720px){
  .publicCtaActions{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
  }
  .publicCtaActions>.button,
  .publicCta>.button{
    width:100%!important;
    min-height:54px!important;
    font-size:12.5px!important;
    padding:0 18px!important;
  }
  .productCard .button.full,
  .publicSection .button.full{
    min-height:44px!important;
    font-size:11px!important;
    padding:0 12px!important;
  }
}


/* =========================================================
   V37.4 — THE WORKSHOP + institutional hero backdrop
   Editorial product intelligence, not a blog-card grid.
   Keep this block LAST.
   ========================================================= */

/* Actual homepage hero backdrop supplied for V37.4. */
.publicLanding .landingHero{
  position:relative!important;
  isolation:isolate;
  max-width:none!important;
  margin:0!important;
  min-height:690px;
  padding:clamp(64px,6vw,92px) clamp(28px,5vw,86px)!important;
  background:
    linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.91) 34%,rgba(250,249,246,.58) 58%,rgba(250,249,246,.18) 100%),
    url('/assets/psc-institutional-hero.webp') center center/cover no-repeat!important;
}
.publicLanding .landingHero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(250,249,246,.18));pointer-events:none}
.publicLanding .landingCopy,.publicLanding .procurementHeroCard{position:relative;z-index:1}

/* Workshop navigation should read as first-class, never as a resources submenu. */
.v37PublicHeader .publicNav{gap:clamp(10px,1vw,19px)!important}
.v37PublicHeader .publicNavLink{font-size:13.5px!important}

/* Workshop paper system */
.workshopPage{--ws-paper:#f7f4ed;--ws-ink:#111414;--ws-line:#cfc9bc;--ws-faint:#e7e1d6;--ws-teal:#21a89f;background:var(--ws-paper)!important;color:var(--ws-ink)!important}
.workshopPage .publicHeader,.workshopPage .publicFooter{background:rgba(247,244,237,.96)!important}
.workshopHero{max-width:1500px;margin:0 auto;padding:74px clamp(28px,5vw,80px) 60px;background-image:linear-gradient(rgba(17,20,20,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,20,20,.045) 1px,transparent 1px);background-size:28px 28px;border-bottom:1px solid var(--ws-line)}
.workshopHeroRule{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;font-size:10px;font-weight:800;letter-spacing:.15em;color:#57615e}.workshopHeroRule i{height:1px;background:var(--ws-line)}.workshopHeroRule b{font-size:10px}
.workshopHeroGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:72px;align-items:end;margin-top:58px}.workshopHeroGrid h1{font-size:clamp(54px,6.4vw,104px);line-height:.88;letter-spacing:-.072em;margin:13px 0 0;max-width:1050px}.workshopHeroCopy{padding-bottom:6px}.workshopHeroCopy p{font-size:19px;line-height:1.48;margin:0;color:#3e4745}.workshopHeroCopy small{display:block;border-top:1px solid var(--ws-line);margin-top:24px;padding-top:15px;font-size:12px;color:#69716f}
.workshopTools{max-width:1500px;margin:0 auto;padding:24px clamp(28px,5vw,80px);border-bottom:1px solid var(--ws-line);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:26px;align-items:center}.workshopSearch{display:flex;align-items:center;gap:11px;border-bottom:1px solid #746f66;padding:11px 0}.workshopSearch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.workshopSearch input{width:100%;border:0;outline:0;background:transparent;font-size:14px;color:var(--ws-ink)}.workshopFilters{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.workshopFilters button{border:1px solid transparent;background:transparent;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:800;color:#69716f}.workshopFilters button:hover,.workshopFilters button.active{border-color:#a9a296;color:#101414;background:#fffdf8}
.workshopLead{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:190px minmax(0,1fr) 180px;gap:36px;padding:62px clamp(28px,5vw,80px);border-bottom:1px solid var(--ws-line);align-items:start}.workshopLeadLabel span{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#0f7974}.workshopLeadLabel b{display:block;margin-top:10px;font-size:11px;color:#7a766f}.workshopLeadTitle{border:0;background:transparent;padding:0;text-align:left;color:inherit}.workshopLeadTitle h2{font-size:clamp(48px,6vw,94px);line-height:.89;letter-spacing:-.068em;margin:0;max-width:980px}.workshopLeadTitle p{font-size:16px;line-height:1.55;color:#5c625f;max-width:680px;margin:25px 0 0}.workshopLeadFacts{border-left:1px solid var(--ws-line);padding-left:22px;display:grid;gap:12px}.workshopLeadFacts span,.workshopLeadFacts small{font-size:10px;line-height:1.4;color:#6e716d}.workshopLeadFacts b{font-size:13px}
.workshopIndex{max-width:1500px;margin:0 auto;padding:0 clamp(28px,5vw,80px) 80px}.workshopIndexHead{display:flex;justify-content:space-between;padding:18px 0 12px;border-bottom:2px solid #1e2322;font-size:10px;letter-spacing:.16em}.workshopIndexRow{display:grid;grid-template-columns:58px 180px minmax(0,1fr) 150px;gap:24px;align-items:start;padding:29px 0 32px;border-bottom:1px solid var(--ws-line)}.workshopIndexNo{font-size:12px;font-weight:900;color:#979087;padding-top:4px}.workshopIndexMeta span{display:block;font-size:9px;letter-spacing:.12em;font-weight:900;color:#107d77}.workshopIndexMeta small{display:block;font-size:10px;color:#79756e;margin-top:9px}.workshopIndexTitle{border:0;background:transparent;text-align:left;padding:0;color:inherit}.workshopIndexTitle h2{font-size:clamp(27px,3vw,44px);line-height:.98;letter-spacing:-.047em;margin:0}.workshopIndexTitle p{font-size:13px;line-height:1.5;color:#666b67;margin:10px 0 0;max-width:760px}.workshopIndexRead{text-align:right;padding-top:4px}.workshopIndexRead span{display:block;font-size:11px;font-weight:900}.workshopIndexRead small{display:block;margin-top:8px;font-size:9px;color:#7b7770}
.workshopEmpty{max-width:1500px;margin:0 auto;padding:90px clamp(28px,5vw,80px);border-bottom:1px solid var(--ws-line)}.workshopEmpty>span{font-size:10px;letter-spacing:.16em;color:#8a8378}.workshopEmpty h2{font-size:48px;max-width:700px;letter-spacing:-.05em;margin:14px 0}.workshopEmpty p{color:#666}
.workshopPrinciple{max-width:1380px;margin:0 auto 80px;border:1px solid #171b1a;background:#101817;color:#fff;padding:42px 46px;display:grid;grid-template-columns:1fr .8fr;gap:70px}.workshopPrinciple span{font-size:9px;letter-spacing:.15em;color:#6bd4cd;font-weight:900}.workshopPrinciple h2{font-size:34px;line-height:1.05;letter-spacing:-.04em;margin:14px 0 0}.workshopPrinciple p{align-self:end;color:#c7d0cd;line-height:1.6;margin:0}

/* Article: technical manual / editorial sheet */
.workshopArticle{max-width:1180px;margin:0 auto;padding:70px clamp(24px,4vw,56px) 86px}.workshopArticleHeader{border-bottom:2px solid #171b1a;padding-bottom:42px}.workshopArticleTopline{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;font-size:9px;letter-spacing:.14em;font-weight:900}.workshopArticleTopline button{border:0;background:transparent;padding:0;font:inherit;letter-spacing:inherit;color:#0e817a}.workshopArticleTopline i{height:1px;background:var(--ws-line)}.workshopArticleTopline span{color:#6f706b}.workshopArticleTopline b{color:#171b1a}.workshopArticleHeader h1{font-size:clamp(56px,7.7vw,108px);line-height:.88;letter-spacing:-.073em;margin:42px 0 26px;max-width:1060px}.workshopDeck{font-size:20px;line-height:1.5;max-width:760px;color:#4f5754}.workshopArticleMeta{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.workshopArticleMeta span{font-size:10px;color:#74736c;border-right:1px solid var(--ws-line);padding-right:18px}.workshopArticleMeta span:last-child{border:0}.workshopArticleActions{display:flex;gap:7px;margin-top:24px}.workshopArticleActions button{border:1px solid #aaa398;background:transparent;border-radius:999px;padding:8px 14px;font-size:10px;font-weight:800}.workshopArticleActions button[aria-pressed="true"]{background:#10201e;color:#fff;border-color:#10201e}
.workshopArticleBody{max-width:860px;margin:0 auto;padding:30px 0 18px}.workshopArticleSection{padding:42px 0;border-bottom:1px solid var(--ws-line)}.workshopArticleSection h2{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin:0 0 20px}.workshopArticleSection>p{font-size:16px;line-height:1.75;color:#414a47;margin:0;max-width:780px}.workshopBullets{padding:0;margin:0;list-style:none}.workshopBullets li{padding:14px 0 14px 28px;border-top:1px solid var(--ws-faint);font-size:15px;line-height:1.58;position:relative}.workshopBullets li:before{content:"";position:absolute;left:2px;top:22px;width:8px;height:8px;border:1px solid #159a93}.workshopComparison{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #171b1a;border-bottom:1px solid #171b1a}.workshopComparison article{padding:24px 24px 28px}.workshopComparison article+article{border-left:1px solid var(--ws-line)}.workshopComparison span{font-size:10px;font-weight:900;letter-spacing:.14em;color:#0d7d77}.workshopComparison p{font-size:14px;line-height:1.65;color:#424946}.workshopChecklist ol{list-style:none;padding:0;margin:0;border-top:1px solid #171b1a}.workshopChecklist li{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--ws-line);align-items:start}.workshopChecklist li span{font-size:10px;font-weight:900;color:#0c7e78}.workshopChecklist li p{margin:0;font-size:14px;line-height:1.55}.workshopSpecLesson{max-width:980px}.badSpec,.goodSpec{padding:22px;border:1px solid #171b1a}.badSpec{background:#fff9f5}.goodSpec{background:#edf7f4}.badSpec span,.goodSpec span,.missingSpec>span{display:block;font-size:9px;letter-spacing:.14em;font-weight:900;margin-bottom:12px}.badSpec strong{font-size:26px;letter-spacing:-.03em}.goodSpec p{font-size:15px;line-height:1.65;margin:0}.missingSpec{display:grid;grid-template-columns:180px repeat(3,1fr);gap:0;border-left:1px solid var(--ws-line);border-right:1px solid var(--ws-line)}.missingSpec>*{padding:12px;border-right:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);font-size:10px}.missingSpec>*:nth-child(4n){border-right:0}.missingSpec b{font-weight:700;color:#565b57}
.workshopSignature{margin-top:68px;border-top:3px solid #111817;border-bottom:3px solid #111817}.workshopSignature article{display:grid;grid-template-columns:190px 1fr;gap:28px;padding:23px 0;border-bottom:1px solid var(--ws-line)}.workshopSignature article:last-child{border-bottom:0}.workshopSignature span{font-size:10px;letter-spacing:.14em;color:#0d7f79;font-weight:900}.workshopSignature p{font-size:14px;line-height:1.62;margin:0;color:#343c39}
.workshopRelated{margin-top:60px;padding-top:26px;border-top:1px solid var(--ws-line)}.workshopRelatedHead{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:14px}.workshopRelatedHead span{font-size:10px;letter-spacing:.14em;font-weight:900}.workshopRelatedHead p{font-size:10px;color:#747770;max-width:420px;text-align:right}.workshopRelatedList{border-top:1px solid #171b1a}.workshopRelatedList button{width:100%;display:grid;grid-template-columns:110px 1fr 180px;gap:20px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--ws-line);background:transparent;padding:15px 0}.workshopRelatedList span{font-family:ui-monospace,monospace;font-size:9px;color:#747770}.workshopRelatedList b{font-size:14px}.workshopRelatedList small{text-align:right;font-size:10px;color:#737771}.workshopMedicalNote{margin-top:54px;padding-top:18px;border-top:1px solid var(--ws-line);font-size:10px;line-height:1.55;color:#797870;max-width:850px}
.workshopNotFound{max-width:1180px;margin:0 auto;padding:110px 40px}.workshopNotFound>span{font-size:10px;letter-spacing:.15em}.workshopNotFound h1{font-size:64px;letter-spacing:-.06em;margin:15px 0}.workshopNotFound p{color:#666;margin-bottom:25px}

/* Catalogue ↔ Workshop integration is intentionally quiet. */
.catalogueWorkshopLink{width:100%;border:0;border-top:1px solid #e6e3dc;background:transparent;text-align:left;padding:13px 0 2px;margin-top:13px;color:#141817}.catalogueWorkshopLink span,.productWorkshopModule span{display:block;font-size:8px;letter-spacing:.14em;color:#0c817b;font-weight:900}.catalogueWorkshopLink b{display:block;font-size:11px;line-height:1.35;margin-top:6px}.productWorkshopModule{width:100%;border:1px solid #d6e7e4;background:#f4faf8;border-radius:14px;text-align:left;padding:14px 16px;margin-top:14px}.productWorkshopModule b{display:block;font-size:13px;line-height:1.35;margin-top:6px}

/* Homepage teaser: three headlines, not three stock-photo cards. */
.homeWorkshop{max-width:1450px;margin:40px auto 68px;padding:54px clamp(28px,5vw,70px);display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;border-top:1px solid #cfd5d2;border-bottom:1px solid #cfd5d2;background:#f5f2ea}.homeWorkshopIntro h2{font-size:45px;line-height:.96;letter-spacing:-.052em;margin:12px 0 15px}.homeWorkshopIntro p{color:#5f6865;line-height:1.6;max-width:430px}.homeWorkshopIntro .button{margin-top:18px}.homeWorkshopIndex{border-top:2px solid #151b1a}.homeWorkshopIndex button{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px 20px;text-align:left;border:0;border-bottom:1px solid #c8c7c0;background:transparent;padding:21px 0;color:#111}.homeWorkshopIndex span{grid-column:1/2;font-size:8px;letter-spacing:.13em;color:#0b817b;font-weight:900}.homeWorkshopIndex h3{grid-column:1/2;font-size:25px;line-height:1;letter-spacing:-.045em;margin:0}.homeWorkshopIndex small{grid-column:2/3;grid-row:1/3;align-self:center;font-size:9px;color:#77736c}
.schoolWorkshopStrip{grid-column:1/-1;margin-top:28px;border-top:1px solid #d6d2ca;border-bottom:1px solid #d6d2ca;padding:25px 0;display:grid;grid-template-columns:260px 1fr;gap:30px}.schoolWorkshopStrip h2{font-size:26px;margin:7px 0 0}.schoolWorkshopStrip>div:last-child{display:grid;grid-template-columns:repeat(3,1fr)}.schoolWorkshopStrip button{border:0;border-left:1px solid #d6d2ca;background:transparent;text-align:left;padding:4px 20px}.schoolWorkshopStrip button span{display:block;font-size:8px;letter-spacing:.12em;color:#0c817b;font-weight:900}.schoolWorkshopStrip button b{display:block;font-size:15px;line-height:1.2;margin-top:8px}

@media(max-width:1050px){
  .workshopHeroGrid,.workshopPrinciple,.homeWorkshop{grid-template-columns:1fr;gap:34px}.workshopTools{grid-template-columns:1fr}.workshopFilters{justify-content:flex-start}.workshopLead{grid-template-columns:140px 1fr}.workshopLeadFacts{grid-column:2/3;border-left:0;border-top:1px solid var(--ws-line);padding:15px 0 0;display:flex;gap:18px}.workshopIndexRow{grid-template-columns:48px 140px 1fr}.workshopIndexRead{grid-column:3/4;text-align:left;display:flex;gap:16px}.schoolWorkshopStrip{grid-template-columns:1fr}.schoolWorkshopStrip>div:last-child{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  .publicLanding .landingHero{min-height:0;padding:46px 18px!important;background:linear-gradient(180deg,rgba(250,249,246,.93),rgba(250,249,246,.72)),url('/assets/psc-institutional-hero.webp') 64% center/cover no-repeat!important}
  .workshopHero{padding:46px 20px 38px}.workshopHeroGrid{margin-top:38px;gap:25px}.workshopHeroGrid h1{font-size:clamp(48px,14vw,68px)}.workshopHeroCopy p{font-size:16px}.workshopTools{padding:16px 20px}.workshopFilters{flex-wrap:nowrap;overflow:auto;padding-bottom:3px;scrollbar-width:none}.workshopFilters::-webkit-scrollbar{display:none}.workshopFilters button{white-space:nowrap}.workshopLead{display:block;padding:38px 20px}.workshopLeadTitle{margin-top:22px}.workshopLeadTitle h2{font-size:44px}.workshopLeadFacts{margin-top:24px}.workshopIndex{padding:0 20px 54px}.workshopIndexRow{grid-template-columns:38px 1fr;gap:13px}.workshopIndexMeta{grid-column:2/3}.workshopIndexTitle{grid-column:2/3}.workshopIndexRead{grid-column:2/3}.workshopIndexTitle h2{font-size:30px}.workshopPrinciple{margin:0 20px 54px;padding:30px 25px}.workshopPrinciple h2{font-size:28px}.workshopArticle{padding:45px 20px 60px}.workshopArticleTopline{grid-template-columns:auto 1fr auto}.workshopArticleTopline b{grid-column:1/-1;margin-top:8px}.workshopArticleHeader h1{font-size:52px}.workshopDeck{font-size:17px}.workshopArticleMeta{display:grid;gap:8px}.workshopArticleMeta span{border:0;padding:0}.workshopArticleActions{position:sticky;bottom:10px;background:rgba(247,244,237,.94);padding:8px;border:1px solid var(--ws-line);z-index:5;justify-content:center}.workshopArticleSection{padding:32px 0}.workshopComparison{grid-template-columns:1fr}.workshopComparison article+article{border-left:0;border-top:1px solid var(--ws-line)}.missingSpec{grid-template-columns:1fr 1fr}.missingSpec>*:nth-child(4n){border-right:1px solid var(--ws-line)}.workshopSignature article{grid-template-columns:1fr;gap:9px}.workshopRelatedHead{display:block}.workshopRelatedHead p{text-align:left}.workshopRelatedList button{grid-template-columns:80px 1fr}.workshopRelatedList small{grid-column:2/3;text-align:left}.homeWorkshop{margin:28px 18px 46px;padding:38px 24px;gap:32px}.homeWorkshopIntro h2{font-size:38px}.homeWorkshopIndex h3{font-size:22px}.schoolWorkshopStrip>div:last-child{grid-template-columns:1fr}.schoolWorkshopStrip button{border-left:0;border-top:1px solid #d6d2ca;padding:15px 0}
}

@media print{
  body{background:#fff!important}.workshopArticlePage .publicHeader,.workshopArticlePage .publicFooter,.workshopArticleActions,.workshopRelated{display:none!important}.workshopArticle{max-width:none;padding:0!important}.workshopArticleHeader{padding:0 0 20px}.workshopArticleHeader h1{font-size:42pt;margin:20px 0 12px}.workshopArticleBody{max-width:none;padding:0}.workshopArticleSection{break-inside:avoid;padding:18px 0}.workshopSignature{break-inside:avoid;margin-top:25px}.workshopMedicalNote{margin-top:25px}.workshopPrintCheck .workshopArticleHeader h1{font-size:34pt}.workshopPrintCheck .workshopArticleSection{padding:12px 0}.workshopPrintCheck .workshopChecklist li{padding:8px 0}.workshopPrintCheck .workshopSignature article{padding:12px 0;font-size:9pt}
}

/* =========================================================
   V37.5 — Workshop visual system
   Prominent category navigation, smaller technical visuals,
   no decorative post-it/slogan microcopy.
   Keep this block LAST.
   ========================================================= */

.workshopPage{
  --ws-paper:#fbf8f1;
  --ws-ink:#141716;
  --ws-line:#d8d2c7;
  --ws-faint:#ece7dc;
  --ws-teal:#20a79e;
}

/* Hero: title + useful promise, no tiny decorative slogans. */
.workshopHero{
  padding:64px clamp(28px,5vw,80px) 52px!important;
  background-image:
    linear-gradient(rgba(17,20,20,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,20,20,.042) 1px,transparent 1px)!important;
  background-size:26px 26px!important;
}
.workshopHeroRule{display:none!important}
.workshopHeroGrid{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.62fr)!important;
  gap:clamp(44px,6vw,92px)!important;
  align-items:end!important;
  margin-top:0!important;
}
.workshopHeroGrid h1{
  font-size:clamp(58px,6.3vw,88px)!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  margin:0!important;
}
.workshopHeroGrid h2{
  font-size:clamp(25px,2.35vw,38px);
  line-height:1.05;
  letter-spacing:-.045em;
  margin:18px 0 0;
  max-width:760px;
}
.workshopHeroCopy{padding:0 0 5px!important}
.workshopHeroCopy p{
  font-size:17px!important;
  line-height:1.6!important;
  color:#505956!important;
  max-width:480px;
}
.workshopHeroCopy small{display:none!important}

/* Category cards are the navigation, not tiny pills. */
.workshopCategorySection{
  max-width:1500px;
  margin:0 auto;
  padding:34px clamp(28px,5vw,80px) 38px;
  border-bottom:1px solid var(--ws-line);
}
.workshopCategoryHead{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.workshopCategoryHead h2{
  margin:0;
  font-size:28px;
  letter-spacing:-.045em;
}
.workshopCategoryHead p{
  margin:6px 0 0;
  color:#696d69;
  font-size:13px;
}
.workshopCategoryHead>button{
  border:1px solid #a9a399;
  background:transparent;
  border-radius:999px;
  padding:9px 14px;
  font-size:11px;
  font-weight:800;
  color:#353a38;
}
.workshopCategoryHead>button.active{
  background:#14201e;
  color:#fff;
  border-color:#14201e;
}
.workshopCategoryGrid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
.workshopCategoryCard{
  min-width:0;
  min-height:220px;
  border:1px solid rgba(22,26,25,.12);
  border-radius:4px;
  padding:18px 16px 15px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  color:#151817;
  position:relative;
  overflow:hidden;
  box-shadow:none;
}
.workshopCategoryCard:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(20,24,23,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,24,23,.04) 1px,transparent 1px);
  background-size:18px 18px;
  opacity:.5;
  pointer-events:none;
}
.workshopCategoryCard>*{position:relative;z-index:1}
.workshopCategoryVisual{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin:0 0 24px auto;
  border:1px solid rgba(15,21,20,.22);
  border-radius:50%;
  background:rgba(255,255,255,.28);
}
.workshopCategoryVisual svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
}
.workshopCategoryCopy{display:block;margin-top:auto}
.workshopCategoryCopy b{
  display:block;
  font-size:18px;
  line-height:1.02;
  letter-spacing:-.045em;
}
.workshopCategoryCopy small{
  display:block;
  margin-top:10px;
  font-size:11px;
  line-height:1.45;
  color:#565c59;
}
.workshopCategoryCard>i{
  margin-top:12px;
  font-style:normal;
  font-size:10px;
  color:#686c69;
}
.workshopCategoryCard:hover{
  transform:translateY(-2px);
  border-color:rgba(15,21,20,.28);
}
.workshopCategoryCard.active{
  outline:2px solid #17201f;
  outline-offset:-2px;
}
.wsTone1{--ws-accent:#bfe8e7;background:#dff3f2!important}
.wsTone2{--ws-accent:#f0bbc5;background:#f8dfe4!important}
.wsTone3{--ws-accent:#efd99d;background:#fbf0cf!important}
.wsTone4{--ws-accent:#b9dff1;background:#dceefa!important}
.wsTone5{--ws-accent:#c4dfbc;background:#e4f0df!important}
.wsTone6{--ws-accent:#c9c8ee;background:#e7e7f8!important}
.wsTone7{--ws-accent:#efb5bf;background:#f7dce1!important}

/* Search becomes a clean utility row below the category navigation. */
.workshopTools{
  padding:18px clamp(28px,5vw,80px)!important;
  grid-template-columns:minmax(280px,600px) 1fr!important;
  gap:28px!important;
}
.workshopFilters{display:none!important}
.workshopResultContext{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:12px;
  color:#606663;
  font-size:11px;
}
.workshopResultContext b{color:#171b1a}
.workshopResultContext button{
  border:0;
  border-bottom:1px solid #77716a;
  padding:2px 0;
  background:transparent;
  font-size:11px;
  font-weight:800;
}

/* Featured story: editorial, but not jumbo. */
.workshopLead{
  grid-template-columns:150px minmax(0,1fr) 150px!important;
  gap:30px!important;
  padding-top:48px!important;
  padding-bottom:52px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ws-accent) 18%,transparent),transparent 42%)!important;
}
.workshopLeadLabel span{
  font-size:11px!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#2a5f5b!important;
}
.workshopLeadLabel b{
  font-size:10px!important;
  color:#6a6f6b!important;
  font-weight:600!important;
}
.workshopLeadTitle h2{
  font-size:clamp(38px,4.5vw,62px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}
.workshopLeadTitle p{margin-top:18px!important}
.workshopLeadFacts b{font-size:12px!important}

.workshopIndexHead{
  font-size:12px!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding-top:24px!important;
}
.workshopIndexRow{
  position:relative;
  background:transparent!important;
}
.workshopIndexRow:before{
  content:"";
  position:absolute;
  left:0;
  top:28px;
  width:3px;
  height:48px;
  background:var(--ws-accent,#d7d2ca);
}
.workshopIndexMeta span{
  font-size:10px!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#32645f!important;
}
.workshopIndexTitle h2{
  font-size:clamp(25px,2.5vw,38px)!important;
  line-height:1!important;
}

/* Remove decorative micro-label behaviour on Workshop landing. */
.workshopPrinciple span{display:none!important}
.workshopPrinciple{margin-top:20px!important}
.workshopEmpty>span{display:none!important}

/* Article format/category labels are informational, not shouty slogans. */
.workshopArticleTopline{
  font-size:10px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.workshopArticleTopline button{letter-spacing:0!important;text-transform:none!important}

@media(max-width:1180px){
  .workshopCategoryGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .workshopCategoryCard{min-height:196px}
}
@media(max-width:820px){
  .workshopHeroGrid{grid-template-columns:1fr!important;gap:26px!important}
  .workshopHeroGrid h1{font-size:60px!important}
  .workshopCategoryHead{align-items:flex-start;flex-direction:column}
  .workshopCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .workshopCategoryCard{min-height:180px;padding:15px}
  .workshopCategoryVisual{width:42px;height:42px;margin-bottom:18px}
  .workshopCategoryVisual svg{width:20px;height:20px}
  .workshopCategoryCopy b{font-size:17px}
  .workshopTools{grid-template-columns:1fr!important}
  .workshopResultContext{justify-self:start}
  .workshopLead{grid-template-columns:1fr!important}
  .workshopLeadLabel,.workshopLeadFacts{border:0!important;padding:0!important}
  .workshopLeadFacts{display:flex!important;gap:14px!important;margin-top:0!important}
}
@media(max-width:430px){
  .workshopHero{padding:40px 18px 34px!important}
  .workshopHeroGrid h1{font-size:50px!important}
  .workshopHeroGrid h2{font-size:26px}
  .workshopCategorySection{padding:26px 16px 28px}
  .workshopCategoryGrid{grid-template-columns:1fr 1fr}
  .workshopCategoryCard{min-height:172px;padding:14px 13px}
  .workshopCategoryCopy b{font-size:16px}
  .workshopCategoryCopy small{font-size:10.5px}
  .workshopCategoryCard>i{font-size:9px}
  .workshopTools{padding:15px 18px!important}
  .workshopLeadTitle h2{font-size:38px!important}
}
@media(max-width:350px){
  .workshopCategoryGrid{grid-template-columns:1fr}
}

/* =========================================================
   V37.5 — Our Model: experienced, human institutional supply
   This page deliberately avoids startup/process-dashboard styling.
   ========================================================= */

main.publicPage:has(.modelHumanIntro) .publicPageHero{
  padding-top:78px!important;
  padding-bottom:62px!important;
}
main.publicPage:has(.modelHumanIntro) .publicPageHero h1{
  max-width:900px!important;
  font-size:clamp(48px,5.8vw,82px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
main.publicPage:has(.modelHumanIntro) .publicPageHero p{
  max-width:880px!important;
  font-size:18px!important;
  line-height:1.7!important;
  color:#5d5b56!important;
}

.modelHumanIntro{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:clamp(40px,7vw,96px);
  align-items:start;
  padding-top:78px!important;
  padding-bottom:78px!important;
}
.modelHumanLead{max-width:790px}
.modelHumanLead h2,
.modelHumanSectionHead h2,
.modelContinuityCopy h2,
.modelSchoolSection h2,
.modelRegulatedPlain h2{
  margin:0;
  color:#121313;
  font-size:clamp(31px,3.7vw,50px);
  line-height:1.04;
  letter-spacing:-.045em;
}
.modelHumanLead p,
.modelHumanSectionHead p,
.modelContinuityCopy p,
.modelSchoolSection p,
.modelRegulatedPlain p{
  color:#635f58;
  font-size:16px;
  line-height:1.75;
}
.modelHumanLead p{max-width:760px;margin:22px 0 0}
.modelHumanAside{
  border-top:2px solid #28a99f;
  padding:22px 0 0;
  margin-top:6px;
}
.modelHumanAside strong{font-size:23px;line-height:1.22;letter-spacing:-.025em;color:#171716;display:block}
.modelHumanAside p{margin:12px 0 0;color:#777169;font-size:14px;line-height:1.6}

.modelRealitySection{
  border-top:1px solid #ddd9d0;
  padding-top:72px!important;
  padding-bottom:74px!important;
}
.modelHumanSectionHead{max-width:800px;margin-bottom:36px}
.modelHumanSectionHead.narrow{max-width:690px}
.modelHumanSectionHead p{margin:16px 0 0;max-width:760px}
.modelRealityList{border-top:1px solid #d9d5cd}
.modelRealityList article{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
  gap:clamp(28px,5vw,74px);
  padding:28px 0;
  border-bottom:1px solid #d9d5cd;
}
.modelRealityList h3{margin:0;font-size:22px;line-height:1.18;letter-spacing:-.025em;color:#151515}
.modelRealityList p{margin:0;color:#6a655e;font-size:14.5px;line-height:1.7;max-width:700px}

.modelWorkSection{
  background:#f4efe5;
  max-width:none!important;
  padding-left:max(6%,calc((100vw - 1320px)/2 + 6%))!important;
  padding-right:max(6%,calc((100vw - 1320px)/2 + 6%))!important;
  padding-top:78px!important;
  padding-bottom:78px!important;
}
.modelWorkRows{max-width:1020px;border-top:1px solid #cbc3b7}
.modelWorkRows article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:22px;
  padding:25px 0 27px;
  border-bottom:1px solid #cbc3b7;
}
.modelWorkRows article>span{
  width:32px;height:32px;border:1px solid #aca397;border-radius:50%;
  display:grid;place-items:center;font-size:12px;font-weight:700;color:#625d55;margin-top:2px
}
.modelWorkRows h3{margin:0 0 7px;font-size:19px;line-height:1.25;letter-spacing:-.018em;color:#171614}
.modelWorkRows p{margin:0;max-width:820px;color:#696259;font-size:14px;line-height:1.68}

.modelContinuitySection{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);
  gap:clamp(50px,8vw,110px);
  align-items:start;
  padding-top:82px!important;
  padding-bottom:82px!important;
}
.modelContinuityCopy{max-width:690px}
.modelContinuityCopy p{margin:20px 0 0}
.modelContinuityExamples{border-top:1px solid #d9d5cd}
.modelContinuityExamples>div{padding:22px 0;border-bottom:1px solid #d9d5cd}
.modelContinuityExamples strong{font-size:15px;color:#171716}
.modelContinuityExamples p{margin:7px 0 0;color:#706a62;font-size:13.5px;line-height:1.58}

.modelCareSection{padding-top:72px!important;padding-bottom:80px!important;border-top:1px solid #ddd9d0}
.modelCareRows{border-top:1px solid #d9d5cd;margin-top:34px}
.modelCareRows article{
  display:grid;grid-template-columns:230px 1fr;gap:38px;
  padding:24px 0;border-bottom:1px solid #d9d5cd;align-items:start
}
.modelCareRows h3{margin:0;font-size:18px;letter-spacing:-.02em;color:#151515}
.modelCareRows p{margin:0;color:#68635c;font-size:14px;line-height:1.7;max-width:760px}

.modelSchoolSection{
  background:#eaf6f4;
  border:1px solid #d2e8e4;
  border-radius:26px;
  padding:46px 48px!important;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:40px;
  align-items:end;
  margin-top:22px!important;
  margin-bottom:28px!important;
}
.modelSchoolSection>div{max-width:760px}
.modelSchoolSection h2{font-size:clamp(30px,3.3vw,44px)}
.modelSchoolSection p{margin:17px 0 0}
.modelSchoolSection .button{white-space:nowrap}

.modelRegulatedPlain{
  margin-top:22px!important;
  margin-bottom:40px!important;
  background:#161717;
  color:#fff;
  border-radius:26px;
  padding:44px 48px!important;
}
.modelRegulatedPlain h2{color:#fff;max-width:840px;font-size:clamp(30px,3.5vw,46px)}
.modelRegulatedPlain p{color:#d5d4d0;max-width:900px;margin:18px 0 0}

.modelHumanCta{margin-bottom:72px!important}
.modelHumanCta>div:first-child{max-width:700px}
.modelHumanCta p{margin:10px 0 0;color:#59635f;line-height:1.6;font-size:14px}
.modelHumanCta h2{margin-bottom:0!important}

@media(max-width:900px){
  .modelHumanIntro,.modelContinuitySection,.modelSchoolSection{grid-template-columns:1fr}
  .modelHumanAside{max-width:520px}
  .modelSchoolSection{align-items:start}
  .modelSchoolSection .button{width:max-content}
  .modelRealityList article{grid-template-columns:1fr;gap:10px}
}

@media(max-width:720px){
  main.publicPage:has(.modelHumanIntro) .publicPageHero{padding-top:52px!important;padding-bottom:40px!important}
  main.publicPage:has(.modelHumanIntro) .publicPageHero h1{font-size:44px!important;line-height:1!important}
  main.publicPage:has(.modelHumanIntro) .publicPageHero p{font-size:16px!important}
  .modelHumanIntro,.modelRealitySection,.modelContinuitySection,.modelCareSection{padding-top:48px!important;padding-bottom:48px!important}
  .modelHumanLead h2,.modelHumanSectionHead h2,.modelContinuityCopy h2,.modelSchoolSection h2,.modelRegulatedPlain h2{font-size:31px}
  .modelRealityList h3{font-size:19px}
  .modelWorkSection{padding:50px 22px!important}
  .modelWorkRows article{grid-template-columns:34px 1fr;gap:14px}
  .modelWorkRows article>span{width:28px;height:28px}
  .modelCareRows article{grid-template-columns:1fr;gap:7px}
  .modelSchoolSection,.modelRegulatedPlain{margin-left:18px!important;margin-right:18px!important;padding:30px 26px!important}
  .modelSchoolSection .button{width:100%}
  .modelHumanCta{margin-bottom:48px!important}
}

/* =========================================================
   V37.5.1 — Workshop editorial guide cards + grounded Our Model
   Keep this block LAST.
   ========================================================= */

/* ---------- Workshop guide cards ---------- */
.workshopGuideDeck{
  max-width:1500px;
  margin:0 auto;
  padding:34px clamp(28px,5vw,80px) 68px;
  display:grid;
  grid-template-columns:minmax(220px,270px) minmax(0,1fr);
  gap:26px;
  align-items:start;
}
.workshopGuideDeckIntro{
  padding:6px 8px 0 0;
  position:sticky;
  top:118px;
}
.workshopGuideDeckIntro h2{
  margin:0;
  max-width:245px;
  font-size:clamp(30px,3vw,44px);
  line-height:1.02;
  letter-spacing:-.05em;
  color:#171918;
}
.workshopGuideDeckIntro p{
  margin:18px 0 0;
  max-width:230px;
  font-size:13.5px;
  line-height:1.65;
  color:#6d6a64;
}
.workshopGuideDeckScroll{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.workshopGuideCard{
  min-width:0;
  border:1px solid #dedbd3;
  border-radius:24px!important;
  overflow:hidden;
  background:#f6f6f4!important;
  box-shadow:none!important;
}
.workshopGuideCard>button{
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#171918;
  text-align:left;
  display:grid;
  grid-template-rows:minmax(220px,auto) 170px;
}
.workshopGuideCardCopy{
  padding:21px 21px 22px;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#f5f5f3;
}
.workshopGuideCardMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
}
.workshopGuideCardMeta b{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 9px;
  border-radius:999px;
  background:#e7e7e4;
  color:#4e514f;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
}
.workshopGuideCardMeta small{
  font-size:10px;
  color:#7b7d79;
  white-space:nowrap;
}
.workshopGuideCard h3{
  margin:0;
  max-width:95%;
  font-size:clamp(23px,2vw,31px);
  line-height:.98;
  letter-spacing:-.05em;
  color:#151716;
}
.workshopGuideCard p{
  margin:14px 0 0;
  max-width:94%;
  color:#626761;
  font-size:12.5px;
  line-height:1.52;
}
.workshopGuideCardVisual{
  display:grid;
  place-items:center;
  min-height:170px;
  position:relative;
  overflow:hidden;
  background:color-mix(in srgb,var(--ws-accent) 66%,#fff)!important;
  border-top:1px solid rgba(20,24,23,.08);
}
.workshopGuideCardVisual:before,
.workshopGuideCardVisual:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.34);
}
.workshopGuideCardVisual:before{width:118px;height:118px;right:-26px;bottom:-34px}
.workshopGuideCardVisual:after{width:54px;height:54px;left:20px;top:20px;background:rgba(255,255,255,.22)}
.workshopGuideCardVisual i{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  color:#27302e;
  position:relative;
  z-index:1;
  font-style:normal;
}
.workshopGuideCardVisual svg{
  width:68px;
  height:68px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
}
.workshopGuideCard:hover{transform:translateY(-3px)!important;border-color:#c9c5bc!important}
.workshopGuideCard:hover .workshopGuideCardVisual i{transform:scale(1.04)}
.workshopGuideCardVisual i{transition:transform .18s ease}

/* The home teaser uses the same card language rather than a separate blog treatment. */
.homeWorkshopCards{
  max-width:1500px!important;
  grid-template-columns:minmax(220px,270px) minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
}
.homeWorkshopCardGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.homeWorkshopCards .homeWorkshopIntro{
  padding-top:4px;
}
.homeWorkshopCards .homeWorkshopIntro h2{
  font-size:clamp(31px,3vw,43px)!important;
  line-height:1.02!important;
}
.homeWorkshopCards .workshopGuideCard>button{grid-template-rows:minmax(210px,auto) 155px}
.homeWorkshopCards .workshopGuideCardVisual{min-height:155px}

/* ---------- Our Model: calm, experienced and plain-spoken ---------- */
main.publicPage:has(.modelQuietIntro) .publicPageHero{
  max-width:1320px!important;
  padding:70px 6% 58px!important;
  border-bottom:1px solid #ddd8cf;
}
main.publicPage:has(.modelQuietIntro) .publicPageHero .kicker{display:none!important}
main.publicPage:has(.modelQuietIntro) .publicPageHero h1{
  max-width:850px!important;
  margin:0 0 22px!important;
  font-size:clamp(42px,4.8vw,66px)!important;
  line-height:1.01!important;
  letter-spacing:-.05em!important;
}
main.publicPage:has(.modelQuietIntro) .publicPageHero p{
  max-width:870px!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.72!important;
  color:#5f5b54!important;
}
.modelQuietIntro{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.55fr);
  gap:clamp(44px,7vw,96px);
  padding-top:70px!important;
  padding-bottom:72px!important;
}
.modelQuietLead{max-width:790px}
.modelQuietLead h2,
.modelQuietHead h2,
.modelQuietAftercare h2,
.modelQuietSchool h2,
.modelQuietRegulated h2{
  margin:0;
  font-size:clamp(29px,3vw,42px);
  line-height:1.08;
  letter-spacing:-.042em;
  color:#171716;
}
.modelQuietLead p,
.modelQuietHead p,
.modelQuietAftercare p,
.modelQuietSchool p,
.modelQuietRegulated p{
  color:#68635b;
  font-size:15.5px;
  line-height:1.76;
}
.modelQuietLead p{margin:18px 0 0}
.modelQuietAside{
  border-left:1px solid #b8b2a9;
  padding:4px 0 4px 28px;
  align-self:center;
}
.modelQuietAside p{margin:0;color:#5c5852;font-size:15px;line-height:1.65}
.modelQuietAside strong{color:#171716;font-size:18px;line-height:1.35}

.modelQuietExamples,
.modelQuietCategories{
  border-top:1px solid #ded9d0;
  padding-top:64px!important;
  padding-bottom:70px!important;
}
.modelQuietHead{max-width:760px;margin-bottom:30px}
.modelQuietHead p{margin:12px 0 0;max-width:720px}
.modelQuietExampleRows,
.modelQuietCommercialRows{
  border-top:1px solid #d9d4cb;
}
.modelQuietExampleRows article,
.modelQuietCommercialRows article{
  display:grid;
  grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);
  gap:clamp(28px,5vw,76px);
  padding:24px 0;
  border-bottom:1px solid #d9d4cb;
}
.modelQuietExampleRows h3,
.modelQuietCommercialRows h3{
  margin:0;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.02em;
  color:#1a1a19;
}
.modelQuietExampleRows p,
.modelQuietCommercialRows p{
  margin:0;
  max-width:720px;
  color:#6a655d;
  font-size:14px;
  line-height:1.7;
}

.modelQuietCommercial{
  max-width:none!important;
  background:#f4efe5;
  padding:68px max(6%,calc((100vw - 1320px)/2 + 6%)) 72px!important;
}
.modelQuietCommercial .modelQuietHead{max-width:700px}
.modelQuietCommercialRows{max-width:1080px;border-color:#cbc4b8}
.modelQuietCommercialRows article{border-color:#cbc4b8}

.modelQuietCategoryGrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.modelQuietCategoryGrid article{
  min-height:180px;
  padding:22px 20px;
  border:1px solid #dedbd3;
  border-radius:20px;
  background:#fbfaf7;
}
.modelQuietCategoryGrid article:nth-child(1){background:#e8f3f2}
.modelQuietCategoryGrid article:nth-child(2){background:#f3ecdf}
.modelQuietCategoryGrid article:nth-child(3){background:#eef0f7}
.modelQuietCategoryGrid article:nth-child(4){background:#e9f0e4}
.modelQuietCategoryGrid article:nth-child(5){background:#f2e9e7}
.modelQuietCategoryGrid h3{margin:0;font-size:18px;letter-spacing:-.025em;color:#171716}
.modelQuietCategoryGrid p{margin:13px 0 0;font-size:13px;line-height:1.6;color:#625e58}

.modelQuietAftercare{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:clamp(48px,8vw,106px);
  align-items:start;
  padding-top:72px!important;
  padding-bottom:74px!important;
}
.modelQuietAftercare>div:first-child{max-width:700px}
.modelQuietAftercare p{margin:17px 0 0}
.modelQuietAftercareList{border-top:1px solid #d9d4cb}
.modelQuietAftercareList>div{padding:19px 0;border-bottom:1px solid #d9d4cb}
.modelQuietAftercareList strong{display:block;color:#1a1a19;font-size:14px}
.modelQuietAftercareList span{display:block;margin-top:6px;color:#716b63;font-size:13px;line-height:1.55}

.modelQuietSchool{
  background:#eaf5f3;
  border:1px solid #d4e7e3;
  border-radius:24px;
  padding:40px 42px!important;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:end;
  margin-top:12px!important;
  margin-bottom:26px!important;
}
.modelQuietSchool>div{max-width:760px}
.modelQuietSchool p{margin:15px 0 0}
.modelQuietSchool .button{white-space:nowrap}

.modelQuietRegulated{
  margin-top:24px!important;
  margin-bottom:40px!important;
  padding:42px 44px!important;
  background:#171817;
  color:#fff;
  border-radius:24px;
}
.modelQuietRegulated h2{color:#fff;font-size:clamp(28px,2.8vw,39px);max-width:760px}
.modelQuietRegulated p{color:#d1d0cb;max-width:900px;margin:16px 0 0}
.modelQuietCta{margin-bottom:68px!important}
.modelQuietCta>div:first-child{max-width:720px}
.modelQuietCta p{margin:10px 0 0;color:#59615d;font-size:14px;line-height:1.65}

@media(max-width:1180px){
  .workshopGuideDeckScroll,.homeWorkshopCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modelQuietCategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .workshopGuideDeck,.homeWorkshopCards{grid-template-columns:1fr!important}
  .workshopGuideDeckIntro{position:static;padding:0;max-width:620px}
  .workshopGuideDeckIntro h2,.workshopGuideDeckIntro p{max-width:none}
  .modelQuietIntro,.modelQuietAftercare,.modelQuietSchool{grid-template-columns:1fr}
  .modelQuietAside{max-width:560px}
  .modelQuietSchool .button{width:max-content}
}
@media(max-width:720px){
  .workshopGuideDeck{padding:24px 18px 48px}
  .workshopGuideDeckScroll,.homeWorkshopCardGrid{grid-template-columns:1fr}
  .workshopGuideCard>button{grid-template-rows:auto 148px}
  .workshopGuideCardCopy{min-height:220px}
  .workshopGuideCardVisual{min-height:148px}
  .workshopGuideCard h3{font-size:27px}
  main.publicPage:has(.modelQuietIntro) .publicPageHero{padding:48px 22px 40px!important}
  main.publicPage:has(.modelQuietIntro) .publicPageHero h1{font-size:40px!important}
  main.publicPage:has(.modelQuietIntro) .publicPageHero p{font-size:15.5px!important}
  .modelQuietIntro,.modelQuietExamples,.modelQuietCategories,.modelQuietAftercare{padding-top:46px!important;padding-bottom:48px!important}
  .modelQuietLead h2,.modelQuietHead h2,.modelQuietAftercare h2,.modelQuietSchool h2,.modelQuietRegulated h2{font-size:30px}
  .modelQuietAside{border-left:0;border-top:1px solid #b8b2a9;padding:18px 0 0}
  .modelQuietExampleRows article,.modelQuietCommercialRows article{grid-template-columns:1fr;gap:8px}
  .modelQuietCommercial{padding:50px 22px!important}
  .modelQuietCategoryGrid{grid-template-columns:1fr}
  .modelQuietCategoryGrid article{min-height:0}
  .modelQuietSchool,.modelQuietRegulated{margin-left:18px!important;margin-right:18px!important;padding:28px 24px!important}
  .modelQuietSchool .button{width:100%}
  .modelQuietCta{margin-bottom:48px!important}
}

/* =========================================================
   V37.5.2 — Canva hero lock
   Exact supplied Canva/PDF hero artwork, rendered as-is.
   Keep this block LAST.
   ========================================================= */
.publicLanding .canvaHeroExact{
  width:100%;
  margin:0;
  padding:0;
  background:#f8f8f8;
  overflow:hidden;
  line-height:0;
}
.publicLanding .canvaHeroExact img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
}
@media(max-width:720px){
  .publicLanding .canvaHeroExact{
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .publicLanding .canvaHeroExact::-webkit-scrollbar{display:none}
  .publicLanding .canvaHeroExact img{
    width:760px;
    max-width:none;
    height:auto;
    aspect-ratio:16/9;
    object-fit:contain;
  }
}

/* =========================================================
   V37.5.3 — Homepage integration polish
   Bring the homepage into the calmer, knowledgeable PSC visual language.
   The exact Canva hero remains untouched.
   Keep this block LAST.
   ========================================================= */

.publicLanding{
  --home-paper:#fbf8f1;
  --home-ink:#171a19;
  --home-line:#d8d2c7;
  --home-teal:#28aaa2;
  --home-grid:rgba(45,57,55,.055);
}

/* Quiet editorial introduction directly after the hero. */
.homeEditorialIntro{
  max-width:1450px;
  margin:0 auto;
  padding:76px clamp(28px,6vw,88px) 62px;
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  gap:clamp(48px,8vw,118px);
  background-color:var(--home-paper);
  background-image:
    linear-gradient(var(--home-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--home-grid) 1px,transparent 1px);
  background-size:28px 28px;
  border-bottom:1px solid var(--home-line);
}
.homeEditorialLead{max-width:530px}
.homeEditorialLead .kicker{color:#65706d!important}
.homeEditorialLead h2{
  margin:12px 0 0;
  max-width:520px;
  font-size:clamp(38px,4.6vw,62px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:700;
  color:var(--home-ink);
}
.homeEditorialCopy{max-width:760px;padding-top:1px}
.homeEditorialCopy p{
  margin:0 0 18px;
  color:#5b5f5c;
  font-size:16px;
  line-height:1.72;
}
.homeEditorialCopy .homeEditorialStrong{
  margin-top:28px;
  color:#171a19;
  font-size:18px;
  line-height:1.55;
  font-weight:650;
  max-width:650px;
}

/* A technical ledger rather than another SaaS card grid. */
.homeDetailLedger{
  max-width:1450px;
  margin:0 auto;
  padding:0 clamp(28px,6vw,88px) 76px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:var(--home-paper);
}
.homeDetailLedger article{
  padding:26px 24px 28px 0;
  border-top:1px solid #aea9a1;
  border-bottom:1px solid var(--home-line);
  min-height:180px;
}
.homeDetailLedger article+article{
  border-left:1px solid var(--home-line);
  padding-left:24px;
}
.homeDetailLedger span{
  display:block;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#66716e;
  font-weight:800;
  margin-bottom:20px;
}
.homeDetailLedger b{
  display:block;
  font-size:17px;
  line-height:1.35;
  letter-spacing:-.025em;
  color:#171a19;
}
.homeDetailLedger p{
  margin:12px 0 0;
  color:#77736b;
  font-size:12.5px;
  line-height:1.55;
}

/* Catalogue section now feels like the same editorial / manual system as Workshop. */
.publicLanding .publicClinicalPreview{
  max-width:1450px!important;
  margin:0 auto!important;
  padding:76px clamp(28px,6vw,88px)!important;
  background:#fffdf8!important;
  border-top:0!important;
  border-bottom:1px solid var(--home-line)!important;
}
.publicLanding .publicClinicalPreviewHead{
  margin-bottom:30px!important;
  align-items:end!important;
}
.publicLanding .publicClinicalPreviewHead h2{
  font-size:clamp(36px,4vw,54px)!important;
  line-height:1!important;
  letter-spacing:-.048em!important;
  max-width:680px!important;
}
.publicLanding .publicClinicalPreviewHead p{
  max-width:620px!important;
  font-size:15px!important;
  line-height:1.65!important;
  color:#69655e!important;
}
.publicLanding .publicClinicalPreviewGrid{
  gap:12px!important;
}
.publicLanding .publicClinicalCard{
  min-height:175px!important;
  border-radius:22px!important;
  border:1px solid rgba(34,38,37,.1)!important;
  padding:24px 22px!important;
  text-align:left!important;
  box-shadow:none!important;
}
.publicLanding .publicClinicalCard span{
  font-size:20px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.publicLanding .publicClinicalCard small{
  max-width:240px!important;
  margin-top:12px!important;
  line-height:1.5!important;
  color:rgba(24,28,27,.67)!important;
}
.publicLanding .publicClinicalPreviewFoot{
  margin-top:22px!important;
  padding-top:22px!important;
  border-top:1px solid var(--home-line)!important;
}
.publicLanding .publicClinicalPreviewFoot>span{
  color:#716d65!important;
  max-width:760px!important;
  line-height:1.55!important;
}

/* Workshop teaser sits naturally in the same page instead of looking bolted on. */
.publicLanding .homeWorkshopCards{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:72px!important;
  padding-bottom:72px!important;
  border-top:0!important;
  background-color:#f5f1e8!important;
  background-image:
    linear-gradient(rgba(58,61,57,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(58,61,57,.045) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
}
.publicLanding .homeWorkshopIntro p{
  font-size:14px!important;
  line-height:1.65!important;
  color:#67635d!important;
}

/* Retire the black 'SaaS demo banner' treatment. */
.publicLanding .homePortalTeaser{
  max-width:1450px!important;
  margin:0 auto 68px!important;
  padding:56px clamp(28px,6vw,88px)!important;
  border-radius:0!important;
  background:#edf7f5!important;
  color:#17201e!important;
  border-top:1px solid #c7ddd8!important;
  border-bottom:1px solid #c7ddd8!important;
  overflow:visible!important;
}
.publicLanding .homePortalTeaser:after{display:none!important}
.publicLanding .homePortalTeaser .kicker{color:#167f79!important}
.publicLanding .homePortalTeaser h2{
  margin:10px 0 12px!important;
  max-width:760px!important;
  font-size:clamp(30px,3.2vw,43px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
  color:#17201e!important;
}
.publicLanding .homePortalTeaser p{
  color:#596764!important;
  max-width:720px!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.publicLanding .homePortalTeaser .button{
  background:#fff!important;
  color:#132321!important;
  border:1px solid #9fcac5!important;
  min-width:180px!important;
}

@media(max-width:1050px){
  .homeEditorialIntro{grid-template-columns:1fr;gap:28px;padding-top:58px}
  .homeDetailLedger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homeDetailLedger article:nth-child(3){border-left:0;padding-left:0}
  .homeDetailLedger article:nth-child(3),.homeDetailLedger article:nth-child(4){border-top:0}
}

@media(max-width:720px){
  .homeEditorialIntro{
    margin:0!important;
    padding:46px 20px 38px!important;
    gap:22px!important;
    background-size:22px 22px;
  }
  .homeEditorialLead h2{font-size:38px!important}
  .homeEditorialCopy p{font-size:14.5px!important}
  .homeEditorialCopy .homeEditorialStrong{font-size:16px!important;margin-top:24px!important}
  .homeDetailLedger{
    grid-template-columns:1fr!important;
    padding:0 20px 48px!important;
  }
  .homeDetailLedger article,
  .homeDetailLedger article+article{
    min-height:0!important;
    padding:20px 0 22px!important;
    border-left:0!important;
    border-top:1px solid var(--home-line)!important;
    border-bottom:0!important;
  }
  .homeDetailLedger article:last-child{border-bottom:1px solid var(--home-line)!important}
  .publicLanding .publicClinicalPreview{padding:52px 20px!important}
  .publicLanding .publicClinicalPreviewHead{align-items:flex-start!important}
  .publicLanding .publicClinicalPreviewHead h2{font-size:36px!important}
  .publicLanding .publicClinicalCard{min-height:145px!important;padding:20px!important}
  .publicLanding .homeWorkshopCards{padding:48px 20px!important}
  .publicLanding .homePortalTeaser{
    margin:0 18px 48px!important;
    padding:34px 24px!important;
    border-radius:20px!important;
    align-items:flex-start!important;
  }
  .publicLanding .homePortalTeaser .button{width:100%!important}
}

/* =========================================================
   V37.5.4 — Web-native Institutional hero
   Keeps the supplied Canva composition, but makes it behave
   like the rest of the website rather than a flat poster image.
   Keep this block LAST.
   ========================================================= */

.publicLanding .pscInstitutionalHero{
  --hero-paper:#fbfaf7;
  --hero-ink:#242625;
  --hero-teal:#24a8a1;
  --hero-kraft:#b98d5a;
  width:100%;
  min-height:clamp(560px,65vw,760px);
  padding:clamp(58px,7vw,108px) clamp(34px,5.5vw,96px) clamp(50px,6vw,86px);
  display:grid;
  grid-template-columns:minmax(380px,.82fr) minmax(560px,1.18fr);
  align-items:center;
  gap:clamp(50px,6vw,110px);
  position:relative;
  overflow:hidden;
  background-color:var(--hero-paper);
  background-image:
    linear-gradient(rgba(22,28,27,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,28,27,.042) 1px,transparent 1px);
  background-size:30px 30px;
  border-bottom:1px solid #d9d4cc;
}
.publicLanding .pscInstitutionalHero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 83% 16%,rgba(37,170,162,.08),transparent 30%),
    linear-gradient(90deg,rgba(255,255,255,.56),transparent 44%);
}
.publicLanding .pscHeroLeft,
.publicLanding .pscHeroBoard{position:relative;z-index:1}
.publicLanding .pscHeroLeft{align-self:stretch;display:flex;flex-direction:column;justify-content:center;max-width:590px}
.publicLanding .pscHeroLeft h1{
  margin:0;
  display:flex;
  flex-direction:column;
  width:max-content;
  max-width:100%;
  font-size:clamp(66px,7.1vw,116px);
  line-height:.79;
  letter-spacing:-.072em;
  font-weight:700;
  color:var(--hero-ink);
}
.publicLanding .pscHeroLeft h1 span,
.publicLanding .pscHeroLeft h1 strong{display:block;font-weight:700}
.publicLanding .pscHeroLeft h1 strong{
  color:var(--hero-teal);
  margin-left:clamp(50px,6vw,104px);
  font-weight:600;
}
.publicLanding .pscHeroTagline{
  margin:clamp(42px,5vw,68px) 0 0 clamp(58px,7vw,116px);
  width:max-content;
  max-width:calc(100% - 58px);
}
.publicLanding .pscHeroTagline i{
  display:block;
  width:68px;
  height:2px;
  margin:0 auto 19px;
  background:var(--hero-teal);
  opacity:.62;
}
.publicLanding .pscHeroTagline p{
  margin:0;
  font-size:clamp(23px,2vw,34px);
  letter-spacing:-.055em;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
}
.publicLanding .pscHeroAudience{
  margin:auto 0 0;
  padding-top:52px;
  color:#626663;
  font-size:12px;
  line-height:1.45;
}

.publicLanding .pscHeroBoard{
  width:min(100%,690px);
  justify-self:end;
  aspect-ratio:1.42/1;
  border:1px solid #2c2925;
  border-radius:19px;
  padding:clamp(26px,2.6vw,38px) clamp(25px,2.4vw,34px) clamp(24px,2.6vw,36px);
  background-color:var(--hero-kraft);
  background-image:
    radial-gradient(circle at 15% 20%,rgba(255,255,255,.09) 0 1px,transparent 1.5px),
    radial-gradient(circle at 70% 55%,rgba(40,28,18,.10) 0 1px,transparent 1.4px),
    linear-gradient(125deg,rgba(255,255,255,.06),rgba(69,40,18,.05));
  background-size:13px 13px,17px 17px,100% 100%;
  box-shadow:0 24px 70px rgba(43,34,26,.09);
  transform:rotate(.15deg);
  display:flex;
  flex-direction:column;
}
.publicLanding .pscHeroBoardStages{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.publicLanding .pscHeroBoardStages article{
  position:relative;
  min-height:166px;
  padding:18px 12px 14px;
  border-radius:14px;
  background:#071615;
  color:#fff;
}
.publicLanding .pscHeroBoardStages small{
  position:absolute;
  top:11px;
  right:10px;
  font-size:7px;
  line-height:1;
  font-weight:800;
  color:#42c7bf;
}
.publicLanding .pscHeroBoardStages h2{
  margin:0 0 48px;
  font-size:14px;
  letter-spacing:-.035em;
  line-height:1;
  color:#f6f6f2;
}
.publicLanding .pscHeroBoardStages p{
  margin:0;
  font-size:8.7px;
  line-height:1.42;
  color:#e5e6e2;
}
.publicLanding .pscHeroBarcode{
  width:58%;
  height:62px;
  margin:clamp(38px,4vw,58px) auto 14px;
  background:repeating-linear-gradient(
    90deg,
    #0b0a09 0 2px,
    transparent 2px 5px,
    #0b0a09 5px 7px,
    transparent 7px 10px,
    #0b0a09 10px 14px,
    transparent 14px 16px,
    #0b0a09 16px 18px,
    transparent 18px 22px
  );
}
.publicLanding .pscHeroBoardLabel{
  display:block;
  margin-top:auto;
  text-align:center;
  font-size:13px;
  letter-spacing:-.02em;
  font-weight:800;
  color:#13110f;
}

/* The next section should feel connected to the hero, not like a new website. */
.publicLanding .homeEditorialIntro{margin-top:0!important}

@media(max-width:1120px){
  .publicLanding .pscInstitutionalHero{
    min-height:auto;
    grid-template-columns:minmax(310px,.75fr) minmax(470px,1.25fr);
    gap:42px;
    padding-left:34px;
    padding-right:34px;
  }
  .publicLanding .pscHeroBoardStages article{min-height:148px}
  .publicLanding .pscHeroBoardStages h2{margin-bottom:38px;font-size:12.5px}
  .publicLanding .pscHeroBoardStages p{font-size:7.8px}
}

@media(max-width:860px){
  .publicLanding .pscInstitutionalHero{
    grid-template-columns:1fr;
    gap:50px;
    padding:58px 24px 46px;
  }
  .publicLanding .pscHeroLeft{max-width:none}
  .publicLanding .pscHeroLeft h1{font-size:clamp(64px,16vw,102px)}
  .publicLanding .pscHeroLeft h1 strong{margin-left:clamp(36px,10vw,88px)}
  .publicLanding .pscHeroTagline{margin-left:clamp(36px,10vw,88px);margin-top:40px}
  .publicLanding .pscHeroAudience{margin-top:44px;padding-top:0}
  .publicLanding .pscHeroBoard{justify-self:center;width:min(100%,650px);transform:none}
}

@media(max-width:560px){
  .publicLanding .pscInstitutionalHero{padding:44px 18px 34px;gap:38px;background-size:24px 24px}
  .publicLanding .pscHeroLeft h1{font-size:clamp(57px,18vw,78px);line-height:.82}
  .publicLanding .pscHeroLeft h1 strong{margin-left:28px}
  .publicLanding .pscHeroTagline{margin:30px 0 0 28px;max-width:calc(100% - 28px)}
  .publicLanding .pscHeroTagline i{width:48px;margin-bottom:14px}
  .publicLanding .pscHeroTagline p{font-size:20px;white-space:normal}
  .publicLanding .pscHeroAudience{font-size:11px;margin-top:36px}
  .publicLanding .pscHeroBoard{aspect-ratio:auto;padding:18px 16px 20px;border-radius:16px}
  .publicLanding .pscHeroBoardStages{grid-template-columns:1fr 1fr;gap:7px}
  .publicLanding .pscHeroBoardStages article{min-height:128px;padding:15px 11px 12px}
  .publicLanding .pscHeroBoardStages h2{font-size:12px;margin-bottom:28px}
  .publicLanding .pscHeroBoardStages p{font-size:8px}
  .publicLanding .pscHeroBarcode{height:44px;width:72%;margin:28px auto 12px}
  .publicLanding .pscHeroBoardLabel{font-size:10px}
}

/* =========================================================
   V37.5.5 — Clean open Institutional hero
   Remove the kraft/cardboard container. Keep the composition
   native: left-aligned title + line + statement, four process
   cards floating cleanly to the right, barcode beneath.
   Keep this block LAST.
   ========================================================= */

.publicLanding .pscInstitutionalHero{
  min-height:clamp(520px,58vw,700px)!important;
  grid-template-columns:minmax(420px,.9fr) minmax(650px,1.1fr)!important;
  gap:clamp(64px,6vw,118px)!important;
  padding:clamp(68px,7vw,108px) clamp(48px,6vw,104px) clamp(48px,5vw,78px)!important;
  align-items:center!important;
  background-color:#fbfaf7!important;
  background-image:
    linear-gradient(rgba(22,28,27,.038) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,28,27,.038) 1px,transparent 1px)!important;
  background-size:30px 30px!important;
}
.publicLanding .pscInstitutionalHero:before{
  background:linear-gradient(90deg,rgba(255,255,255,.45),transparent 42%)!important;
}

/* Left column: deliberately flush. No offsetting the teal line. */
.publicLanding .pscHeroLeft{
  max-width:620px!important;
  justify-content:center!important;
}
.publicLanding .pscHeroLeft h1{
  width:100%!important;
  max-width:none!important;
  font-size:clamp(72px,7.2vw,118px)!important;
  line-height:.80!important;
  letter-spacing:-.072em!important;
  align-items:flex-start!important;
  text-align:left!important;
}
.publicLanding .pscHeroLeft h1 span,
.publicLanding .pscHeroLeft h1 strong{
  margin-left:0!important;
  text-align:left!important;
}
.publicLanding .pscHeroLeft h1 strong{
  color:#24a8a1!important;
  font-weight:600!important;
}
.publicLanding .pscHeroTagline{
  margin:clamp(44px,4.5vw,66px) 0 0!important;
  width:auto!important;
  max-width:100%!important;
  text-align:left!important;
}
.publicLanding .pscHeroTagline i{
  width:68px!important;
  height:2px!important;
  margin:0 0 22px!important;
  background:#24a8a1!important;
  opacity:.62!important;
}
.publicLanding .pscHeroTagline p{
  margin:0!important;
  font-size:clamp(24px,2.05vw,34px)!important;
  line-height:1.05!important;
  letter-spacing:-.055em!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.publicLanding .pscHeroAudience{
  margin:clamp(76px,8vw,116px) 0 0!important;
  padding:0!important;
  text-align:left!important;
  font-size:12px!important;
  color:#626663!important;
}

/* Right column: no outer board/container at all. */
.publicLanding .pscHeroProcess{
  position:relative;
  z-index:1;
  width:100%;
  max-width:760px;
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:center;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.publicLanding .pscHeroBoardStages{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.publicLanding .pscHeroBoardStages article{
  min-height:190px!important;
  padding:19px 14px 18px!important;
  border-radius:14px!important;
  background:#071615!important;
  color:#fff!important;
  display:flex!important;
  flex-direction:column!important;
}
.publicLanding .pscHeroBoardStages small{
  top:11px!important;
  right:11px!important;
  font-size:7px!important;
}
.publicLanding .pscHeroBoardStages h2{
  margin:0 0 auto!important;
  padding-bottom:28px!important;
  font-size:14px!important;
  line-height:1!important;
}
.publicLanding .pscHeroBoardStages p{
  margin:0!important;
  font-size:9.2px!important;
  line-height:1.48!important;
  letter-spacing:-.01em!important;
  color:#f0f1ee!important;
}
.publicLanding .pscHeroBarcode{
  width:55%!important;
  max-width:360px!important;
  height:60px!important;
  margin:40px auto 14px!important;
}
.publicLanding .pscHeroBoardLabel{
  margin:0!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.15!important;
}

@media(max-width:1180px){
  .publicLanding .pscInstitutionalHero{
    grid-template-columns:minmax(330px,.82fr) minmax(540px,1.18fr)!important;
    gap:46px!important;
    padding-left:34px!important;
    padding-right:34px!important;
  }
  .publicLanding .pscHeroBoardStages article{min-height:170px!important;padding:17px 12px 15px!important}
  .publicLanding .pscHeroBoardStages h2{font-size:13px!important;padding-bottom:22px!important}
  .publicLanding .pscHeroBoardStages p{font-size:8.3px!important}
}

@media(max-width:900px){
  .publicLanding .pscInstitutionalHero{
    grid-template-columns:1fr!important;
    gap:58px!important;
    padding:56px 26px 44px!important;
  }
  .publicLanding .pscHeroLeft{max-width:none!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(66px,15vw,100px)!important}
  .publicLanding .pscHeroTagline{margin-top:38px!important}
  .publicLanding .pscHeroAudience{margin-top:50px!important}
  .publicLanding .pscHeroProcess{justify-self:stretch!important;max-width:none!important}
  .publicLanding .pscHeroBoardStages{max-width:760px!important;margin:0 auto!important}
  .publicLanding .pscHeroBarcode{margin-top:34px!important}
}

@media(max-width:620px){
  .publicLanding .pscInstitutionalHero{padding:42px 18px 34px!important;gap:44px!important;background-size:24px 24px!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(56px,17vw,76px)!important;line-height:.82!important}
  .publicLanding .pscHeroTagline{margin-top:28px!important}
  .publicLanding .pscHeroTagline i{width:48px!important;margin-bottom:14px!important}
  .publicLanding .pscHeroTagline p{font-size:20px!important;white-space:normal!important}
  .publicLanding .pscHeroAudience{margin-top:38px!important;font-size:11px!important}
  .publicLanding .pscHeroBoardStages{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .publicLanding .pscHeroBoardStages article{min-height:142px!important;padding:15px 12px 13px!important}
  .publicLanding .pscHeroBoardStages h2{font-size:12px!important;padding-bottom:18px!important}
  .publicLanding .pscHeroBoardStages p{font-size:8px!important;line-height:1.42!important}
  .publicLanding .pscHeroBarcode{width:72%!important;height:46px!important;margin:28px auto 12px!important}
  .publicLanding .pscHeroBoardLabel{font-size:10px!important}
}

/* =========================================================
   V37.5.6 — Hero alignment correction
   Align the hero's left edge to the Pharma Service logo/header
   rather than centring the title inside an oversized hero inset.
   Keep this block LAST.
   ========================================================= */

@media(min-width:1181px){
  .publicLanding .pscInstitutionalHero{
    padding-left:clamp(34px,3.2vw,64px)!important;
    padding-right:clamp(34px,3.2vw,64px)!important;
    grid-template-columns:minmax(500px,.92fr) minmax(650px,1.08fr)!important;
    gap:clamp(54px,4.2vw,78px)!important;
  }
  .publicLanding .pscHeroLeft{
    justify-self:start!important;
    width:100%!important;
    max-width:650px!important;
  }
  .publicLanding .pscHeroLeft h1,
  .publicLanding .pscHeroTagline,
  .publicLanding .pscHeroAudience{
    margin-left:0!important;
    text-align:left!important;
  }
  .publicLanding .pscHeroLeft h1{
    font-size:clamp(70px,6.65vw,108px)!important;
  }
  .publicLanding .pscHeroProcess{
    justify-self:end!important;
    max-width:760px!important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .publicLanding .pscInstitutionalHero{
    padding-left:28px!important;
    padding-right:28px!important;
  }
}

/* =========================================================
   V37.5.7 — Hero composition reset
   Correct the desktop proportions rather than layering another
   oversized card treatment. Keep this block LAST.
   ========================================================= */

/* The hero follows the same horizontal axis as the header. */
.publicLanding .pscInstitutionalHero{
  min-height:650px!important;
  padding:72px clamp(34px,3.2vw,64px) 42px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important;
  column-gap:clamp(54px,5vw,88px)!important;
  row-gap:0!important;
  overflow:hidden!important;
  align-items:center!important;
}

.publicLanding .pscHeroLeft{
  width:100%!important;
  max-width:590px!important;
  min-width:0!important;
  justify-self:start!important;
  align-self:stretch!important;
  justify-content:center!important;
}
.publicLanding .pscHeroLeft h1{
  width:auto!important;
  max-width:100%!important;
  font-size:clamp(74px,6.15vw,100px)!important;
  line-height:.82!important;
  letter-spacing:-.07em!important;
  margin:0!important;
}
.publicLanding .pscHeroLeft h1 span,
.publicLanding .pscHeroLeft h1 strong{
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.publicLanding .pscHeroTagline{
  margin:54px 0 0!important;
  max-width:100%!important;
}
.publicLanding .pscHeroTagline i{
  width:64px!important;
  margin:0 0 20px!important;
}
.publicLanding .pscHeroTagline p{
  font-size:clamp(22px,1.65vw,29px)!important;
  white-space:normal!important;
  line-height:1.08!important;
  max-width:430px!important;
}
.publicLanding .pscHeroAudience{
  margin-top:auto!important;
  padding-top:58px!important;
  font-size:11.5px!important;
}

/* The process is intentionally compact, like the Canva reference. */
.publicLanding .pscHeroProcess{
  width:min(100%,650px)!important;
  max-width:650px!important;
  min-width:0!important;
  justify-self:end!important;
  align-self:center!important;
  overflow:visible!important;
}
.publicLanding .pscHeroBoardStages{
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0!important;
}
.publicLanding .pscHeroBoardStages article{
  min-width:0!important;
  min-height:168px!important;
  height:168px!important;
  padding:16px 13px 14px!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.publicLanding .pscHeroBoardStages h2{
  font-size:12px!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  font-weight:800!important;
}
.publicLanding .pscHeroBoardStages small{
  top:11px!important;
  right:10px!important;
  font-size:7px!important;
}
.publicLanding .pscHeroBoardStages p{
  margin-top:auto!important;
  font-size:7.7px!important;
  line-height:1.34!important;
  letter-spacing:-.015em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.publicLanding .pscHeroBarcode{
  width:52%!important;
  max-width:340px!important;
  height:55px!important;
  margin:38px auto 12px!important;
}
.publicLanding .pscHeroBoardLabel{
  font-size:11.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Intermediate desktop: preserve four cards and scale down cleanly. */
@media(min-width:901px) and (max-width:1250px){
  .publicLanding .pscInstitutionalHero{
    min-height:600px!important;
    padding:62px 28px 38px!important;
    grid-template-columns:minmax(350px,.92fr) minmax(0,1.08fr)!important;
    column-gap:38px!important;
  }
  .publicLanding .pscHeroLeft h1{font-size:clamp(64px,6.6vw,82px)!important}
  .publicLanding .pscHeroTagline{margin-top:42px!important}
  .publicLanding .pscHeroTagline p{font-size:22px!important}
  .publicLanding .pscHeroProcess{width:100%!important;max-width:590px!important}
  .publicLanding .pscHeroBoardStages article{height:154px!important;min-height:154px!important;padding:14px 10px 12px!important}
  .publicLanding .pscHeroBoardStages h2{font-size:11px!important}
  .publicLanding .pscHeroBoardStages p{font-size:7px!important;line-height:1.3!important}
  .publicLanding .pscHeroBarcode{height:49px!important;margin-top:32px!important}
  .publicLanding .pscHeroBoardLabel{font-size:10.5px!important}
}

/* Tablet/mobile becomes an intentional vertical composition. */
@media(max-width:900px){
  .publicLanding .pscInstitutionalHero{
    min-height:auto!important;
    grid-template-columns:1fr!important;
    gap:48px!important;
    padding:54px 24px 38px!important;
  }
  .publicLanding .pscHeroLeft{max-width:none!important;align-self:auto!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(62px,14vw,92px)!important}
  .publicLanding .pscHeroTagline{margin-top:36px!important}
  .publicLanding .pscHeroAudience{margin-top:42px!important;padding-top:0!important}
  .publicLanding .pscHeroProcess{width:100%!important;max-width:650px!important;justify-self:start!important}
  .publicLanding .pscHeroBoardStages article{height:156px!important;min-height:156px!important}
}

@media(max-width:620px){
  .publicLanding .pscInstitutionalHero{padding:42px 18px 32px!important;gap:38px!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(54px,16vw,72px)!important}
  .publicLanding .pscHeroTagline{margin-top:28px!important}
  .publicLanding .pscHeroTagline p{font-size:19px!important;max-width:320px!important}
  .publicLanding .pscHeroAudience{margin-top:32px!important;font-size:10.5px!important}
  .publicLanding .pscHeroBoardStages{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .publicLanding .pscHeroBoardStages article{height:138px!important;min-height:138px!important;padding:14px 12px 12px!important}
  .publicLanding .pscHeroBoardStages h2{font-size:11.5px!important}
  .publicLanding .pscHeroBoardStages p{font-size:7.5px!important;line-height:1.32!important}
  .publicLanding .pscHeroBarcode{width:68%!important;height:42px!important;margin:26px auto 10px!important}
  .publicLanding .pscHeroBoardLabel{font-size:9.5px!important;white-space:normal!important;text-align:center!important}
}

/* =========================================================
   V37.5.8 — Business-card /start landing page
   ========================================================= */
.startPage{background:#faf8f2;color:#141717}
.startHero{
  max-width:1460px;
  margin:0 auto;
  padding:clamp(56px,7vw,108px) clamp(30px,5vw,76px) clamp(46px,6vw,84px);
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr);
  gap:clamp(46px,6vw,96px);
  align-items:start;
  background-image:linear-gradient(rgba(21,123,121,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(21,123,121,.055) 1px,transparent 1px);
  background-size:32px 32px;
  border-bottom:1px solid rgba(23,23,23,.08);
}
.startHeroCopy{max-width:650px;padding-top:14px}
.startHeroCopy h1{font-size:clamp(58px,6.2vw,94px);line-height:.91;letter-spacing:-.065em;margin:18px 0 24px;max-width:620px}
.startHeroCopy>p{font-size:18px;line-height:1.65;color:#535b5a;max-width:610px;margin:0}
.startScope{margin-top:38px;padding-top:22px;border-top:1px solid rgba(20,23,23,.18);display:grid;gap:7px}
.startScope b{font-size:14px}.startScope span{font-size:13px;color:#666e6d}
.startCredential{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px;color:#6e7574;font-size:11px}
.startCredential span+span:before{content:'·';margin-right:18px;color:#a4aaa8}
.startChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-self:center}
.startChoice{min-height:330px;border:1px solid rgba(15,25,25,.11);border-radius:24px;padding:24px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.startChoice>span{font-size:10px;font-weight:800;color:#65706d;letter-spacing:.12em}
.startChoice h2{font-size:27px;line-height:1.04;letter-spacing:-.045em;margin:34px 0 12px}
.startChoice p{font-size:13px;line-height:1.55;color:#596360;margin:0 0 24px}
.startChoice .button{margin-top:auto;width:100%;min-height:48px;border-radius:15px;font-size:12px}
.startChoiceCatalogue{background:#dcefeb}
.startChoiceSend{background:#f2d8dd}
.startChoiceModel{background:#e7e6c8}
.startChoiceModel .button.dark{background:#0b1d1b;color:#fff}
.startWorkshopStrip{max-width:1320px;margin:54px auto 0;padding:30px 34px;border:1px solid rgba(17,26,25,.12);border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff}
.startWorkshopStrip h2{font-size:30px;letter-spacing:-.04em;margin:7px 0 8px}
.startWorkshopStrip p{margin:0;color:#697270;line-height:1.55}
.startWorkshopStrip .button{flex:0 0 auto;min-height:48px;border-radius:15px;padding:0 22px}
.startSendSection{max-width:1320px;margin:20px auto 70px;padding:60px clamp(30px,5vw,72px);background:#0c1d1b;color:#fff;border-radius:28px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,6vw,88px);align-items:start}
.startSendIntro .kicker{color:#6ed4cd}
.startSendIntro h2{font-size:clamp(38px,4.5vw,62px);line-height:.98;letter-spacing:-.055em;margin:14px 0 18px}
.startSendIntro>p{color:#c3cfcc;font-size:15px;line-height:1.65;margin:0;max-width:430px}
.startSendAside{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:12px;font-size:12px}
.startSendAside .textAction{color:#7ad7d0}
.startProspectForm{background:#fff;color:#171b1b;border-radius:22px;padding:24px;border:0;box-shadow:none}
.startProspectForm .prospectSubmitRow{margin-top:2px}
.startProspectForm .prospectSubmitRow p{max-width:420px}

@media(max-width:1120px){
  .startHero{grid-template-columns:1fr;padding-top:64px}
  .startHeroCopy{max-width:760px}
  .startChoices{width:100%}
  .startChoice{min-height:270px}
  .startSendSection{margin-left:24px;margin-right:24px}
  .startWorkshopStrip{margin-left:24px;margin-right:24px}
}
@media(max-width:760px){
  .startHero{padding:42px 20px 36px;gap:32px;background-size:26px 26px}
  .startHeroCopy h1{font-size:54px;margin-top:12px}
  .startHeroCopy>p{font-size:15px}
  .startCredential{display:grid;gap:5px;margin-top:22px}.startCredential span+span:before{display:none}
  .startChoices{grid-template-columns:1fr;gap:10px}
  .startChoice{min-height:0;padding:22px;border-radius:20px}
  .startChoice h2{font-size:25px;margin:20px 0 9px}
  .startChoice p{margin-bottom:20px}
  .startWorkshopStrip{margin:24px 18px 0;padding:24px;display:grid}
  .startWorkshopStrip h2{font-size:26px}.startWorkshopStrip .button{width:100%}
  .startSendSection{margin:14px 18px 48px;padding:30px 20px;border-radius:22px;grid-template-columns:1fr;gap:28px}
  .startSendIntro h2{font-size:42px}
  .startProspectForm{padding:18px}
}

/* =========================================================
   V37.5.9 — Current Pharma Service logo rollout
   Supplied transparent mark replaces the legacy wordmark site-wide.
   Keep this block LAST.
   ========================================================= */

/* Public website header: same left anchor, new mark sized by height so
   the more vertical artwork remains intact and never stretches. */
.publicHeader .publicLogo,
.v37PublicHeader .publicLogo{
  min-width:112px!important;
  height:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
.publicHeader .publicLogo img,
.v37PublicHeader .publicLogo img{
  width:auto!important;
  height:70px!important;
  max-width:112px!important;
  max-height:70px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Portal header: retain the existing header grid/slot; only replace the art. */
.portalHeaderBar .topbarBrandSlot,
.portalHeaderBar .topbarBrandSlot.plainLogo{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  height:64px!important;
  justify-content:flex-start!important;
}
.portalHeaderBar .topbarBrandSlot img,
.topbarBrandSlot img{
  width:auto!important;
  height:58px!important;
  max-width:92px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Any older in-app brand image using the same master logo. */
.brandImage,
.brandImageLight{
  width:auto!important;
  height:64px!important;
  max-width:102px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Login/account card. */
.loginCard img,
.v26LoginCard img{
  width:auto!important;
  height:94px!important;
  max-width:142px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Public footer. */
.publicFooter img,
.v37PublicFooter img{
  width:auto!important;
  height:82px!important;
  max-width:124px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

@media(max-width:900px){
  .publicHeader .publicLogo,
  .v37PublicHeader .publicLogo{
    min-width:86px!important;
    height:62px!important;
  }
  .publicHeader .publicLogo img,
  .v37PublicHeader .publicLogo img{
    height:56px!important;
    max-width:88px!important;
    max-height:56px!important;
  }
  .portalHeaderBar .topbarBrandSlot,
  .portalHeaderBar .topbarBrandSlot.plainLogo{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    justify-content:center!important;
  }
  .portalHeaderBar .topbarBrandSlot img,
  .topbarBrandSlot img{
    height:46px!important;
    max-width:74px!important;
    max-height:46px!important;
    object-position:center!important;
  }
  .publicFooter img,
  .v37PublicFooter img{height:72px!important;max-width:110px!important}
}

@media(max-width:620px){
  .publicHeader .publicLogo,
  .v37PublicHeader .publicLogo{min-width:76px!important;height:56px!important}
  .publicHeader .publicLogo img,
  .v37PublicHeader .publicLogo img{height:50px!important;max-width:78px!important;max-height:50px!important}
  .loginCard img,.v26LoginCard img{height:82px!important;max-width:124px!important}
}


/* =========================================================
   V37.5.10 — Simplified hero + correctly scaled master logo
   Reference direction: open editorial composition, 2x2 process
   cards, no process copy inside cards. Keep this block LAST.
   ========================================================= */

/* --- Master logo scaling: cropped transparent artwork, not stretched. --- */
@media(min-width:1101px){
  .v37PublicHeader{
    min-height:148px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .publicHeader .publicLogo,.v37PublicHeader .publicLogo{
    min-width:220px!important;
    width:220px!important;
    height:128px!important;
  }
  .publicHeader .publicLogo img,.v37PublicHeader .publicLogo img{
    width:auto!important;
    height:122px!important;
    max-width:205px!important;
    max-height:122px!important;
  }
}
@media(min-width:721px) and (max-width:1100px){
  .publicHeader,.v37PublicHeader{min-height:124px!important}
  .publicHeader .publicLogo,.v37PublicHeader .publicLogo{min-width:178px!important;width:178px!important;height:108px!important}
  .publicHeader .publicLogo img,.v37PublicHeader .publicLogo img{height:102px!important;max-width:165px!important;max-height:102px!important}
}
@media(max-width:720px){
  .v37PublicHeader{height:80px!important;min-height:80px!important}
  .publicHeader .publicLogo,.v37PublicHeader .publicLogo{min-width:112px!important;width:112px!important;height:70px!important}
  .publicHeader .publicLogo img,.v37PublicHeader .publicLogo img{height:66px!important;max-width:108px!important;max-height:66px!important}
}
.portalHeaderBar{min-height:84px!important}
.portalHeaderBar .topbarBrandSlot,.portalHeaderBar .topbarBrandSlot.plainLogo{width:128px!important;min-width:128px!important;max-width:128px!important;height:76px!important}
.portalHeaderBar .topbarBrandSlot img,.topbarBrandSlot img{height:70px!important;max-width:114px!important;max-height:70px!important}
.loginCard img,.v26LoginCard img{height:126px!important;max-width:190px!important;max-height:126px!important}
.publicFooter img,.v37PublicFooter img{height:108px!important;max-width:168px!important;max-height:108px!important}
.brandImage,.brandImageLight{height:82px!important;max-width:128px!important}

/* --- Homepage hero: open, simple, and deliberately asymmetrical. --- */
.publicLanding .pscInstitutionalHero{
  min-height:620px!important;
  padding:72px clamp(34px,3.2vw,64px) 58px!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr)!important;
  gap:clamp(70px,7vw,130px)!important;
  align-items:center!important;
  overflow:visible!important;
  background-color:#fbfaf7!important;
  background-image:
    linear-gradient(rgba(22,28,27,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,28,27,.025) 1px,transparent 1px)!important;
  background-size:34px 34px!important;
}
.publicLanding .pscInstitutionalHero:before{display:none!important}
.publicLanding .pscHeroLeft{
  width:100%!important;
  max-width:720px!important;
  align-self:center!important;
  justify-content:center!important;
}
.publicLanding .pscHeroLeft h1{
  margin:0!important;
  width:100%!important;
  font-size:clamp(76px,6.6vw,108px)!important;
  line-height:.82!important;
  letter-spacing:-.068em!important;
}
.publicLanding .pscHeroLeft h1 span,.publicLanding .pscHeroLeft h1 strong{margin:0!important;text-align:left!important}
.publicLanding .pscHeroLeft h1 strong{color:#20a5a4!important;font-weight:600!important}
.publicLanding .pscHeroOffer{margin-top:52px!important;max-width:610px!important}
.publicLanding .pscHeroOffer i{display:block;width:74px;height:2px;background:#20a5a4;opacity:.58;margin:0 0 28px}
.publicLanding .pscHeroOffer p{margin:0!important;display:grid!important;gap:9px!important}
.publicLanding .pscHeroOffer b{font-size:clamp(18px,1.55vw,26px)!important;line-height:1.18!important;letter-spacing:-.035em!important;color:#242625!important}
.publicLanding .pscHeroOffer span{font-size:clamp(17px,1.45vw,24px)!important;line-height:1.22!important;letter-spacing:-.035em!important;color:#242625!important;font-weight:400!important}
.publicLanding .pscHeroAudience{margin:34px 0 0!important;padding:0!important;font-size:12px!important;color:#606562!important}

.publicLanding .pscHeroProcess{
  width:min(100%,410px)!important;
  max-width:410px!important;
  justify-self:center!important;
  align-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.publicLanding .pscHeroBoardStages{
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.publicLanding .pscHeroBoardStages article{
  aspect-ratio:1/1!important;
  min-height:0!important;
  height:auto!important;
  padding:17px 15px 14px!important;
  border-radius:15px!important;
  background:#071615!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  overflow:hidden!important;
}
.publicLanding .pscHeroBoardStages small{top:11px!important;right:11px!important;font-size:7px!important;color:#31c4be!important}
.publicLanding .pscHeroStageIcon{width:76px!important;height:76px!important;margin:12px auto 0!important;display:grid!important;place-items:center!important;color:#f5f7f5!important}
.publicLanding .pscHeroStageIcon svg{width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.publicLanding .pscHeroBoardStages h2{margin:0!important;padding:0!important;font-size:15px!important;line-height:1!important;text-align:right!important;letter-spacing:-.02em!important;color:#f8faf7!important;font-weight:800!important}
.publicLanding .pscHeroBoardStages p{display:none!important}
.publicLanding .pscHeroBarcode{width:76%!important;max-width:310px!important;height:64px!important;margin:30px auto 12px!important}
.publicLanding .pscHeroBoardLabel{font-size:12px!important;line-height:1.1!important;white-space:nowrap!important;text-align:center!important}

@media(min-width:901px) and (max-width:1180px){
  .publicLanding .pscInstitutionalHero{grid-template-columns:minmax(0,1fr) minmax(330px,.72fr)!important;gap:44px!important;padding-left:28px!important;padding-right:28px!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(66px,6.4vw,82px)!important}
  .publicLanding .pscHeroOffer{margin-top:40px!important}
  .publicLanding .pscHeroOffer b{font-size:18px!important}.publicLanding .pscHeroOffer span{font-size:17px!important}
  .publicLanding .pscHeroProcess{max-width:350px!important}
  .publicLanding .pscHeroBoardStages{gap:12px!important}
  .publicLanding .pscHeroStageIcon{width:64px!important;height:64px!important}
  .publicLanding .pscHeroBoardStages h2{font-size:13px!important}
  .publicLanding .pscHeroBarcode{height:54px!important;margin-top:26px!important}
}
@media(max-width:900px){
  .publicLanding .pscInstitutionalHero{min-height:auto!important;grid-template-columns:1fr!important;gap:48px!important;padding:54px 24px 42px!important}
  .publicLanding .pscHeroLeft{max-width:none!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(64px,14vw,92px)!important}
  .publicLanding .pscHeroOffer{margin-top:38px!important}.publicLanding .pscHeroAudience{margin-top:28px!important}
  .publicLanding .pscHeroProcess{max-width:430px!important;justify-self:start!important}
}
@media(max-width:620px){
  .publicLanding .pscInstitutionalHero{padding:42px 18px 34px!important;gap:38px!important;background-size:26px 26px!important}
  .publicLanding .pscHeroLeft h1{font-size:clamp(56px,16vw,74px)!important}
  .publicLanding .pscHeroOffer{margin-top:30px!important}.publicLanding .pscHeroOffer i{width:52px!important;margin-bottom:18px!important}
  .publicLanding .pscHeroOffer b{font-size:16px!important}.publicLanding .pscHeroOffer span{font-size:15px!important}
  .publicLanding .pscHeroAudience{font-size:10.5px!important;margin-top:24px!important}
  .publicLanding .pscHeroProcess{width:100%!important;max-width:360px!important}
  .publicLanding .pscHeroBoardStages{gap:10px!important}
  .publicLanding .pscHeroBoardStages article{padding:13px 11px 11px!important;border-radius:13px!important}
  .publicLanding .pscHeroStageIcon{width:58px!important;height:58px!important;margin-top:9px!important}
  .publicLanding .pscHeroBoardStages h2{font-size:12px!important}
  .publicLanding .pscHeroBarcode{width:74%!important;height:48px!important;margin:24px auto 10px!important}
  .publicLanding .pscHeroBoardLabel{font-size:9.5px!important;white-space:normal!important}
}

/* =========================================================
   V37.5.11 — Start-page submit CTA cleanup
   No oversized pill treatment on the institutional enquiry form.
   ========================================================= */
.startProspectForm .prospectSubmitRow{
  align-items:center!important;
  gap:22px!important;
}
.startProspectForm .prospectSubmitRow button[data-public-enquiry-submit]{
  width:auto!important;
  min-width:142px!important;
  min-height:46px!important;
  padding:0 20px!important;
  border-radius:12px!important;
  background:#0c1d1b!important;
  color:#fff!important;
  border:1px solid #0c1d1b!important;
  font-size:12.5px!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
.startProspectForm .prospectSubmitRow button[data-public-enquiry-submit]:hover{
  background:#16302d!important;
  border-color:#16302d!important;
  transform:none!important;
}
@media(max-width:720px){
  .startProspectForm .prospectSubmitRow{
    align-items:flex-start!important;
  }
  .startProspectForm .prospectSubmitRow button[data-public-enquiry-submit]{
    width:100%!important;
    min-height:46px!important;
  }
}

/* =========================================================
   V37.6 — Fluid catalogue / request interaction pass
   Inspired by the attached mobile-commerce navigation reference,
   without adopting checkout/payment mechanics.
   Keep this block LAST.
   ========================================================= */

/* The catalogue should feel continuous rather than like page hopping. */
.productCard,
.publicCatalogueCard,
.relatedProductMini,
.canvaRequest,
.canvaDetails,
.productVisualButton,
.publicProductView,
.publicProductTitle{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.productCard:active,
.publicCatalogueCard:active,
.relatedProductMini:active{transform:scale(.992)!important}

/* Stop the page behind an active product/request sheet. */
body:has(.fluidOverlay),body:has(.requestDrawerBackdrop){overflow:hidden}

/* Overlay movement: fast enough to feel native, quiet enough for PSC. */
.fluidOverlay{
  background:rgba(9,18,18,.42)!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);

}
.fluidProductShell{
  overflow:hidden!important;
  display:flex;
  flex-direction:column;

}
.fluidProductDetail{
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  position:relative;
}
.productDetailModal.fluidProductDetail{
  padding:0!important;
}
.fluidProductHeader{
  position:sticky;
  top:0;
  z-index:8;
  background:#fff!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:20px 22px 16px!important;
  margin:0!important;
  align-items:center!important;
}
.fluidProductHeader>div{flex:1;min-width:0}
.fluidProductHeader h2{font-size:21px!important;line-height:1.08!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.productBackButton{
  width:38px;height:38px;flex:0 0 38px;border:1px solid #e1e7e6;background:#fff;border-radius:12px;
  display:grid;place-items:center;font-size:19px;line-height:1;color:#14201f;cursor:pointer;
}
.productRequestCount{font-size:10px;font-weight:800;color:#0b8581;white-space:nowrap}

.fluidProductGrid{padding:20px 22px 10px;margin:0!important;gap:22px!important}
.fluidImagePane{padding:14px!important}
.fluidImagePane .detailProductImageWrap img{transition:transform .24s ease}
.fluidImagePane:hover .detailProductImageWrap img{transform:scale(1.015)}

.productQuickFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.productQuickFacts>div{background:#f6f8f7;border:1px solid #e7eceb;border-radius:14px;padding:12px 13px;min-width:0}
.productQuickFacts span{display:block;font-size:8px;letter-spacing:.12em;color:#7b8582;font-weight:900}
.productQuickFacts b{display:block;margin-top:6px;font-size:11px;line-height:1.35;color:#1d2927}

/* Product information opens in-place — no navigation detour. */
.productDisclosureList{border-top:1px solid #e5e9e8}
.productDisclosureList details{border-bottom:1px solid #e5e9e8;background:#fff}
.productDisclosureList summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 2px;cursor:pointer;font-size:13px;font-weight:800;color:#17211f;
}
.productDisclosureList summary::-webkit-details-marker{display:none}
.productDisclosureList summary i{font-style:normal;font-size:18px;font-weight:400;transition:transform .18s ease;color:#72807d}
.productDisclosureList details[open] summary i{transform:rotate(45deg)}
.productDisclosureList details>div{padding:0 2px 16px;animation:pscDisclosureIn .16s ease-out both}
.productDisclosureList p{font-size:12px;line-height:1.6;color:#56615f;margin:0 0 8px}
.productDisclosureList small{font-size:10px;line-height:1.5;color:#74807d}
.disclosureFinePrint{font-size:10px!important;color:#7d8785!important;margin-top:9px!important}
.productWorkshopInline{display:grid;gap:5px;width:100%;border:0;background:#f2f8f7;border-radius:13px;padding:12px 13px;text-align:left;cursor:pointer}
.productWorkshopInline small{font-size:8px!important;letter-spacing:.12em;font-weight:900;color:#0b8985!important}
.productWorkshopInline b{font-size:12px;line-height:1.35;color:#17211f}

/* Related products remain inside the same browsing context. */
.productRelatedSection{padding:12px 22px 18px;border-top:1px solid #edf0ef}
.productRelatedHead{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:10px}
.productRelatedHead span{font-size:12px;font-weight:900;color:#17211f}
.productRelatedHead small{font-size:9px;color:#7e8986}
.productRelatedRail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px;scrollbar-width:none}
.productRelatedRail::-webkit-scrollbar{display:none}
.relatedProductMini{scroll-snap-align:start;flex:0 0 190px;border:1px solid #e3e8e7;background:#fff;border-radius:16px;padding:10px;text-align:left;cursor:pointer}
.relatedProductVisual{height:92px;border-radius:12px;background:var(--need-bg,#eef5f4);display:grid;place-items:center;overflow:hidden}
.relatedProductVisual img{width:100%;height:100%;object-fit:contain;background:#fff}
.relatedProductVisual i{font-style:normal;font-size:18px;font-weight:900;color:var(--need-ink,#296663)}
.relatedProductCopy{display:grid;gap:4px;padding-top:9px}
.relatedProductCopy small{font-size:7.5px;letter-spacing:.08em;font-weight:900;color:#77827f;text-transform:uppercase}
.relatedProductCopy b{font-size:11px;line-height:1.25;color:#17211f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.relatedProductCopy em{font-style:normal;font-size:9px;color:#7e8885;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Persistent request action: the useful part of the reference interaction. */
.productStickyBar{
  position:sticky;bottom:0;z-index:9;display:grid;grid-template-columns:auto minmax(180px,1fr);gap:9px;
  padding:12px 22px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dfe6e4;
  background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.productStickyBar .button{min-height:48px;border-radius:13px!important;font-size:12px!important}
.requestViewButton{min-width:128px}
.requestAddButton{background:#20aaa2!important}
.requestViewButton b{margin-left:5px;display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#eef4f3;font-size:9px}
.publicProductSticky{grid-template-columns:1fr 1fr}

/* Public catalogue gets the same immediate inspection pattern. */
.publicProductView{border:0;width:100%;padding:0;cursor:pointer;text-align:inherit}
.publicProductTitle{border:0;background:none;padding:0;text-align:left;color:inherit;cursor:pointer;width:100%}
.publicProductTitle h3{margin:0}
.publicProductSheet .fluidDetailContent{align-self:start;width:100%}

/* Request basket: drawer on desktop, sheet on mobile. */
.requestDrawerBackdrop{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.drawerHandle{display:none}
.drawerHeader small{display:block;margin-top:5px;font-size:10px;color:#7b8583}
.requestLine{grid-template-columns:48px minmax(0,1fr) auto!important;gap:11px!important;padding:15px 0!important}
.requestLineImage{width:48px;height:48px;border:1px solid #e5eae9;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}
.requestLineImage img{width:100%;height:100%;object-fit:contain}
.requestDrawerFooter{background:#fff;position:sticky;bottom:0;z-index:4;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important}
.requestNextStep{margin-bottom:12px}
.submitRequestButton{min-height:50px;border-radius:13px!important;background:#17211f!important}
.requestEmpty .button{margin-top:14px}

/* Small movement only. The UI should feel fast, not animated. */
@keyframes pscDisclosureIn{from{opacity:.35;transform:translateY(-3px)}to{opacity:1;transform:none}}

@media(max-width:820px){
  .fluidOverlay{padding:0!important;align-items:flex-end!important;place-items:end stretch!important}
  .fluidProductShell{
    width:100vw!important;max-width:100vw!important;height:auto!important;max-height:94dvh!important;
    border-radius:24px 24px 0 0!important;
  }
  .fluidProductDetail{max-height:94dvh!important}
  .fluidProductHeader{padding:14px 16px 12px!important}
  .fluidProductHeader h2{font-size:17px!important}
  .productRequestCount{display:none}
  .fluidProductGrid{grid-template-columns:1fr!important;padding:12px 16px 6px!important;gap:13px!important}
  .fluidImagePane{padding:10px!important;background:#fafcfc!important;border-radius:17px!important}
  .fluidImagePane .detailProductImageWrap{min-height:220px}
  .fluidImagePane .detailProductImageWrap img{max-height:250px!important}
  .detailImageMeta{padding-top:10px!important}
  .detailImageMeta b{font-size:15px!important}
  .modalNeedChips{margin-top:8px!important}
  .productQuickFacts{grid-template-columns:1fr 1fr;margin-top:2px}
  .productQuickFacts>div{padding:10px 11px}
  .productDisclosureList summary{padding:14px 1px;font-size:12px}
  .productRelatedSection{padding:12px 16px 14px}
  .relatedProductMini{flex-basis:158px}
  .relatedProductVisual{height:78px}
  .productStickyBar{grid-template-columns:104px 1fr;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .productStickyBar .button{min-height:50px!important;font-size:11.5px!important;padding-left:10px!important;padding-right:10px!important}
  .requestViewButton{min-width:0}
  .publicProductSticky{grid-template-columns:1fr 1fr}

  .requestDrawerBackdrop{align-items:flex-end!important;justify-content:stretch!important;background:rgba(9,18,18,.42)!important}
  .requestDrawer{
    width:100vw!important;max-width:100vw!important;height:auto!important;max-height:92dvh!important;
    border-radius:24px 24px 0 0!important;
  }
  .drawerHandle{display:block;width:42px;height:4px;border-radius:999px;background:#d4dbd9;margin:8px auto 0}
  .drawerHeader{padding:12px 16px 14px!important}
  .drawerBody{padding:4px 16px 10px!important;overscroll-behavior:contain}
  .requestLine{grid-template-columns:44px minmax(0,1fr) auto!important}
  .requestLineImage,.requestLine .productGlyph.small{width:44px!important;height:44px!important}
  .requestDrawerFooter{padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important}
}

@media(max-width:520px){
  .fluidImagePane .detailProductImageWrap{min-height:185px}
  .fluidImagePane .detailProductImageWrap img{max-height:215px!important}
  .productQuickFacts{grid-template-columns:1fr}
  .productRelatedHead{align-items:flex-start;flex-direction:column;gap:2px}
  .productStickyBar{grid-template-columns:96px 1fr}
}


@media(prefers-reduced-motion:reduce){
  .fluidOverlay,.fluidProductShell,.requestDrawer,.productDisclosureList details>div{animation:none!important}
  .fluidImagePane .detailProductImageWrap img{transition:none!important}
}

/* =========================================================
   V37.7 — PSC Mail Desk
   Internal outreach from info@pharmaservice.ae.
   Editorial content first; controlled audience and send history.
   ========================================================= */
.mailDeskHeader{align-items:flex-end!important}
.mailDeskHeader p{max-width:760px!important}
.mailIdentityCard{display:flex;align-items:center;gap:12px;border:1px solid #d9dfdd;background:#fff;border-radius:18px;padding:13px 16px;min-width:270px}
.mailIdentityCard>span{width:38px;height:38px;border-radius:12px;background:#e8f7f5;color:#0b8985;display:grid;place-items:center;flex:0 0 38px}
.mailIdentityCard svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mailIdentityCard div{display:grid;gap:3px}.mailIdentityCard small{font-size:8px;letter-spacing:.12em;font-weight:900;color:#85908d}.mailIdentityCard b{font-size:12px;color:#15211f}
.mailTabs{display:flex;gap:6px;padding:5px;width:max-content;max-width:100%;overflow:auto;background:#eef2f1;border-radius:14px;margin-bottom:18px}
.mailTabs button{border:0;background:transparent;padding:10px 16px;border-radius:10px;font:inherit;font-size:11px;font-weight:800;color:#67716f;cursor:pointer;white-space:nowrap}
.mailTabs button.active{background:#fff;color:#16211f;box-shadow:0 1px 2px rgba(16,28,26,.07)}
.mailComposeGrid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.76fr);gap:18px;align-items:start}
.mailComposer{padding:24px!important}
.mailSectionHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.mailSectionHead h2{margin:5px 0 0;font-size:27px;letter-spacing:-.045em}.mailSenderBadge{font-size:8px;letter-spacing:.09em;font-weight:900;color:#1a706b;background:#e9f7f5;border:1px solid #cde9e5;padding:8px 10px;border-radius:999px;white-space:nowrap}
.mailTemplateRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:20px}
.mailTemplateCard{border:1px solid #dde3e1;background:#fafbfa;border-radius:16px;padding:14px;text-align:left;display:grid;gap:7px;min-height:112px;cursor:pointer;color:#17211f}
.mailTemplateCard:hover{border-color:#b8d4d0}.mailTemplateCard.active{background:#e9f7f5;border-color:#62bcb5}
.mailTemplateCard small{font-size:8px;font-weight:900;color:#1a8f88}.mailTemplateCard b{font-size:13px}.mailTemplateCard span{font-size:10px;line-height:1.4;color:#697370}
.mailFull{width:100%!important}.mailComposer>.fieldLabel,.mailAddContact .fieldLabel{display:block;margin:14px 0 7px!important}
.mailAudienceHead{display:flex;justify-content:space-between;gap:16px;align-items:end;border-top:1px solid #e4e8e7;margin-top:22px;padding-top:20px}.mailAudienceHead h3{margin:4px 0 0;font-size:18px;letter-spacing:-.03em}.mailAudienceHead .textAction{font-size:10px}
.mailAudienceFilters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin:12px 0}
.mailContactPicker{max-height:310px;overflow:auto;border:1px solid #e1e6e4;border-radius:15px;background:#fff}
.mailContactPick{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border-bottom:1px solid #eef1f0;cursor:pointer}.mailContactPick:last-child{border-bottom:0}.mailContactPick:hover{background:#f8faf9}.mailContactPick.disabled{opacity:.55;cursor:not-allowed}
.mailContactPick input{accent-color:#1aa49d}.mailContactPick span{display:grid;gap:3px;min-width:0}.mailContactPick b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailContactPick small{font-size:9px;color:#78827f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailContactPick em{font-size:8px;font-style:normal;font-weight:800;color:#71807c;background:#f0f3f2;padding:5px 7px;border-radius:999px;white-space:nowrap}
.mailComposerActions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.mailComposerActions .button{min-height:44px;border-radius:12px!important;font-size:11px!important}.mailComposerActions button[disabled]{opacity:.42;cursor:not-allowed}
.mailBackendNotice{margin-top:14px;border:1px solid #ead6a7;background:#fff8e7;border-radius:13px;padding:12px 13px;display:grid;gap:4px}.mailBackendNotice b{font-size:10px}.mailBackendNotice span{font-size:9px;line-height:1.45;color:#806f4d}
.mailPreviewPane{position:sticky;top:92px}.mailPreviewLabel{display:flex;align-items:center;justify-content:space-between;padding:0 4px 9px}.mailPreviewLabel span{font-size:9px;font-weight:900;letter-spacing:.11em;color:#4b5754}.mailPreviewLabel small{font-size:8px;color:#8a9391}
.mailPreviewChrome{border:1px solid #dbe1df;border-radius:20px;overflow:hidden;background:#f2f4f3;box-shadow:0 14px 40px rgba(18,31,28,.07)}
.mailPreviewTop,.mailPreviewSubject{display:grid;grid-template-columns:52px 1fr;gap:9px;padding:9px 13px;border-bottom:1px solid #e0e5e3;background:#fff}.mailPreviewTop span,.mailPreviewSubject span{font-size:9px;color:#89918f}.mailPreviewTop b,.mailPreviewSubject b{font-size:10px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mailEmailCanvas{background:#fbfaf5;padding:34px 30px 28px;min-height:520px}.mailEmailBrand{display:flex;align-items:center;justify-content:space-between;gap:18px}.mailEmailBrand img{width:auto;height:62px;max-width:105px;object-fit:contain}.mailEmailBrand span{font-size:9px;font-weight:900;letter-spacing:.11em;color:#14978f}.mailEmailRule{height:1px;background:#d9d4cb;margin:20px 0 26px}.mailEmailCanvas>small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#838a87;font-weight:800}.mailEmailCanvas h2{font-size:34px;line-height:.98;letter-spacing:-.055em;margin:10px 0 17px;max-width:500px}.mailEmailCanvas>p{font-size:13px;line-height:1.65;color:#59615f;margin:0 0 18px}.mailEmailCanvas blockquote{border-left:2px solid #20a8a0;padding-left:12px;margin:0 0 22px;color:#4f5956;font-size:11px;line-height:1.5}.mailEmailCta{display:inline-block;text-decoration:none;background:#10211f;color:#fff!important;border-radius:11px;padding:13px 17px;font-size:10px;font-weight:800;margin-top:4px}.mailEmailFooter{border-top:1px solid #d9d4cb;margin-top:34px;padding-top:18px;display:grid;gap:5px}.mailEmailFooter b{font-size:10px}.mailEmailFooter span{font-size:8.5px;color:#717a77}.mailEmailFooter small{font-size:7.5px;color:#949b98;margin-top:7px}
.mailContactsLayout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.mailAddContact{position:sticky;top:92px;padding:22px!important}.mailAddContact h2{font-size:23px;letter-spacing:-.04em;margin:5px 0 6px}.mailAddContact form>.button{margin-top:16px;border-radius:12px!important}.mailSettingRows{display:grid;margin-top:18px;border-top:1px solid #e4e8e7}.mailSettingRows>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e4e8e7}.mailSettingRows span{font-size:10px;color:#77827f}.mailSettingRows b{font-size:11px;text-align:right}

@media(max-width:1100px){.mailComposeGrid{grid-template-columns:1fr}.mailPreviewPane{position:static}.mailContactsLayout{grid-template-columns:1fr}.mailAddContact{position:static}.mailIdentityCard{min-width:230px}.mailEmailCanvas{min-height:430px}}
@media(max-width:760px){.mailDeskHeader{align-items:flex-start!important}.mailDeskHeader .mailIdentityCard{width:100%}.mailTemplateRow{grid-template-columns:1fr}.mailTemplateCard{min-height:0}.mailAudienceFilters{grid-template-columns:1fr}.mailComposerActions{display:grid;grid-template-columns:1fr}.mailComposerActions .button{width:100%}.mailSectionHead{display:grid}.mailSenderBadge{width:max-content}.mailContactPick{grid-template-columns:auto minmax(0,1fr)}.mailContactPick em{grid-column:2;width:max-content}.mailEmailCanvas{padding:26px 20px;min-height:0}.mailEmailCanvas h2{font-size:30px}.mailEmailBrand img{height:54px}.mailTabs{width:100%}.mailTabs button{flex:1}.mailContactsLayout .twoCol{grid-template-columns:1fr!important}}

/* V37.7 public unsubscribe page */
.unsubscribePage{background:#faf8f2;min-height:100vh}.unsubscribeCard{max-width:720px;margin:70px auto;padding:56px;border:1px solid #dfe3df;border-radius:26px;background:#fff}.unsubscribeCard h1{font-size:48px;letter-spacing:-.055em;margin:10px 0 18px}.unsubscribeCard [data-unsubscribe-state]{font-size:16px;line-height:1.6;color:#4f5956}.unsubscribeDone{padding:18px 20px;background:#e9f7f5;border:1px solid #c9e7e3;border-radius:16px}.unsubscribeDone b{font-size:18px;color:#116d68}.unsubscribeDone p{margin:6px 0 0}.unsubscribeFine{font-size:11px!important;color:#818a87!important;border-top:1px solid #e5e8e6;padding-top:18px;margin-top:24px!important}.unsubscribeCard .button{margin-top:22px;border-radius:12px!important}
@media(max-width:760px){.unsubscribeCard{margin:28px 18px;padding:34px 24px}.unsubscribeCard h1{font-size:39px}}
.mailInlineSelect{max-width:160px;border:1px solid #dce2e0;background:#fff;border-radius:9px;padding:7px 8px;font:inherit;font-size:9px;color:#273330}
.workshopArticleActions .workshopMailAction{background:#10211f!important;color:#fff!important;border-color:#10211f!important}

/* =========================================================
   V37.7.3 — Home hero illustration swap
   Replace the 4 black process boxes with the supplied supply-book illustration.
   ========================================================= */
.publicLanding .pscHeroProcess.pscHeroIllustrationShell{
  width:min(100%,560px)!important;
  max-width:560px!important;
  justify-self:end!important;
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.publicLanding .pscHeroIllustrationWrap{
  width:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:18px!important;
}
.publicLanding .pscHeroIllustration{
  width:100%!important;
  max-width:560px!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  filter:drop-shadow(0 22px 34px rgba(9,18,18,.08));
}
.publicLanding .pscHeroIllustrationWrap .pscHeroBoardLabel{
  font-size:12px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-align:center!important;
  letter-spacing:.02em!important;
}
@media(min-width:901px) and (max-width:1180px){
  .publicLanding .pscHeroProcess.pscHeroIllustrationShell{max-width:460px!important}
  .publicLanding .pscHeroIllustration{max-width:460px!important}
}
@media(max-width:900px){
  .publicLanding .pscHeroProcess.pscHeroIllustrationShell{
    max-width:420px!important;
    width:100%!important;
    justify-self:start!important;
  }
  .publicLanding .pscHeroIllustrationWrap{align-items:flex-start!important}
  .publicLanding .pscHeroIllustration{max-width:420px!important}
  .publicLanding .pscHeroIllustrationWrap .pscHeroBoardLabel{text-align:left!important}
}
@media(max-width:620px){
  .publicLanding .pscHeroProcess.pscHeroIllustrationShell{max-width:340px!important}
  .publicLanding .pscHeroIllustration{max-width:340px!important}
  .publicLanding .pscHeroIllustrationWrap{gap:10px!important}
  .publicLanding .pscHeroIllustrationWrap .pscHeroBoardLabel{font-size:9.5px!important;white-space:normal!important}
}

/* =========================================================
   V37.7.5 — transparent clinical category art + refreshed hero
   Small artwork, generous spacing, no white image tiles.
   ========================================================= */
.v26CatalogueLanding .clinicNeedCardIllustrated{
  min-height:198px!important;
  padding:20px!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{
  display:flex!important;
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  width:88px!important;
  height:88px!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon svg{
  width:26px!important;
  height:26px!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy{
  left:20px!important;
  right:126px!important;
  bottom:20px!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy b{
  font-size:18px!important;
  line-height:1.04!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy small{
  margin-top:9px!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  opacity:.77!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedArrow{
  display:none!important;
}
@media(max-width:1180px){
  .v26CatalogueLanding .clinicNeedCardIllustrated{min-height:188px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{width:80px!important;height:80px!important;right:15px!important;top:15px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy{right:112px!important}
}
@media(max-width:820px){
  .v26CatalogueLanding .clinicNeedCardIllustrated{min-height:170px!important;padding:16px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{width:66px!important;height:66px!important;right:12px!important;top:12px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy{left:16px!important;right:90px!important;bottom:16px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy b{font-size:15px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy small{font-size:9px!important;line-height:1.35!important}
}
@media(max-width:560px){
  .v26CatalogueLanding .clinicNeedCardIllustrated{min-height:160px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{width:60px!important;height:60px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy{right:82px!important}
}


/* =========================================================
   HOME CATEGORY ART PATCH — use the existing transparent WebP assets
   The prior V37.7.5 styling only targeted portal catalogue cards.
   ========================================================= */
.publicLanding .publicClinicalCard{
  justify-content:flex-end!important;
  padding-right:142px!important;
}
.publicLanding .publicClinicalCard .publicClinicalArt{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  width:96px!important;
  height:96px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  pointer-events:none!important;
}
.publicLanding .publicClinicalCard span,
.publicLanding .publicClinicalCard small{
  max-width:100%!important;
  position:relative!important;
  z-index:1!important;
}
@media(max-width:1100px){
  .publicLanding .publicClinicalCard{padding-right:122px!important}
  .publicLanding .publicClinicalCard .publicClinicalArt{width:82px!important;height:82px!important;top:16px!important;right:16px!important}
}
@media(max-width:820px){
  .publicLanding .publicClinicalCard{padding-right:100px!important}
  .publicLanding .publicClinicalCard .publicClinicalArt{width:66px!important;height:66px!important;top:14px!important;right:14px!important}
}
@media(max-width:620px){
  .publicLanding .publicClinicalCard{padding-right:94px!important;min-height:154px!important}
  .publicLanding .publicClinicalCard .publicClinicalArt{width:62px!important;height:62px!important;top:12px!important;right:12px!important}
}


/* =========================================================
   V38.1 — PORTAL-ONLY PINTEREST SIDEBAR CORRECTION
   Supplied collage artwork belongs ONLY in the customer portal
   side navigation where its meaning is explicit.
   Public website, Workshop, content cards, search, actions,
   category tiles and admin UI keep their proper original icons.
   KEEP THIS BLOCK LAST.
   ========================================================= */

.portalSideIcon{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

/* Customer portal only. Admin is intentionally excluded. */
@media(min-width:901px){
  .v381Shell.customerShell{
    grid-template-columns:96px minmax(0,1fr)!important;
    background:#f8f5ef!important;
  }
  .v381Shell.customerShell .sidebar{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    width:96px!important;
    height:100vh!important;
    min-height:100vh!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:18px 12px 16px!important;
    border:0!important;
    border-right:1px solid #e8e4dc!important;
    border-radius:0!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .v381Shell.customerShell .sidebarTop{
    min-height:22px!important;
    margin:0 0 12px!important;
    justify-content:center!important;
  }
  .v381Shell.customerShell .sidebarBrandEmpty{
    width:100%!important;
    height:0!important;
    min-height:0!important;
  }
  .v381Shell.customerShell .iconNav,
  .v381Shell.customerShell .compactFooter{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:8px!important;
  }
  .v381Shell.customerShell .iconNav{margin-top:2px!important}
  .v381Shell.customerShell .sidebarFooter.compactFooter{
    margin-top:auto!important;
    padding-top:14px!important;
    border-top:1px solid #ebe7df!important;
  }
  .v381Shell.customerShell .navLink.iconOnly{
    position:relative!important;
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    min-height:64px!important;
    display:grid!important;
    place-items:center!important;
    padding:7px!important;
    border:1px solid transparent!important;
    border-radius:17px!important;
    color:#222!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .v381Shell.customerShell .navLink.iconOnly:hover{
    background:#faf8f4!important;
    border-color:#ebe5dc!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .v381Shell.customerShell .navLink.iconOnly.active{
    background:#f4f1ea!important;
    border-color:#dfd8cc!important;
    color:#181818!important;
    box-shadow:inset 3px 0 0 #0f9fa1!important;
  }
  .v381Shell.customerShell .navLink.iconOnly.active .navIcon{color:inherit!important}
  .v381Shell.customerShell .navIcon{
    width:48px!important;
    height:48px!important;
    display:grid!important;
    place-items:center!important;
  }
  .v381Shell.customerShell .navLabel{
    position:absolute!important;
    left:72px!important;
    top:50%!important;
    transform:translateY(-50%) translateX(-5px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:160!important;
    padding:9px 12px!important;
    border:1px solid #e4dfd6!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#1c1c1b!important;
    font-size:11px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    box-shadow:0 12px 30px rgba(33,28,20,.12)!important;
    transition:.14s ease!important;
  }
  .v381Shell.customerShell .navLabel:before{
    content:""!important;
    position:absolute!important;
    left:-5px!important;
    top:50%!important;
    width:9px!important;
    height:9px!important;
    transform:translateY(-50%) rotate(45deg)!important;
    background:#fff!important;
    border-left:1px solid #e4dfd6!important;
    border-bottom:1px solid #e4dfd6!important;
  }
  .v381Shell.customerShell .navLink.iconOnly:hover .navLabel,
  .v381Shell.customerShell .navLink.iconOnly:focus-visible .navLabel{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0)!important;
  }
}

/* Customer portal mobile drawer: same white language, labels visible. */
@media(max-width:900px){
  .v381Shell.customerShell .sidebar{
    position:fixed!important;
    z-index:130!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(84vw,310px)!important;
    max-width:310px!important;
    height:100dvh!important;
    margin:0!important;
    padding:14px!important;
    border:0!important;
    border-right:1px solid #e8e4dc!important;
    border-radius:0!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:18px 0 48px rgba(32,28,21,.14)!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    overflow-y:auto!important;
  }
  .v381Shell.customerShell .sidebar.sidebarOpen{transform:translateX(0)!important}
  .v381Shell.customerShell .sidebarTop{
    min-height:52px!important;
    display:flex!important;
    justify-content:flex-end!important;
    margin-bottom:8px!important;
  }
  .v381Shell.customerShell .iconNav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    width:100%!important;
  }
  .v381Shell.customerShell .navLink.iconOnly{
    width:100%!important;
    min-height:58px!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    align-items:center!important;
    justify-items:start!important;
    gap:11px!important;
    padding:6px 10px!important;
    border:1px solid transparent!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#20201f!important;
    box-shadow:none!important;
  }
  .v381Shell.customerShell .navLink.iconOnly:hover{
    background:#faf8f4!important;
    border-color:#ebe5dc!important;
  }
  .v381Shell.customerShell .navLink.iconOnly.active{
    background:#f4f1ea!important;
    border-color:#dfd8cc!important;
    color:#181818!important;
    box-shadow:inset 3px 0 0 #0f9fa1!important;
  }
  .v381Shell.customerShell .navIcon{width:42px!important;height:42px!important}
  .v381Shell.customerShell .navLink .navLabel{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    position:static!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#242321!important;
    font-size:13px!important;
    font-weight:800!important;
    white-space:normal!important;
  }
  .v381Shell.customerShell .navLabel:before{display:none!important}
  .v381Shell.customerShell .sidebarFooter.compactFooter{
    position:static!important;
    margin-top:18px!important;
    padding-top:12px!important;
    width:100%!important;
    border-top:1px solid #ebe7df!important;
  }
}


/* =========================================================
   V38.2 — MOBILE PUBLIC MENU: DIRECT CLINIC PORTAL ACCESS
   Keep the desktop header CTA unchanged; expose the same
   destination inside the mobile dropdown where users expect it.
   KEEP THIS BLOCK LAST.
   ========================================================= */

.mobileClinicPortalLink{
  display:none!important;
}

@media(max-width:820px){
  .v37PublicHeader .publicNav .mobileClinicPortalLink{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-top:5px!important;
    padding:13px 14px!important;
    background:#20aaa2!important;
    border:1px solid #169891!important;
    color:#fff!important;
    font-weight:850!important;
    box-shadow:none!important;
  }
  .v37PublicHeader .publicNav .mobileClinicPortalLink:hover,
  .v37PublicHeader .publicNav .mobileClinicPortalLink:focus-visible{
    background:#178f89!important;
    color:#fff!important;
  }
  .v37PublicHeader .publicNav .mobileClinicPortalLink span{
    font:inherit!important;
    color:inherit!important;
  }
  .v37PublicHeader .publicNav .mobileClinicPortalLink b{
    font-size:17px!important;
    line-height:1!important;
    color:#fff!important;
  }
}

/* =========================================================
   V38.5 — Catalogue icon, search and Workshop correction
   ========================================================= */
.catalogueHeaderTools{
  flex:0 1 520px;
  width:min(520px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:12px;
}
.catalogueLandingSearch{
  min-height:58px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:7px 8px 7px 17px;
  border:1px solid #d9ddd9;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(28,39,36,.05);
}
.catalogueLandingSearch>span{display:grid;place-items:center;color:#167f79}
.catalogueLandingSearch>span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.catalogueLandingSearch input{
  width:100%;min-width:0;border:0;outline:0;background:transparent;color:#17211f;
  font:inherit;font-size:14px;font-weight:650;
}
.catalogueLandingSearch input::placeholder{color:#8a918f;font-weight:500}
.catalogueLandingSearch button{
  min-height:42px;border:0;border-radius:13px;padding:0 18px;background:#112321;color:#fff;
  font:inherit;font-size:11px;font-weight:850;cursor:pointer
}
.catalogueLandingSearch:focus-within{border-color:#168b84;box-shadow:0 0 0 3px rgba(22,139,132,.10),0 9px 28px rgba(28,39,36,.06)}
.catalogueHeaderTools .catalogueDepthPill{min-width:160px;padding:13px 16px;border-radius:18px}
.catalogueHeaderTools .catalogueDepthPill b{font-size:27px}

/* Exact transparent artwork supplied by PSC: no white tile, no forced backdrop. */
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{
  width:104px!important;
  height:104px!important;
  top:14px!important;
  right:14px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon img{
  width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important;
  filter:none!important;mix-blend-mode:normal!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy{
  left:20px!important;right:128px!important;bottom:22px!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy b{
  font-size:20px!important;line-height:1.02!important;letter-spacing:-.045em!important;
}
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy small{display:none!important}

.catalogueStableSearch{position:relative!important}
.catalogueStableSearch input{padding-right:34px!important}
.catalogueSearchClear{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);width:26px;height:26px;
  border:0;border-radius:50%;background:#edf1ef;color:#56615e;font-size:18px;line-height:1;cursor:pointer
}
.catalogueSearchClear:hover{background:#dfe7e4;color:#102421}
.catalogueSearchEmpty{
  margin:18px 0 0;padding:32px;border:1px dashed #cfd8d4;border-radius:20px;background:#fbfcfb;text-align:center
}
.catalogueSearchEmpty h3{margin:0 0 7px;font-size:19px}.catalogueSearchEmpty p{margin:0;color:#727b78;font-size:12px}

.portalWorkshopPreview{
  margin-top:18px;padding:28px;border:1px solid #e4dfd5;border-radius:24px;background:#f5f2ea;
  display:grid;grid-template-columns:.82fr 1.8fr;gap:28px;align-items:stretch;
}
.portalWorkshopIntro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.portalWorkshopIntro h2{margin:7px 0 10px;font-size:30px;line-height:1;letter-spacing:-.05em;color:#16201e}
.portalWorkshopIntro p{margin:0;color:#69716e;font-size:12px;line-height:1.55;max-width:330px}
.portalWorkshopIntro .button{margin-top:18px}
.portalWorkshopGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.portalWorkshopCard{
  position:relative;min-height:178px;border:1px solid rgba(17,27,25,.12);border-radius:18px;padding:18px;
  background:#fff;text-align:left;font:inherit;color:#17211f;cursor:pointer;overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease
}
.portalWorkshopCard:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,31,27,.07)}
.portalWorkshopCard span{display:block;font-size:8px;letter-spacing:.13em;font-weight:900;color:#0b817b;text-transform:uppercase}
.portalWorkshopCard h3{margin:22px 0 24px;font-size:18px;line-height:1.08;letter-spacing:-.035em}
.portalWorkshopCard small{position:absolute;left:18px;bottom:17px;font-size:9px;color:#7e807a}
.portalWorkshopCard i{position:absolute;right:17px;bottom:15px;font-style:normal;font-size:15px}
.portalWorkshopCard.tone-blue{background:#dfe9fa}.portalWorkshopCard.tone-coral{background:#f9d4ca}.portalWorkshopCard.tone-mint{background:#dceee7}.portalWorkshopCard.tone-yellow{background:#f6e8b6}.portalWorkshopCard.tone-purple{background:#e5ddf8}

@media(max-width:1180px){
  .catalogueHeaderTools{flex-basis:440px;grid-template-columns:1fr}
  .catalogueHeaderTools .catalogueDepthPill{width:100%;grid-template-columns:auto 1fr;align-items:end}
  .catalogueHeaderTools .catalogueDepthPill small{grid-column:1/-1}
  .portalWorkshopPreview{grid-template-columns:1fr}.portalWorkshopGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{width:90px!important;height:90px!important}
}
@media(max-width:820px){
  .catalogueHeaderTools{width:100%;flex-basis:auto}.catalogueLandingSearch{min-height:54px}
  .portalWorkshopGrid{grid-template-columns:1fr}.portalWorkshopCard{min-height:138px}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{width:74px!important;height:74px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy{right:98px!important}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy b{font-size:16px!important}
}
@media(max-width:560px){
  .catalogueLandingSearch{grid-template-columns:20px minmax(0,1fr)}
  .catalogueLandingSearch button{grid-column:1/-1;width:100%}
  .portalWorkshopPreview{padding:22px 18px}
  .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon{width:68px!important;height:68px!important}
}

/* =========================================================
   V38.6 — PRODUCT CARD IMAGE VISIBILITY HOTFIX
   The DHA marker was inheriting the generic product-photo img
   rule (100% width/height), covering the actual product image.
   Keep it as a small transparent corner badge instead.
   ========================================================= */
.exactCanvaCard .productPhoto > img.dhaRequirementIcon.cardDhaIcon,
.canvaProductCard .productPhoto > img.dhaRequirementIcon.cardDhaIcon{
  position:absolute!important;
  z-index:8!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  bottom:auto!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  pointer-events:none!important;
}

.productVisualButton:hover > img.dhaRequirementIcon.cardDhaIcon,
.productVisualButton:focus > img.dhaRequirementIcon.cardDhaIcon{
  transform:none!important;
}

@media(max-width:720px){
  .exactCanvaCard .productPhoto > img.dhaRequirementIcon.cardDhaIcon,
  .canvaProductCard .productPhoto > img.dhaRequirementIcon.cardDhaIcon{
    top:10px!important;
    right:10px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }
}


/* =========================================================
   V38.7 — deployment/cache + transparent clinical icon correction
   ========================================================= */
/* The catalogue uses the one persistent header search. Do not create a second search control. */
.v26CatalogueLandingHeader{align-items:flex-end!important}
/* User-supplied PNG artwork is already transparent; never place a white tile behind it. */
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon,
.v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon img{
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
}


/* ---------- Our Model: richer visual finish ---------- */
main.publicPage:has(.modelQuietIntro){
  background:
    radial-gradient(circle at 0% 0%,rgba(39,169,159,.05),transparent 28%),
    radial-gradient(circle at 100% 0%,rgba(128,145,238,.05),transparent 22%),
    #fbfaf8;
}
main.publicPage:has(.modelQuietIntro) .publicPageHero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 18%,rgba(39,169,159,.10),transparent 28%),
    radial-gradient(circle at 88% 14%,rgba(140,157,232,.14),transparent 24%),
    linear-gradient(180deg,#f7f4ec 0%,#fbf8f1 72%);
}
main.publicPage:has(.modelQuietIntro) .publicPageHero::after{
  content:'SOURCE PER LINE • SELL ONE SOLUTION';
  position:absolute;
  right:6%;
  bottom:22px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(23,23,22,.09);
  background:rgba(255,255,255,.82);
  color:#42595a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.modelQuietIntro{align-items:start}
.modelQuietVisualBoard{
  background:linear-gradient(180deg,#fffdf9 0%,#f7f4ee 100%);
  border:1px solid #ddd7cd;
  border-radius:24px;
  padding:24px 24px 22px;
  box-shadow:0 18px 38px rgba(30,28,24,.04);
}
.modelQuietVisualBoard p{margin:0}
.modelQuietMiniFlow{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}
.modelQuietMiniFlow article{
  min-height:120px;
  padding:16px 15px;
  border-radius:18px;
  border:1px solid rgba(23,23,22,.08);
  background:#fff;
}
.modelQuietMiniFlow article:nth-child(1){background:#ecf7f5}
.modelQuietMiniFlow article:nth-child(2){background:#f1effb}
.modelQuietMiniFlow article:nth-child(3){background:#f9efe5}
.modelQuietMiniFlow article:nth-child(4){background:#eef4e8}
.modelQuietMiniFlow span,
.modelSignalStrip span,
.modelQuietSectionTag,
.modelQuietCategoryHead span,
.modelQuietSchoolVisual span{
  display:block;
  font-size:10px;
  line-height:1.25;
  letter-spacing:.14em;
  font-weight:900;
  color:#5f6c71;
}
.modelQuietMiniFlow b{display:block;margin-top:10px;font-size:18px;line-height:1.08;letter-spacing:-.03em;color:#171716}
.modelQuietMiniFlow small{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:#625f59}
.modelSignalStrip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding-top:0!important;
  padding-bottom:18px!important;
}
.modelSignalStrip article{
  min-height:165px;
  border-radius:24px;
  padding:22px 20px 20px;
  border:1px solid rgba(23,23,22,.08);
  background:#fff;
  box-shadow:0 14px 32px rgba(27,23,18,.04);
}
.modelSignalStrip article:nth-child(1){background:#e8f3f2}
.modelSignalStrip article:nth-child(2){background:#eef0f7}
.modelSignalStrip article:nth-child(3){background:#f6efe5}
.modelSignalStrip article:nth-child(4){background:#e9f0e4}
.modelSignalStrip b{display:block;margin-top:28px;font-size:22px;line-height:1.14;letter-spacing:-.045em;color:#171716}
.modelQuietSectionTag{margin-bottom:12px}
.modelQuietNumber{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:12px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(23,23,22,.12);
  color:#111;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
}
.modelQuietCategoryGrid article{
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(24,24,22,.04);
}
.modelQuietCategoryGrid article::after{
  content:'';
  position:absolute;
  right:-34px;
  top:-34px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.36);
}
.modelQuietCategoryHead{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.modelQuietCategoryHead img{
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 10px 16px rgba(18,16,13,.08));
}
.modelQuietCategoryHead span{max-width:90px;text-align:right}
.modelQuietAftercareList>div{
  padding:20px 0 20px 18px;
  position:relative;
}
.modelQuietAftercareList>div::before{
  content:'';
  position:absolute;
  left:0;
  top:24px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#27a99f;
}
.modelQuietSchool{
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  grid-template-areas:'copy visual' 'action visual';
  align-items:stretch;
}
.modelQuietSchoolCopy{grid-area:copy}
.modelQuietSchoolVisual{
  grid-area:visual;
  display:grid;
  gap:12px;
  align-self:stretch;
}
.modelQuietSchoolVisual article{
  border-radius:18px;
  border:1px solid rgba(23,23,22,.08);
  background:rgba(255,255,255,.72);
  padding:18px 18px 17px;
}
.modelQuietSchoolVisual article:nth-child(1){background:#fffaf4}
.modelQuietSchoolVisual article:nth-child(2){background:#f4fcfb}
.modelQuietSchoolVisual article:nth-child(3){background:#f6f3fd}
.modelQuietSchoolVisual b{
  display:block;
  margin-top:8px;
  font-size:17px;
  line-height:1.32;
  letter-spacing:-.03em;
  color:#171716;
}
.modelQuietSchoolAction{
  grid-area:action;
  padding-top:8px;
}
.modelQuietSchoolAction .button{min-width:260px}
@media(max-width:1180px){
  .modelSignalStrip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  main.publicPage:has(.modelQuietIntro) .publicPageHero::after{position:static;display:inline-flex;margin-top:20px}
  .modelQuietMiniFlow{grid-template-columns:1fr 1fr}
  .modelQuietSchool{grid-template-columns:1fr;grid-template-areas:'copy' 'visual' 'action'}
}
@media(max-width:720px){
  .modelQuietVisualBoard{padding:20px 18px}
  .modelQuietMiniFlow{grid-template-columns:1fr}
  .modelSignalStrip{grid-template-columns:1fr;padding-bottom:10px!important}
  .modelSignalStrip article{min-height:0}
  .modelQuietSchoolAction .button{min-width:0;width:100%}
}


/* =========================================================
   V39.1 — Our Model simplified visual system
   ========================================================= */
main.publicPage:has(.modelV2FlowSection){background:#fbfaf7}
main.publicPage:has(.modelV2FlowSection) .publicPageHero{
  max-width:1440px!important;padding:72px clamp(28px,6vw,88px) 58px!important;
  background:radial-gradient(circle at 86% 18%,rgba(145,160,235,.16),transparent 24%),radial-gradient(circle at 7% 15%,rgba(39,169,159,.12),transparent 24%),linear-gradient(180deg,#f6f2e9 0%,#fbfaf7 78%);
  border-bottom:1px solid #d9d3c8!important
}
main.publicPage:has(.modelV2FlowSection) .publicPageHero h1{max-width:1000px!important;font-size:clamp(48px,5.7vw,82px)!important;line-height:.96!important;letter-spacing:-.06em!important}
main.publicPage:has(.modelV2FlowSection) .publicPageHero p{max-width:720px!important;font-size:18px!important;line-height:1.6!important}
.modelV2FlowSection{padding-top:54px!important;padding-bottom:66px!important}
.modelV2FlowIntro,.modelV2SectionHead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.modelV2FlowIntro h2,.modelV2SectionHead h2,.modelV2School h2,.modelV2AccountLead h2{margin:0;font-size:clamp(32px,3.7vw,54px);line-height:1;letter-spacing:-.05em}
.modelV2Flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.modelV2Flow article{position:relative;min-height:280px;padding:24px;border-radius:26px;border:1px solid rgba(24,24,22,.09);overflow:hidden;box-shadow:0 18px 38px rgba(20,18,15,.05)}
.modelV2Flow article:nth-child(1){background:#e7f3f1}.modelV2Flow article:nth-child(2){background:#f3ecdf}.modelV2Flow article:nth-child(3){background:#eceefa}.modelV2Flow article:nth-child(4){background:#f7e8e6}
.modelV2Flow article>img{width:92px;height:92px;object-fit:contain;display:block;margin:2px 0 48px;filter:drop-shadow(0 12px 18px rgba(20,18,15,.07))}
.modelV2Flow article>span{position:absolute;right:20px;top:18px;font-size:11px;font-weight:900;letter-spacing:.11em;color:#5f6969}
.modelV2Flow h3{margin:0;font-size:29px;line-height:1;letter-spacing:-.05em}.modelV2Flow p{margin:12px 0 0;font-size:14px;line-height:1.5;color:#5d605d;max-width:220px}
.modelV2CategorySection{padding-top:62px!important;padding-bottom:64px!important}.modelV2SectionHead{align-items:flex-start;flex-direction:column;gap:9px}.modelV2SectionHead.compact{margin-bottom:22px}
.modelV2CategoryGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.modelV2CategoryGrid article{min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border:1px solid rgba(24,24,22,.09);border-radius:24px;overflow:hidden}
.modelV2CategoryGrid article:nth-child(1){background:#e7f3f1}.modelV2CategoryGrid article:nth-child(2){background:#f4ecdf}.modelV2CategoryGrid article:nth-child(3){background:#eef0f8}.modelV2CategoryGrid article:nth-child(4){background:#e9f0e4}.modelV2CategoryGrid article:nth-child(5){background:#f3e8e7}
.modelV2CategoryGrid img{width:84px;height:84px;object-fit:contain;margin:auto auto 24px 0;filter:drop-shadow(0 10px 16px rgba(20,18,15,.07))}
.modelV2CategoryGrid h3{margin:0;font-size:23px;letter-spacing:-.04em}.modelV2CategoryGrid small{display:block;margin-top:8px;font-size:12px;line-height:1.4;color:#67645e}
.modelV2BasketSection{padding-top:42px!important;padding-bottom:70px!important}.modelV2BasketGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.modelV2BasketGrid article{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:center;min-height:210px;border-radius:28px;padding:28px;border:1px solid rgba(24,24,22,.09)}
.modelV2BasketGrid .opening{background:#f5eadc}.modelV2BasketGrid .recurring{background:#e4f3f0}.modelV2BasketIcon{width:110px;height:110px;border-radius:24px;background:rgba(255,255,255,.64);display:flex;align-items:center;justify-content:center}.modelV2BasketIcon img{width:82px;height:82px;object-fit:contain}
.modelV2BasketGrid span{font-size:10px;letter-spacing:.14em;font-weight:900;color:#5e6663}.modelV2BasketGrid h3{margin:10px 0 10px;font-size:32px;line-height:1;letter-spacing:-.05em}.modelV2BasketGrid p{margin:0;font-size:14px;line-height:1.5;color:#625f59}
.modelV2AccountBand{max-width:none!important;margin:0!important;padding:72px max(6%,calc((100vw - 1320px)/2 + 6%))!important;background:#121918;color:#fff;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:70px;align-items:center}
.modelV2AccountLead .kicker{color:#65d1cb!important}.modelV2AccountLead h2{color:#fff;max-width:720px}.modelV2AccountSteps{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.modelV2AccountSteps span{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:12px 16px;font-size:11px;font-weight:900;letter-spacing:.11em}.modelV2AccountSteps i{font-style:normal;color:#61cbc5}
.modelV2School{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end;padding-top:68px!important;padding-bottom:40px!important}.modelV2School>div{max-width:820px}.modelV2School p{margin:16px 0 0;max-width:720px;font-size:16px;line-height:1.6;color:#64615a}.modelV2School .button{white-space:nowrap}.modelV2Cta{margin-top:30px!important;margin-bottom:66px!important}.modelV2Cta p{margin:10px 0 0!important}
@media(max-width:1100px){.modelV2Flow{grid-template-columns:repeat(2,minmax(0,1fr))}.modelV2CategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.modelV2AccountBand{grid-template-columns:1fr;gap:34px}.modelV2AccountSteps{justify-content:flex-start}}
@media(max-width:760px){main.publicPage:has(.modelV2FlowSection) .publicPageHero{padding:48px 22px 38px!important}main.publicPage:has(.modelV2FlowSection) .publicPageHero h1{font-size:44px!important}main.publicPage:has(.modelV2FlowSection) .publicPageHero p{font-size:16px!important}.modelV2FlowSection,.modelV2CategorySection,.modelV2BasketSection,.modelV2School{padding-left:22px!important;padding-right:22px!important}.modelV2FlowIntro,.modelV2SectionHead{align-items:flex-start;flex-direction:column}.modelV2Flow{grid-template-columns:1fr}.modelV2Flow article{min-height:230px}.modelV2Flow article>img{margin-bottom:32px}.modelV2CategoryGrid{grid-template-columns:1fr 1fr}.modelV2CategoryGrid article{min-height:185px}.modelV2CategoryGrid img{width:70px;height:70px}.modelV2BasketGrid{grid-template-columns:1fr}.modelV2BasketGrid article{grid-template-columns:82px 1fr;min-height:170px;padding:22px}.modelV2BasketIcon{width:82px;height:82px}.modelV2BasketIcon img{width:62px;height:62px}.modelV2AccountBand{padding:52px 22px!important}.modelV2AccountSteps i{display:none}.modelV2School{grid-template-columns:1fr;align-items:start}.modelV2School .button{width:100%}}
@media(max-width:500px){.modelV2CategoryGrid{grid-template-columns:1fr}}


/* ---------- V39.2 Workshop editorial imagery ---------- */
.workshopGuideCard.hasGuideImage .workshopGuideCardVisual{
  padding:0!important;
  overflow:hidden;
  background:#eef3f2;
}
.workshopGuideCard.hasGuideImage .workshopGuideCardVisual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.workshopGuideCard.hasGuideImage>button:hover .workshopGuideCardVisual img{
  transform:scale(1.018);
}
.workshopGuideCard.hasGuideImage .workshopGuideCardVisual img{transition:transform .25s ease}
.workshopArticleHeroImage{
  width:min(1120px,100%);
  margin:18px auto 28px;
  border:1px solid var(--ws-line,#d6d2ca);
  border-radius:26px;
  overflow:hidden;
  background:#f2f5f3;
}
.workshopArticleHeroImage img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:720px){
  .workshopArticleHeroImage{margin:12px 0 22px;border-radius:18px}
}

/* =========================================================
   V39.4 — visual QA cleanup + one site-wide grid system
   ========================================================= */
:root{
  --psc-site-paper:#fbf8f1;
  --psc-site-grid:rgba(45,57,55,.055);
}

/* The same quiet technical grid now carries the whole public site. */
.publicLanding,
.publicPage{
  background-color:var(--psc-site-paper)!important;
  background-image:
    linear-gradient(var(--psc-site-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--psc-site-grid) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
}
.publicHeader,
.publicHeader.headerScrolled{
  background-color:rgba(251,248,241,.97)!important;
  background-image:
    linear-gradient(var(--psc-site-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--psc-site-grid) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
}

/* Carry the same grid into the portal/admin canvas without touching cards. */
.v26Shell .mainArea,
.mainArea.v7MainArea,
.mainArea.v7bMainArea{
  background-color:#f8f5ef!important;
  background-image:
    radial-gradient(circle at 97% 3%,rgba(255,232,182,.20),transparent 280px),
    linear-gradient(var(--psc-site-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--psc-site-grid) 1px,transparent 1px),
    linear-gradient(180deg,#fbfaf7 0%,#f7f4ee 100%)!important;
  background-size:auto,28px 28px,28px 28px,auto!important;
}

/* Our Model — only exact transparent crops from the supplied master artwork. */
.modelV2Flow article>img,
.modelV2CategoryGrid img,
.modelV2BasketIcon img{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.modelV2BasketIcon{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.modelV2BasketIcon img{
  width:100px!important;
  height:100px!important;
  filter:drop-shadow(0 12px 18px rgba(20,18,15,.07));
}

/* Dark account band had inherited dark text in the step pills. */
.modelV2AccountSteps span{
  color:#f7fbfa!important;
  border-color:rgba(255,255,255,.30)!important;
  background:rgba(255,255,255,.025)!important;
}
.modelV2AccountSteps i{color:#61d3cc!important}

/* Workshop strip must stay on the same page grid, never wider than it. */
.schoolWorkshopStrip{
  width:min(1320px,88%)!important;
  max-width:1320px!important;
  margin:28px auto 0!important;
  box-sizing:border-box!important;
  min-width:0!important;
}
.schoolWorkshopStrip>div,
.schoolWorkshopStrip button{min-width:0!important}
.schoolWorkshopStrip button b{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Homepage clinical cards: source art is transparent; never manufacture a tile behind it. */
.publicLanding .publicClinicalCard .publicClinicalArt{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  .schoolWorkshopStrip{width:calc(100% - 44px)!important}
}
@media(max-width:720px){
  .modelV2BasketIcon img{width:76px!important;height:76px!important}
  .schoolWorkshopStrip{width:calc(100% - 36px)!important;margin-top:20px!important}
}

/* Grid continuity across public hero canvases while preserving each section's own colour treatment. */
.publicPageHero,
.workshopHero{
  position:relative;
  isolation:isolate;
}
.publicPageHero::before,
.workshopHero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(var(--psc-site-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--psc-site-grid) 1px,transparent 1px);
  background-size:28px 28px;
}
.publicPageHero>* ,
.workshopHero>*{position:relative;z-index:1}

[data-commercial-inbox]{margin-bottom:24px}
.commercialInboxFilters{margin:16px 0}.commercialInboxFilters select{margin-left:8px;padding:10px;font:inherit}
.commercialInboxCard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;border:1px solid #d5dad6;border-radius:16px;padding:24px;margin:14px 0;background:#fff}
.commercialInboxCard.overdue{border-left:4px solid #a54d32}
.commercialInboxCard h3{font-size:20px;font-weight:500;overflow-wrap:anywhere}
.commercialInboxCard p,.commercialInboxCard label,.commercialInboxCard summary{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.commercialRequirement{white-space:pre-wrap}
.commercialInboxCard form label{display:block;margin-bottom:12px}
.commercialInboxCard input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #c9d1cc;border-radius:8px;font:inherit}
.commercialInboxFields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.commercialInboxCheck{display:flex!important;align-items:center;gap:8px}
@media(max-width:700px){.commercialInboxCard{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}.commercialInboxFields{grid-template-columns:minmax(0,1fr)}.commercialInboxFilters label{display:grid;gap:8px}.commercialInboxFilters select{margin:0}}

.commercialEvidence{grid-column:1 / -1;border-top:1px solid var(--line,#ddd);padding-top:16px}.commercialEvidence form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commercialEvidence input{width:100%;box-sizing:border-box}.commercialEvidence .commercialInboxCheck,.commercialEvidence [role="status"]{grid-column:1 / -1}@media(max-width:700px){.commercialEvidence form{grid-template-columns:1fr}}

.commercialExports{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px}.commercialExports p{width:100%}
.commercialEvidence input[type=checkbox]{width:auto;flex:0 0 auto;margin:0}.commercialEvidence .commercialInboxCheck{align-items:flex-start}.commercialInboxCheck input[type=checkbox]{margin-top:5px}[data-commercial-inbox] [data-inbox-refresh]{min-height:40px;padding:8px 16px}

.bankTransferInstructions{margin-top:20px}.bankTransferInstructions dl{display:grid;gap:12px}.bankTransferInstructions dl div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px}.bankTransferInstructions dt{font-weight:500}.bankTransferInstructions dd{margin:0;overflow-wrap:anywhere;user-select:text}@media(max-width:700px){.bankTransferInstructions dl div{grid-template-columns:1fr;gap:2px}}

.pscMailPanel{display:block}.pscMailPanel details{margin:16px 0}.pscMailPanel article,.pscMailPanel form{border-top:1px solid var(--line,#ddd);padding:16px 0}.pscMailPanel textarea,.pscMailPanel select{max-width:100%;box-sizing:border-box;font:inherit}.pscMailPanel textarea{width:100%;padding:12px;border:1px solid var(--line,#ddd);border-radius:8px}.pscMailPanel pre{overflow-wrap:anywhere;font:inherit}.pscMailPanel button{margin:4px 4px 4px 0}
.pscIntake{border-top:2px solid var(--ink,#163c37);margin-top:24px;padding-top:20px}.pscIntake label{display:block;margin:12px 0}.pscIntake input:not([type=checkbox]),.pscIntake textarea,.pscIntake select{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:12px;border:1px solid #cdc9c0;border-radius:10px;background:#fff;font:inherit}.pscIntakeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pscIntake article{margin:18px 0;padding:18px;border:1px solid #d9d5cd;border-radius:16px}.pscIntake button{white-space:normal;max-width:100%;padding:12px 16px;margin:6px 4px 6px 0;border:1px solid #bdb9b1;border-radius:12px;background:#fff;font:inherit;cursor:pointer}.pscIntake button:disabled{opacity:.5;cursor:default}.pscIntake small{display:block;font-size:12px}.pscIntake pre,.pscIntakeSource{white-space:pre-wrap;overflow-wrap:anywhere}.pscIntakeNotice{padding:12px;background:#f4f0df;border-radius:10px}.pscIntake [data-matches]{display:grid;gap:6px}.pscIntake [data-intake-feedback]{font-weight:600}.pscMailPanel>details{margin:20px 0}.pscMailPanel select{max-width:100%}@media(max-width:600px){.pscIntakeGrid{grid-template-columns:1fr}.pscIntake article{padding:12px}.pscMailPanel .commercialExports{display:grid;grid-template-columns:1fr}}

/* V39.18 — compact white family selectors with the same DHA mark used on line-item cards. */
.pscFamilyReadLayer{width:min(1320px,88%);margin:12px auto 28px;padding:22px 0 10px;border-top:1px solid rgba(29,38,36,.12);border-bottom:1px solid rgba(29,38,36,.09)}
.pscFamilyReadHead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px}
.pscFamilyReadHead .eyebrow{display:block;margin-bottom:5px}.pscFamilyReadHead p{margin:0;color:#6b655d;font-size:12px;line-height:1.45}
.pscFamilyReadCount{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.pscFamilyReadCount b{font-size:20px;letter-spacing:-.04em}.pscFamilyReadCount span{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#746e66}
.pscFamilySelectorRail{display:flex;gap:9px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin;scroll-snap-type:x proximity}
.pscFamilySelector{scroll-snap-align:start;flex:0 0 auto;width:214px;min-height:76px;padding:12px 42px 12px 14px;position:relative;display:flex;align-items:center;border:1px solid #ded9d1;border-radius:17px;background:#fff;color:#25231f;text-align:left;font:inherit;cursor:pointer;box-shadow:0 1px 0 rgba(20,25,24,.02);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.pscFamilySelector:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 4px 4px 0;background:var(--family-accent,#178e88);opacity:.55}
.pscFamilySelector:hover{transform:translateY(-1px);border-color:#bbb5ac;box-shadow:0 8px 20px rgba(38,34,27,.06)}
.pscFamilySelectorCopy{min-width:0;display:block}.pscFamilySelectorCopy b{display:block;font-size:12px;line-height:1.16;letter-spacing:-.018em;font-weight:850}.pscFamilySelectorCopy small{display:-webkit-box;margin-top:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:9.5px;line-height:1.25;color:#746f68}
.pscFamilySelectorDha{position:absolute;right:11px;top:9px;width:26px;height:26px;object-fit:contain;background:transparent!important}
.pscFamilySelectorArrow{position:absolute;right:13px;bottom:9px;font-size:14px;font-weight:800;color:#3f4643}.pscFamilySelector[hidden]{display:none!important}.pscFamilyReadEmpty{padding:5px 0 10px;color:#69665f;font-size:12px}
@media(max-width:850px){.pscFamilyReadLayer{width:calc(100% - 44px)}.pscFamilyReadHead{align-items:flex-start}.pscFamilySelector{width:190px}}
@media(max-width:560px){.pscFamilyReadLayer{width:calc(100% - 32px);padding-top:17px;margin-bottom:22px}.pscFamilyReadHead{gap:12px}.pscFamilyReadHead p{font-size:11px}.pscFamilySelector{width:174px;min-height:70px;padding-left:12px}.pscFamilySelectorCopy b{font-size:11.5px}.pscFamilySelectorDha{width:23px;height:23px}}

/* Family modal shell; shared details and controls are in product-editorial.css. */
.pscFamilyDetailOpen body{overflow:hidden}.pscFamilyDetailBackdrop{z-index:9999}
.pscFamilyModalShell{width:min(1120px,94vw)!important;max-height:92dvh!important}
.pscFamilyProductSheet{background:#fff}
@media(max-width:720px){.pscFamilyModalShell{width:100vw!important;max-height:100dvh!important;border-radius:0!important}}

/* V39.9 — PSC supplier option control desk */
.familyOptionPageHeader{align-items:flex-end;gap:24px}.familyOptionStats{grid-template-columns:repeat(5,minmax(0,1fr))}.familyOptionGuard{margin:14px 0 18px}.familyOptionFilter{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:center}.familyOptionFilter .searchInput{min-width:0}.familyOptionFilter select,.familyOptionControlGrid select,.familyOptionControlGrid input,.familyOptionReviewNote textarea{width:100%;box-sizing:border-box;border:1px solid rgba(18,35,33,.15);background:#fff;border-radius:12px;padding:11px 12px;font:inherit;color:#172321}.familyOptionFamilyTable{margin-top:16px}.familyOptionFamilyTable .panelHeader{align-items:flex-end}.familyOptionFamilyIntro{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin:20px 0 14px;padding:28px;border:1px solid rgba(18,35,33,.12);border-radius:22px;background:linear-gradient(135deg,#f4efe4,#e8f3f0)}.familyOptionFamilyIntro h2{margin:4px 0 4px;font-size:34px;letter-spacing:-.04em}.familyOptionFamilyIntro p{margin:4px 0;color:#5f6764}.familyOptionFamilyIntro>div:last-child{text-align:right}.familyOptionFamilyIntro>div:last-child b{display:block;font-size:40px;line-height:1}.familyOptionFamilyIntro>div:last-child span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#66706c}.familyOptionCards{display:grid;gap:16px}.familyOptionCard{border:1px solid rgba(18,35,33,.12);border-radius:22px;background:rgba(255,255,255,.94);padding:22px;box-shadow:0 10px 30px rgba(16,30,28,.04)}.familyOptionCardHead{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.familyOptionCardHead h3{margin:5px 0 5px;font-size:20px;line-height:1.18;letter-spacing:-.02em}.familyOptionCardHead p{margin:0;color:#66706d}.familyOptionCardStatus{text-align:right;min-width:130px}.familyOptionCardStatus small{display:block;margin-top:7px;color:#75807d}.familyOptionSourceGrid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:10px;margin:18px 0}.familyOptionSourceGrid>div{padding:14px;border-radius:14px;background:#f7f5ef;border:1px solid rgba(18,35,33,.08)}.familyOptionSourceGrid span,.familyOptionControlGrid label>span,.familyOptionReviewNote>span{display:block;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#64706c;margin-bottom:6px}.familyOptionSourceGrid b{display:block;font-size:13px}.familyOptionSourceGrid small{display:block;margin-top:4px;color:#737c79;line-height:1.35}.familyOptionControlGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.familyOptionControlGrid label{min-width:0}.familyOptionFlags{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.familyOptionFlags label{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid rgba(18,35,33,.1);border-radius:14px;background:#fbfaf7}.familyOptionFlags input{margin-top:2px}.familyOptionFlags b{display:block;font-size:13px}.familyOptionFlags small{display:block;color:#737c79;margin-top:3px;line-height:1.35}.familyOptionReviewNote{display:block}.familyOptionReviewNote textarea{resize:vertical;min-height:78px}.familyOptionCardFoot{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid rgba(18,35,33,.09)}.familyOptionCardFoot small{color:#7a827f}.familyOptionCardFoot .button{min-width:128px}.familyOptionCard input:disabled{opacity:.45;cursor:not-allowed}.familyOptionFamilyTable .dataTable td:nth-child(1){min-width:240px}.familyOptionFamilyTable .dataTable td:nth-child(2){min-width:190px}.familyOptionFamilyTable .dataTable td:last-child{text-align:right}
@media(max-width:1180px){.familyOptionStats{grid-template-columns:repeat(3,minmax(0,1fr))}.familyOptionSourceGrid{grid-template-columns:1fr 1fr}.familyOptionControlGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.familyOptionPageHeader,.familyOptionFamilyIntro,.familyOptionCardHead,.familyOptionCardFoot{align-items:stretch;flex-direction:column}.familyOptionStats{grid-template-columns:1fr 1fr}.familyOptionFilter{grid-template-columns:1fr}.familyOptionFamilyIntro>div:last-child,.familyOptionCardStatus{text-align:left}.familyOptionSourceGrid,.familyOptionControlGrid,.familyOptionFlags{grid-template-columns:1fr}.familyOptionCard{padding:17px}.familyOptionFamilyIntro{padding:20px}.familyOptionFamilyIntro h2{font-size:28px}}

/* V39.10 — controlled fixed-pricing release */
.familyOptionStats{grid-template-columns:repeat(6,minmax(0,1fr))}
.familyOptionCardStatus .badge{display:inline-flex;margin-left:6px}
.familyOptionPricing{margin:16px 0;border:1px solid rgba(18,35,33,.12);border-radius:16px;background:#f9f7f1;overflow:hidden}
.familyOptionPricing>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;background:#f3eee3}
.familyOptionPricing>summary::-webkit-details-marker{display:none}.familyOptionPricing>summary span b{display:block;font-size:14px}.familyOptionPricing>summary span small{display:block;margin-top:3px;color:#727873;line-height:1.35}.familyOptionPricing>summary em{font-style:normal;white-space:nowrap}
.familyPricingMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:14px 14px 6px}.familyPricingMetrics>div{padding:12px;border:1px solid rgba(18,35,33,.09);border-radius:12px;background:#fff}.familyPricingMetrics span{display:block;font-size:9px;font-weight:900;letter-spacing:.09em;color:#6d7773}.familyPricingMetrics b{display:block;margin-top:5px;font-size:15px}.familyPricingMetrics .belowTarget{border-color:rgba(180,55,44,.28);background:#fff3f0}.familyPricingMetrics .belowTarget b{color:#a23c31}
.familyPricingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 14px 14px}.familyPricingGrid label{min-width:0}.familyPricingGrid label>span{display:block;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#64706c;margin-bottom:6px}.familyPricingGrid select,.familyPricingGrid input,.familyPricingGrid textarea{width:100%;box-sizing:border-box;border:1px solid rgba(18,35,33,.15);background:#fff;border-radius:12px;padding:11px 12px;font:inherit;color:#172321}.familyPricingGrid textarea{resize:vertical;min-height:64px}.familyPricingWide{grid-column:span 2}.familyPricingRule{margin:0;padding:0 14px 15px;font-size:11px;line-height:1.5;color:#6e746f}
.familyOptionQuoteOnly{margin:14px 0;padding:14px 16px;border:1px solid rgba(18,35,33,.10);border-radius:14px;background:#f7f5ef}.familyOptionQuoteOnly b{display:block;font-size:13px}.familyOptionQuoteOnly span{display:block;margin-top:4px;color:#6e746f;font-size:12px;line-height:1.45}
@media(max-width:1180px){.familyOptionStats{grid-template-columns:repeat(3,minmax(0,1fr))}.familyPricingMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.familyPricingGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.familyOptionStats{grid-template-columns:1fr 1fr}.familyPricingMetrics,.familyPricingGrid{grid-template-columns:1fr}.familyPricingWide{grid-column:auto}.familyOptionPricing>summary{align-items:flex-start;flex-direction:column}}

/* V39.12 Task 9 — explicit availability evidence release. */
.familyOptionAvailability{margin:14px 0;border:1px solid rgba(26,52,48,.12);border-radius:18px;background:#f7faf8;overflow:hidden}
.familyOptionAvailability summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;list-style:none}.familyOptionAvailability summary::-webkit-details-marker{display:none}.familyOptionAvailability summary span,.familyOptionAvailability summary b,.familyOptionAvailability summary small{display:block}.familyOptionAvailability summary b{font-size:13px}.familyOptionAvailability summary small{margin-top:3px;font-size:10px;line-height:1.4;color:#6b6a65}.familyOptionAvailability summary em{font-style:normal;flex:0 0 auto}
.familyAvailabilityGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 17px 14px}.familyAvailabilityGrid label{display:block}.familyAvailabilityGrid label>span{display:block;margin-bottom:6px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6c6961}.familyAvailabilityGrid input,.familyAvailabilityGrid select{width:100%;box-sizing:border-box;border:1px solid rgba(28,36,34,.14);border-radius:11px;background:#fff;padding:10px 11px;font:inherit;font-size:12px}.familyAvailabilityEvidence{grid-column:1/-1}.familyOptionAvailability .familyOptionControlNote{margin:0;padding:12px 17px 15px;border-top:1px solid rgba(28,36,34,.08);font-size:10px;line-height:1.5;color:#6a675f}
@media(max-width:850px){.familyAvailabilityGrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.familyAvailabilityGrid{grid-template-columns:1fr}}

/* =========================================================
   V39.13 — grid scope correction
   Purpose: undo the V39.4 site-wide grid without redesigning
   any page. Local/intentional grids remain owned by their
   components (Workshop hero, family detail header, etc.).
   ========================================================= */

/* Public canvas: clean paper again. Do not carry a technical
   grid through every page or behind every section. */
.publicLanding,
.publicPage{
  background-image:none!important;
}

/* Header should remain a clean navigation surface. */
.publicHeader,
.publicHeader.headerScrolled{
  background-image:none!important;
}

/* Restore the pre-V39.4 portal/admin canvas treatment.
   No repeating grid behind operational screens. */
.v26Shell .mainArea,
.mainArea.v7MainArea,
.mainArea.v7bMainArea{
  background:
    radial-gradient(circle at 97% 3%,rgba(255,232,182,.22),transparent 280px),
    linear-gradient(180deg,#fbfaf7 0%,#f7f4ee 100%)!important;
  background-size:auto!important;
}

/* V39.4 added a second grid overlay to public heroes.
   Remove it so locally-designed hero backgrounds render once. */
.publicPageHero::before{
  background-image:none!important;
}

/* Workshop already owns its intentional 26px editorial grid.
   Remove only the later 28px pseudo-grid overlay that caused
   the visible moire / doubled-line effect. */
.workshopHero::before{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Explicitly keep Workshop's own single grid. This repeats the
   existing local treatment only to make the intended scope
   unambiguous after the global override above. */
.workshopHero{
  background-image:
    linear-gradient(rgba(17,20,20,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,20,20,.042) 1px,transparent 1px)!important;
  background-size:26px 26px!important;
}

/* =========================================================
   V39.16 — catalogue hierarchy + Start / Our Model refinement
   ========================================================= */

/* ---------- Public catalogue: category first ---------- */
.catalogue16Page{background:#fbf8f1}
.catalogue16Hero{padding-bottom:34px!important}
.catalogue16Hero h1{max-width:930px}
.catalogue16Hero p{max-width:760px}
.publicCatalogueJourney16{padding-top:12px!important;padding-bottom:34px!important}
.publicCatalogueJourneyHead16{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.publicCatalogueJourneyHead16 h2{margin:5px 0 0;font-size:clamp(30px,3vw,46px);line-height:.98;letter-spacing:-.05em}
.publicCategoryGrid16{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.publicCategoryCard16{position:relative;min-height:220px;padding:20px;border:0;border-radius:27px;background:var(--need-bg);color:var(--need-ink);overflow:hidden;text-align:left;font:inherit;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(20,20,18,.055);transition:transform .18s ease,box-shadow .18s ease}
.publicCategoryCard16:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(44,36,22,.10)}
.publicCategoryCard16.active{box-shadow:inset 0 0 0 2px rgba(16,26,25,.65),0 16px 34px rgba(44,36,22,.10)}
.publicCategoryArt16{position:absolute;right:14px;top:10px;width:118px;height:118px;display:grid;place-items:center}
.publicCategoryArt16 img{display:block;width:100%;height:100%;object-fit:contain;background:transparent!important;border:0!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.04))}
.publicCategoryCopy16{position:absolute;left:20px;right:20px;bottom:19px;display:block;padding-right:34px}
.publicCategoryCopy16 b{display:block;max-width:88%;font-size:22px;line-height:1.02;letter-spacing:-.04em}
.publicCategoryCopy16 small{display:block;margin-top:7px;max-width:90%;font-size:11px;line-height:1.35;opacity:.72}
.publicCategoryCard16>i{position:absolute;right:19px;bottom:18px;font-style:normal;font-size:19px;font-weight:900}
.catalogue16Controls{padding-top:6px!important;padding-bottom:12px!important}
.catalogue16Results{padding-top:22px!important}

/* ---------- Start page ---------- */
.start16Page{background:#fbf8f1;color:#111}
.start16Hero{width:min(1320px,88%);margin:0 auto;padding:82px 0 58px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.72fr);gap:74px;align-items:center}
.start16HeroCopy{max-width:760px}
.start16HeroCopy h1{margin:12px 0 20px;font-size:clamp(58px,6.2vw,96px);line-height:.88;letter-spacing:-.065em;max-width:830px}
.start16HeroCopy>p{margin:0;max-width:680px;font-size:18px;line-height:1.58;color:#5f5b54}
.start16HeroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.start16RouteBoard{border-top:1px solid #cfc8bd;border-bottom:1px solid #cfc8bd}
.start16RouteBoard>button{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:14px;align-items:center;padding:19px 4px;border:0;border-bottom:1px solid #ded8cf;background:transparent;color:#111;text-align:left;font:inherit;cursor:pointer}
.start16RouteBoard>button:last-child{border-bottom:0}
.start16RouteBoard>button>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#168f89}
.start16RouteBoard b{display:block;font-size:16px;letter-spacing:-.025em}
.start16RouteBoard small{display:block;margin-top:4px;color:#777168;font-size:12px;line-height:1.35}
.start16RouteBoard i{font-style:normal;font-size:20px;transition:transform .18s ease}.start16RouteBoard button:hover i{transform:translateX(4px)}
.start16Brief{padding-top:52px!important;padding-bottom:54px!important;border-top:1px solid rgba(40,38,34,.10)}
.start16BriefHead{display:grid;grid-template-columns:minmax(0,.52fr) minmax(0,1fr);gap:50px;align-items:end;margin-bottom:26px}
.start16BriefHead h2{margin:5px 0 0;font-size:clamp(32px,3.5vw,52px);line-height:.98;letter-spacing:-.05em;max-width:800px}
.start16BriefGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d6d0c6;border-bottom:1px solid #d6d0c6}
.start16BriefGrid article{padding:23px 30px 25px 0;border-right:1px solid #ded8cf}.start16BriefGrid article+article{padding-left:30px}.start16BriefGrid article:last-child{border-right:0}
.start16BriefGrid b{font-size:15px}.start16BriefGrid p{margin:8px 0 0;color:#6d675f;font-size:13px;line-height:1.55}
.start16Send{width:min(1240px,88%)!important;margin:34px auto 70px!important;padding:42px!important;border:1px solid rgba(39,42,39,.11)!important;border-radius:30px!important;background:#f2f7f5!important;display:grid!important;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:46px!important;align-items:start!important}
.start16SendIntro h2{margin:8px 0 14px;font-size:clamp(34px,3vw,48px);line-height:.98;letter-spacing:-.05em}
.start16SendIntro>p{font-size:14px;line-height:1.65;color:#5f625e}
.start16Fine{margin-top:20px!important;padding-top:17px;border-top:1px solid rgba(22,73,69,.13);font-size:11px!important;color:#73766f!important}
.start16Form{background:#fff!important;border-radius:22px!important;padding:24px!important;border:1px solid rgba(24,39,37,.10)!important}
.start16Bottom{margin-bottom:56px!important;padding-top:34px!important;padding-bottom:34px!important;border-top:1px solid #d7d1c8;border-bottom:1px solid #d7d1c8;display:flex;align-items:center;justify-content:space-between;gap:30px}
.start16Bottom h2{margin:5px 0 0;font-size:29px;letter-spacing:-.04em}.start16Bottom>div:last-child{display:flex;gap:9px;flex-wrap:wrap}

/* ---------- Our Model ---------- */
.model16Page{background:#fbf8f1;color:#111}
.model16Hero{width:min(1320px,88%);margin:0 auto;padding:80px 0 64px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.58fr);gap:70px;align-items:center}
.model16HeroCopy h1{margin:12px 0 22px;font-size:clamp(52px,5.45vw,84px);line-height:.9;letter-spacing:-.062em;max-width:980px}
.model16HeroCopy>p{margin:0;max-width:760px;font-size:18px;line-height:1.58;color:#615d56}
.model16Principle{display:flex;align-items:center;gap:9px;margin-top:29px;font-size:14px}.model16Principle b{padding:8px 12px;border-radius:999px;background:#0c1a1a;color:#fff}.model16Principle span{font-weight:800}
.model16HeroArt{position:relative;min-height:340px;border-radius:34px;background:#e6f3f0;border:1px solid rgba(20,55,51,.08);overflow:hidden}
.model16HeroArt:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.7),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.2),transparent)}
.model16HeroArt img{position:absolute;object-fit:contain;background:transparent!important;border:0!important;filter:drop-shadow(0 18px 20px rgba(32,45,42,.09))}
.model16HeroArt img:nth-child(1){width:138px;height:138px;left:34px;top:36px;transform:rotate(-5deg)}
.model16HeroArt img:nth-child(2){width:150px;height:150px;right:30px;top:92px;transform:rotate(6deg)}
.model16HeroArt img:nth-child(3){width:142px;height:142px;left:104px;bottom:20px;transform:rotate(-2deg)}
.model16SectionHead{max-width:830px;margin-bottom:26px}.model16SectionHead h2{margin:6px 0 10px;font-size:clamp(34px,3.5vw,54px);line-height:.98;letter-spacing:-.05em}.model16SectionHead p{margin:0;max-width:760px;color:#666058;font-size:14px;line-height:1.62}
.model16Process{padding-top:55px!important;padding-bottom:58px!important;border-top:1px solid #d9d3ca}
.model16ProcessGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d2ccc2;border-bottom:1px solid #d2ccc2}
.model16ProcessGrid article{min-height:225px;padding:24px 24px 28px 0;border-right:1px solid #dcd6cc}.model16ProcessGrid article+article{padding-left:24px}.model16ProcessGrid article:last-child{border-right:0}
.model16ProcessGrid span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#168f89}.model16ProcessGrid h3{margin:58px 0 10px;font-size:22px;line-height:1.02;letter-spacing:-.04em}.model16ProcessGrid p{margin:0;color:#68625a;font-size:13px;line-height:1.55}
.model16Basket{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;padding-top:12px!important;padding-bottom:54px!important}
.model16BasketCard{min-height:270px;border-radius:30px;padding:30px;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;align-items:end;border:1px solid rgba(35,35,31,.06)}
.model16BasketCard.opening{background:#f3e8db}.model16BasketCard.recurring{background:#dff1ed}
.model16BasketCard span{font-size:10px;font-weight:900;letter-spacing:.11em}.model16BasketCard h2{margin:9px 0 12px;font-size:34px;line-height:.98;letter-spacing:-.05em}.model16BasketCard p{margin:0;color:#625e57;font-size:13px;line-height:1.58}.model16BasketCard img{width:145px;height:145px;object-fit:contain;background:transparent!important}
.model16Category{padding-top:52px!important;padding-bottom:54px!important;background:#f2efe8;max-width:none!important;width:100%!important;padding-left:max(6%,calc((100vw - 1320px)/2 + 6%))!important;padding-right:max(6%,calc((100vw - 1320px)/2 + 6%))!important}
.model16CategoryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1120px}
.model16CategoryGrid article{display:grid;grid-template-columns:80px 1fr;gap:22px;align-items:center;min-height:126px;padding:20px;border:1px solid rgba(42,40,35,.08);border-radius:22px;background:#fbf8f1}.model16CategoryGrid img{width:76px;height:76px;object-fit:contain;background:transparent!important}.model16CategoryGrid b{font-size:17px}.model16CategoryGrid p{margin:7px 0 0;color:#69635b;font-size:12px;line-height:1.5}
.model16Boundaries{padding-top:60px!important;padding-bottom:62px!important}
.model16BoundaryRows{max-width:1080px;border-top:1px solid #d5cfc5}.model16BoundaryRows>div{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:36px;padding:20px 0;border-bottom:1px solid #d5cfc5}.model16BoundaryRows b{font-size:15px;line-height:1.35}.model16BoundaryRows span{font-size:13px;line-height:1.55;color:#69635b}
.model16School{margin-top:4px!important;margin-bottom:65px!important;padding:42px!important;border-radius:30px;background:#10201f;color:#fff;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:48px!important;align-items:end!important}.model16School h2{margin:7px 0 12px;font-size:clamp(34px,3.5vw,52px);line-height:.98;letter-spacing:-.05em}.model16School p{margin:0;max-width:800px;color:#cdd9d7;font-size:14px;line-height:1.62}.model16School .kicker{color:#63d2cb}.model16SchoolActions{display:flex;gap:10px;flex-wrap:wrap}.model16School .button.outline{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}

@media(max-width:1100px){
  .publicCategoryGrid16{grid-template-columns:repeat(3,minmax(0,1fr))}
  .start16Hero,.model16Hero{grid-template-columns:1fr;gap:38px}
  .start16RouteBoard{max-width:760px}.model16HeroArt{min-height:300px;max-width:620px}
  .model16ProcessGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.model16ProcessGrid article:nth-child(2){border-right:0}.model16ProcessGrid article:nth-child(3),.model16ProcessGrid article:nth-child(4){border-top:1px solid #dcd6cc}
  .model16School{grid-template-columns:1fr!important;align-items:start!important}
}
@media(max-width:760px){
  .publicCategoryGrid16{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.publicCategoryCard16{min-height:172px;border-radius:21px;padding:14px}.publicCategoryArt16{width:88px;height:88px}.publicCategoryCopy16{left:14px;right:14px;bottom:14px}.publicCategoryCopy16 b{font-size:18px}.publicCategoryCopy16 small{display:none}.publicCategoryCard16>i{right:14px;bottom:13px}.publicCatalogueJourneyHead16{align-items:flex-start;flex-direction:column}
  .start16Hero,.model16Hero{width:calc(100% - 40px);padding-top:52px;padding-bottom:42px}.start16HeroCopy h1{font-size:52px}.model16HeroCopy h1{font-size:46px}.start16HeroCopy>p,.model16HeroCopy>p{font-size:16px}.start16HeroActions .button{flex:1 1 190px}
  .start16BriefHead{grid-template-columns:1fr;gap:12px}.start16BriefGrid{grid-template-columns:1fr}.start16BriefGrid article,.start16BriefGrid article+article{padding:18px 0;border-right:0;border-bottom:1px solid #ded8cf}.start16BriefGrid article:last-child{border-bottom:0}
  .start16Send{width:calc(100% - 32px)!important;margin:24px 16px 48px!important;padding:24px!important;grid-template-columns:1fr!important;gap:24px!important}.start16Form{padding:18px!important}.start16Bottom{display:grid;align-items:start}.start16Bottom>div:last-child{width:100%}.start16Bottom .button{flex:1}
  .model16HeroArt{min-height:260px}.model16HeroArt img:nth-child(1){width:110px;height:110px}.model16HeroArt img:nth-child(2){width:118px;height:118px}.model16HeroArt img:nth-child(3){width:108px;height:108px;left:84px}
  .model16ProcessGrid{grid-template-columns:1fr}.model16ProcessGrid article,.model16ProcessGrid article+article{padding:21px 0;border-right:0;border-top:1px solid #dcd6cc;min-height:0}.model16ProcessGrid article:first-child{border-top:0}.model16ProcessGrid h3{margin:28px 0 8px}
  .model16Basket{grid-template-columns:1fr!important}.model16BasketCard{grid-template-columns:1fr 90px;min-height:220px;padding:22px}.model16BasketCard img{width:90px;height:90px}.model16BasketCard h2{font-size:29px}
  .model16Category{padding-left:22px!important;padding-right:22px!important}.model16CategoryGrid{grid-template-columns:1fr}.model16CategoryGrid article{grid-template-columns:64px 1fr}.model16CategoryGrid img{width:62px;height:62px}
  .model16BoundaryRows>div{grid-template-columns:1fr;gap:7px;padding:17px 0}.model16School{margin-left:18px!important;margin-right:18px!important;padding:28px 24px!important}.model16SchoolActions{width:100%}.model16SchoolActions .button{flex:1 1 190px}
}
@media(max-width:500px){.publicCategoryGrid16{grid-template-columns:1fr 1fr}.publicCategoryCard16{min-height:158px}.publicCategoryArt16{width:78px;height:78px}.publicCategoryCopy16 b{font-size:16px}.start16HeroCopy h1{font-size:46px}.model16HeroCopy h1{font-size:41px}}

/* Retail reference / account quotation notice, shared by listings and details. */
.pscRetailPriceNotice{display:block;margin:0 0 18px;padding:12px 15px;border-left:3px solid #207b69;border-radius:0 8px 8px 0;background:#eef5f1;color:#35534a;font-size:12px;line-height:1.55;text-align:left;overflow-wrap:anywhere}
.pscRetailPriceNotice strong{font-weight:650;color:#173e33}
@media(max-width:600px){.pscRetailPriceNotice{padding:11px 12px;font-size:12px}.pscRetailPriceNotice strong{display:block}}

/* =========================================================
   V39.17 — Our Model: The Institutional Way
   Deliberately self-contained so no other public page shifts.
   ========================================================= */
.model17Page{background:#fbf8f1;color:#111}
.model17Page .kicker{letter-spacing:.12em}

.model17Hero{width:min(1320px,88%);margin:0 auto;padding:82px 0 72px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.62fr);gap:74px;align-items:center}
.model17HeroCopy h1{margin:11px 0 22px;font-size:clamp(64px,7.4vw,112px);line-height:.86;letter-spacing:-.072em;max-width:920px}
.model17HeroCopy>p{margin:0;max-width:760px;font-size:21px;line-height:1.52;color:#56534d}
.model17Principle{display:inline-flex;margin-top:32px;padding:12px 16px;border-radius:999px;background:#10201f;color:#fff;font-size:13px;font-weight:900;letter-spacing:.02em}

.model17HeroVisual{position:relative;height:410px;border-radius:38px;background:#e5f2ef;border:1px solid rgba(20,55,51,.08);overflow:hidden}
.model17HeroVisual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 16%,rgba(255,255,255,.72),transparent 31%),linear-gradient(145deg,rgba(255,255,255,.18),transparent 58%)}
.model17PaperCard{position:absolute;width:190px;height:206px;padding:20px;border-radius:24px;background:#fbf8f1;border:1px solid rgba(25,35,33,.08);box-shadow:0 18px 38px rgba(28,41,38,.09);display:flex;flex-direction:column;justify-content:space-between}
.model17PaperCard img{width:118px;height:118px;object-fit:contain;align-self:center;background:transparent!important}
.model17PaperCard span{font-size:10px;font-weight:900;letter-spacing:.14em;color:#3d5551}
.model17PaperCard.cardA{left:28px;top:34px;transform:rotate(-7deg)}
.model17PaperCard.cardB{right:27px;top:56px;transform:rotate(6deg)}
.model17PaperCard.cardC{left:112px;bottom:17px;transform:rotate(-1.5deg)}

.model17Promise{padding-top:64px!important;padding-bottom:62px!important;border-top:1px solid #d8d2c8;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;gap:72px!important;align-items:end!important}
.model17Promise h2{margin:7px 0 0;font-size:clamp(46px,5vw,76px);line-height:.93;letter-spacing:-.06em;max-width:900px}
.model17Promise>p{margin:0 0 7px;font-size:21px;line-height:1.5;color:#5b5750;max-width:470px}

.model17Rhythm{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;padding-top:10px!important;padding-bottom:74px!important}
.model17RhythmCard{min-height:340px;padding:34px;border-radius:32px;border:1px solid rgba(35,35,31,.06);display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:28px;align-items:end;overflow:hidden}
.model17RhythmCard.setup{background:#f3e5d7}.model17RhythmCard.running{background:#dff1ed}
.model17RhythmCard span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#4f5754}.model17RhythmCard h2{margin:10px 0 14px;font-size:clamp(40px,4.1vw,62px);line-height:.93;letter-spacing:-.057em}.model17RhythmCard p{margin:0;max-width:600px;font-size:15px;line-height:1.62;color:#5f5b54}.model17RhythmCard img{width:158px;height:158px;object-fit:contain;background:transparent!important;filter:drop-shadow(0 15px 19px rgba(20,18,15,.06))}

.model17Source{max-width:none!important;width:100%!important;padding-top:72px!important;padding-bottom:82px!important;padding-left:max(6%,calc((100vw - 1320px)/2 + 6%))!important;padding-right:max(6%,calc((100vw - 1320px)/2 + 6%))!important;background:#f1eee7}
.model17SourceIntro{max-width:880px;margin-bottom:40px}.model17SourceIntro h2{margin:7px 0 13px;font-size:clamp(46px,5vw,76px);line-height:.93;letter-spacing:-.06em}.model17SourceIntro p{margin:0;max-width:760px;font-size:17px;line-height:1.6;color:#5d5952}
.model17SupplyFlow{display:grid;grid-template-columns:minmax(220px,1fr) 82px minmax(220px,1fr) 82px minmax(250px,1.08fr);gap:14px;align-items:stretch;max-width:1260px}
.model17FlowCard{min-height:340px;border-radius:28px;padding:23px;background:#fbf8f1;border:1px solid rgba(30,31,27,.09);display:flex;flex-direction:column;position:relative;overflow:hidden}
.model17FlowCard.category{background:#ffb07d}.model17FlowCard.family{background:#e4f0f8}.model17FlowCard.line{background:#fff}
.model17FlowLabel{font-size:9px;font-weight:900;letter-spacing:.13em;color:#4f5552;margin-bottom:18px}
.model17FlowCard>img{height:126px;width:126px;object-fit:contain;align-self:flex-end;background:transparent!important;margin:2px 0 30px}
.model17FlowCard.family>img{width:150px;height:150px;object-fit:contain;mix-blend-mode:multiply}
.model17LineThumb{width:118px;height:118px;margin:3px 0 21px auto;border-radius:22px;background:#f3f1eb;display:grid;place-items:center;overflow:hidden}.model17LineThumb img{width:104px;height:104px;object-fit:contain;mix-blend-mode:multiply}
.model17FlowCard h3{margin:auto 0 8px;font-size:25px;line-height:1.02;letter-spacing:-.045em}.model17FlowCard p{margin:0;color:#625e57;font-size:12px;line-height:1.52}.model17FlowCard.line b{margin-top:18px;padding-top:16px;border-top:1px solid #ddd8cf;font-size:11px;letter-spacing:.01em}
.model17Arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#52635f}.model17Arrow span{font-size:34px;line-height:1}.model17Arrow small{font-size:8px;font-weight:900;letter-spacing:.11em;text-align:center}

.model17BottomCta{background:#111918;color:#fff;padding:74px max(6%,calc((100vw - 1320px)/2 + 6%));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end}
.model17BottomCta>div>span{display:block;margin-bottom:10px;font-size:10px;font-weight:900;letter-spacing:.14em;color:#68d1ca}.model17BottomCta h2{margin:0;color:#fff;font-size:clamp(46px,5.5vw,82px);line-height:.91;letter-spacing:-.06em;max-width:940px}.model17BottomActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.model17BottomCta .button.outline{color:#fff;border-color:rgba(255,255,255,.32);background:transparent}.model17BottomCta .button.outline:hover{background:rgba(255,255,255,.07)}

@media(max-width:1080px){
  .model17Hero{grid-template-columns:1fr;gap:42px}.model17HeroVisual{max-width:680px;width:100%;height:340px}
  .model17Promise{grid-template-columns:1fr!important;gap:20px!important}.model17Promise>p{max-width:720px}
  .model17SupplyFlow{grid-template-columns:1fr 62px 1fr}.model17FlowCard.line{grid-column:1/-1;max-width:520px;width:100%;justify-self:center}.model17Arrow:nth-of-type(2){display:none}
  .model17BottomCta{grid-template-columns:1fr}.model17BottomActions{justify-content:flex-start}
}
@media(max-width:760px){
  .model17Hero{width:calc(100% - 40px);padding:52px 0 46px}.model17HeroCopy h1{font-size:56px}.model17HeroCopy>p{font-size:17px}.model17HeroVisual{height:280px}.model17PaperCard{width:145px;height:160px;padding:15px}.model17PaperCard img{width:86px;height:86px}.model17PaperCard.cardA{left:18px;top:24px}.model17PaperCard.cardB{right:18px;top:41px}.model17PaperCard.cardC{left:86px;bottom:10px}
  .model17Promise,.model17Rhythm{padding-left:22px!important;padding-right:22px!important}.model17Promise h2,.model17SourceIntro h2{font-size:43px}.model17Promise>p{font-size:17px}
  .model17Rhythm{grid-template-columns:1fr!important}.model17RhythmCard{grid-template-columns:1fr 92px;min-height:255px;padding:24px}.model17RhythmCard img{width:92px;height:92px}.model17RhythmCard h2{font-size:39px}
  .model17Source{padding-left:22px!important;padding-right:22px!important}.model17SupplyFlow{grid-template-columns:1fr;gap:14px}.model17Arrow{height:44px}.model17Arrow span{transform:rotate(90deg)}.model17Arrow small{display:none}.model17Arrow:nth-of-type(2){display:flex}.model17FlowCard.line{grid-column:auto;max-width:none}.model17FlowCard{min-height:290px}
  .model17BottomCta{padding:54px 22px}.model17BottomCta h2{font-size:48px}.model17BottomActions{width:100%}.model17BottomActions .button{flex:1 1 180px}
}

/* V39.18 — model hierarchy correction. */
.model17SupplyFlow .model18FamilyCard,.model17SupplyFlow .model18LineCard{background:#fff!important;position:relative}
.model17SupplyFlow .model18FamilyCard{border:1px solid #ded9d1!important}.model17SupplyFlow .model18FamilyVisual{height:210px;display:grid;place-items:center;margin:18px 0 22px;border-radius:22px;background:#faf9f5}.model17SupplyFlow .model18FamilyVisual>img{width:78%;height:78%;object-fit:contain;background:transparent!important}
.model17SupplyFlow .model18FamilyCard>p em{font-style:italic;color:#68635c}.model17SupplyFlow .model18LineCard .model17LineThumb{background:#faf9f5!important}.model17SupplyFlow .model18LineCard .model17LineThumb img{object-fit:contain!important;background:transparent!important}
.model17SupplyFlow .model18DhaMark{position:absolute!important;right:20px!important;top:18px!important;width:36px!important;height:36px!important;object-fit:contain!important;background:transparent!important;border:0!important;z-index:3}
@media(max-width:760px){.model17SupplyFlow .model18FamilyVisual{height:150px}.model17SupplyFlow .model18DhaMark{width:30px!important;height:30px!important;right:14px!important;top:14px!important}}

/* =========================================================
   V39.22 — frontend polish: Our Model, Start, Workshop media
   Additive only. No catalogue / backend behavior changes.
   ========================================================= */

/* ---------- Our Model: make the category -> family -> line example look finished ---------- */
.model17FlowCard.family>img{
  width:188px!important;
  height:188px!important;
  margin:0 auto 22px!important;
  align-self:center!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 16px 20px rgba(24,38,37,.12));
}
.model17LineThumb{
  width:150px!important;
  height:150px!important;
  margin:0 auto 24px!important;
  border-radius:26px!important;
  background:#f6f4ef!important;
}
.model17LineThumb img{
  width:126px!important;
  height:126px!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 12px 16px rgba(24,38,37,.11));
}
.model17FlowCard.family,.model17FlowCard.line{background:#fff!important}
.model17FlowCard.family h3,.model17FlowCard.line h3{margin-top:auto!important}

/* ---------- Start: more character without making it decorative noise ---------- */
.start16RouteBoard{
  padding:10px 18px!important;
  border:1px solid #d8d2c8!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#fffdf8 0%,#f2f7f5 100%)!important;
  box-shadow:0 16px 40px rgba(43,38,29,.055);
}
.start16RouteBoard>button{
  grid-template-columns:30px 48px 1fr auto!important;
  min-height:92px;
  padding:14px 2px!important;
}
.start22RouteIcon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:15px;
  background:#fff;
  border:1px solid rgba(35,44,42,.08);
  box-shadow:0 8px 18px rgba(28,37,34,.055);
}
.start22RouteIcon img{width:33px;height:33px;object-fit:contain;background:transparent!important}
.start16RouteBoard>button:nth-child(1) .start22RouteIcon{background:#e7f4f1}
.start16RouteBoard>button:nth-child(2) .start22RouteIcon{background:#fff0e9}
.start16RouteBoard>button:nth-child(3) .start22RouteIcon{background:#eef0fb}

.start22SupplyCue{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-top:24px;color:#5e625d;
}
.start22SupplyCue span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ded8cf;border-radius:999px;background:#fff;font-size:10px;font-weight:800}
.start22SupplyCue img{width:18px;height:18px;object-fit:contain;background:transparent!important}
.start22SupplyCue i{font-style:normal;color:#13978f;font-size:13px;font-weight:900}

/* The washed-out form intro in the supplied screenshot is a contrast regression. */
.start16Send{background:#e9f4f1!important}
.start16SendIntro{position:relative;padding-top:2px}
.start16SendIntro .kicker{color:#158f88!important}
.start16SendIntro h2{color:#101817!important;opacity:1!important;text-shadow:none!important}
.start16SendIntro>p{color:#4f5b57!important}
.start16Fine{color:#68736f!important;border-top-color:rgba(15,71,66,.16)!important}
.start22SendMark{display:flex;align-items:center;margin:0 0 18px 0;height:58px}
.start22SendMark span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid rgba(25,60,56,.09);box-shadow:0 9px 20px rgba(31,47,44,.07)}
.start22SendMark span+span{margin-left:-10px;transform:rotate(6deg);background:#fff7ed}
.start22SendMark span:first-child{transform:rotate(-5deg)}
.start22SendMark img{width:39px;height:39px;object-fit:contain;background:transparent!important}

/* ---------- Workshop: use the supplied editorial artwork in previews and articles ---------- */
.workshopGuideCard.hasWorkshopMedia .workshopGuideCardVisual{background:#eef4f2!important;display:block!important}
.workshopGuideCard.hasWorkshopMedia .workshopGuideCardVisual:before,
.workshopGuideCard.hasWorkshopMedia .workshopGuideCardVisual:after{display:none!important}
.workshop22PreviewImage{display:block;width:100%;height:100%;min-height:170px;object-fit:cover;object-position:center;background:#fff}
.homeWorkshopCards .workshop22PreviewImage{min-height:155px}
.workshopGuideCard.hasWorkshopMedia:hover .workshop22PreviewImage{transform:scale(1.018)}
.workshop22PreviewImage{transition:transform .22s ease}

.workshop22HeroMedia{
  margin:34px 0 10px;
  width:100%;
  border-radius:28px;
  overflow:hidden;
  border:1px solid #dcd7ce;
  background:#f2f3ef;
  box-shadow:0 18px 42px rgba(29,31,27,.055);
}
.workshop22HeroMedia img{display:block;width:100%;aspect-ratio:16/8.6;object-fit:cover;background:#fff}

@media(max-width:760px){
  .model17FlowCard.family>img{width:150px!important;height:150px!important}
  .model17LineThumb{width:130px!important;height:130px!important}.model17LineThumb img{width:108px!important;height:108px!important}
  .start16RouteBoard{padding:7px 13px!important;border-radius:22px!important}
  .start16RouteBoard>button{grid-template-columns:25px 42px 1fr auto!important;min-height:82px}
  .start22RouteIcon{width:38px;height:38px;border-radius:13px}.start22RouteIcon img{width:28px;height:28px}
  .start22SupplyCue{margin-top:18px}.start22SupplyCue span{font-size:9px;padding:6px 8px}.start22SupplyCue i{display:none}
  .start22SendMark{margin-bottom:12px}
  .workshop22HeroMedia{margin:24px 0 4px;border-radius:20px}
}

@media print{
  .workshop22HeroMedia{box-shadow:none!important;border:0!important;margin:18px 0!important}
}

/* V39.24 — Our Model: literal catalogue walkthrough. */
.model17Source{padding-bottom:86px!important}
.model17SourceIntro{max-width:920px!important;margin-bottom:34px!important}
.model17SourceIntro p{max-width:820px!important}

.model24Walkthrough{max-width:1280px;display:grid;gap:14px}
.model24Step{border:1px solid rgba(31,31,27,.09);border-radius:30px;background:#fbf8f1;overflow:hidden;box-sizing:border-box}
.model24StepCopy{padding:30px 32px 24px;max-width:900px}
.model24Number{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#6d736f}
.model24Step h3{margin:7px 0 10px;font-size:clamp(30px,3.1vw,46px);line-height:.96;letter-spacing:-.05em}
.model24Step p{margin:0;max-width:820px;font-size:14px;line-height:1.6;color:#625d56}

.model24CategoryStep{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.5fr);align-items:center;padding-right:34px;background:#f7f1e8}
.model24CategoryVisual{display:grid;place-items:center;padding:26px 0}
.model24CategoryVisual img{display:block;width:min(300px,100%);height:auto;border-radius:28px;box-shadow:0 16px 34px rgba(50,38,22,.08)}

.model24FamilyStep{background:#fff}
.model24FamilyVisual{padding:0 28px 28px}
.model24FamilyVisual img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid rgba(35,35,31,.08);box-shadow:0 13px 28px rgba(35,35,31,.045)}

.model24LineStep{background:#eef5f3}
.model24LineVisual{padding:0 28px 28px}
.model24LineVisual img{display:block;width:100%;height:auto;border-radius:24px;border:1px solid rgba(25,45,42,.10);box-shadow:0 18px 40px rgba(31,51,48,.08)}

.model24Down{height:38px;display:grid;place-items:center;color:#66706d}
.model24Down span{width:32px;height:32px;border:1px solid #cbd1cc;border-radius:50%;background:#fbf8f1;display:grid;place-items:center;font-size:17px;font-weight:900}

@media(max-width:900px){
  .model24CategoryStep{grid-template-columns:1fr;padding-right:0}
  .model24CategoryVisual{padding:0 26px 28px;justify-items:start}
  .model24CategoryVisual img{width:min(320px,100%)}
}
@media(max-width:700px){
  .model17Source{padding-bottom:58px!important}
  .model24Step{border-radius:24px}
  .model24StepCopy{padding:24px 22px 20px}
  .model24Step h3{font-size:32px}
  .model24Step p{font-size:13px}
  .model24FamilyVisual,.model24LineVisual{padding:0 14px 16px}
  .model24FamilyVisual img{border-radius:14px}
  .model24LineVisual img{border-radius:18px}
}

/* V39.26 — Contact tightening + Workshop utility layer. Isolated patch only. */

/* Contact: one sentence, then the form. */
.publicPage:has(.v37ProspectForm) .publicPageHero{padding-bottom:30px}
.publicPage:has(.v37ProspectForm) .publicPageHero>p{max-width:900px;font-size:18px;line-height:1.58;margin-top:16px}
.publicPage:has(.v37ProspectForm) .prospectSection{padding-top:22px}
.publicPage:has(.v37ProspectForm) .prospectForm{margin-top:0}

/* Contact cards: prevent Clinic Portal label/button collision. */
.prospectContactGrid{align-items:stretch}
.prospectContactGrid .contactCard{min-width:0;gap:14px}
.prospectContactGrid .contactCard:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:22px}
.prospectContactGrid .contactCard:last-child .button{width:auto;max-width:100%;white-space:normal;line-height:1.1;text-align:center;padding:13px 18px}

/* Home clinical preview: keep breathing room and CTA inside the content width. */
.publicClinicalPreview{overflow:hidden}
.publicClinicalPreviewHead{gap:30px}
.publicClinicalPreviewHead .textAction{flex:0 0 auto;align-self:flex-end}
.publicClinicalPreviewFoot{gap:26px;align-items:center}
.publicClinicalPreviewFoot>span{min-width:0;max-width:820px}
.publicClinicalPreviewFoot .button{flex:0 0 auto}

/* Workshop landing: deeper content without making the category row heavier. */
.workshopCategoryCard i{font-variant-numeric:tabular-nums}
.workshopGuideDeckScroll{scroll-padding-inline:24px}
.workshopGuideCardCopy p{max-width:34ch}

/* Action view: every article answers the same operational questions. */
.v3926ActionView{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 0 38px;border:1px solid #dedbd4;border-radius:24px;overflow:hidden;background:#dedbd4}
.v3926ActionView article{background:#fbfaf6;padding:20px 18px;min-width:0}
.v3926ActionView span{display:block;margin-bottom:10px;font-size:10px;line-height:1;letter-spacing:.13em;font-weight:900;color:#0a857e}
.v3926ActionView p{margin:0;font-size:13px;line-height:1.52;color:#4f5552}

/* Do This Now: compact physical checklist. */
.v3926RunCheck{background:#0b2825!important;color:#fff!important;border-color:#0b2825!important}
.v3926QuickCheck{margin:0 0 42px;padding:30px;border-radius:28px;background:#dff1ed;border:1px solid rgba(11,91,85,.13)}
.v3926QuickCheck[hidden]{display:none!important}
.v3926QuickCheckHead{max-width:760px;margin-bottom:22px}
.v3926QuickCheckHead>span{font-size:11px;letter-spacing:.14em;font-weight:900;color:#087f78}
.v3926QuickCheckHead h2{margin:8px 0 8px;font-size:32px;line-height:1;letter-spacing:-.045em}
.v3926QuickCheckHead p{margin:0;color:#5a6460;line-height:1.55}
.v3926CheckList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v3926CheckList label{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;background:#fff;border:1px solid rgba(15,46,43,.1);border-radius:16px;cursor:pointer}
.v3926CheckList input{width:18px;height:18px;margin:2px 0 0;accent-color:#0b9d94;flex:0 0 auto}
.v3926CheckList span{display:grid;grid-template-columns:28px 1fr;gap:8px;font-size:13px;line-height:1.42;color:#252a28}
.v3926CheckList span b{font-size:10px;letter-spacing:.08em;color:#0b8e86;padding-top:2px}
.v3926QuickCheckFoot{display:flex;gap:12px;align-items:baseline;margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,46,43,.12)}
.v3926QuickCheckFoot b{font-size:15px}.v3926QuickCheckFoot span{font-size:13px;color:#56605d}

/* Strict related products: commerce only when the product is genuinely part of the check. */
.v3926StrictRelated .workshopRelatedHead span{color:#087f78}
.v3926StrictRelated .workshopRelatedHead p{max-width:520px}
.v3926StrictRelated .workshopRelatedList button{position:relative}
.v3926StrictRelated .workshopRelatedList button:after{content:'VIEW PRODUCT';display:block;margin-top:12px;font-size:9px;letter-spacing:.12em;font-weight:900;color:#0a857e}

@media(max-width:1100px){
  .v3926ActionView{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3926ActionView article:last-child{grid-column:1/-1}
  .prospectContactGrid .contactCard:last-child{align-items:flex-start}
}
@media(max-width:760px){
  .publicPage:has(.v37ProspectForm) .publicPageHero>p{font-size:15px}
  .prospectContactGrid .contactCard:last-child .button{width:100%}
  .publicClinicalPreviewHead,.publicClinicalPreviewFoot{align-items:flex-start}
  .publicClinicalPreviewHead .textAction{align-self:flex-start}
  .publicClinicalPreviewFoot{display:grid}
  .publicClinicalPreviewFoot .button{width:100%}
  .v3926ActionView{grid-template-columns:1fr;border-radius:20px}
  .v3926ActionView article:last-child{grid-column:auto}
  .v3926QuickCheck{padding:22px 18px;border-radius:22px}
  .v3926CheckList{grid-template-columns:1fr}
  .v3926QuickCheckHead h2{font-size:27px}
  .v3926QuickCheckFoot{display:grid;gap:5px}
}

/* =========================================================
   V39.27 — Contact form structural repair
   Isolated patch. Does not touch app.js or styles.css.
   ========================================================= */

/* Contact hero */
.publicPage:has(.v3927ContactForm) .publicPageHero{
  padding-bottom:42px!important;
}
.publicPage:has(.v3927ContactForm) .publicPageHero h1{
  max-width:900px!important;
}
.publicPage:has(.v3927ContactForm) .publicPageHero>p{
  max-width:900px!important;
  margin:16px 0 0!important;
  font-size:18px!important;
  line-height:1.58!important;
}

/*
  V39.26 removed .prospectIntro, so the old two-column
  "intro + form" grid must also be removed. The form is now
  the only content in this section and owns the full width.
*/
.v3927ContactSection{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding-top:42px!important;
  padding-bottom:34px!important;
}

.v3927ContactForm{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:1080px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:30px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
}

.v3927ContactForm .prospectField{
  min-width:0!important;
  width:100%!important;
  gap:8px!important;
}
.v3927ContactForm .prospectFieldWide{
  grid-column:1/-1!important;
}
.v3927ContactForm .prospectField label{
  display:block!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.3!important;
}
.v3927ContactForm .prospectField label span{
  font-weight:500!important;
  color:#898e88!important;
}

/* Existing rules omitted select elements, which caused the tiny native controls. */
.v3927ContactForm .prospectField input:not([type="file"]),
.v3927ContactForm .prospectField select,
.v3927ContactForm .prospectField textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border:1px solid #dedfd9!important;
  border-radius:14px!important;
  background:#fbfbf8!important;
  color:#171a19!important;
  font:inherit!important;
  font-size:14px!important;
  line-height:1.45!important;
  outline:none!important;
}
.v3927ContactForm .prospectField input:not([type="file"]),
.v3927ContactForm .prospectField select{
  min-height:52px!important;
  padding:0 14px!important;
}
.v3927ContactForm .prospectField textarea{
  min-height:160px!important;
  padding:14px!important;
  resize:vertical!important;
}
.v3927ContactForm .prospectField select{
  appearance:auto!important;
}
.v3927ContactForm .prospectField input:focus,
.v3927ContactForm .prospectField select:focus,
.v3927ContactForm .prospectField textarea:focus{
  background:#fff!important;
  border-color:#8ecbc6!important;
  box-shadow:0 0 0 3px rgba(39,169,159,.12)!important;
}

.v3927ContactForm .rfqUploadField{
  min-width:0!important;
}
.v3927ContactForm .rfqUploadField input[type="file"]{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:12px!important;
  border:1px dashed #d8dad4!important;
  border-radius:14px!important;
  background:#fbfbf8!important;
  font-size:12px!important;
  overflow:hidden!important;
}

.v3927ContactForm .prospectSubmitRow{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-width:0!important;
  padding-top:6px!important;
}
.v3927ContactForm .prospectSubmitRow p{
  flex:1 1 auto!important;
  max-width:520px!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.5!important;
}
.v3927ContactForm .prospectSubmitRow .button{
  flex:0 0 auto!important;
  min-width:170px!important;
  min-height:50px!important;
}

/* Contact information cards */
.publicPage:has(.v3927ContactForm) .prospectContactGrid{
  padding-top:26px!important;
  padding-bottom:58px!important;
}
.publicPage:has(.v3927ContactForm) .prospectContactGrid .contactCard{
  min-width:0!important;
}
.prospectContactGrid .contactCard a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.prospectContactGrid .contactCard a:focus-visible{outline:2px solid #0a9794;outline-offset:6px}
.publicPage:has(.v3927ContactForm) .prospectContactGrid .contactCard:last-child{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.publicPage:has(.v3927ContactForm) .prospectContactGrid .contactCard:last-child .button{
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  text-align:center!important;
}

@media(max-width:900px){
  .v3927ContactSection{
    padding:34px 28px 24px!important;
  }
  .v3927ContactForm{
    max-width:760px!important;
    padding:24px!important;
  }
}

@media(max-width:680px){
  .publicPage:has(.v3927ContactForm) .publicPageHero{
    padding:50px 20px 30px!important;
  }
  .publicPage:has(.v3927ContactForm) .publicPageHero h1{
    font-size:clamp(46px,14vw,64px)!important;
    line-height:.94!important;
    letter-spacing:-.06em!important;
  }
  .publicPage:has(.v3927ContactForm) .publicPageHero>p{
    font-size:15px!important;
    line-height:1.55!important;
  }
  .v3927ContactSection{
    width:100%!important;
    padding:24px 16px 18px!important;
  }
  .v3927ContactForm{
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    padding:18px!important;
    border-radius:0!important;
  }
  .v3927ContactForm .prospectFieldWide,
  .v3927ContactForm .prospectSubmitRow{
    grid-column:1!important;
  }
  .v3927ContactForm .prospectField input:not([type="file"]),
  .v3927ContactForm .prospectField select{
    min-height:50px!important;
    font-size:16px!important; /* prevents iOS zoom */
  }
  .v3927ContactForm .prospectField textarea{
    min-height:150px!important;
    font-size:16px!important;
  }
  .v3927ContactForm .rfqUploadField input[type="file"]{
    font-size:12px!important;
  }
  .v3927ContactForm .prospectSubmitRow{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  .v3927ContactForm .prospectSubmitRow p{
    max-width:none!important;
  }
  .v3927ContactForm .prospectSubmitRow .button{
    width:100%!important;
    min-width:0!important;
  }
  .publicPage:has(.v3927ContactForm) .prospectContactGrid{
    grid-template-columns:1fr!important;
    padding:24px 16px 42px!important;
    gap:12px!important;
  }
  .publicPage:has(.v3927ContactForm) .prospectContactGrid .contactCard:last-child .button{
    width:100%!important;
  }
}

/* =========================================================
   V39.35 — Home community section, corrected
   Uses the supplied transparent Canva composition as the
   section background. No reconstructed people/cutout layers.
   ========================================================= */

.homeCommunitySection{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  height:clamp(650px,45vw,820px);
  min-height:650px;
  border-bottom:1px solid #ddd7ce;
  background:#fbfaf7;
  padding:clamp(70px,7vw,112px) 0;
  display:flex;
  align-items:center;
}

/* Exact user-supplied image is the background layer. */
.homeCommunitySection::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-2%;
  pointer-events:none;
  background-image:url("/assets/home-community-section-bg.png?v=3936");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  will-change:filter,transform,opacity;
  transition:
    filter 1.05s ease,
    transform 1.15s cubic-bezier(.2,.72,.2,1),
    opacity .78s ease;
}

/* Very light left-side wash only to keep web text crisp over the source. */
.homeCommunitySection::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(251,250,247,.34) 0%,
    rgba(251,250,247,.14) 36%,
    rgba(251,250,247,0) 51%
  );
}

.homeCommunityInner{
  width:100%;
  max-width:none;
  margin:0;
  position:relative;
}

.homeCommunityCopy{
  width:min(42%,680px);
  max-width:680px;
  margin-left:7.35%;
  margin-top:-2%;
}

.homeCommunityCopy h2{
  margin:0;
  color:#111413;
  font-size:clamp(44px,3.35vw,62px);
  line-height:1.06;
  letter-spacing:-.055em;
  font-weight:700;
}

.homeCommunityCopy h2 span{
  display:block;
  white-space:nowrap;
}

.homeCommunityBody{
  width:min(100%,600px);
  margin-top:clamp(30px,3vw,46px);
  display:grid;
  gap:22px;
}

.homeCommunityBody p{
  margin:0;
  color:#7a7772;
  font-size:clamp(15px,1.04vw,18px);
  line-height:1.5;
  letter-spacing:-.012em;
}

.homeCommunityBody p:first-child{
  color:#706d68;
}

/* Scroll reveal — restrained and whole-section based. */
.homeCommunitySection:not(.is-visible)::before{
  filter:blur(10px);
  transform:scale(1.025);
  opacity:.76;
}

.homeCommunitySection:not(.is-visible) .homeCommunityCopy h2,
.homeCommunitySection:not(.is-visible) .homeCommunityBody p{
  opacity:0;
  transform:translateY(18px);
}

.homeCommunityCopy h2{
  transition:
    opacity .58s ease .08s,
    transform .64s cubic-bezier(.2,.72,.2,1) .08s;
}

.homeCommunityBody p:nth-child(1){
  transition:
    opacity .52s ease .18s,
    transform .58s cubic-bezier(.2,.72,.2,1) .18s;
}

.homeCommunityBody p:nth-child(2){
  transition:
    opacity .52s ease .27s,
    transform .58s cubic-bezier(.2,.72,.2,1) .27s;
}

/* Large tablet */
@media(max-width:1080px){
  .homeCommunitySection{
    height:clamp(620px,59vw,720px);
    min-height:620px;
    padding-left:0;
    padding-right:0;
  }

  .homeCommunityCopy{
    width:44%;
    margin-left:7.35%;
  }

  .homeCommunityCopy h2{
    font-size:clamp(39px,4.2vw,50px);
  }

  .homeCommunityBody{
    margin-top:28px;
    gap:18px;
  }

  .homeCommunityBody p{
    font-size:14px;
  }
}

/* Mobile: retain the exact attachment as the background, but let
   the text occupy a clean white upper field and the visual resolve
   into the lower half. */
@media(max-width:760px){
  .homeCommunitySection{
    height:auto;
    min-height:760px;
    padding:54px 24px 390px;
    align-items:flex-start;
    background:#fbfaf7;
  }

  .homeCommunitySection::before{
    inset:auto 0 0;
    width:100%;
    height:430px;
    background-size:auto 430px;
    background-position:center bottom;
  }

  .homeCommunitySection::after{
    z-index:-1;
    background:linear-gradient(
      180deg,
      #fbfaf7 0%,
      #fbfaf7 48%,
      rgba(251,250,247,.88) 55%,
      rgba(251,250,247,0) 70%
    );
  }

  .homeCommunityInner{
    width:100%;
  }

  .homeCommunityCopy{
    width:100%;
    max-width:none;
    margin:0;
  }

  .homeCommunityCopy h2{
    font-size:clamp(38px,10.2vw,54px);
    line-height:1.02;
  }

  .homeCommunityCopy h2 span{
    white-space:normal;
  }

  .homeCommunityBody{
    margin-top:26px;
    gap:16px;
    max-width:620px;
  }

  .homeCommunityBody p{
    font-size:15px;
    line-height:1.55;
  }
}

@media(max-width:440px){
  .homeCommunitySection{
    min-height:735px;
    padding:46px 18px 350px;
  }

  .homeCommunitySection::before{
    height:380px;
    background-size:auto 380px;
  }

  .homeCommunityCopy h2{
    font-size:clamp(36px,10.4vw,46px);
  }

  .homeCommunityBody{
    margin-top:22px;
    gap:14px;
  }

  .homeCommunityBody p{
    font-size:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .homeCommunitySection::before,
  .homeCommunityCopy h2,
  .homeCommunityBody p{
    transition:none!important;
  }

  .homeCommunitySection:not(.is-visible)::before{
    filter:none!important;
    transform:none!important;
    opacity:1!important;
  }

  .homeCommunitySection:not(.is-visible) .homeCommunityCopy h2,
  .homeCommunitySection:not(.is-visible) .homeCommunityBody p{
    opacity:1!important;
    transform:none!important;
  }
}

/* =========================================================
   V39.38 — No eyebrows + Our Model headline correction
   Global visual rule: no eyebrow/kicker pre-headings anywhere.
   ========================================================= */

/* Prevent eyebrow flash before the JS cleanup runs. */
.kicker,
.eyebrow,
.sectionLabel,
[class*="Eyebrow"],
[class*="eyebrow"],
[class*="Kicker"],
[class*="kicker"]{
  display:none!important;
}

/* Our Model — new headline hierarchy. */
.model17HeroCopy h1.model38Headline{
  margin-top:0!important;
  max-width:1000px!important;
  font-size:clamp(46px,5.35vw,84px)!important;
  line-height:.97!important;
  letter-spacing:-.055em!important;
}

.model38LeadLine{
  display:block;
  white-space:nowrap;
  font-weight:500!important;
}

.model38LeadLine em{
  font-style:italic;
  font-weight:400!important;
}

.model38Payoff{
  display:block;
  font-weight:800!important;
}

.model17Promise h2{
  margin-top:0!important;
}

/* When pre-headings disappear, do not leave artificial top gaps. */
.publicPageHero > h1:first-child,
.model17HeroCopy > h1:first-child,
.model17Promise > div > h2:first-child,
.model17SourceIntro > h2:first-child,
.start16HeroCopy > h1:first-child,
.startSendIntro > h2:first-child,
.prospectIntro > h2:first-child{
  margin-top:0!important;
}

@media(max-width:980px){
  .model38LeadLine{
    white-space:normal;
  }
}

@media(max-width:640px){
  .model17HeroCopy h1.model38Headline{
    font-size:clamp(42px,12vw,60px)!important;
    line-height:.98!important;
  }
}

/* Respect reduced motion just as the existing site does. */
@media(prefers-reduced-motion:reduce){
  .model17HeroCopy h1.model38Headline{
    transition:none!important;
  }
}

/* =========================================================
   V43 — OUR MODEL: PROCUREMENT UI AS VISUAL LANGUAGE
   Keeps DM Sans + real PSC logo/header/footer.
   Rebuilds ONLY the Our Model body.
   ========================================================= */

.model43{
  --p:#fbf8f1;
  --p2:#fffdf8;
  --ink:#121412;
  --muted:#706b64;
  --line:#d9d2c8;
  --line2:#bcb4aa;
  --deep:#10211f;
  --teal:#149b91;
  --mint:#dceee7;
  --lilac:#b7b0d6;
  --lilac2:#e6e2f2;
  --blue:#dce8f3;
  --peach:#efd2bf;
  --sun:#f1dfad;
  --shadow:0 24px 60px rgba(43,35,28,.09);
  --shadow2:0 10px 30px rgba(43,35,28,.065);
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:"DM Sans",sans-serif!important;
  background:var(--p);
  color:var(--ink);
}
.model43 *,.model43 *::before,.model43 *::after{box-sizing:border-box}

/* ---------- HERO ---------- */
.m43Hero{
  background:var(--lilac);
  padding:34px clamp(16px,4vw,54px) 58px;
}
.m43HeroShell{
  width:min(1360px,100%);
  margin:0 auto;
  min-height:690px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.78fr);
  gap:clamp(42px,6vw,90px);
  align-items:center;
  padding:clamp(48px,6vw,88px);
  background:var(--p2);
  border:1px solid rgba(20,22,20,.07);
  border-radius:34px;
}
.m43HeroCopy h1{
  margin:0;
  max-width:870px;
  font-size:clamp(58px,6.4vw,98px);
  line-height:.9;
  letter-spacing:-.068em;
  font-weight:500;
}
.m43HeroCopy h1 span,.m43HeroCopy h1 em,.m43HeroCopy h1 strong{display:block}
.m43HeroCopy h1 em{font-style:italic;font-weight:420}
.m43HeroCopy h1 strong{margin-top:8px;font-weight:850}
.m43HeroCopy>p{
  max-width:650px;
  margin:28px 0 0;
  font-size:17px;
  line-height:1.7;
  color:var(--muted);
}
.m43HeroActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:30px;
}
.m43HeroActions .button{
  min-height:48px;
  padding:0 18px;
  border-radius:999px!important;
}

/* Physical procurement object */
.m43Desk{
  position:relative;
  min-height:520px;
}
.m43Paper{
  position:absolute;
  inset:26px 16px 10px 34px;
  overflow:hidden;
  border:1px solid #d7d0c6;
  border-radius:23px;
  background:#fff;
  box-shadow:var(--shadow);
  transform:rotate(-1.1deg);
}
.m43PaperTab{
  position:absolute;
  top:-15px;
  right:26px;
  z-index:2;
  padding:10px 15px;
  border:1px solid #d0c7bd;
  border-radius:999px;
  background:var(--mint);
  box-shadow:var(--shadow2);
  font-size:10px;
  font-weight:850;
  transform:rotate(2.5deg);
}
.m43PaperTop{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:22px 22px 18px;
  border-bottom:1px solid var(--line);
}
.m43PaperTop b{
  display:block;
  font-size:14px;
  letter-spacing:-.02em;
}
.m43PaperTop small{
  display:block;
  margin-top:4px;
  font-size:9.5px;
  color:#7c7770;
}
.m43DocMark{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--deep);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.m43TableHead,.m43TableRow{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 86px 72px;
  gap:12px;
  align-items:center;
}
.m43TableHead{
  padding:11px 22px;
  background:#f7f4ee;
  border-bottom:1px solid var(--line);
  font-size:8.5px;
  color:#89837c;
}
.m43TableRow{
  padding:15px 22px;
  border-bottom:1px solid #ece7df;
}
.m43TableRow:last-of-type{border-bottom:0}
.m43LineNo{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf4f1;
  color:#236c66;
  font-size:8px;
  font-weight:900;
}
.m43LineCopy b{
  display:block;
  font-size:11.5px;
  line-height:1.25;
}
.m43LineCopy small{
  display:block;
  margin-top:4px;
  font-size:9px;
  line-height:1.35;
  color:#7b766f;
}
.m43TableRow>span{
  font-size:9.5px;
  color:#69645e;
}
.m43Status{
  justify-self:end;
  padding:5px 7px;
  border-radius:999px;
  background:#e5f3ef;
  color:#176b64!important;
  font-weight:850;
  font-size:8px!important;
}
.m43PaperFoot{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:16px 22px;
  background:#f7f4ee;
  border-top:1px solid var(--line);
}
.m43PaperFoot span{
  font-size:9px;
  color:#7a746d;
}
.m43PaperFoot b{
  font-size:10.5px;
}
.m43FloatNote{
  position:absolute;
  left:0;
  bottom:24px;
  z-index:4;
  width:190px;
  padding:14px 15px;
  border:1px solid #cec5bb;
  border-radius:15px;
  background:var(--sun);
  box-shadow:var(--shadow2);
  transform:rotate(2.2deg);
}
.m43FloatNote small{
  display:block;
  font-size:8.5px;
  color:#6d665e;
}
.m43FloatNote b{
  display:block;
  margin-top:5px;
  font-size:12px;
  line-height:1.25;
}

/* ---------- STATEMENT ---------- */
.m43Statement{
  width:min(1320px,88%);
  margin:0 auto;
  padding:118px 0 106px;
}
.m43StatementGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.56fr);
  gap:clamp(55px,9vw,135px);
  align-items:end;
}
.m43Statement h2{
  margin:0;
  max-width:790px;
  font-size:clamp(46px,5.3vw,76px);
  line-height:.94;
  letter-spacing:-.06em;
}
.m43Statement p{
  margin:0 0 7px;
  max-width:470px;
  font-size:16px;
  line-height:1.72;
  color:var(--muted);
}
.m43Statement p strong{color:var(--ink)}

/* ---------- TRANSFORMATION THEATRE ---------- */
.m43Transform{
  padding:94px clamp(18px,4vw,54px) 104px;
  background:#f0ebe2;
}
.m43TransformShell{
  width:min(1360px,100%);
  margin:0 auto;
  padding:clamp(28px,4vw,48px);
  border-radius:30px;
  background:var(--p2);
  border:1px solid rgba(25,28,25,.08);
}
.m43TransformHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
  gap:50px;
  align-items:end;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}
.m43TransformHead h2{
  margin:0;
  max-width:750px;
  font-size:clamp(40px,4.6vw,66px);
  line-height:.97;
  letter-spacing:-.055em;
}
.m43TransformHead p{
  margin:0;
  max-width:420px;
  font-size:14px;
  line-height:1.65;
  color:#6b665f;
}
.m43StageTabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:25px 0 22px;
}
.m43StageTabs button{
  min-height:42px;
  padding:0 15px;
  border:1px solid #d0c8be;
  border-radius:999px;
  background:#fff;
  color:#716c65;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
}
.m43StageTabs button.active{
  background:var(--deep);
  color:#fff;
  border-color:var(--deep);
}
.m43StageCanvas{
  min-height:480px;
  padding-top:8px;
}
.m43Stage{display:none}
.m43Stage.active{display:block}

/* Incoming requirement */
.m43Incoming{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:26px;
}
.m43RequestSource{
  min-height:425px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--lilac2);
}
.m43RequestSource h3{
  margin:0;
  font-size:32px;
  line-height:1;
  letter-spacing:-.05em;
}
.m43RequestSource p{
  margin:12px 0 0;
  max-width:33ch;
  font-size:12px;
  line-height:1.6;
  color:#66615c;
}
.m43RequestSource .m43LooseList{
  margin-top:28px;
  padding:18px;
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow2);
  transform:rotate(-1deg);
}
.m43LooseList div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid #eee8df;
  font-size:11px;
}
.m43LooseList div:last-child{border-bottom:0}
.m43LooseList span{color:#7a746e}
.m43Controlled{
  min-height:425px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.m43Controlled h3{
  margin:0;
  font-size:32px;
  line-height:1;
  letter-spacing:-.05em;
}
.m43Controlled p{
  margin:11px 0 24px;
  max-width:58ch;
  font-size:12px;
  line-height:1.6;
  color:#6a655f;
}
.m43ControlRows{
  border-top:1px solid var(--line);
}
.m43ControlRows>div{
  display:grid;
  grid-template-columns:130px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.m43ControlRows span{
  font-size:9.5px;
  color:#7b766f;
}
.m43ControlRows b{
  font-size:11.5px;
  line-height:1.4;
}
.m43ControlRows i{
  font-style:normal;
  padding:5px 7px;
  border-radius:999px;
  background:#e8f3ef;
  color:#176b64;
  font-size:8px;
  font-weight:850;
}

/* Source per line */
.m43SourceGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 94px minmax(0,.9fr);
  gap:20px;
  align-items:center;
}
.m43SourceList{
  display:grid;
  gap:10px;
}
.m43Supplier{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.m43Supplier:nth-child(1){background:var(--mint)}
.m43Supplier:nth-child(2){background:var(--blue)}
.m43Supplier:nth-child(3){background:var(--peach)}
.m43SupplierIcon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.7);
  font-size:16px;
}
.m43Supplier b{display:block;font-size:12px}
.m43Supplier small{
  display:block;
  margin-top:4px;
  font-size:9px;
  color:#6d6862;
}
.m43Supplier span{
  font-size:9px;
  font-weight:800;
  color:#4c5552;
}
.m43Converge{
  display:grid;
  place-items:center;
}
.m43Converge div{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--deep);
  color:#fff;
  font-size:24px;
  box-shadow:var(--shadow2);
}
.m43QuoteCard{
  min-height:360px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow2);
}
.m43QuoteTop{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:20px;
  background:#f8f5ef;
  border-bottom:1px solid var(--line);
}
.m43QuoteTop b{font-size:13px}
.m43QuoteTop span{font-size:9px;color:#77726b}
.m43QuoteLines{padding:0 18px}
.m43QuoteLine{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  padding:15px 0;
  border-bottom:1px solid #ebe6df;
}
.m43QuoteLine b{display:block;font-size:11px}
.m43QuoteLine small{display:block;margin-top:3px;font-size:9px;color:#7b766f}
.m43QuoteLine span{font-size:10px}
.m43QuoteBottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  background:var(--deep);
  color:#fff;
}
.m43QuoteBottom span{font-size:9px;color:#b7c6c3}
.m43QuoteBottom b{font-size:12px}

/* Exact line */
.m43Exact{
  display:grid;
  grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);
  gap:30px;
}
.m43ExactImage{
  display:grid;
  place-items:center;
  min-height:430px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#f5f0e8;
}
.m43ExactImage img{
  width:min(76%,340px);
  height:330px;
  object-fit:contain;
}
.m43ExactSheet{
  padding:5px 0;
}
.m43CodeRow{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:17px;
  font-size:9.5px;
  color:#79736d;
}
.m43ExactSheet h3{
  margin:0;
  max-width:720px;
  font-size:clamp(34px,3.7vw,54px);
  line-height:.99;
  letter-spacing:-.052em;
}
.m43ExactSheet>p{
  max-width:680px;
  margin:15px 0 23px;
  font-size:13px;
  line-height:1.65;
  color:#69645e;
}
.m43Spec{
  border-top:1px solid var(--line);
}
.m43Spec>div{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.m43Spec span{
  font-size:9.5px;
  color:#79736d;
}
.m43Spec b{
  font-size:11.5px;
  line-height:1.45;
}
.m43ExactActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.m43ExactActions .button{border-radius:999px!important}

/* Account memory */
.m43MemoryView{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:14px;
}
.m43Activity{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.m43ActivityTop{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px 19px;
  border-bottom:1px solid var(--line);
}
.m43ActivityTop b{font-size:12px}
.m43ActivityTop span{font-size:9.5px;color:#77716b}
.m43ActivityRow{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) .55fr .7fr auto;
  gap:14px;
  align-items:center;
  padding:16px 19px;
  border-bottom:1px solid #ece7df;
}
.m43ActivityRow:last-child{border-bottom:0}
.m43ActivityRow b{display:block;font-size:11.5px}
.m43ActivityRow small{display:block;margin-top:3px;font-size:9px;color:#7b766f}
.m43ActivityRow>span{font-size:9.5px;color:#6e6962}
.m43ActivityRow button{
  min-height:36px;
  border:0;
  background:transparent;
  color:#176d66;
  font:inherit;
  font-size:9.5px;
  font-weight:850;
}
.m43MemorySide{
  display:grid;
  gap:10px;
}
.m43MemorySide article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.m43MemorySide article:first-child{background:var(--sun)}
.m43MemorySide small{display:block;font-size:8.5px;color:#756f68}
.m43MemorySide b{display:block;margin-top:5px;font-size:13px}
.m43MemorySide p{margin:6px 0 0;font-size:10.5px;line-height:1.5;color:#67625c}

/* ---------- BUYING RHYTHM ---------- */
.m43Rhythm{
  padding:104px clamp(18px,4vw,54px);
  background:var(--lilac);
}
.m43RhythmShell{
  width:min(1360px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:14px;
}
.m43RhythmFeature,.m43RhythmSmall{
  border:1px solid rgba(22,24,22,.08);
  border-radius:26px;
  background:var(--p2);
}
.m43RhythmFeature{
  min-height:540px;
  display:grid;
  grid-template-rows:auto 1fr;
  padding:30px;
}
.m43RhythmFeature h2{
  margin:0;
  max-width:620px;
  font-size:clamp(38px,4.4vw,64px);
  line-height:.98;
  letter-spacing:-.055em;
}
.m43RhythmFeature p{
  max-width:580px;
  margin:14px 0 0;
  font-size:13px;
  line-height:1.65;
  color:#68635d;
}
.m43RhythmImage{
  align-self:end;
  min-height:280px;
  display:grid;
  place-items:center;
  margin-top:24px;
  border-radius:20px;
  background:var(--blue);
  overflow:hidden;
}
.m43RhythmImage img{
  width:min(70%,350px);
  height:270px;
  object-fit:contain;
  transition:transform .85s var(--ease);
}
.m43RhythmStack{display:grid;gap:14px}
.m43RhythmSmall{
  position:relative;
  min-height:260px;
  padding:26px;
  overflow:hidden;
}
.m43RhythmSmall.recurring{background:var(--mint)}
.m43RhythmSmall.specialist{background:var(--peach)}
.m43RhythmSmall h3{
  margin:6px 0 9px;
  max-width:300px;
  font-size:30px;
  line-height:1;
  letter-spacing:-.047em;
}
.m43RhythmSmall p{
  max-width:360px;
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:#66615b;
}
.m43RhythmSmall img{
  position:absolute;
  right:14px;
  bottom:10px;
  width:110px;
  height:110px;
  object-fit:contain;
}
@media(hover:hover) and (pointer:fine){
  .m43RhythmFeature:hover .m43RhythmImage img{transform:scale(1.025) rotate(.4deg)}
}

/* ---------- FINAL ---------- */
.m43Final{
  padding:84px clamp(20px,5vw,72px);
  background:var(--deep);
  color:#fff;
}
.m43FinalInner{
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
}
.m43Final h2{
  margin:0;
  max-width:850px;
  font-size:clamp(42px,4.8vw,68px);
  line-height:.97;
  letter-spacing:-.057em;
}
.m43Final p{
  max-width:650px;
  margin:15px 0 0;
  color:#c4d3d0;
  font-size:14px;
  line-height:1.65;
}
.m43FinalActions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.m43Final .button{
  min-height:48px;
  border-radius:999px!important;
}
.m43Final .button.primary{
  background:#fff!important;
  color:var(--deep)!important;
  border-color:#fff!important;
}
.m43Final .button.outline{
  color:#fff!important;
  border-color:#7d918e!important;
}

/* ---------- ANIMATION ---------- */
.m43Reveal{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .86s ease,transform 1.02s var(--ease);
}
.m43Reveal.in{opacity:1;transform:none}
.m43Paper.m43Reveal{
  transform:translateY(10px) rotate(-1.1deg) scale(.995);
  transition:opacity 1s ease .08s,transform 1.15s var(--ease) .08s;
}
.m43Paper.m43Reveal.in{transform:rotate(-1.1deg)}
.m43FloatNote.m43Reveal{
  transform:translateY(8px) rotate(2.2deg);
  transition:opacity .9s ease .22s,transform 1.1s var(--ease) .22s;
}
.m43FloatNote.m43Reveal.in{transform:rotate(2.2deg)}
.m43Stage.active{animation:m43StageIn .46s var(--ease) both}
@keyframes m43StageIn{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:none}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1060px){
  .m43HeroShell{
    grid-template-columns:1fr;
  }
  .m43Desk{
    max-width:720px;
    width:100%;
  }
  .m43StatementGrid,.m43TransformHead{
    grid-template-columns:1fr;
    gap:28px;
  }
  .m43Incoming,.m43Exact,.m43MemoryView{
    grid-template-columns:1fr;
  }
  .m43SourceGrid{
    grid-template-columns:1fr;
  }
  .m43Converge{
    min-height:70px;
  }
  .m43Converge div{
    transform:rotate(90deg);
  }
  .m43RhythmShell{
    grid-template-columns:1fr;
  }
  .m43RhythmStack{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .m43Hero{
    padding:20px 12px 42px;
  }
  .m43HeroShell{
    min-height:0;
    padding:36px 22px;
    border-radius:24px;
  }
  .m43HeroCopy h1{
    font-size:clamp(46px,13vw,64px);
  }
  .m43HeroCopy>p{font-size:15px}
  .m43Desk{min-height:500px}
  .m43Paper{inset:22px 0 6px 10px}
  .m43FloatNote{left:-3px;width:170px}
  .m43TableHead,.m43TableRow{
    grid-template-columns:30px minmax(0,1fr) 70px;
  }
  .m43TableHead span:nth-child(4),.m43TableRow .m43Status{display:none}
  .m43Statement{
    width:calc(100% - 40px);
    padding:72px 0;
  }
  .m43Statement h2{font-size:clamp(40px,11vw,54px)}
  .m43Transform{
    padding:66px 20px 74px;
  }
  .m43TransformShell{
    padding:24px 18px;
    border-radius:22px;
  }
  .m43StageTabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .m43Incoming{gap:12px}
  .m43ControlRows>div{
    grid-template-columns:95px 1fr;
  }
  .m43ControlRows i{display:none}
  .m43Spec>div{grid-template-columns:115px 1fr}
  .m43ActivityRow{
    grid-template-columns:1fr auto;
  }
  .m43ActivityRow>span:nth-of-type(2){display:none}
  .m43Rhythm{
    padding:72px 20px;
  }
  .m43RhythmStack{grid-template-columns:1fr}
  .m43Final{
    padding:66px 20px;
  }
  .m43FinalInner{
    grid-template-columns:1fr;
    align-items:start;
  }
}
@media(max-width:520px){
  .m43HeroActions .button,.m43FinalActions .button{width:100%}
  .m43Desk{min-height:475px}
  .m43PaperTop{padding:18px}
  .m43ReqRows{padding:0 15px}
  .m43TableRow{padding:13px 0}
  .m43TableHead{padding:10px 15px}
  .m43TableHead,.m43TableRow{
    grid-template-columns:28px 1fr;
  }
  .m43TableHead span:nth-child(3),.m43TableRow>span:not(.m43Status){display:none}
  .m43PaperFoot{display:grid;gap:5px}
  .m43StageTabs{grid-template-columns:1fr}
  .m43Supplier{grid-template-columns:42px 1fr}
  .m43Supplier>span{display:none}
  .m43ExactImage{min-height:300px}
  .m43ExactImage img{height:245px}
  .m43ActivityRow{grid-template-columns:1fr}
  .m43ActivityRow button{justify-self:start}
}

@media(prefers-reduced-motion:reduce){
  .m43Reveal,.m43Paper.m43Reveal,.m43FloatNote.m43Reveal,.m43RhythmImage img,.m43Stage.active{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

/* =========================================================
   V44 — FULL PSC DESIGN SYSTEM REDESIGN
   Approved direction: procurement itself becomes the visual language.
   DM Sans and the real Pharma Service logo remain untouched.
   ========================================================= */

:root{
  --v44-paper:#fbf8f1;
  --v44-cream:#fffdf8;
  --v44-ink:#111412;
  --v44-muted:#706a63;
  --v44-line:#d9d2c8;
  --v44-line-strong:#bcb3a8;
  --v44-deep:#10211f;
  --v44-teal:#159b91;
  --v44-teal-dark:#176d66;
  --v44-mint:#dceee7;
  --v44-lilac:#b7b0d6;
  --v44-lilac-soft:#e6e2f2;
  --v44-blue:#dce8f3;
  --v44-peach:#efd2bf;
  --v44-sun:#f1dfad;
  --v44-coral:#efaa98;
  --v44-shadow:0 24px 60px rgba(43,35,28,.085);
  --v44-shadow-soft:0 10px 30px rgba(43,35,28,.06);
  --v44-ease:cubic-bezier(.22,1,.36,1);
}

html,body,button,input,select,textarea{
  font-family:"DM Sans",sans-serif!important;
}

body{
  background:var(--v44-paper)!important;
  color:var(--v44-ink)!important;
}

/* =========================================================
   PUBLIC HEADER / FOOTER
   ========================================================= */
.publicHeader{
  max-width:none!important;
  margin:0!important;
  min-height:86px!important;
  padding:15px clamp(20px,5vw,72px)!important;
  grid-template-columns:190px 1fr auto!important;
  gap:32px!important;
  background:rgba(251,248,241,.95)!important;
  border-bottom:1px solid var(--v44-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(14px);
}
.publicLogo img{
  width:166px!important;
}
.publicNav{
  gap:24px!important;
}
.publicNavLink{
  position:relative!important;
  padding:10px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#65645f!important;
  font-size:14px!important;
  font-weight:650!important;
}
.publicNavLink:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:2px;
  height:1px;
  background:#173b37;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s var(--v44-ease);
}
.publicNavLink:hover:after,
.publicNavLink.active:after{transform:scaleX(1)}
.publicNavLink.active{color:#183a36!important}
.publicPortalBtn{
  min-height:44px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:var(--v44-deep)!important;
  color:#fff!important;
  border-color:var(--v44-deep)!important;
  box-shadow:none!important;
}
.publicFooter{
  max-width:none!important;
  margin:0!important;
  padding:54px clamp(20px,5vw,72px) 42px!important;
  background:var(--v44-cream)!important;
  border-top:1px solid var(--v44-line)!important;
}
.publicFooter img{width:165px!important}
.publicFooter p{max-width:420px!important;color:#77716b!important}

/* =========================================================
   HOME — PROCUREMENT AS HERO OBJECT
   ========================================================= */
.publicLanding{
  background:var(--v44-paper)!important;
}
.m44HomeHero{
  background:var(--v44-lilac);
  padding:34px clamp(16px,4vw,54px) 62px;
}
.m44HomeHeroShell{
  width:min(1360px,100%);
  margin:0 auto;
  min-height:690px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(440px,.78fr);
  gap:clamp(46px,6vw,90px);
  align-items:center;
  padding:clamp(48px,6vw,88px);
  border:1px solid rgba(20,22,20,.07);
  border-radius:34px;
  background:var(--v44-cream);
}
.m44HomeHeroCopy h1{
  margin:0;
  max-width:810px;
  font-size:clamp(58px,6.6vw,102px);
  line-height:.89;
  letter-spacing:-.07em;
  font-weight:500;
}
.m44HomeHeroCopy h1 span,
.m44HomeHeroCopy h1 strong{display:block}
.m44HomeHeroCopy h1 strong{font-weight:850}
.m44HomeHeroCopy>p{
  max-width:620px;
  margin:28px 0 0;
  color:var(--v44-muted);
  font-size:17px;
  line-height:1.7;
}
.m44HeroActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:30px;
}
.m44HeroActions .button{
  min-height:48px;
  padding:0 18px;
  border-radius:999px!important;
}
.m44HomeDesk{
  position:relative;
  min-height:520px;
}
.m44Requirement{
  position:absolute;
  inset:25px 12px 20px 34px;
  overflow:hidden;
  border:1px solid #d5cec4;
  border-radius:23px;
  background:#fff;
  box-shadow:var(--v44-shadow);
  transform:rotate(-1deg);
}
.m44ReqHead{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:22px;
  border-bottom:1px solid var(--v44-line);
}
.m44ReqHead b{display:block;font-size:14px}
.m44ReqHead small{display:block;margin-top:4px;font-size:9.5px;color:#7a756e}
.m44ReqMark{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:12px;
  background:var(--v44-deep);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.m44ReqHeader,.m44ReqLine{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 72px;
  gap:12px;
  align-items:center;
}
.m44ReqHeader{
  padding:10px 22px;
  background:#f7f4ee;
  border-bottom:1px solid var(--v44-line);
  font-size:8.5px;color:#87817a;
}
.m44ReqLine{
  padding:15px 22px;
  border-bottom:1px solid #ece7df;
}
.m44ReqNo{
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#edf4f1;
  color:#226c66;
  font-size:8px;font-weight:900;
}
.m44ReqLine b{display:block;font-size:11.5px;line-height:1.25}
.m44ReqLine small{display:block;margin-top:4px;font-size:9px;line-height:1.35;color:#7b766f}
.m44ReqStatus{
  justify-self:end;
  padding:5px 7px;
  border-radius:999px;
  background:#e5f3ef;
  color:#176b64;
  font-size:8px;
  font-weight:850;
}
.m44ReqFoot{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:16px 22px;
  background:#f7f4ee;
  font-size:9px;
}
.m44ReqFoot span{color:#77716a}
.m44ReqFoot b{font-size:10.5px}
.m44HeroNote{
  position:absolute;
  left:0;
  bottom:21px;
  width:185px;
  z-index:3;
  padding:14px 15px;
  border:1px solid #cdc4ba;
  border-radius:15px;
  background:var(--v44-sun);
  box-shadow:var(--v44-shadow-soft);
  transform:rotate(2deg);
}
.m44HeroNote small{display:block;font-size:8.5px;color:#716a62}
.m44HeroNote b{display:block;margin-top:4px;font-size:12px;line-height:1.25}

/* Existing community image remains a visual moment. */
.homeCommunitySection{
  margin:0!important;
  border-radius:0!important;
}

/* Details = technical ledger, not cards. */
.publicLanding .homeEditorialIntro{
  max-width:1360px!important;
  margin:0 auto!important;
  padding:105px clamp(28px,6vw,86px) 78px!important;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(70px,10vw,150px)!important;
  background:var(--v44-cream)!important;
  background-image:none!important;
  border:0!important;
}
.publicLanding .homeEditorialLead h2{
  margin:0!important;
  max-width:520px!important;
  font-size:clamp(40px,4.8vw,66px)!important;
  line-height:.97!important;
  letter-spacing:-.055em!important;
}
.publicLanding .homeEditorialCopy{
  padding-top:5px!important;
  max-width:700px!important;
}
.publicLanding .homeEditorialCopy p{
  font-size:15.5px!important;
  line-height:1.72!important;
  color:#66615b!important;
}
.publicLanding .homeEditorialStrong{
  padding-top:24px!important;
  border-top:1px solid var(--v44-line)!important;
  color:#171918!important;
}

.publicLanding .homeDetailLedger{
  max-width:1360px!important;
  margin:0 auto!important;
  padding:0 clamp(28px,6vw,86px) 104px!important;
  display:block!important;
  background:var(--v44-cream)!important;
}
.publicLanding .homeDetailLedger article{
  display:grid!important;
  grid-template-columns:minmax(150px,.28fr) minmax(260px,.74fr) minmax(0,1fr)!important;
  gap:32px!important;
  align-items:start!important;
  min-height:0!important;
  padding:20px 0!important;
  border:0!important;
  border-top:1px solid var(--v44-line)!important;
}
.publicLanding .homeDetailLedger article:last-child{border-bottom:1px solid var(--v44-line)!important}
.publicLanding .homeDetailLedger span{
  margin:0!important;padding-top:2px!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:11px!important;font-weight:750!important;
}
.publicLanding .homeDetailLedger b{
  font-size:15px!important;line-height:1.4!important;
}
.publicLanding .homeDetailLedger p{
  margin:0!important;font-size:12px!important;line-height:1.55!important;
}

/* Clinical need = deliberately asymmetrical product navigation. */
.publicLanding .publicClinicalPreview{
  max-width:none!important;
  margin:0!important;
  padding:96px max(22px,calc((100vw - 1320px)/2)) 104px!important;
  background:#f0ebe2!important;
  border-top:1px solid var(--v44-line)!important;
  border-bottom:1px solid var(--v44-line)!important;
}
.publicLanding .publicClinicalPreviewHead,
.publicLanding .publicClinicalPreviewGrid,
.publicLanding .publicClinicalPreviewFoot{
  max-width:1320px!important;
  margin-left:auto!important;margin-right:auto!important;
}
.publicLanding .publicClinicalPreviewHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:40px!important;
  align-items:end!important;
  margin-bottom:38px!important;
}
.publicLanding .publicClinicalPreviewHead h2{
  margin:0 0 12px!important;
  max-width:720px!important;
  font-size:clamp(38px,4.3vw,62px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.publicLanding .publicClinicalPreviewGrid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:118px!important;
  gap:10px!important;
}
.publicLanding .publicClinicalCard{
  min-height:0!important;
  height:auto!important;
  border:1px solid rgba(20,23,21,.12)!important;
  border-radius:19px!important;
  padding:22px!important;
  box-shadow:none!important;
  transform:none!important;
}
.publicLanding .publicClinicalCard:nth-child(1){grid-column:span 5;grid-row:span 2}
.publicLanding .publicClinicalCard:nth-child(2){grid-column:span 3;grid-row:span 2}
.publicLanding .publicClinicalCard:nth-child(3){grid-column:span 4;grid-row:span 1}
.publicLanding .publicClinicalCard:nth-child(4){grid-column:span 4;grid-row:span 2}
.publicLanding .publicClinicalCard:nth-child(5){grid-column:span 5;grid-row:span 2}
.publicLanding .publicClinicalCard:nth-child(6){grid-column:span 3;grid-row:span 1}
.publicLanding .publicClinicalCard span{font-size:clamp(18px,1.8vw,28px)!important;max-width:72%!important}
.publicLanding .publicClinicalCard small{font-size:10.5px!important;max-width:30ch!important}
.publicLanding .publicClinicalCard:hover{box-shadow:none!important;transform:none!important;border-color:rgba(20,23,21,.34)!important}

/* Workshop teaser = feature + supporting stories */
.publicLanding .homeWorkshopCards{
  max-width:1360px!important;
  margin:0 auto!important;
  padding:104px clamp(28px,6vw,86px)!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:52px!important;
  background:var(--v44-cream)!important;
  background-image:none!important;
}
.publicLanding .homeWorkshopIntro{position:sticky;top:112px;align-self:start}
.publicLanding .homeWorkshopCardGrid{
  display:grid!important;
  grid-template-columns:1.28fr .9fr!important;
  grid-template-rows:auto auto!important;
  gap:11px!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child{
  grid-row:1 / span 2!important;
}
.workshopGuideCard{
  border-radius:20px!important;
  border:1px solid var(--v44-line)!important;
  box-shadow:none!important;
}
.workshopGuideCard:hover{transform:none!important;box-shadow:none!important;border-color:#aaa39a!important}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child>button{
  grid-template-rows:minmax(320px,1fr) 220px!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:not(:first-child)>button{
  min-height:220px!important;
  grid-template-columns:1fr .82fr!important;
  grid-template-rows:1fr!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:not(:first-child) .workshopGuideCardVisual{
  border-top:0!important;border-left:1px solid var(--v44-line)!important;
}

/* Buyer experience = full-width dark punctuation. */
.publicLanding .homePortalTeaser{
  max-width:none!important;
  margin:0!important;
  padding:86px max(22px,calc((100vw - 1320px)/2))!important;
  border:0!important;
  border-radius:0!important;
  background:var(--v44-deep)!important;
  color:#fff!important;
}
.publicLanding .homePortalTeaser h2{
  max-width:760px!important;
  color:#fff!important;
  font-size:clamp(38px,4vw,58px)!important;
}
.publicLanding .homePortalTeaser p{color:#bdceca!important;max-width:720px!important}
.publicLanding .homePortalTeaser .button{
  color:#fff!important;background:transparent!important;border-color:#728985!important;
}

/* =========================================================
   GENERIC PUBLIC PAGE HERO
   ========================================================= */
.publicPage{
  background:var(--v44-paper)!important;
}
.publicPageHero{
  max-width:1360px!important;
  margin:0 auto!important;
  padding:90px clamp(28px,6vw,86px) 58px!important;
  border-bottom:1px solid var(--v44-line)!important;
}
.publicPageHero h1{
  margin:0 0 22px!important;
  max-width:930px!important;
  font-size:clamp(50px,5.7vw,82px)!important;
  line-height:.94!important;
  letter-spacing:-.062em!important;
}
.publicPageHero p{
  margin:0!important;
  max-width:760px!important;
  font-size:17px!important;
  line-height:1.68!important;
  color:var(--v44-muted)!important;
}

/* =========================================================
   START / RFQ
   ========================================================= */
.start16Hero{
  width:min(1360px,100%)!important;
  margin:0 auto!important;
  padding:95px clamp(28px,6vw,86px) 82px!important;
  grid-template-columns:minmax(0,1.04fr) minmax(370px,.76fr)!important;
  gap:80px!important;
  align-items:center!important;
}
.start16HeroCopy h1{
  max-width:800px!important;
  margin:0!important;
  font-size:clamp(52px,5.6vw,80px)!important;
  line-height:.94!important;
  letter-spacing:-.062em!important;
}
.start16HeroCopy>p{
  margin-top:24px!important;
  max-width:660px!important;
  font-size:16px!important;
  line-height:1.68!important;
}
.start16RouteBoard{
  border:1px solid var(--v44-line)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:var(--v44-shadow-soft)!important;
}
.start16RouteBoard>button{
  min-height:105px!important;
  padding:20px!important;
  border-radius:0!important;
  background:transparent!important;
}
.start16RouteBoard>button+button{border-top:1px solid var(--v44-line)!important}
.start16RouteBoard>button:hover{
  transform:none!important;
  background:#f7f5f0!important;
}
.start22RouteIcon{border-radius:12px!important}
.m44StartPaper{
  margin-top:15px;
  padding:13px 14px;
  border:1px solid #d1c8be;
  border-radius:14px;
  background:var(--v44-lilac-soft);
  font-size:10px;
  color:#625f6b;
}
.m44StartPaper b{color:#292a31}
.start16Send{
  max-width:1280px!important;
  margin:0 auto 90px!important;
  padding:55px!important;
  display:grid!important;
  grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr)!important;
  gap:70px!important;
  border:1px solid var(--v44-line)!important;
  border-radius:28px!important;
  background:var(--v44-cream)!important;
}
.start16SendIntro h2{
  margin:0!important;
  font-size:clamp(34px,3.6vw,52px)!important;
  line-height:.99!important;
  letter-spacing:-.05em!important;
}
.start16Form{
  padding:28px!important;
  border:1px solid var(--v44-line)!important;
  border-radius:18px!important;
  background:#f8f5ef!important;
  box-shadow:none!important;
}
.start16Form input,.start16Form select,.start16Form textarea{
  border-radius:10px!important;background:#fff!important;
}

/* =========================================================
   CONTACT
   ========================================================= */
.publicPage:has(.v37ProspectForm) .publicPageHero{
  padding-bottom:52px!important;
}
.publicPage:has(.v37ProspectForm) .publicPageHero h1{
  max-width:740px!important;
}
.publicPage:has(.v37ProspectForm) .prospectSection{
  max-width:1280px!important;
  padding:72px 40px 64px!important;
  grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr)!important;
  gap:72px!important;
}
.publicPage:has(.v37ProspectForm) .prospectIntro h2{
  margin:0!important;
  font-size:clamp(34px,3.7vw,52px)!important;
}
.publicPage:has(.v37ProspectForm) .v37ProspectForm{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v37ProspectForm .prospectField input:not([type="file"]),
.v37ProspectForm .prospectField select,
.v37ProspectForm .prospectField textarea,
.v37ProspectForm .rfqUploadField input[type="file"]{
  border-radius:10px!important;
  background:#fff!important;
}
.prospectContactGrid{
  max-width:1280px!important;
  margin:0 auto!important;
  padding:0 40px 90px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
}
.prospectContactGrid .contactCard{
  min-height:140px!important;
  padding:23px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.prospectContactGrid .contactCard+ .contactCard{border-left:0!important}

/* =========================================================
   PUBLIC CATALOGUE — SEARCH FIRST
   ========================================================= */
.catalogue16Hero{
  padding-bottom:38px!important;
}
.catalogue16Hero h1{
  max-width:880px!important;
}
.catalogue16Controls{
  max-width:1240px!important;
  margin:0 auto!important;
  padding:26px clamp(28px,5vw,70px) 20px!important;
}
.catalogue16Controls .filterBar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,.28fr)!important;
  gap:10px!important;
  padding:13px!important;
  border:1px solid var(--v44-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--v44-shadow-soft)!important;
}
.catalogue16Controls .searchInput{
  min-height:54px!important;
  border-radius:12px!important;
  background:#f7f5f0!important;
}
.catalogue16Controls select{
  min-height:54px!important;
  border-radius:12px!important;
  background:#f7f5f0!important;
}
.publicCatalogueJourney16{
  max-width:1320px!important;
  padding-top:48px!important;
}
.publicCatalogueJourneyHead16 h2{
  margin:0!important;
  font-size:clamp(34px,3.6vw,52px)!important;
  letter-spacing:-.05em!important;
}
.publicCategoryGrid16{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:10px!important;
}
.publicCategoryCard16{
  min-height:190px!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.publicCategoryCard16:nth-child(1),
.publicCategoryCard16:nth-child(5),
.publicCategoryCard16:nth-child(9){grid-column:span 4}
.publicCategoryCard16:nth-child(2),
.publicCategoryCard16:nth-child(6),
.publicCategoryCard16:nth-child(10){grid-column:span 5}
.publicCategoryCard16:nth-child(3),
.publicCategoryCard16:nth-child(7),
.publicCategoryCard16:nth-child(11){grid-column:span 3}
.publicCategoryCard16:nth-child(4),
.publicCategoryCard16:nth-child(8),
.publicCategoryCard16:nth-child(12){grid-column:span 4}
.publicCategoryCard16:hover{transform:none!important;box-shadow:none!important;filter:saturate(.98)!important}
.publicCatalogueResults{
  max-width:1320px!important;
  padding-top:45px!important;
}
.publicCatalogueCount{
  padding-bottom:18px!important;
  border-bottom:1px solid var(--v44-line)!important;
}
.publicCatalogueGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:20px!important;
}
.publicCatalogueCard{
  border:1px solid var(--v44-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.publicCatalogueVisual{
  min-height:250px!important;
  border-radius:0!important;
  background:#f5f1e9!important;
}
.publicCatalogueVisual img{
  transition:transform .75s var(--v44-ease)!important;
}
@media(hover:hover) and (pointer:fine){
  .publicCatalogueCard:hover .publicCatalogueVisual img{transform:scale(1.025)}
}
.publicCatalogueBody{
  padding:22px!important;
}
.publicCatalogueBody>small{
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:10px!important;
}
.publicCatalogueBody h3{
  font-size:22px!important;
  line-height:1.04!important;
}
.publicSpec{
  padding-top:14px!important;
  border-top:1px solid #ece6df!important;
  font-size:11px!important;
  line-height:1.55!important;
}
.publicCatalogueCard>.button{
  margin:0 20px 20px!important;
  width:calc(100% - 40px)!important;
  border-radius:999px!important;
}
.publicPage .publicCta{
  max-width:none!important;
  margin:0!important;
  padding:72px max(22px,calc((100vw - 1220px)/2))!important;
  border-radius:0!important;
  background:var(--v44-deep)!important;
  color:#fff!important;
}
.publicPage .publicCta h2{color:#fff!important}
.publicPage .publicCta .button.outline{color:#fff!important;border-color:#7a908c!important}

/* =========================================================
   WORKSHOP — EDITORIAL / TOOLBENCH
   ========================================================= */
.workshopPage{
  background:#f5f1e8!important;
}
.workshopHero{
  padding:90px clamp(28px,6vw,86px) 70px!important;
  background:var(--v44-cream)!important;
}
.workshopHeroGrid{
  max-width:1320px!important;
  margin:0 auto!important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr)!important;
  gap:80px!important;
}
.workshopHero h1{
  margin:0!important;
  font-size:clamp(64px,7vw,104px)!important;
  line-height:.9!important;
  letter-spacing:-.07em!important;
}
.workshopHero h2{
  max-width:740px!important;
  margin-top:20px!important;
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1.02!important;
}
.workshopHeroCopy p{
  font-size:16px!important;
  line-height:1.7!important;
}
.workshopCategorySection{
  max-width:1320px!important;
  padding:72px clamp(28px,5vw,70px) 50px!important;
}
.workshopCategoryGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.workshopCategoryCard{
  border-radius:18px!important;
  box-shadow:none!important;
}
.workshopCategoryCard:hover{transform:none!important}
.workshopTools{
  max-width:1220px!important;
  margin:0 auto!important;
  padding:18px 30px!important;
  border:1px solid var(--v44-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--v44-shadow-soft)!important;
}
.workshopSearch input{
  min-height:52px!important;
}
.workshopGuideDeck{
  max-width:1320px!important;
  padding:70px clamp(28px,5vw,70px) 100px!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:48px!important;
}
.workshopGuideDeckIntro{
  position:sticky!important;top:112px!important;
}
.workshopGuideDeckScroll{
  display:grid!important;
  grid-template-columns:1.25fr .85fr!important;
  gap:10px!important;
}
.workshopGuideDeckScroll .workshopGuideCard:first-child{
  grid-row:span 2!important;
}
.workshopGuideDeckScroll .workshopGuideCard:first-child>button{
  grid-template-rows:minmax(330px,1fr) 230px!important;
}
.workshopGuideDeckScroll .workshopGuideCard:not(:first-child)>button{
  min-height:245px!important;
  grid-template-columns:1fr .78fr!important;
  grid-template-rows:1fr!important;
}
.workshopGuideDeckScroll .workshopGuideCard:not(:first-child) .workshopGuideCardVisual{
  border-top:0!important;border-left:1px solid var(--v44-line)!important;
}
.workshopPrinciple{
  max-width:none!important;
  padding:76px max(22px,calc((100vw - 1220px)/2))!important;
  background:var(--v44-deep)!important;
  color:#fff!important;
}
.workshopPrinciple p{color:#bfd0cc!important}

/* Article quality */
.workshopArticle{
  max-width:1120px!important;
}
.workshopArticleHeader{
  padding-top:78px!important;
}
.workshopArticleHeader h1{
  font-size:clamp(50px,6vw,82px)!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
}
.workshopArticleBody{
  max-width:860px!important;
}
.workshopArticleSection{
  border-top:1px solid var(--v44-line)!important;
}
.workshopSignature{
  border-radius:22px!important;
}

/* =========================================================
   LOGIN
   ========================================================= */
.loginPublicPage{
  background:var(--v44-lilac)!important;
}
.loginWrap{
  max-width:1320px!important;
  margin:34px auto 70px!important;
  padding:70px!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.62fr)!important;
  gap:80px!important;
  border:1px solid rgba(22,24,22,.07);
  border-radius:32px!important;
  background:var(--v44-cream)!important;
}
.loginIntro h1{
  margin:0 0 22px!important;
  font-size:clamp(50px,5.3vw,76px)!important;
  line-height:.94!important;
  letter-spacing:-.062em!important;
}
.v26LoginFlow{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:0!important;
  margin-top:34px!important;
  border-top:1px solid var(--v44-line)!important;
  border-bottom:1px solid var(--v44-line)!important;
}
.v26LoginFlow span{
  padding:14px 10px!important;
  border-right:1px solid var(--v44-line)!important;
  background:transparent!important;
  border-radius:0!important;
}
.v26LoginFlow span:last-child{border-right:0!important}
.loginCard{
  padding:28px!important;
  border:1px solid var(--v44-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--v44-shadow)!important;
}
.loginCard img{width:160px!important}
.loginCard input{border-radius:10px!important}
.loginCard .button{border-radius:999px!important}

/* =========================================================
   PORTAL / BUYER EXPERIENCE
   ========================================================= */
.customerShell{
  --portal-paper:#f5f2eb;
  --portal-white:#fffdf8;
  --portal-line:#d9d2c8;
  --portal-ink:#111412;
  --portal-muted:#706a63;
  background:var(--portal-paper)!important;
}
.customerShell .sidebar{
  width:98px!important;
  margin:16px 0 16px 16px!important;
  border:1px solid var(--portal-line)!important;
  border-radius:24px!important;
  background:var(--portal-white)!important;
  box-shadow:none!important;
}
.customerShell .sidebarTop{
  min-height:82px!important;
  border-bottom:1px solid var(--portal-line)!important;
}
.customerShell .sidebar .brand img{
  width:48px!important;
  height:auto!important;
}
.customerShell .iconNav{
  padding:12px 9px!important;
  gap:4px!important;
}
.customerShell .navLink{
  min-height:58px!important;
  border-radius:14px!important;
}
.customerShell .navLink.active{
  background:var(--v44-deep)!important;
  color:#fff!important;
}
.customerShell .navLink:not(.active):hover{
  transform:none!important;
  background:#eeeae2!important;
}
.customerShell .navLabel{
  font-size:8.5px!important;
  line-height:1.15!important;
}
.customerShell .mainArea{
  background:var(--portal-paper)!important;
}
.customerShell .topbar{
  min-height:82px!important;
  margin:16px 16px 0 16px!important;
  padding:12px 18px!important;
  border:1px solid var(--portal-line)!important;
  border-radius:22px!important;
  background:var(--portal-white)!important;
  box-shadow:none!important;
}
.customerShell .topbarBrandSlot img{width:138px!important}
.customerShell .topbarSearch{
  max-width:620px!important;
  min-height:46px!important;
  border-radius:999px!important;
  border:1px solid #d8d1c8!important;
  background:#f5f2eb!important;
}
.customerShell .campusPill{
  border-radius:14px!important;
  background:#f5f2eb!important;
  border:1px solid var(--portal-line)!important;
}
.customerShell .pillBasket{
  border-radius:999px!important;
  background:var(--v44-deep)!important;
}
.customerShell .contentWrap{
  padding:32px 34px 60px!important;
}

/* Portal home */
.customerShell .v26HomeHero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:40px!important;
  align-items:end!important;
  padding:30px 0 28px!important;
  border-bottom:1px solid var(--portal-line)!important;
}
.customerShell .v26HomeHero h1{
  margin:0!important;
  max-width:800px!important;
  font-size:clamp(42px,4.8vw,68px)!important;
  line-height:.95!important;
  letter-spacing:-.058em!important;
}
.customerShell .v26HomeHero p{
  max-width:660px!important;
  color:var(--portal-muted)!important;
}
.customerShell .v26HomeStatus{
  min-width:230px!important;
  padding:18px!important;
  border:1px solid var(--portal-line)!important;
  border-radius:16px!important;
  background:var(--portal-white)!important;
  box-shadow:none!important;
}
.customerShell .v26QuickActions{
  display:grid!important;
  grid-template-columns:1.25fr .85fr .85fr!important;
  grid-template-rows:auto auto!important;
  gap:10px!important;
  margin-top:22px!important;
}
.customerShell .v26ActionCard{
  min-height:185px!important;
  border:1px solid rgba(20,24,22,.1)!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.customerShell .v26ActionCard:nth-child(1){grid-row:span 2;min-height:380px!important}
.customerShell .v26ActionCard:nth-child(4){grid-column:2/-1}
.customerShell .v26ActionCard:hover{transform:none!important;box-shadow:none!important;filter:saturate(.98)}
.customerShell .v26NeedPreview{
  margin-top:34px!important;
  padding-top:28px!important;
  border-top:1px solid var(--portal-line)!important;
}
.customerShell .v26NeedStrip{
  gap:8px!important;
}
.customerShell .v26MiniNeed{
  min-height:88px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.customerShell .v26OperationsStrip{
  margin-top:32px!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:0!important;
  border-top:1px solid var(--portal-line)!important;
  border-bottom:1px solid var(--portal-line)!important;
  background:transparent!important;
}
.customerShell .v26OperationsStrip>div{
  padding:20px!important;
  border-right:1px solid var(--portal-line)!important;
  background:transparent!important;
}
.customerShell .v26OperationsStrip>div:last-child{border-right:0!important}
.customerShell .customerHomeGrid{
  margin-top:28px!important;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;
  gap:12px!important;
}
.customerShell .panel,
.customerShell .customerActionPanel{
  border:1px solid var(--portal-line)!important;
  border-radius:18px!important;
  background:var(--portal-white)!important;
  box-shadow:none!important;
}
.customerShell .v26RepeatPanel{
  background:var(--v44-sun)!important;
}
.customerShell .resourcePreview{
  margin-top:12px!important;
}
.customerShell .resourcePreviewGrid{
  gap:0!important;
}
.customerShell .resourcePreviewGrid article{
  border-radius:0!important;
  border:0!important;
  border-right:1px solid var(--portal-line)!important;
  background:transparent!important;
}
.customerShell .resourcePreviewGrid article:last-child{border-right:0!important}

/* Portal catalogue */
.customerShell .pageHeader,
.customerShell .categoryHero{
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.customerShell .pageHeader h1,
.customerShell .categoryHero h1{
  font-size:clamp(38px,4vw,58px)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
}
.customerShell .catalogueDepthPill{
  border-radius:16px!important;
  box-shadow:none!important;
  background:var(--portal-white)!important;
  border:1px solid var(--portal-line)!important;
}
.customerShell .clinicNeedRail{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
}
.customerShell .clinicNeedCard{
  min-height:155px!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.customerShell .clinicNeedCard:hover{transform:none!important;box-shadow:none!important}
.customerShell .catalogueLandingShortcuts{
  gap:9px!important;
}
.customerShell .catalogueShortcut{
  border-radius:16px!important;
  box-shadow:none!important;
}
.customerShell .shopFilterBar{
  padding:12px!important;
  border:1px solid var(--portal-line)!important;
  border-radius:16px!important;
  background:var(--portal-white)!important;
}
.customerShell .productGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.customerShell .productCard{
  border-radius:18px!important;
  border:1px solid var(--portal-line)!important;
  box-shadow:none!important;
}
.customerShell .productCard:hover{transform:none!important;box-shadow:none!important;border-color:#aaa39a!important}
.customerShell .productVisual{
  min-height:220px!important;
  border-radius:16px 16px 0 0!important;
}
.customerShell .canvaCardActions{
  border-top:1px solid var(--portal-line)!important;
}
.customerShell .customRequestPanel{
  border-radius:18px!important;
  border:1px solid var(--portal-line)!important;
  background:var(--v44-lilac-soft)!important;
  box-shadow:none!important;
}

/* Orders become a procurement ledger. */
.customerShell .orderSection{
  margin-top:26px!important;
}
.customerShell .orderCardGrid,
.customerShell .orderCardGrid.compact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}
.customerShell .customerOrderCard{
  display:grid!important;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr) auto!important;
  gap:22px!important;
  align-items:center!important;
  min-height:140px!important;
  padding:20px!important;
  border:1px solid var(--portal-line)!important;
  border-radius:17px!important;
  background:var(--portal-white)!important;
  box-shadow:none!important;
}
.customerShell .orderCardProduct{margin:0!important}
.customerShell .orderMessage,
.customerShell .deliveryPromise{grid-column:2/3!important;margin:0!important}
.customerShell .orderCardActions{
  grid-column:3!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-content:flex-end!important;
}
.customerShell .orderCardActions .button{
  border-radius:999px!important;
}

/* Replenish / docs / stock / assets */
.customerShell .replenishGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.customerShell .replenishCard{
  border-radius:18px!important;
  border:1px solid var(--portal-line)!important;
  box-shadow:none!important;
}
.customerShell .replenishVisual{
  min-height:200px!important;
  background:#f4f0e8!important;
}
.customerShell .documentsIndexPanel,
.customerShell .orderDocumentsPanel{
  overflow:hidden!important;
  border-radius:18px!important;
}
.customerShell .documentIndexRow,
.customerShell .orderDocumentRow{
  border-radius:0!important;
  border-bottom:1px solid var(--portal-line)!important;
}
.customerShell .dataTable{
  border-collapse:collapse!important;
}
.customerShell .dataTable th{
  background:#f0ece4!important;
  color:#6e6962!important;
}
.customerShell .dataTable td{
  border-bottom:1px solid var(--portal-line)!important;
}
.customerShell .assetCard{
  border-radius:18px!important;
  border:1px solid var(--portal-line)!important;
  box-shadow:none!important;
}

/* =========================================================
   ADMIN — VISUAL NORMALIZATION ONLY, NO WORKFLOW RESTRUCTURE
   ========================================================= */
.adminShell{
  background:#f3f1ec!important;
}
.adminShell .sidebar{
  border-radius:22px!important;
  box-shadow:none!important;
}
.adminShell .topbar{
  border-radius:20px!important;
  box-shadow:none!important;
}
.adminShell .panel{
  border-radius:17px!important;
  box-shadow:none!important;
}
.adminShell .button{
  box-shadow:none!important;
}

/* =========================================================
   MOTION / MICROINTERACTION
   ========================================================= */
.m44Reveal{
  opacity:0;
  transform:translateY(11px);
  transition:opacity .84s ease,transform 1s var(--v44-ease);
}
.m44Reveal.in{opacity:1;transform:none}
.m44ObjectReveal{
  opacity:0;
  transform:translateY(8px) scale(.995);
  transition:opacity .96s ease .06s,transform 1.15s var(--v44-ease) .06s;
}
.m44ObjectReveal.in{opacity:1;transform:none}

:is(.publicPage,.publicLanding,.customerShell) :where(button,.button,[role="button"]){
  transition:
    color .28s ease,
    background-color .28s ease,
    border-color .28s ease,
    opacity .28s ease!important;
}
@media(hover:hover) and (pointer:fine){
  :is(.publicPage,.publicLanding,.customerShell) :where(button,.button,[role="button"]):not(:disabled):hover{
    transform:none!important;
  }
}
:is(.publicPage,.publicLanding,.customerShell) :where(button,.button,[role="button"]):not(:disabled):active{
  transform:translateY(1px)!important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1100px){
  .m44HomeHeroShell{
    grid-template-columns:1fr!important;
  }
  .m44HomeDesk{max-width:740px;width:100%}
  .publicLanding .publicClinicalPreviewGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
  }
  .publicLanding .publicClinicalCard{
    grid-column:auto!important;grid-row:auto!important;min-height:185px!important;
  }
  .publicCategoryGrid16{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .publicCategoryCard16{grid-column:auto!important}
  .publicCatalogueGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .start16Hero{
    grid-template-columns:1fr!important;
  }
  .start16RouteBoard{max-width:760px}
  .start16Send{grid-template-columns:1fr!important}
  .prospectContactGrid{grid-template-columns:repeat(2,1fr)!important}
  .prospectContactGrid .contactCard:nth-child(3){border-left:0!important}
  .workshopCategoryGrid{grid-template-columns:repeat(2,1fr)!important}
  .workshopGuideDeckScroll{grid-template-columns:1fr 1fr!important}
  .workshopGuideDeckScroll .workshopGuideCard:first-child{grid-column:1/-1!important;grid-row:auto!important}
  .loginWrap{grid-template-columns:1fr!important}
  .customerShell .v26QuickActions{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
  }
  .customerShell .v26ActionCard:nth-child(1),
  .customerShell .v26ActionCard:nth-child(4){
    grid-row:auto!important;grid-column:auto!important;min-height:185px!important;
  }
  .customerShell .clinicNeedRail{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .customerShell .productGrid,.customerShell .replenishGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .customerShell .customerOrderCard{
    grid-template-columns:1fr auto!important;
  }
  .customerShell .orderCardProduct,
  .customerShell .orderMessage,
  .customerShell .deliveryPromise{grid-column:1!important}
  .customerShell .orderCardActions{
    grid-column:2!important;grid-row:1 / span 3!important;
  }
}
@media(max-width:760px){
  .publicHeader{
    grid-template-columns:1fr auto!important;
    min-height:76px!important;
    padding:12px 20px!important;
  }
  .publicLogo img{width:145px!important}
  .publicNav{gap:0!important}
  .publicPageHero{padding:58px 20px 38px!important}
  .publicPageHero h1{font-size:clamp(42px,12vw,58px)!important}
  .m44HomeHero{padding:18px 12px 42px}
  .m44HomeHeroShell{
    min-height:0;
    padding:36px 22px;
    border-radius:24px;
  }
  .m44HomeHeroCopy h1{font-size:clamp(48px,14vw,66px)}
  .m44HomeHeroCopy>p{font-size:15px}
  .m44HomeDesk{min-height:495px}
  .m44Requirement{inset:22px 0 10px 10px}
  .m44HeroNote{left:-4px;width:170px}
  .publicLanding .homeEditorialIntro{
    grid-template-columns:1fr!important;
    gap:36px!important;
    padding:70px 20px 55px!important;
  }
  .publicLanding .homeDetailLedger{padding:0 20px 70px!important}
  .publicLanding .homeDetailLedger article{
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:18px 0!important;
  }
  .publicLanding .publicClinicalPreview{padding:70px 20px 74px!important}
  .publicLanding .publicClinicalPreviewHead{grid-template-columns:1fr!important;align-items:start!important}
  .publicLanding .publicClinicalPreviewGrid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .publicLanding .publicClinicalCard{min-height:155px!important;padding:16px!important}
  .publicLanding .homeWorkshopCards{
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding:72px 20px!important;
  }
  .publicLanding .homeWorkshopIntro{position:static!important}
  .publicLanding .homeWorkshopCardGrid{grid-template-columns:1fr!important}
  .publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child{grid-row:auto!important}
  .publicLanding .homeWorkshopCardGrid .workshopGuideCard:not(:first-child)>button{
    grid-template-columns:1fr!important;grid-template-rows:minmax(180px,auto) 155px!important;
  }
  .start16Hero{
    padding:65px 20px 55px!important;
    gap:38px!important;
  }
  .start16HeroCopy h1{font-size:clamp(44px,12vw,60px)!important}
  .start16Send{
    margin:0 20px 70px!important;
    padding:28px 20px!important;
    border-radius:22px!important;
  }
  .publicPage:has(.v37ProspectForm) .prospectSection{
    grid-template-columns:1fr!important;
    padding:55px 20px!important;
    gap:35px!important;
  }
  .prospectContactGrid{
    padding:0 20px 65px!important;
    grid-template-columns:1fr!important;
  }
  .prospectContactGrid .contactCard,
  .prospectContactGrid .contactCard+ .contactCard{
    border-left:0!important;
    border-top:0!important;
  }
  .catalogue16Controls{padding:20px!important}
  .catalogue16Controls .filterBar{grid-template-columns:1fr!important}
  .publicCategoryGrid16{grid-template-columns:1fr 1fr!important}
  .publicCatalogueGrid{grid-template-columns:1fr!important}
  .workshopHero{padding:65px 20px 52px!important}
  .workshopHeroGrid{grid-template-columns:1fr!important;gap:28px!important}
  .workshopCategorySection{padding:55px 20px 40px!important}
  .workshopCategoryGrid{grid-template-columns:1fr 1fr!important}
  .workshopTools{margin:0 20px!important}
  .workshopGuideDeck{
    grid-template-columns:1fr!important;
    padding:55px 20px 70px!important;
  }
  .workshopGuideDeckIntro{position:static!important}
  .workshopGuideDeckScroll{grid-template-columns:1fr!important}
  .workshopGuideDeckScroll .workshopGuideCard:first-child{grid-column:auto!important}
  .workshopGuideDeckScroll .workshopGuideCard:not(:first-child)>button{
    grid-template-columns:1fr!important;grid-template-rows:minmax(180px,auto) 155px!important;
  }
  .loginWrap{
    margin:18px 12px 42px!important;
    padding:38px 22px!important;
    border-radius:24px!important;
  }
  .v26LoginFlow{grid-template-columns:1fr 1fr!important}
  .customerShell .sidebar{margin:0!important;border-radius:0 20px 20px 0!important}
  .customerShell .topbar{margin:10px 10px 0!important;border-radius:16px!important}
  .customerShell .contentWrap{padding:24px 18px 50px!important}
  .customerShell .v26HomeHero{grid-template-columns:1fr!important}
  .customerShell .v26HomeStatus{min-width:0!important}
  .customerShell .v26QuickActions{grid-template-columns:1fr!important}
  .customerShell .v26OperationsStrip{grid-template-columns:1fr 1fr!important}
  .customerShell .customerHomeGrid{grid-template-columns:1fr!important}
  .customerShell .clinicNeedRail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .customerShell .productGrid,.customerShell .replenishGrid{grid-template-columns:1fr!important}
  .customerShell .customerOrderCard{grid-template-columns:1fr!important}
  .customerShell .orderCardActions{grid-column:1!important;grid-row:auto!important;justify-content:flex-start!important}
}
@media(max-width:500px){
  .m44HeroActions .button{width:100%}
  .m44ReqHeader,.m44ReqLine{grid-template-columns:28px 1fr}
  .m44ReqHeader span:nth-child(3),.m44ReqStatus{display:none}
  .publicLanding .publicClinicalPreviewGrid{grid-template-columns:1fr!important}
  .publicCategoryGrid16{grid-template-columns:1fr!important}
  .workshopCategoryGrid{grid-template-columns:1fr!important}
  .customerShell .v26OperationsStrip{grid-template-columns:1fr!important}
  .customerShell .clinicNeedRail{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  .m44Reveal,.m44ObjectReveal{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}


/* =========================================================
   V44.1 — HOME CLINICAL-NEEDS QUALITY CORRECTION
   Fixes the visibly broken/cheap mosaic from V44.
   Goal: match the compositional discipline of the approved Our Model page.
   ========================================================= */

.publicLanding .publicClinicalPreview{
  --clinical-gap:14px;
  padding-top:104px!important;
  padding-bottom:112px!important;
  background:#efeae2!important;
}

.publicLanding .publicClinicalPreviewHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:48px!important;
  align-items:end!important;
  width:100%!important;
  margin:0 auto 42px!important;
}

.publicLanding .publicClinicalPreviewHead>div{
  min-width:0!important;
  max-width:760px!important;
}

.publicLanding .publicClinicalPreviewHead h2{
  margin:0 0 16px!important;
  max-width:680px!important;
  font-size:clamp(46px,4.8vw,70px)!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
  font-weight:800!important;
}

.publicLanding .publicClinicalPreviewHead p{
  margin:0!important;
  max-width:620px!important;
  font-size:15px!important;
  line-height:1.65!important;
  color:#6c665f!important;
}

.publicLanding .publicClinicalPreviewHead .textAction{
  align-self:end!important;
  margin:0 0 6px!important;
  padding:0 0 5px!important;
  border-bottom:1px solid #2f5f59!important;
  border-radius:0!important;
  color:#1e5550!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Deliberate editorial layout:
   Vitals is the anchor card.
   Wounds and Emergency flank it.
   Three supporting categories form a clean lower row.
*/
.publicLanding .publicClinicalPreviewGrid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:244px 244px 218px!important;
  gap:var(--clinical-gap)!important;
  width:100%!important;
  margin:0 auto!important;
  overflow:visible!important;
}

.publicLanding .publicClinicalCard{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:26px!important;
  padding-right:26px!important;
  overflow:hidden!important;
  border:1px solid rgba(22,24,22,.12)!important;
  border-radius:24px!important;
  box-shadow:none!important;
  text-align:left!important;
  isolation:isolate!important;
}

/* Exact placement by current DOM order:
   1 wounds, 2 breathing, 3 vitals, 4 infection, 5 emergency, 6 equipment */
.publicLanding .publicClinicalCard:nth-child(1){
  grid-column:8 / 13!important;
  grid-row:1!important;
}
.publicLanding .publicClinicalCard:nth-child(2){
  grid-column:1 / 5!important;
  grid-row:3!important;
}
.publicLanding .publicClinicalCard:nth-child(3){
  grid-column:1 / 8!important;
  grid-row:1 / 3!important;
}
.publicLanding .publicClinicalCard:nth-child(4){
  grid-column:5 / 9!important;
  grid-row:3!important;
}
.publicLanding .publicClinicalCard:nth-child(5){
  grid-column:8 / 13!important;
  grid-row:2!important;
}
.publicLanding .publicClinicalCard:nth-child(6){
  grid-column:9 / 13!important;
  grid-row:3!important;
}

/* Typography: do not let text compete with art. */
.publicLanding .publicClinicalCard>span:not(.publicClinicalArt){
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:auto!important;
  max-width:72%!important;
  margin:0!important;
  font-size:clamp(22px,2vw,32px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
  color:var(--need-ink, #151817)!important;
  overflow:visible!important;
}

.publicLanding .publicClinicalCard>small{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  max-width:34ch!important;
  margin-top:12px!important;
  font-size:11.5px!important;
  line-height:1.5!important;
  color:color-mix(in srgb,var(--need-ink,#222) 70%,transparent)!important;
  overflow:visible!important;
}

/* Anchor card carries the most hierarchy and air. */
.publicLanding .publicClinicalCard:nth-child(3){
  padding:34px!important;
}
.publicLanding .publicClinicalCard:nth-child(3)>span:not(.publicClinicalArt){
  max-width:68%!important;
  font-size:clamp(34px,3.2vw,50px)!important;
  line-height:.95!important;
}
.publicLanding .publicClinicalCard:nth-child(3)>small{
  max-width:39ch!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* Art placement: intentional and card-specific, not one rule forced on all cards. */
.publicLanding .publicClinicalCard .publicClinicalArt{
  position:absolute!important;
  z-index:1!important;
  display:block!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  object-fit:contain!important;
}

/* Wounds */
.publicLanding .publicClinicalCard:nth-child(1) .publicClinicalArt{
  top:auto!important;
  right:22px!important;
  bottom:18px!important;
  width:112px!important;
  height:112px!important;
}

/* Breathing */
.publicLanding .publicClinicalCard:nth-child(2) .publicClinicalArt{
  top:auto!important;
  right:20px!important;
  bottom:14px!important;
  width:106px!important;
  height:106px!important;
}

/* Vitals anchor */
.publicLanding .publicClinicalCard:nth-child(3) .publicClinicalArt{
  top:auto!important;
  right:38px!important;
  bottom:26px!important;
  width:310px!important;
  height:255px!important;
}
.publicLanding .publicClinicalCard:nth-child(3)::after{
  content:"";
  position:absolute;
  inset:auto 26px 24px 26px;
  height:46%;
  z-index:0;
  border-radius:20px;
  background:rgba(255,255,255,.22);
}

/* Infection */
.publicLanding .publicClinicalCard:nth-child(4) .publicClinicalArt{
  top:auto!important;
  right:18px!important;
  bottom:14px!important;
  width:98px!important;
  height:98px!important;
}

/* Emergency */
.publicLanding .publicClinicalCard:nth-child(5) .publicClinicalArt{
  top:auto!important;
  right:22px!important;
  bottom:18px!important;
  width:118px!important;
  height:118px!important;
}

/* Equipment */
.publicLanding .publicClinicalCard:nth-child(6) .publicClinicalArt{
  top:auto!important;
  right:18px!important;
  bottom:12px!important;
  width:108px!important;
  height:108px!important;
}

/* Supporting cards use a tighter text scale. */
.publicLanding .publicClinicalCard:nth-child(2)>span:not(.publicClinicalArt),
.publicLanding .publicClinicalCard:nth-child(4)>span:not(.publicClinicalArt),
.publicLanding .publicClinicalCard:nth-child(6)>span:not(.publicClinicalArt){
  max-width:66%!important;
  font-size:clamp(20px,1.65vw,26px)!important;
}
.publicLanding .publicClinicalCard:nth-child(2)>small,
.publicLanding .publicClinicalCard:nth-child(4)>small,
.publicLanding .publicClinicalCard:nth-child(6)>small{
  max-width:25ch!important;
  font-size:10.5px!important;
}

/* No cheap lift. Tiny border response only. */
.publicLanding .publicClinicalCard:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:rgba(22,24,22,.28)!important;
}

/* Footer of the category section becomes a quiet ledger line. */
.publicLanding .publicClinicalPreviewFoot{
  width:100%!important;
  margin:34px auto 0!important;
  padding-top:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:26px!important;
  border-top:1px solid #c9c1b7!important;
}
.publicLanding .publicClinicalPreviewFoot>span{
  max-width:760px!important;
  color:#6e6861!important;
  font-size:11px!important;
  line-height:1.55!important;
}
.publicLanding .publicClinicalPreviewFoot .button{
  flex:0 0 auto!important;
  border-radius:999px!important;
}

/* At this width, stop pretending the asymmetric desktop composition still fits. */
@media(max-width:1050px){
  .publicLanding .publicClinicalPreviewGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
  }
  .publicLanding .publicClinicalCard,
  .publicLanding .publicClinicalCard:nth-child(n){
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:210px!important;
    padding:24px!important;
  }
  .publicLanding .publicClinicalCard:nth-child(3){
    grid-column:1 / -1!important;
    min-height:360px!important;
    padding:30px!important;
  }
  .publicLanding .publicClinicalCard:nth-child(3) .publicClinicalArt{
    width:250px!important;
    height:210px!important;
    right:28px!important;
    bottom:22px!important;
  }
}

@media(max-width:700px){
  .publicLanding .publicClinicalPreview{
    padding-top:70px!important;
    padding-bottom:74px!important;
  }
  .publicLanding .publicClinicalPreviewHead{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-bottom:28px!important;
  }
  .publicLanding .publicClinicalPreviewHead .textAction{
    justify-self:start!important;
  }
  .publicLanding .publicClinicalPreviewGrid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .publicLanding .publicClinicalCard,
  .publicLanding .publicClinicalCard:nth-child(n){
    grid-column:auto!important;
    min-height:190px!important;
    padding:22px!important;
  }
  .publicLanding .publicClinicalCard:nth-child(3){
    min-height:320px!important;
  }
  .publicLanding .publicClinicalCard>span:not(.publicClinicalArt),
  .publicLanding .publicClinicalCard:nth-child(n)>span:not(.publicClinicalArt){
    max-width:70%!important;
    font-size:25px!important;
  }
  .publicLanding .publicClinicalCard>small,
  .publicLanding .publicClinicalCard:nth-child(n)>small{
    max-width:27ch!important;
    font-size:10.5px!important;
  }
  .publicLanding .publicClinicalCard:nth-child(3)>span:not(.publicClinicalArt){
    font-size:36px!important;
  }
  .publicLanding .publicClinicalCard:nth-child(3) .publicClinicalArt{
    width:205px!important;
    height:175px!important;
    right:18px!important;
    bottom:18px!important;
  }
  .publicLanding .publicClinicalPreviewFoot{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}


/* =========================================================
   V44.2 — CALM SYSTEM RESET
   User direction:
   - one uniform background everywhere
   - remove SaaS-y decorative mockups
   - remove unnecessary shapes
   - Workshop: no awkward vertical illustrated cards
   - KEEP the catalogue search bar
   - category cards: uniform, empty/quiet, no category colours, no art
   ========================================================= */

:root{
  --v44-canvas:#faf9f9;
  --v44-surface:#faf9f9;
  --v44-surface-soft:#f6f5f2;
  --v44-rule:#dedbd6;
  --v44-rule-strong:#c9c5bf;
  --v44-text:#111412;
  --v44-muted-clean:#6f6b65;
  --v44-accent:#159b91;
}

/* ---------------------------------------------------------
   1. ONE BACKGROUND. STOP CHANGING THE ROOM EVERY SECTION.
   --------------------------------------------------------- */
html,
body,
#app,
.publicPage,
.publicLanding,
.startPage,
.workshopPage,
.loginPublicPage,
.unsubscribePage,
.model43,
.customerShell,
.adminShell,
.mainArea,
.contentWrap,
.v7MainArea,
.v7ContentWrap{
  background:var(--v44-canvas)!important;
}

.publicHeader,
.publicFooter,
.publicPageHero,
.homeEditorialIntro,
.homeDetailLedger,
.publicClinicalPreview,
.homeWorkshop,
.homePortalTeaser,
.workshopHero,
.workshopCategorySection,
.workshopGuideDeck,
.workshopPrinciple,
.catalogue16Hero,
.catalogue16Controls,
.publicCatalogueJourney16,
.publicCatalogueResults,
.publicCta,
.start16Hero,
.start16Send,
.prospectSection,
.prospectContactGrid,
.loginWrap,
.m43Hero,
.m43HeroShell,
.m43Statement,
.m43Transform,
.m43TransformShell,
.m43Rhythm,
.m43RhythmFeature,
.m43RhythmSmall,
.m43Final,
.m43ExactImage,
.m43RequestSource,
.m43Controlled,
.m43Supplier,
.m43QuoteCard,
.m43Activity,
.m43MemorySide article,
.m43Paper,
.m43PaperFoot,
.m43PaperTop,
.m43QuoteTop,
.m43QuoteBottom,
.m43FloatNote,
.customerShell .sidebar,
.customerShell .topbar,
.customerShell .v26HomeStatus,
.customerShell .panel,
.customerShell .customerActionPanel,
.customerShell .productCard,
.customerShell .replenishCard,
.customerShell .customRequestPanel,
.customerShell .catalogueDepthPill,
.customerShell .shopFilterBar,
.customerShell .clinicNeedCard,
.customerShell .catalogueShortcut,
.customerShell .customerOrderCard,
.customerShell .assetCard{
  background:var(--v44-canvas)!important;
  background-image:none!important;
}

/* Keep only functionally meaningful contrast. */
input,
select,
textarea,
.searchInput,
.topbarSearch,
.workshopSearch,
.loginCard,
.start16Form,
.v37ProspectForm,
.catalogue16Controls .filterBar{
  background:#fff!important;
}

/* Remove big coloured / dark decorative bands. */
.publicLanding .homePortalTeaser,
.publicPage .publicCta,
.workshopPrinciple,
.m43Final{
  background:var(--v44-canvas)!important;
  color:var(--v44-text)!important;
  border-top:1px solid var(--v44-rule)!important;
  border-bottom:0!important;
}

.publicLanding .homePortalTeaser h2,
.publicPage .publicCta h2,
.workshopPrinciple h2,
.m43Final h2{
  color:var(--v44-text)!important;
}

.publicLanding .homePortalTeaser p,
.publicPage .publicCta p,
.workshopPrinciple p,
.m43Final p{
  color:var(--v44-muted-clean)!important;
}

.publicLanding .homePortalTeaser .button,
.publicPage .publicCta .button.outline,
.m43Final .button.outline{
  color:var(--v44-text)!important;
  border-color:var(--v44-rule-strong)!important;
}

/* ---------------------------------------------------------
   2. HOME HERO — REMOVE THE SaaS MOCKUP OBJECT ENTIRELY.
   Simple, confident, editorial.
   --------------------------------------------------------- */
.m44HomeHero{
  padding:0!important;
  background:var(--v44-canvas)!important;
}

.m44HomeHeroShell{
  width:min(1320px,88%)!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:120px 0 108px!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}

.m44HomeHeroCopy{
  max-width:920px!important;
}

.m44HomeHeroCopy h1{
  max-width:920px!important;
  font-size:clamp(64px,7.2vw,112px)!important;
  line-height:.88!important;
  letter-spacing:-.072em!important;
}

.m44HomeHeroCopy>p{
  max-width:720px!important;
  margin-top:30px!important;
  font-size:18px!important;
  line-height:1.67!important;
}

.m44HomeDesk{
  display:none!important;
}

.m44HeroActions{
  margin-top:34px!important;
}

/* Less pill-y. Buttons can still be soft, but stop turning everything into pills. */
.m44HeroActions .button,
.publicPortalBtn,
.publicCatalogueCard>.button,
.start16HeroActions .button,
.loginCard .button,
.m43ExactActions .button,
.m43Final .button,
.publicPage .publicCta .button{
  border-radius:10px!important;
}

/* ---------------------------------------------------------
   3. REMOVE DECORATIVE COLOUR / SHAPE NOISE ON OUR MODEL
   Preserve the approved hierarchy and useful procurement logic.
   --------------------------------------------------------- */
.m43Hero{
  padding-top:0!important;
  padding-bottom:0!important;
}
.m43HeroShell{
  width:min(1320px,88%)!important;
  margin:0 auto!important;
  padding:105px 0 92px!important;
  border:0!important;
  border-radius:0!important;
}
.m43Statement{
  padding-top:90px!important;
}
.m43Transform{
  padding-top:90px!important;
  padding-bottom:90px!important;
}
.m43TransformShell{
  border:1px solid var(--v44-rule)!important;
  border-radius:16px!important;
}
.m43Rhythm{
  padding-top:90px!important;
  padding-bottom:90px!important;
}
.m43RhythmFeature,
.m43RhythmSmall{
  border-radius:16px!important;
  border-color:var(--v44-rule)!important;
}
.m43RhythmImage{
  background:transparent!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:12px!important;
}
.m43Paper,
.m43FloatNote,
.m43RequestSource,
.m43Controlled,
.m43Supplier,
.m43QuoteCard,
.m43ExactImage,
.m43Activity,
.m43MemorySide article{
  border-radius:14px!important;
  box-shadow:none!important;
}
.m43Supplier:nth-child(1),
.m43Supplier:nth-child(2),
.m43Supplier:nth-child(3),
.m43MemorySide article:first-child{
  background:var(--v44-canvas)!important;
}
.m43FloatNote{
  background:var(--v44-canvas)!important;
}
.m43ReqStatus,
.m43Status{
  background:#edf3f1!important;
}

/* ---------------------------------------------------------
   4. CATEGORY CARDS — ALL UNIFORM. NO COLOURS. NO ART.
   Public home, public catalogue and buyer portal.
   --------------------------------------------------------- */

/* Home clinical needs */
.publicLanding .publicClinicalPreview{
  padding-top:96px!important;
  padding-bottom:96px!important;
  background:var(--v44-canvas)!important;
}
.publicLanding .publicClinicalPreviewHead{
  margin-bottom:32px!important;
}
.publicLanding .publicClinicalPreviewGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:190px!important;
  gap:12px!important;
}
.publicLanding .publicClinicalCard,
.publicLanding .publicClinicalCard:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:190px!important;
  padding:24px!important;
  background:transparent!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.publicLanding .publicClinicalCard::after{
  display:none!important;
}
.publicLanding .publicClinicalCard .publicClinicalArt{
  display:none!important;
}
.publicLanding .publicClinicalCard>span:not(.publicClinicalArt),
.publicLanding .publicClinicalCard:nth-child(n)>span:not(.publicClinicalArt){
  max-width:100%!important;
  font-size:25px!important;
  line-height:1!important;
  color:var(--v44-text)!important;
}
.publicLanding .publicClinicalCard>small,
.publicLanding .publicClinicalCard:nth-child(n)>small{
  max-width:34ch!important;
  margin-top:12px!important;
  font-size:11px!important;
  line-height:1.5!important;
  color:var(--v44-muted-clean)!important;
}
.publicLanding .publicClinicalCard:hover{
  border-color:#aaa59f!important;
  background:transparent!important;
}
.publicLanding .publicClinicalPreviewFoot{
  margin-top:26px!important;
}

/* Public catalogue categories */
.publicCategoryGrid16{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.publicCategoryCard16,
.publicCategoryCard16:nth-child(n){
  grid-column:auto!important;
  min-height:164px!important;
  padding:22px!important;
  background:transparent!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  color:var(--v44-text)!important;
}
.publicCategoryArt16{
  display:none!important;
}
.publicCategoryCopy16{
  position:static!important;
  inset:auto!important;
  width:100%!important;
}
.publicCategoryCopy16 b{
  color:var(--v44-text)!important;
  font-size:22px!important;
  line-height:1.02!important;
}
.publicCategoryCopy16 small{
  color:var(--v44-muted-clean)!important;
  max-width:34ch!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.publicCategoryCard16 i{
  color:#6d6964!important;
}
.publicCategoryCard16:hover,
.publicCategoryCard16.active{
  background:transparent!important;
  border-color:#aaa59f!important;
  box-shadow:none!important;
}

/* Portal categories */
.customerShell .clinicNeedRail{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.customerShell .clinicNeedCard,
.customerShell .clinicNeedCard:nth-child(n){
  min-height:150px!important;
  background:transparent!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:14px!important;
  color:var(--v44-text)!important;
}
.customerShell .clinicNeedIcon{
  display:none!important;
}
.customerShell .clinicNeedCopy{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  padding:20px!important;
}
.customerShell .clinicNeedCopy b{
  color:var(--v44-text)!important;
}
.customerShell .clinicNeedCopy small{
  color:var(--v44-muted-clean)!important;
}
.customerShell .clinicNeedArrow{
  color:#6d6964!important;
}

/* Portal dashboard coloured action cards => same neutral cards. */
.customerShell .v26QuickActions{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  gap:10px!important;
}
.customerShell .v26ActionCard,
.customerShell .v26ActionCard:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:190px!important;
  background:transparent!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:14px!important;
  color:var(--v44-text)!important;
}
.customerShell .v26ActionCard .v26ActionIcon{
  background:transparent!important;
}
.customerShell .v26ActionCard:hover{
  border-color:#aaa59f!important;
  background:transparent!important;
}

/* ---------------------------------------------------------
   5. KEEP THE SEARCH BAR. DO NOT MESS WITH IT.
   Only neutralize the canvas around it.
   --------------------------------------------------------- */
.catalogue16Controls{
  background:var(--v44-canvas)!important;
}
.catalogue16Controls .filterBar{
  background:#fff!important;
  border:1px solid #d7d2cb!important;
  border-radius:18px!important;
  box-shadow:0 14px 30px rgba(43,35,28,.05)!important;
}
.catalogue16Controls .searchInput,
.catalogue16Controls select{
  background:#f7f5f0!important;
}

/* ---------------------------------------------------------
   6. WORKSHOP — HORIZONTAL EDITORIAL ROWS, NO VISUAL PANELS.
   --------------------------------------------------------- */
.workshopHero,
.workshopCategorySection,
.workshopGuideDeck{
  background:var(--v44-canvas)!important;
}

.workshopCategoryGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.workshopCategoryCard{
  min-height:125px!important;
  background:transparent!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.workshopCategoryCard [class*="Icon"],
.workshopCategoryCard svg{
  display:none!important;
}

.workshopGuideDeck{
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:48px!important;
}
.workshopGuideDeckScroll{
  display:block!important;
}
.workshopGuideCard,
.workshopGuideDeckScroll .workshopGuideCard,
.workshopGuideDeckScroll .workshopGuideCard:first-child{
  display:block!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--v44-rule)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.workshopGuideDeckScroll .workshopGuideCard:last-child{
  border-bottom:1px solid var(--v44-rule)!important;
}
.workshopGuideCard>button,
.workshopGuideDeckScroll .workshopGuideCard>button,
.workshopGuideDeckScroll .workshopGuideCard:first-child>button,
.workshopGuideDeckScroll .workshopGuideCard:not(:first-child)>button{
  min-height:0!important;
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  padding:22px 4px!important;
  background:transparent!important;
}
.workshopGuideCardVisual{
  display:none!important;
}
.workshopGuideCardCopy{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  column-gap:28px!important;
  row-gap:7px!important;
  align-items:start!important;
}
.workshopGuideCardMeta{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
}
.workshopGuideCard h3{
  grid-column:2!important;
  margin:0!important;
  max-width:680px!important;
  font-size:clamp(24px,2.3vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
.workshopGuideCard p{
  grid-column:2!important;
  margin:0!important;
  max-width:720px!important;
  font-size:12px!important;
  line-height:1.55!important;
  color:var(--v44-muted-clean)!important;
}
.workshopGuideCard:hover{
  background:transparent!important;
  border-color:#aaa59f!important;
}

/* Home Workshop also becomes calm text-first rows. */
.publicLanding .homeWorkshopCards{
  background:var(--v44-canvas)!important;
}
.publicLanding .homeWorkshopCardGrid{
  display:block!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child{
  grid-row:auto!important;
  border-top:1px solid var(--v44-rule)!important;
  border-radius:0!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:last-child{
  border-bottom:1px solid var(--v44-rule)!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard>button,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child>button,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:not(:first-child)>button{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  min-height:0!important;
  padding:22px 4px!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardVisual{
  display:none!important;
}

/* ---------------------------------------------------------
   7. LESS RANDOM ROUNDING SITE-WIDE.
   Functional surfaces can have small radius. Sections should not.
   --------------------------------------------------------- */
:is(.publicPage,.publicLanding,.model43,.customerShell)
:where(
  .publicClinicalCard,
  .publicCategoryCard16,
  .workshopCategoryCard,
  .workshopGuideCard,
  .clinicNeedCard,
  .v26ActionCard,
  .productCard,
  .publicCatalogueCard,
  .replenishCard,
  .customerOrderCard,
  .assetCard,
  .panel,
  .catalogueShortcut,
  .customRequestPanel
){
  border-radius:14px!important;
  box-shadow:none!important;
}

/* ---------------------------------------------------------
   8. PUBLIC PRODUCT CARDS — neutral, not another colour system.
   --------------------------------------------------------- */
.publicCatalogueCard,
.publicCatalogueVisual,
.customerShell .productCard,
.customerShell .productVisual,
.customerShell .replenishCard,
.customerShell .replenishVisual{
  background:var(--v44-canvas)!important;
}
.publicCatalogueVisual,
.customerShell .productVisual,
.customerShell .replenishVisual{
  border-bottom:1px solid var(--v44-rule)!important;
}

/* ---------------------------------------------------------
   9. PORTAL — SAME CANVAS. FUNCTION > DECORATION.
   --------------------------------------------------------- */
.customerShell .sidebar,
.customerShell .topbar{
  background:var(--v44-canvas)!important;
  border-color:var(--v44-rule)!important;
}
.customerShell .topbarSearch{
  background:#fff!important;
}
.customerShell .campusPill{
  background:transparent!important;
}
.customerShell .v26OperationsStrip,
.customerShell .v26NeedPreview{
  background:transparent!important;
}
.customerShell .v26RepeatPanel{
  background:transparent!important;
}
.customerShell .resourcePreviewGrid article{
  background:transparent!important;
}

/* ---------------------------------------------------------
   10. MOBILE / TABLET — UNIFORM, NO WEIRD MOSAIC COLLAPSE.
   --------------------------------------------------------- */
@media(max-width:1050px){
  .publicLanding .publicClinicalPreviewGrid,
  .publicCategoryGrid16,
  .customerShell .clinicNeedRail,
  .customerShell .v26QuickActions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .workshopGuideDeck{
    grid-template-columns:1fr!important;
  }

  .workshopGuideDeckIntro{
    position:static!important;
  }
}

@media(max-width:700px){
  .m44HomeHeroShell{
    width:calc(100% - 40px)!important;
    padding:72px 0 66px!important;
  }

  .m44HomeHeroCopy h1{
    font-size:clamp(52px,14vw,72px)!important;
  }

  .publicLanding .publicClinicalPreviewGrid,
  .publicCategoryGrid16,
  .customerShell .clinicNeedRail,
  .customerShell .v26QuickActions,
  .workshopCategoryGrid{
    grid-template-columns:1fr!important;
  }

  .publicLanding .publicClinicalCard,
  .publicLanding .publicClinicalCard:nth-child(n),
  .publicCategoryCard16,
  .customerShell .clinicNeedCard{
    min-height:150px!important;
  }

  .workshopGuideCardCopy{
    grid-template-columns:1fr!important;
    row-gap:10px!important;
  }
  .workshopGuideCardMeta,
  .workshopGuideCard h3,
  .workshopGuideCard p{
    grid-column:1!important;
    grid-row:auto!important;
  }
}


/* =========================================================
   V44.3 — COLOR / ICON / PRODUCT-IMAGE CORRECTION
   ========================================================= */

/* ---------------------------------------------------------
   A. BRING CATEGORY COLOUR BACK — BUT KEEP THE CARD SYSTEM UNIFORM.
   Same geometry. Controlled colour is the only variable.
   --------------------------------------------------------- */
.publicLanding .publicClinicalCard,
.publicCategoryCard16,
.customerShell .clinicNeedCard{
  color:var(--need-ink,#161817)!important;
}

/* Home uses classes rather than inline --need-bg. */
.publicLanding .publicClinicalCard.coral{background:#ff9486!important;color:#35221f!important}
.publicLanding .publicClinicalCard.blue{background:#aabfee!important;color:#162644!important}
.publicLanding .publicClinicalCard.orange{background:#f4ae79!important;color:#352419!important}
.publicLanding .publicClinicalCard.mint{background:#9ed8cc!important;color:#133c37!important}
.publicLanding .publicClinicalCard.rose{background:#ec9ab1!important;color:#40212a!important}
.publicLanding .publicClinicalCard.sand{background:#e8c39d!important;color:#36281d!important}

.publicCategoryCard16{
  background:var(--need-bg,#f0ede7)!important;
}
.customerShell .clinicNeedCard{
  background:var(--need-bg,#f0ede7)!important;
}

.publicLanding .publicClinicalCard>span:not(.publicClinicalArt),
.publicLanding .publicClinicalCard>small,
.publicCategoryCopy16 b,
.publicCategoryCopy16 small,
.customerShell .clinicNeedCopy b,
.customerShell .clinicNeedCopy small{
  color:inherit!important;
}

.publicLanding .publicClinicalCard>small,
.publicCategoryCopy16 small,
.customerShell .clinicNeedCopy small{
  opacity:.72!important;
}

/* Clean icon only — no collage / no red torn-paper illustrations. */
.publicLanding .publicClinicalCard .publicClinicalArt,
.publicCategoryArt16,
.customerShell .clinicNeedIcon{
  display:block!important;
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  width:64px!important;
  height:64px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}

.publicLanding .publicClinicalCard .publicClinicalArt{
  object-fit:contain!important;
}

.publicCategoryArt16 img,
.customerShell .clinicNeedIcon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

.publicCategoryCopy16,
.customerShell .clinicNeedCopy{
  position:static!important;
  inset:auto!important;
  padding:0!important;
  width:100%!important;
  max-width:calc(100% - 70px)!important;
}

.customerShell .clinicNeedCopy{
  padding:20px!important;
  padding-right:86px!important;
}

.publicCategoryCard16,
.customerShell .clinicNeedCard{
  position:relative!important;
}

/* Preserve uniform geometry. */
.publicLanding .publicClinicalPreviewGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:190px!important;
}
.publicLanding .publicClinicalCard,
.publicLanding .publicClinicalCard:nth-child(n),
.publicCategoryCard16,
.publicCategoryCard16:nth-child(n),
.customerShell .clinicNeedCard,
.customerShell .clinicNeedCard:nth-child(n){
  min-height:164px!important;
  border-radius:14px!important;
  border:1px solid rgba(25,28,26,.12)!important;
}

/* ---------------------------------------------------------
   B. PRODUCT VISUALS — BLANK. NO GENERATED ILLUSTRATIONS.
   DHA mark survives.
   --------------------------------------------------------- */

/* Public catalogue cards */
.publicCatalogueVisual{
  background:transparent!important;
  border-bottom:1px solid var(--v44-rule)!important;
  box-shadow:none!important;
}
.publicCatalogueVisual > img:not(.publicDhaMark),
.publicCatalogueVisual > span{
  display:none!important;
}
.publicCatalogueVisual .publicDhaMark{
  display:block!important;
  filter:none!important;
  box-shadow:none!important;
}

/* Portal catalogue cards */
.customerShell .productVisual{
  background:transparent!important;
  border-bottom:1px solid var(--v44-rule)!important;
  box-shadow:none!important;
}
.customerShell .productVisual .productMainImage{
  display:none!important;
}
.customerShell .productVisual .cardDhaIcon,
.customerShell .productVisual .dhaRequirementIcon{
  display:block!important;
  filter:none!important;
  box-shadow:none!important;
}
.customerShell .productNeedVisual{
  background:transparent!important;
}

/* Product details / related cards — blank visual field, keep DHA logo. */
.detailProductImageWrap{
  background:transparent!important;
  box-shadow:none!important;
}
.detailProductImageWrap > img:not(.detailDhaIcon),
.detailNeedVisual,
.productGalleryStrip{
  display:none!important;
}
.detailProductImageWrap .detailDhaIcon{
  display:block!important;
  filter:none!important;
  box-shadow:none!important;
}

.relatedProductVisual{
  background:transparent!important;
  box-shadow:none!important;
}
.relatedProductVisual img,
.relatedProductVisual i{
  display:none!important;
}

/* Remove image-shadow rules even if an image becomes visible later. */
.publicCatalogueVisual img,
.productVisual img,
.detailProductImageWrap img,
.relatedProductVisual img,
.replenishVisual img,
.requestLineImage img{
  filter:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

/* ---------------------------------------------------------
   C. HOME WORKSHOP PREVIEW — BRING THE BLOG PREVIEW BACK,
   but as calm editorial cards, not the awkward tall image format.
   --------------------------------------------------------- */
.publicLanding .homeWorkshopCards{
  display:grid!important;
  grid-template-columns:240px minmax(0,1fr)!important;
  gap:48px!important;
  padding-top:96px!important;
  padding-bottom:96px!important;
  background:transparent!important;
}

.publicLanding .homeWorkshopIntro{
  position:static!important;
}

.publicLanding .homeWorkshopCardGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCard,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child{
  margin:0!important;
  border:1px solid var(--v44-rule)!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCard>button,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child>button,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:not(:first-child)>button{
  display:block!important;
  min-height:245px!important;
  padding:24px!important;
  background:transparent!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCardCopy{
  display:block!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCardMeta{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:42px!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCard h3{
  margin:0!important;
  max-width:14ch!important;
  font-size:clamp(24px,2vw,31px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCard p{
  margin:14px 0 0!important;
  max-width:32ch!important;
  font-size:11.5px!important;
  line-height:1.55!important;
  color:var(--v44-muted-clean)!important;
}

.publicLanding .homeWorkshopCardGrid .workshopGuideCardVisual{
  display:none!important;
}

/* ---------------------------------------------------------
   D. WORKSHOP GRID BACKGROUND IS BACK.
   Keep content readable; grid is atmosphere, not decoration.
   --------------------------------------------------------- */
main.workshopPage:not(.workshopArticlePage){
  background-color:var(--v44-canvas)!important;
  background-image:
    linear-gradient(rgba(20,24,22,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,24,22,.045) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
}

main.workshopPage:not(.workshopArticlePage) .workshopHero,
main.workshopPage:not(.workshopArticlePage) .workshopCategorySection,
main.workshopPage:not(.workshopArticlePage) .workshopTools,
main.workshopPage:not(.workshopArticlePage) .workshopGuideDeck,
main.workshopPage:not(.workshopArticlePage) .workshopPrinciple{
  background:transparent!important;
  background-image:none!important;
}

.workshopCategoryCard svg,
.workshopCategoryCard [class*="Icon"]{
  display:block!important;
}

/* ---------------------------------------------------------
   E. PORTAL — REMOVE #FAF9F9 COMPLETELY.
   Pure white base, very light neutral controls.
   Category colour is allowed and intentional.
   --------------------------------------------------------- */
.customerShell,
.customerShell .mainArea,
.customerShell .contentWrap,
.customerShell .sidebar,
.customerShell .topbar,
.customerShell .pageHeader,
.customerShell .categoryHero,
.customerShell .v26HomeHero,
.customerShell .v26NeedPreview,
.customerShell .v26OperationsStrip,
.customerShell .customerHomeGrid,
.customerShell .panel,
.customerShell .customerActionPanel,
.customerShell .resourcePreview,
.customerShell .productCard,
.customerShell .productVisual,
.customerShell .replenishCard,
.customerShell .replenishVisual,
.customerShell .customerOrderCard,
.customerShell .assetCard,
.customerShell .catalogueDepthPill,
.customerShell .customRequestPanel{
  background:#fff!important;
  background-image:none!important;
}

.customerShell .topbarSearch,
.customerShell .mobileSearchInput,
.customerShell .shopFilterBar,
.customerShell .campusPill,
.customerShell input,
.customerShell select,
.customerShell textarea{
  background:#f5f6f5!important;
}

.customerShell .clinicNeedCard{
  background:var(--need-bg,#f0ede7)!important;
}

/* Keep the portal from reintroducing the disliked canvas through nested surfaces. */
.customerShell [style*="#faf9f9" i],
.customerShell [style*="rgb(250, 249, 249)" i]{
  background:#fff!important;
}

/* ---------------------------------------------------------
   F. RESPONSIVE
   --------------------------------------------------------- */
@media(max-width:1050px){
  .publicLanding .homeWorkshopCards{
    grid-template-columns:1fr!important;
  }
  .publicLanding .homeWorkshopCardGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .publicLanding .publicClinicalPreviewGrid,
  .publicCategoryGrid16,
  .customerShell .clinicNeedRail{
    grid-template-columns:1fr!important;
  }

  .publicLanding .homeWorkshopCardGrid{
    grid-template-columns:1fr!important;
  }

  .publicLanding .publicClinicalCard .publicClinicalArt,
  .publicCategoryArt16,
  .customerShell .clinicNeedIcon{
    width:54px!important;
    height:54px!important;
    top:16px!important;
    right:16px!important;
  }
}


/* =========================================================
   V44.4 — HERO REPLACEMENT / TYPOGRAPHIC CLEANUP
   ========================================================= */

/* 1) Remove the framed box around the logo in header / portal topbar */
.publicLogo,
.customerShell .topbarBrandSlot,
.customerShell .sidebar .brand{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* 2) Remove the old community section entirely */
.homeCommunitySection{
  display:none!important;
}

/* 3–6) Replace the home hero with the new image-led composition */
.m44HomeHero{
  background:var(--v44-canvas)!important;
  padding:0!important;
}
.m445HomeHeroScene{
  width:min(1680px,100%);
  min-height:760px;
  margin:0 auto;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:56px clamp(28px,5vw,86px);
  background-image:url('/v44-4-home-hero-desktop.png');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  overflow:hidden;
}
.m445HomeHeroText{
  width:min(460px,100%);
  margin-left:clamp(18px,4vw,64px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color:#151715;
}
.m445HomeHeroText p{
  margin:0 0 28px;
  font-size:clamp(18px,1.65vw,24px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:450;
  max-width:23ch;
}
.m445HomeHeroText h1{
  margin:0;
  max-width:8.4ch;
  font-size:clamp(48px,4.8vw,78px);
  line-height:.86;
  letter-spacing:-.082em;
  font-weight:500;
  text-wrap:balance;
}

/* subtle text-system pass across the public site */
.publicLanding h2,
.publicLanding .homeWorkshopIntro h2,
.publicLanding .publicClinicalPreviewHead h2,
.publicCataloguePage .catalogue16Hero h1,
.publicCataloguePage .publicCatalogueJourney16 h2,
.start16Page .start16Hero h1,
.publicPage .publicPageHero h1,
.loginPublicPage .loginIntro h1,
.workshopPage .workshopHero h1,
.model43 h1,
.model43 h2{
  letter-spacing:-.062em!important;
  line-height:.92!important;
  font-weight:500!important;
  text-wrap:balance;
}

.publicLanding p,
.publicCataloguePage p,
.start16Page p,
.publicPage p,
.loginPublicPage p,
.workshopPage p,
.model43 p{
  line-height:1.48!important;
  letter-spacing:-.018em!important;
}

/* keep headline cards and feature labels a bit cleaner too */
.publicLanding .publicClinicalCard b,
.publicCategoryCopy16 b,
.customerShell .clinicNeedCopy b,
.homeWorkshopCardGrid .workshopGuideCard h3,
.workshopGuideCard h3,
.workshopArticleCard h3{
  letter-spacing:-.05em!important;
  line-height:.95!important;
}

@media (max-width: 900px){
  .m445HomeHeroScene{
    min-height:860px;
    padding:56px 26px 42px;
    align-items:flex-start;
    justify-content:center;
    background-image:url('/v44-4-home-hero-mobile.png');
    background-position:center top;
  }
  .m445HomeHeroText{
    width:min(310px,100%);
    margin:0 auto;
  }
  .m445HomeHeroText p{
    font-size:14px;
    line-height:1.02;
    letter-spacing:-.04em;
    margin-bottom:20px;
    max-width:19ch;
  }
  .m445HomeHeroText h1{
    max-width:7.2ch;
    font-size:clamp(30px,9vw,54px);
    line-height:.88;
    letter-spacing:-.082em;
  }
}


/* =========================================================
   V44.6 — HERO ALIGNMENT + SITE TITLE SCALE + VITALS FIX
   ========================================================= */

:root{
  /* The approved home-section headline scale becomes the site standard. */
  --psc-major-title:clamp(50px,4.8vw,70px);
  --psc-major-title-mobile:clamp(38px,10.5vw,52px);
}

/* ---------------------------------------------------------
   1) HOME HERO — desktop text left aligned and slightly higher.
   Mobile remains centered, as previously approved.
   --------------------------------------------------------- */
@media (min-width:901px){
  .m445HomeHeroScene{
    align-items:flex-start!important;
    justify-content:flex-start!important;
    padding-top:clamp(132px,10vw,170px)!important;
    padding-bottom:50px!important;
  }

  .m445HomeHeroText{
    width:min(500px,38vw)!important;
    margin-left:clamp(52px,7vw,118px)!important;
    align-items:flex-start!important;
    text-align:left!important;
  }

  .m445HomeHeroText p{
    max-width:25ch!important;
    margin:0 0 23px!important;
    font-size:clamp(17px,1.45vw,22px)!important;
    line-height:1.02!important;
    letter-spacing:-.042em!important;
    text-align:left!important;
  }

  .m445HomeHeroText h1{
    max-width:8.7ch!important;
    font-size:var(--psc-major-title)!important;
    line-height:.89!important;
    letter-spacing:-.078em!important;
    text-align:left!important;
  }
}

@media (max-width:900px){
  .m445HomeHeroText{
    align-items:center!important;
    text-align:center!important;
  }
  .m445HomeHeroText p,
  .m445HomeHeroText h1{
    text-align:center!important;
  }
}

/* ---------------------------------------------------------
   2) ONE MAJOR TITLE SCALE ACROSS THE PUBLIC WEBSITE.
   This intentionally targets page / section titles only —
   product names and card headings stay smaller.
   --------------------------------------------------------- */

/* Home sections */
.publicLanding .homeEditorialLead h2,
.publicLanding .publicClinicalPreviewHead h2,
.publicLanding .homeWorkshopIntro h2,
.publicLanding .homePortalTeaser h2,

/* Our Model */
.model43 .m43HeroCopy h1,
.model43 .m43Statement h2,
.model43 .m43TransformHead h2,
.model43 .m43RhythmFeature h2,
.model43 .m43Final h2,

/* Start */
.start16Page .start16HeroCopy h1,
.start16Page .start16SendIntro h2,

/* Catalogue */
.publicCataloguePage .catalogue16Hero h1,
.publicCataloguePage .publicCatalogueJourneyHead16 h2,
.publicCataloguePage .publicCatalogueResults h2,

/* Workshop */
.workshopPage .workshopHero h1,
.workshopPage .workshopGuideDeckIntro h2,
.workshopPage .workshopCategorySection h2,
.workshopArticlePage .workshopArticleHeader h1,

/* Contact / generic public */
.publicPage .publicPageHero h1,
.publicPage .prospectIntro h2,
.publicPage .publicCta h2,

/* Login */
.loginPublicPage .loginIntro h1,

/* Buyer portal */
.customerShell .v26HomeHero h1,
.customerShell .pageHeader h1,
.customerShell .categoryHero h1{
  font-size:var(--psc-major-title)!important;
  line-height:.92!important;
  letter-spacing:-.062em!important;
  font-weight:500!important;
  text-wrap:balance;
}

/* Our Model's first title was visually overpowering; keep each line in the same scale. */
.model43 .m43HeroCopy h1 span,
.model43 .m43HeroCopy h1 em,
.model43 .m43HeroCopy h1 strong{
  font-size:inherit!important;
  line-height:inherit!important;
}

/* Keep supporting subtitles clearly subordinate. */
.workshopPage .workshopHero h2{
  font-size:clamp(25px,2.3vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
}

/* Consistent paragraph rhythm underneath the larger titles. */
.publicLanding .homeEditorialCopy p,
.publicLanding .publicClinicalPreviewHead p,
.publicLanding .homeWorkshopIntro p,
.model43 .m43HeroCopy>p,
.model43 .m43Statement p,
.model43 .m43TransformHead p,
.start16Page .start16HeroCopy>p,
.publicCataloguePage .catalogue16Hero p,
.workshopPage .workshopHeroCopy p,
.publicPage .publicPageHero p,
.loginPublicPage .loginIntro p{
  line-height:1.5!important;
  letter-spacing:-.018em!important;
}

@media(max-width:760px){
  .publicLanding .homeEditorialLead h2,
  .publicLanding .publicClinicalPreviewHead h2,
  .publicLanding .homeWorkshopIntro h2,
  .publicLanding .homePortalTeaser h2,
  .model43 .m43HeroCopy h1,
  .model43 .m43Statement h2,
  .model43 .m43TransformHead h2,
  .model43 .m43RhythmFeature h2,
  .model43 .m43Final h2,
  .start16Page .start16HeroCopy h1,
  .start16Page .start16SendIntro h2,
  .publicCataloguePage .catalogue16Hero h1,
  .publicCataloguePage .publicCatalogueJourneyHead16 h2,
  .workshopPage .workshopHero h1,
  .workshopPage .workshopGuideDeckIntro h2,
  .workshopArticlePage .workshopArticleHeader h1,
  .publicPage .publicPageHero h1,
  .publicPage .prospectIntro h2,
  .publicPage .publicCta h2,
  .loginPublicPage .loginIntro h1,
  .customerShell .v26HomeHero h1,
  .customerShell .pageHeader h1,
  .customerShell .categoryHero h1{
    font-size:var(--psc-major-title-mobile)!important;
    line-height:.94!important;
    letter-spacing:-.058em!important;
  }
}

/* ---------------------------------------------------------
   3) VITALS CARD ICON — lock it to the same clean size as every
   other category icon. The JS below also replaces the source
   with a simple waveform icon so the oversized BP illustration
   cannot return.
   --------------------------------------------------------- */
.publicLanding .publicClinicalCard[data-go="catalogue/vitals"]{
  overflow:hidden!important;
}
.publicLanding .publicClinicalCard[data-go="catalogue/vitals"] .publicClinicalArt{
  top:20px!important;
  right:20px!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}

.publicCategoryCard16[data-go="catalogue/vitals"] .publicCategoryArt16,
.customerShell .clinicNeedCard[data-go$="/vitals"] .clinicNeedIcon{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  overflow:hidden!important;
}


/* =========================================================
   V44.7 — REAL PRODUCT IMAGES BACK
   Show real listing photography. Hide only generated/generic fallback art.
   ========================================================= */

/* Public catalogue */
.publicCatalogueVisual > img:not(.publicDhaMark){
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:26px!important;
  background:#fff!important;
  filter:none!important;
  box-shadow:none!important;
}
.publicCatalogueVisual > img[src*="/assets/products/inst-" i],
.publicCatalogueVisual > img[src*="clinic-basics.jpg" i],
.publicCatalogueVisual > img[src*="pharmaservice" i]{
  display:none!important;
}

/* Buyer portal product grid */
.customerShell .productVisual .productMainImage{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:26px!important;
  background:#fff!important;
  filter:none!important;
  box-shadow:none!important;
}
.customerShell .productVisual .productMainImage[src*="/assets/products/inst-" i],
.customerShell .productVisual .productMainImage[src*="clinic-basics.jpg" i],
.customerShell .productVisual .productMainImage[src*="pharmaservice" i]{
  display:none!important;
}

/* Product-detail modal */
.detailProductImageWrap > img:not(.detailDhaIcon){
  display:block!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  padding:24px!important;
  filter:none!important;
  box-shadow:none!important;
}
.detailProductImageWrap > img[src*="/assets/products/inst-" i],
.detailProductImageWrap > img[src*="clinic-basics.jpg" i],
.detailProductImageWrap > img[src*="pharmaservice" i]{
  display:none!important;
}

/* Replenish / request visuals follow the same rule. */
.customerShell .replenishVisual img,
.requestLineImage img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:18px!important;
  background:#fff!important;
  filter:none!important;
  box-shadow:none!important;
}
.customerShell .replenishVisual img[src*="/assets/products/inst-" i],
.customerShell .replenishVisual img[src*="clinic-basics.jpg" i],
.requestLineImage img[src*="/assets/products/inst-" i],
.requestLineImage img[src*="clinic-basics.jpg" i]{
  display:none!important;
}

/* Keep blank image fields genuinely blank when no real listing image exists. */
.productNeedVisual,
.publicCatalogueVisual:has(> img[src*="/assets/products/inst-" i]),
.customerShell .productVisual:has(> img[src*="/assets/products/inst-" i]){
  background:#fff!important;
}

/* DHA mapping mark remains visible above the product photo / blank field. */
.publicDhaMark,
.cardDhaIcon,
.detailDhaIcon,
.dhaRequirementIcon{
  display:block!important;
  z-index:4!important;
}

/* Vitals icon: use the supplied reference style, not the BP cuff collage. */
.publicLanding .publicClinicalCard[data-go="catalogue/vitals"] .publicClinicalArt{
  content:url("/assets/clinical-icons/vitals-reference.svg")!important;
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  padding:0!important;
}
.publicCategoryCard16[data-go="catalogue/vitals"] .publicCategoryArt16 img,
.customerShell .clinicNeedCard[data-go$="/vitals"] .clinicNeedIcon img{
  content:url("/assets/clinical-icons/vitals-reference.svg")!important;
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
}


/* =========================================================
   PSC V44.9 — UNIFORMITY + CATALOGUE + WORKSHOP POLISH
   ========================================================= */

:root{
  --psc-bg:#faf9f9;
  --psc-white:#ffffff;
  --psc-ink:#141615;
  --psc-muted:#6f6b66;
  --psc-line:#ddd9d3;
  --psc-line-dark:#c8c2ba;
  --psc-teal:#25aaa2;
  --psc-deep:#0e2825;
  --psc-radius:14px;
}

/* ---------- GLOBAL TYPE DISCIPLINE ---------- */
html,body,button,input,select,textarea{
  font-family:"DM Sans",sans-serif!important;
}
body{
  color:var(--psc-ink)!important;
}
body,
.publicPage,
.publicLanding,
.workshopPage,
.start16Page,
.model43,
.customerShell,
.customerShell .mainArea,
.customerShell .contentWrap{
  background:var(--psc-bg)!important;
}
h1,h2,h3,
.publicLanding h1,.publicLanding h2,
.publicPage h1,.publicPage h2,
.workshopPage h1,.workshopPage h2,
.start16Page h1,.start16Page h2,
.model43 h1,.model43 h2,
.customerShell h1,.customerShell h2{
  font-weight:500!important;
  letter-spacing:-.055em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
p,small,span,button,input,select,textarea{
  font-weight:400;
}
button,.button,.textAction{
  font-weight:500!important;
}
b,strong{
  font-weight:500!important;
}

/* ---------- 1. FAMILY / PREVIEW IMAGE AREA ---------- */
.pscFamilyPreview{
  background:#fff!important;
  overflow:hidden!important;
}
.pscFamilyPreview > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:24px!important;
  filter:none!important;
  box-shadow:none!important;
}
.pscFamilyProductSheet .productGalleryStrip{
  display:flex!important;
  gap:8px!important;
  margin-top:10px!important;
  overflow:auto!important;
}
.pscFamilyProductSheet .productGalleryStrip img{
  display:block!important;
  flex:0 0 72px!important;
  width:72px!important;
  height:72px!important;
  object-fit:contain!important;
  padding:5px!important;
  background:#fff!important;
  border:1px solid var(--psc-line)!important;
  border-radius:10px!important;
  filter:none!important;
  box-shadow:none!important;
}
.v449OptionThumb{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:1px solid var(--psc-line)!important;
  border-radius:8px!important;
  margin-right:10px!important;
  padding:4px!important;
  filter:none!important;
  box-shadow:none!important;
}
.pscBrandTick{
  align-items:center!important;
}
.pscBrandTick > span{
  min-width:0;
}

/* ---------- 2. PRODUCT IMAGES — BIGGER, NOT TINY ---------- */
.customerShell .productVisual,
.publicCatalogueVisual{
  height:230px!important;
  min-height:230px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.customerShell .productVisual .productMainImage,
.publicCatalogueVisual > img:not(.publicDhaMark){
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  transform:scale(1.42)!important;
  transform-origin:center!important;
  filter:none!important;
  box-shadow:none!important;
}
.customerShell .productCard,
.publicCatalogueCard{
  overflow:hidden!important;
}
.customerShell .productCard .cardDhaIcon,
.publicCatalogueCard .publicDhaMark{
  transform:none!important;
}

/* ---------- 3. PORTAL HEADER — REMOVE THE BIG ROUNDED RECTANGLE ---------- */
.customerShell .portalHeaderBar,
.customerShell .topbar,
.customerShell .sleekTopbar{
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid var(--psc-line)!important;
  box-shadow:none!important;
  background:#fff!important;
  margin:0!important;
  max-width:none!important;
}
.customerShell .topbarBrandSlot,
.customerShell .plainLogo{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* ---------- 4. PORTAL CATALOGUE — WHITE CANVAS + PROMINENT SEARCH ---------- */
.customerShell .clinicNeedSection,
.customerShell .v26CatalogueLanding,
.customerShell .v25NeedJourney{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.customerShell .clinicNeedRail{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
.customerShell .clinicNeedCard,
.customerShell .clinicNeedCardIllustrated{
  min-height:160px!important;
  position:relative!important;
  background:#fff!important;
  color:var(--psc-ink)!important;
  border:1px solid var(--psc-line)!important;
  border-radius:var(--psc-radius)!important;
  box-shadow:none!important;
  transform:none!important;
}
.customerShell .clinicNeedCard:hover{
  border-color:#aaa49d!important;
  transform:none!important;
  box-shadow:none!important;
}
.customerShell .clinicNeedCardIllustrated .clinicNeedCopy{
  left:22px!important;
  right:100px!important;
  bottom:22px!important;
}
.customerShell .clinicNeedCardIllustrated .clinicNeedCopy b{
  font-size:19px!important;
  line-height:1.02!important;
  font-weight:500!important;
}
.customerShell .clinicNeedCardIllustrated .clinicNeedCopy small{
  display:none!important;
}
.customerShell .clinicNeedCardIllustrated .clinicNeedIcon{
  width:68px!important;
  height:68px!important;
  top:18px!important;
  right:18px!important;
  background:transparent!important;
}
.customerShell .clinicNeedArrow{
  display:none!important;
}

/* Existing header search gets real presence. */
.customerShell .topbarSearch{
  min-height:58px!important;
  border:1px solid #bdb7b0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(20,22,21,.06)!important;
}
.customerShell .topbarSearch input{
  font-size:15px!important;
  background:transparent!important;
}
.customerShell .topbarSearch:focus-within{
  border-color:#4f6e69!important;
  box-shadow:0 0 0 3px rgba(37,170,162,.08)!important;
}

.v449CatalogueSearch{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:68px!important;
  margin:24px 0 28px!important;
  padding:0 20px!important;
  border:1px solid #aaa49d!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(20,22,21,.055)!important;
}
.v449CatalogueSearch svg{
  width:22px!important;
  height:22px!important;
  opacity:.55;
}
.v449CatalogueSearch input{
  width:100%!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  font:400 17px/1.2 "DM Sans",sans-serif!important;
  color:var(--psc-ink)!important;
}
.v449CatalogueSearch input::placeholder{
  color:#89847f!important;
}

/* ---------- HOME CATEGORIES — MATCH THE CLEAN PORTAL GRID ---------- */
.publicLanding .publicClinicalPreview{
  background:var(--psc-bg)!important;
  background-image:none!important;
  border-top:1px solid var(--psc-line)!important;
  border-bottom:1px solid var(--psc-line)!important;
}
.publicLanding .publicClinicalPreviewGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:160px!important;
  gap:12px!important;
}
.publicLanding .publicClinicalCard,
.publicLanding .publicClinicalCard:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:160px!important;
  padding:22px!important;
  background:#fff!important;
  color:var(--psc-ink)!important;
  border:1px solid var(--psc-line)!important;
  border-radius:var(--psc-radius)!important;
  box-shadow:none!important;
}
.publicLanding .publicClinicalCard>span:not(.publicClinicalArt),
.publicLanding .publicClinicalCard:nth-child(n)>span:not(.publicClinicalArt){
  max-width:70%!important;
  font-size:21px!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
}
.publicLanding .publicClinicalCard>small{
  display:none!important;
}
.publicLanding .publicClinicalCard .publicClinicalArt{
  display:block!important;
  width:68px!important;
  height:68px!important;
  top:18px!important;
  right:18px!important;
  bottom:auto!important;
  object-fit:contain!important;
  filter:none!important;
  box-shadow:none!important;
}
.publicLanding .publicClinicalCard:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:#aaa49d!important;
}

/* ---------- 5. HOME WORKSHOP PREVIEW — IMAGE ABOVE TITLE ---------- */
.publicLanding .homeWorkshopCards{
  display:block!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:94px clamp(28px,6vw,84px)!important;
  background:var(--psc-bg)!important;
  background-image:none!important;
}
.publicLanding .homeWorkshopIntro{
  position:static!important;
  max-width:760px!important;
  margin:0 0 36px!important;
}
.publicLanding .homeWorkshopIntro h2{
  max-width:14ch!important;
  margin:0 0 14px!important;
  font-size:clamp(46px,4.8vw,70px)!important;
  line-height:.94!important;
  font-weight:500!important;
}
.publicLanding .homeWorkshopIntro p{
  max-width:620px!important;
  margin:0 0 24px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.publicLanding .homeWorkshopCardGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child{
  grid-row:auto!important;
  border:1px solid var(--psc-line)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard>button,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:first-child>button,
.publicLanding .homeWorkshopCardGrid .workshopGuideCard:not(:first-child)>button{
  display:flex!important;
  flex-direction:column!important;
  min-height:460px!important;
  padding:0!important;
  background:#fff!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardVisual{
  order:-1!important;
  display:block!important;
  width:100%!important;
  height:235px!important;
  min-height:235px!important;
  overflow:hidden!important;
  border:0!important;
  border-bottom:1px solid var(--psc-line)!important;
  background:#f2f0ec!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardVisual i{
  display:none!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardVisual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardCopy{
  display:block!important;
  padding:22px!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardMeta{
  display:flex!important;
  justify-content:space-between!important;
  margin:0 0 20px!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCardMeta b,
.publicLanding .homeWorkshopCardGrid .workshopGuideCardMeta small{
  font-size:11px!important;
  font-weight:400!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard h3{
  margin:0!important;
  max-width:15ch!important;
  font-size:28px!important;
  line-height:1.02!important;
  font-weight:500!important;
}
.publicLanding .homeWorkshopCardGrid .workshopGuideCard p{
  margin:14px 0 0!important;
  font-size:13px!important;
  line-height:1.5!important;
}

/* ---------- 6. HOME HERO — FULL BLEED + NEW COPY ---------- */
.publicLanding .m44HomeHero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  background:#fff!important;
}
.publicLanding .m445HomeHeroScene{
  width:100%!important;
  max-width:none!important;
  min-height:min(790px,78vw)!important;
  margin:0!important;
  border-radius:0!important;
  background-size:cover!important;
  background-position:center center!important;
}
.publicLanding .m445HomeHeroText{
  width:min(720px,45vw)!important;
  margin-left:clamp(42px,8vw,150px)!important;
  text-align:left!important;
  align-items:flex-start!important;
}
.publicLanding .m445HomeHeroText h1{
  max-width:12ch!important;
  margin:0!important;
  font-size:clamp(58px,5.4vw,82px)!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  font-weight:500!important;
}
.publicLanding .m445HomeHeroText p{
  max-width:670px!important;
  margin:24px 0 0!important;
  font-size:18px!important;
  line-height:1.4!important;
  letter-spacing:-.02em!important;
  font-weight:400!important;
}

/* ---------- 7–9. WORKSHOP PAGE — NO VERTICAL TITLES, CLEAN COPY, COLLAPSED CATEGORIES ---------- */
.workshopPage .workshopHero{
  background:transparent!important;
}
.workshopPage .workshopHeroGrid{
  grid-template-columns:minmax(0,1fr) minmax(300px,.58fr)!important;
  gap:70px!important;
  align-items:end!important;
}
.workshopPage .workshopHero h1{
  margin:0!important;
  font-size:clamp(54px,5.2vw,76px)!important;
  line-height:.92!important;
  font-weight:500!important;
}
.workshopPage .workshopHero h2{
  max-width:660px!important;
  margin:18px 0 0!important;
  font-size:24px!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:400!important;
}
.workshopPage .workshopHeroCopy p{
  max-width:440px!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:400!important;
}
.workshopPage .workshopCategoryHead{
  align-items:end!important;
}
.workshopPage .workshopCategoryHead h2{
  max-width:760px!important;
  font-size:clamp(46px,4.8vw,70px)!important;
  line-height:.94!important;
  font-weight:500!important;
}
.workshopPage .workshopCategoryHead p{
  max-width:580px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.workshopPage .workshopCategoryHead > button{
  min-width:134px!important;
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  font-weight:500!important;
}
.workshopPage .workshopCategorySection:not(.v449Expanded) .workshopCategoryGrid .workshopCategoryCard:nth-child(n+4){
  display:none!important;
}
.workshopPage .workshopCategoryGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.workshopPage .workshopCategoryCard{
  background:rgba(255,255,255,.6)!important;
  border:1px solid var(--psc-line)!important;
  border-radius:14px!important;
}
.workshopPage .workshopCategoryCard b{
  font-weight:500!important;
}
.workshopPage .workshopGuideDeck{
  display:block!important;
}
.workshopPage .workshopGuideDeckIntro{
  position:static!important;
  width:auto!important;
  max-width:760px!important;
  margin:0 0 34px!important;
}
.workshopPage .workshopGuideDeckIntro h2{
  max-width:760px!important;
  font-size:clamp(46px,4.8vw,70px)!important;
  line-height:.94!important;
  font-weight:500!important;
}
.workshopPage .workshopGuideDeckIntro p{
  max-width:620px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.workshopPage .workshopGuideDeckScroll{
  width:100%!important;
}

/* ---------- 10. CONTACT DETAIL TYPOGRAPHY ---------- */
.prospectContactGrid .contactCard span{
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
}
.prospectContactGrid .contactCard b{
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
}
.publicFooter,
.publicFooter button,
.publicFooter a,
.publicFooter span,
.publicFooter p{
  font-weight:400!important;
}

/* ---------- MOBILE ---------- */
@media(max-width:900px){
  .customerShell .clinicNeedRail,
  .publicLanding .publicClinicalPreviewGrid,
  .publicLanding .homeWorkshopCardGrid,
  .workshopPage .workshopCategoryGrid{
    grid-template-columns:1fr!important;
  }
  .customerShell .clinicNeedCard,
  .publicLanding .publicClinicalCard{
    min-height:136px!important;
  }
  .publicLanding .m445HomeHeroScene{
    min-height:860px!important;
    background-position:center top!important;
  }
  .publicLanding .m445HomeHeroText{
    width:min(340px,86vw)!important;
    margin:0 auto!important;
    align-items:center!important;
    text-align:center!important;
  }
  .publicLanding .m445HomeHeroText h1,
  .publicLanding .m445HomeHeroText p{
    text-align:center!important;
  }
  .publicLanding .m445HomeHeroText h1{
    font-size:clamp(42px,12vw,58px)!important;
  }
  .publicLanding .m445HomeHeroText p{
    font-size:15px!important;
  }
  .workshopPage .workshopHeroGrid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .workshopPage .workshopHero h1,
  .workshopPage .workshopCategoryHead h2,
  .workshopPage .workshopGuideDeckIntro h2{
    font-size:clamp(40px,11vw,56px)!important;
  }
  .prospectContactGrid .contactCard b{
    font-size:20px!important;
  }
}


/* =========================================================
   PSC V44.10 — REFINEMENT PASS
   Catalogue search / six-column product grid / Workshop restoration
   / Our Model type restraint.
   Loaded AFTER V44.9 so this file intentionally wins conflicts.
   ========================================================= */

:root{
  --v4410-bg:#faf9f9;
  --v4410-white:#fff;
  --v4410-ink:#141615;
  --v4410-muted:#716d68;
  --v4410-line:#ddd9d3;
  --v4410-line-dark:#bdb7b0;
}

/* =========================================================
   1 + 6. SEARCH — WHITE, GENEROUS, NO "CARD AROUND THE CARD"
   ========================================================= */

/* Public catalogue: kill the outer floating panel. */
.publicCataloguePage .catalogue16Controls,
.publicCataloguePage .publicCatalogueControls{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:34px 0 42px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.publicCataloguePage .catalogue16Controls .filterBar,
.publicCataloguePage .publicCatalogueControls .filterBar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,260px)!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.publicCataloguePage .catalogue16Controls .searchInput,
.publicCataloguePage .publicCatalogueControls .searchInput{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  padding:0 22px!important;
  background:#fff!important;
  border:1px solid var(--v4410-line-dark)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.publicCataloguePage .catalogue16Controls .searchInput input,
.publicCataloguePage .publicCatalogueControls .searchInput input{
  width:100%!important;
  min-width:0!important;
  min-height:68px!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
  outline:0!important;
  color:var(--v4410-ink)!important;
  font:400 16px/1.2 "DM Sans",sans-serif!important;
}

.publicCataloguePage .catalogue16Controls .searchInput input::placeholder,
.publicCataloguePage .publicCatalogueControls .searchInput input::placeholder{
  color:#817d78!important;
  opacity:1!important;
}

.publicCataloguePage .catalogue16Controls select,
.publicCataloguePage .publicCatalogueControls select{
  min-height:70px!important;
  padding:0 44px 0 18px!important;
  background:#fff!important;
  border:1px solid var(--v4410-line-dark)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font:400 15px/1.2 "DM Sans",sans-serif!important;
  color:var(--v4410-ink)!important;
}

.publicCataloguePage .catalogue16Controls .searchInput:focus-within,
.publicCataloguePage .publicCatalogueControls .searchInput:focus-within,
.publicCataloguePage .catalogue16Controls select:focus,
.publicCataloguePage .publicCatalogueControls select:focus{
  border-color:#58746f!important;
  box-shadow:0 0 0 3px rgba(37,170,162,.08)!important;
}

/* Portal catalogue search directly above categories. */
.customerShell .v449CatalogueSearch{
  min-height:72px!important;
  width:100%!important;
  margin:30px 0 36px!important;
  padding:0 22px!important;
  gap:14px!important;
  background:#fff!important;
  border:1px solid var(--v4410-line-dark)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.customerShell .v449CatalogueSearch input{
  min-height:70px!important;
  background:#fff!important;
  border:0!important;
  outline:0!important;
  font:400 16px/1.2 "DM Sans",sans-serif!important;
}

.customerShell .v449CatalogueSearch:focus-within{
  border-color:#58746f!important;
  box-shadow:0 0 0 3px rgba(37,170,162,.08)!important;
}

/* The persistent portal header search uses the same visual language. */
.customerShell .topbarSearch{
  min-height:58px!important;
  padding:0 18px!important;
  background:#fff!important;
  border:1px solid var(--v4410-line-dark)!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.customerShell .topbarSearch input{
  background:#fff!important;
  font:400 14px/1.2 "DM Sans",sans-serif!important;
}
.customerShell .topbarSearch:focus-within{
  border-color:#58746f!important;
  box-shadow:0 0 0 3px rgba(37,170,162,.08)!important;
}

/* =========================================================
   4. PRODUCT IMAGES — CONTAINED, CONSISTENT EDGE DISTANCE
   ========================================================= */

.customerShell .productVisual{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / .86!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#fff!important;
}

.customerShell .productVisual .productMainImage{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:14px!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}

/* DHA badge is not part of the product fitting calculation. */
.customerShell .productVisual .cardDhaIcon{
  width:30px!important;
  height:30px!important;
  padding:0!important;
  top:10px!important;
  right:10px!important;
  transform:none!important;
}

/* =========================================================
   4. SIX-COLUMN PORTAL PRODUCT GRID
   Same information architecture, simply more compact.
   ========================================================= */

.customerShell .productGrid.v25ProductGrid,
.customerShell .productGrid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}

.customerShell .productCard{
  min-width:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.customerShell .productCard .canvaCardBody,
.customerShell .productCard .exactCanvaBody{
  padding:12px 12px 8px!important;
}

.customerShell .productCard .productTitleButton h3{
  margin:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  font-weight:500!important;
}

.customerShell .productCard .pack,
.customerShell .productCard .productNeedTags{
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:400!important;
}

.customerShell .productCard .canvaCardActions,
.customerShell .productCard .exactCanvaActions{
  padding:0 10px 10px!important;
  gap:6px!important;
}

.customerShell .productCard .canvaDetails,
.customerShell .productCard .canvaRequest{
  min-height:34px!important;
  padding:0 8px!important;
  border-radius:10px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:500!important;
}

/* =========================================================
   2 + 3. WORKSHOP — RESTORE CARD LANGUAGE + CLEAR HIERARCHY
   ========================================================= */

.workshopPage{
  background-color:var(--v4410-bg)!important;
}

/* Main title section stays first and restrained. */
.workshopPage .workshopHero{
  padding-top:68px!important;
  padding-bottom:56px!important;
}

.workshopPage .workshopHero h1{
  font-size:clamp(46px,4.5vw,66px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  font-weight:500!important;
}

/* Principle now sits immediately under the hero. */
.workshopPage .workshopPrinciple{
  margin-top:0!important;
  padding-top:48px!important;
  padding-bottom:58px!important;
  border-top:1px solid var(--v4410-line)!important;
  border-bottom:1px solid var(--v4410-line)!important;
}

.workshopPage .workshopPrinciple h2{
  max-width:650px!important;
  font-size:clamp(28px,2.7vw,42px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
}

.workshopPage .workshopPrinciple p{
  max-width:640px!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:400!important;
}

/* Category jump: no oversized redundant title. */
.workshopPage .workshopCategorySection{
  padding-top:54px!important;
}

.workshopPage .workshopCategoryHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:end!important;
  margin-bottom:24px!important;
}

.workshopPage .workshopCategoryHead h2{
  display:none!important;
}

.workshopPage .workshopCategoryHead p{
  max-width:680px!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.45!important;
  font-weight:400!important;
}

.workshopPage .workshopCategoryGrid{
  gap:12px!important;
}

/* Full article deck becomes category-separated card grids. */
.workshopPage .workshopGuideDeck{
  display:block!important;
  padding-top:70px!important;
}

.workshopPage .workshopGuideDeckIntro{
  max-width:780px!important;
  margin-bottom:40px!important;
}

.workshopPage .workshopGuideDeckIntro h2{
  font-size:clamp(38px,3.8vw,54px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  font-weight:500!important;
}

.workshopPage .workshopGuideDeckIntro p{
  max-width:650px!important;
  font-size:15px!important;
  line-height:1.55!important;
}

.workshopPage .workshopGuideDeckScroll{
  display:block!important;
  width:100%!important;
  overflow:visible!important;
}

.v4410WorkshopGroups{
  display:flex;
  flex-direction:column;
  gap:56px;
}

.v4410WorkshopGroup{
  display:block;
}

.v4410WorkshopGroupHead{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  padding:0 0 16px;
  margin:0 0 18px;
  border-bottom:1px solid var(--v4410-line);
}

.v4410WorkshopGroupHead h3{
  margin:0!important;
  font:500 24px/1.08 "DM Sans",sans-serif!important;
  letter-spacing:-.035em!important;
}

.v4410WorkshopGroupHead span{
  font:400 12px/1.2 "DM Sans",sans-serif!important;
  color:var(--v4410-muted)!important;
}

.v4410WorkshopGroupGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCard{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--v4410-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCard > button{
  width:100%!important;
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
  text-align:left!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardVisual{
  order:-1!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:210px!important;
  min-height:210px!important;
  overflow:hidden!important;
  background:
    linear-gradient(rgba(20,22,21,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,22,21,.045) 1px,transparent 1px),
    #fbfbfa!important;
  background-size:24px 24px!important;
  border:0!important;
  border-bottom:1px solid var(--v4410-line)!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardVisual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardVisual i{
  width:46px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  color:#4e4b47!important;
  opacity:.7!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardCopy{
  display:block!important;
  padding:20px 20px 22px!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardMeta{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:17px!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardMeta b,
.workshopPage .v4410WorkshopGroupGrid .workshopGuideCardMeta small{
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:400!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCard h3{
  max-width:17ch!important;
  margin:0!important;
  font-size:25px!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
}

.workshopPage .v4410WorkshopGroupGrid .workshopGuideCard p{
  margin:13px 0 0!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:400!important;
  color:var(--v4410-muted)!important;
}

/* =========================================================
   7 + 8. OUR MODEL — RESTRAIN THE DISPLAY TYPE
   ========================================================= */

.model43 .m43HeroCopy h1{
  max-width:760px!important;
  font-size:clamp(44px,4.5vw,68px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}

.model43 .m43HeroCopy h1 span,
.model43 .m43HeroCopy h1 em{
  font-weight:400!important;
}

.model43 .m43HeroCopy h1 strong{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:10px!important;
  white-space:nowrap!important;
  font-size:.66em!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}

.model43 .m43StatementGrid h2,
.model43 .m43TransformHead h2{
  font-size:clamp(38px,3.8vw,56px)!important;
  line-height:.99!important;
  letter-spacing:-.05em!important;
  font-weight:500!important;
}

.model43 .m43Statement{
  padding-top:72px!important;
  padding-bottom:72px!important;
}

.model43 .m43Transform{
  padding-top:78px!important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1500px){
  .customerShell .productGrid.v25ProductGrid,
  .customerShell .productGrid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}

@media(max-width:1250px){
  .customerShell .productGrid.v25ProductGrid,
  .customerShell .productGrid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(max-width:1020px){
  .customerShell .productGrid.v25ProductGrid,
  .customerShell .productGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .v4410WorkshopGroupGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .publicCataloguePage .catalogue16Controls,
  .publicCataloguePage .publicCatalogueControls{
    width:calc(100% - 28px)!important;
    padding:22px 0 30px!important;
  }

  .publicCataloguePage .catalogue16Controls .filterBar,
  .publicCataloguePage .publicCatalogueControls .filterBar{
    grid-template-columns:1fr!important;
  }

  .customerShell .productGrid.v25ProductGrid,
  .customerShell .productGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }

  .customerShell .productVisual{
    aspect-ratio:1 / .92!important;
  }

  .customerShell .productVisual .productMainImage{
    padding:10px!important;
  }

  .v4410WorkshopGroupGrid{
    grid-template-columns:1fr!important;
  }

  .workshopPage .workshopCategoryHead{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  .model43 .m43HeroCopy h1{
    font-size:clamp(40px,11vw,56px)!important;
  }

  .model43 .m43HeroCopy h1 strong{
    white-space:normal!important;
    width:auto!important;
    font-size:.72em!important;
  }

  .model43 .m43StatementGrid h2,
  .model43 .m43TransformHead h2{
    font-size:clamp(34px,9vw,48px)!important;
  }
}

@media(max-width:480px){
  .customerShell .productGrid.v25ProductGrid,
  .customerShell .productGrid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V44.10.1 — HOME HERO COPY PLACEMENT
   Headline first, subline directly underneath, and the whole
   copy block sits slightly higher inside the open white field.
   ========================================================= */

.publicLanding .m445HomeHeroText h1{
  order:1!important;
}

.publicLanding .m445HomeHeroText p{
  order:2!important;
  margin:22px 0 0!important;
}

@media(min-width:901px){
  .publicLanding .m445HomeHeroScene{
    align-items:flex-start!important;
    padding-top:clamp(96px,7vw,116px)!important;
  }

  .publicLanding .m445HomeHeroText{
    justify-content:flex-start!important;
  }

  .publicLanding .m445HomeHeroText h1{
    max-width:11.5ch!important;
  }

  .publicLanding .m445HomeHeroText p{
    max-width:38ch!important;
    font-size:17px!important;
    line-height:1.38!important;
    letter-spacing:-.025em!important;
  }
}

@media(max-width:900px){
  .publicLanding .m445HomeHeroScene{
    padding-top:44px!important;
  }

  .publicLanding .m445HomeHeroText h1{
    order:1!important;
  }

  .publicLanding .m445HomeHeroText p{
    order:2!important;
    max-width:30ch!important;
    margin:18px auto 0!important;
    line-height:1.35!important;
  }
}


/* =========================================================
   V44.10.2 — SEARCH HOTFIX
   Portal catalogue search is genuinely white, with one clean border.
   Public catalogue search no longer rerenders on every keystroke.
   ========================================================= */

/* SHOP PORTAL — remove the cream/beige search panel treatment entirely. */
.customerShell .shopFilterBar.v25FilterBar,
.customerShell .shopFilterBar.v26FilterBar,
.customerShell .filterBar.shopFilterBar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,230px) minmax(150px,190px)!important;
  gap:14px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:28px 0 34px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* The actual search field is one clean white object. */
.customerShell .shopFilterBar .searchInput{
  min-width:0!important;
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 18px!important;
  background:#fff!important;
  border:1px solid #cfcac3!important;
  border-radius:14px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.customerShell .shopFilterBar .searchInput > span{
  flex:0 0 auto!important;
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  border:0!important;
  color:#4d5350!important;
  font-size:18px!important;
  line-height:1!important;
}

.customerShell .shopFilterBar .searchInput input,
.customerShell .shopFilterBar input[data-cat-q]{
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  height:64px!important;
  min-height:64px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  background-color:#fff!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:#161817!important;
  font:400 15px/1.2 "DM Sans",sans-serif!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}

.customerShell .shopFilterBar .searchInput input::placeholder{
  color:#77736e!important;
  opacity:1!important;
}

/* Filters visually belong to the same white system. */
.customerShell .shopFilterBar select{
  min-height:66px!important;
  height:66px!important;
  padding:0 42px 0 18px!important;
  background:#fff!important;
  background-color:#fff!important;
  border:1px solid #cfcac3!important;
  border-radius:14px!important;
  box-shadow:none!important;
  color:#161817!important;
  font:400 14px/1.2 "DM Sans",sans-serif!important;
}

.customerShell .shopFilterBar .searchInput:focus-within,
.customerShell .shopFilterBar select:focus{
  border-color:#47746f!important;
  box-shadow:0 0 0 3px rgba(37,170,162,.08)!important;
}

/* Public catalogue: while a query is active, don't make the visitor scroll
   through the category grid before seeing the results. */
.publicCataloguePage.v44102Searching .publicCatalogueJourney16{
  display:none!important;
}

.publicCataloguePage.v44102Searching .catalogue16Controls{
  padding-top:34px!important;
}

/* If the portal catalogue landing's prominent search is active, hide the
   category chooser immediately so search feels like search, not navigation. */
.customerShell .v26CatalogueLanding.v44102Searching .clinicNeedHeading,
.customerShell .v26CatalogueLanding.v44102Searching .clinicNeedRail{
  display:none!important;
}

@media(max-width:1050px){
  .customerShell .shopFilterBar.v25FilterBar,
  .customerShell .shopFilterBar.v26FilterBar,
  .customerShell .filterBar.shopFilterBar{
    grid-template-columns:minmax(0,1fr) 180px!important;
  }
  .customerShell .shopFilterBar select:last-child{
    grid-column:2!important;
  }
}

@media(max-width:760px){
  .customerShell .shopFilterBar.v25FilterBar,
  .customerShell .shopFilterBar.v26FilterBar,
  .customerShell .filterBar.shopFilterBar{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:20px 0 28px!important;
  }
  .customerShell .shopFilterBar select:last-child{
    grid-column:auto!important;
  }
}

.catalogueSearchClear { flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f0f2f1; color: #17211f; font-size: 24px; cursor: pointer; }


/* =========================================================
   PSC V44.10.5 — DEFINITIVE HOME HERO IMAGE IMPLEMENTATION
   Uses NEW filenames to bypass browser/CDN caching.
   ========================================================= */

.publicLanding .m445HomeHeroScene{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  aspect-ratio:1672 / 941!important;
  background-image:url("/v44-10-5-home-hero-desktop.png?v=44105")!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-position:center center!important;
}

/* Keep the copy in the open white field, headline first and subline directly below. */
.publicLanding .m445HomeHeroText{
  align-self:start!important;
  justify-content:flex-start!important;
}

.publicLanding .m445HomeHeroText h1{
  order:1!important;
  margin:0!important;
}

.publicLanding .m445HomeHeroText p{
  order:2!important;
  margin:20px 0 0!important;
}

@media(min-width:901px){
  .publicLanding .m445HomeHeroScene{
    padding-top:clamp(86px,6.2vw,106px)!important;
    padding-left:clamp(70px,8vw,132px)!important;
    padding-right:clamp(70px,8vw,132px)!important;
  }

  .publicLanding .m445HomeHeroText{
    max-width:min(520px,34vw)!important;
  }

  .publicLanding .m445HomeHeroText h1{
    max-width:11.5ch!important;
  }

  .publicLanding .m445HomeHeroText p{
    max-width:38ch!important;
  }
}

@media(max-width:900px){
  .publicLanding .m445HomeHeroScene{
    aspect-ratio:941 / 1672!important;
    background-image:url("/v44-10-5-home-hero-mobile.png?v=44105")!important;
    background-size:100% 100%!important;
    background-position:center top!important;
    padding:54px 28px 0!important;
  }

  .publicLanding .m445HomeHeroText{
    width:100%!important;
    max-width:100%!important;
    align-items:center!important;
    text-align:center!important;
  }

  .publicLanding .m445HomeHeroText h1{
    max-width:12ch!important;
    margin-inline:auto!important;
  }

  .publicLanding .m445HomeHeroText p{
    max-width:31ch!important;
    margin:17px auto 0!important;
  }
}

.v44106Searching .publicCatalogueJourney16{display:none!important}
.customerShell .shopFilterBar .searchInput,
.customerShell .shopFilterBar .searchInput input,
.customerShell .shopFilterBar select,
.publicCataloguePage .catalogue16Controls .searchInput,
.publicCataloguePage .catalogue16Controls .searchInput input,
.publicCataloguePage .catalogue16Controls select{
  background:#fff!important;
  background-color:#fff!important;
}

/* PSC V45.2 — homepage narrative + product image + brand-image behavior */
.m445HomeHeroText{max-width:760px!important}.m445HomeHeroText h1{margin:0!important;font:500 clamp(54px,6.4vw,96px)/.92 "DM Sans",Arial,sans-serif!important;letter-spacing:-.06em!important;text-transform:none!important}.m445HomeHeroText .v452HeroLead{margin:28px 0 0!important;font:500 clamp(20px,2vw,28px)/1.25 "DM Sans",Arial,sans-serif!important;color:inherit!important}.m445HomeHeroText .v452HeroBody{max-width:720px!important;margin:20px 0 0!important;font:400 16px/1.58 "DM Sans",Arial,sans-serif!important;color:inherit!important;opacity:.86}.v452HeroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.v452HeroActions .button{min-height:48px;padding-inline:20px}.m44HomeHero .v452HeroActions .button.outline{color:#fff!important;border-color:rgba(255,255,255,.42)!important;background:rgba(255,255,255,.06)!important}
.v452Intelligence{width:min(1280px,calc(100% - 64px));margin:90px auto 0;padding:76px 0 72px;border-top:1px solid #d9d5cd}.v452IntelligenceHead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);column-gap:80px;row-gap:10px;align-items:start}.v452IntelligenceHead h2{grid-row:span 2;margin:0;font:400 clamp(46px,5vw,74px)/.96 "DM Sans",Arial,sans-serif;letter-spacing:-.055em}.v452IntelligenceHead h2 strong{font-weight:500}.v452IntelligenceHead p{margin:0;color:#6d6962;font:400 15px/1.55 "DM Sans",Arial,sans-serif}.v452IntelligenceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:58px}.v452IntelligenceGrid article{min-height:270px;padding:28px;border:1px solid #ddd8d0;border-radius:20px;background:#fff}.v452IntelligenceGrid article span{display:block;margin-bottom:46px;color:#0a8f88;font:500 11px/1 "DM Sans",Arial,sans-serif;letter-spacing:.08em}.v452IntelligenceGrid h3{margin:0 0 14px;font:500 24px/1.06 "DM Sans",Arial,sans-serif;letter-spacing:-.035em}.v452IntelligenceGrid p{margin:0;color:#6c6963;font:400 14px/1.55 "DM Sans",Arial,sans-serif}
.v452SourceStrip{width:min(1280px,calc(100% - 64px));margin:0 auto 88px;padding:32px 0;border-top:1px solid #d9d5cd;border-bottom:1px solid #d9d5cd;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:70px;align-items:end}.v452SourceStrip h2{margin:0 0 16px;font:400 clamp(32px,3.6vw,52px)/1 "DM Sans",Arial,sans-serif;letter-spacing:-.045em}.v452SourceStrip p{margin:5px 0;color:#6c6963;font:400 14px/1.5 "DM Sans",Arial,sans-serif}.v452SourceStrip strong{font:500 20px/1.25 "DM Sans",Arial,sans-serif;letter-spacing:-.02em}
.publicLanding .publicClinicalPreviewHead h2{max-width:620px!important}.publicLanding .publicClinicalPreviewHead p{max-width:680px!important}.publicLanding .publicClinicalPreviewFoot span{max-width:860px!important;font-size:13px!important;line-height:1.5!important}.publicLanding .homeWorkshopIntro p{max-width:560px!important;font-size:14px!important;line-height:1.55!important}.publicLanding .homeWorkshopIntro p strong{font-weight:600}
.v452Memory{width:min(1280px,calc(100% - 64px));margin:88px auto 30px;padding:60px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end;border-top:1px solid #d9d5cd;border-bottom:1px solid #d9d5cd}.v452MemoryCopy{max-width:850px}.v452Memory h2{margin:0 0 24px;font:400 clamp(46px,5vw,72px)/.96 "DM Sans",Arial,sans-serif;letter-spacing:-.055em}.v452Memory p{margin:9px 0;color:#6d6962;font:400 15px/1.55 "DM Sans",Arial,sans-serif}.v452Memory strong{display:block;margin-top:30px;font:500 18px/1.35 "DM Sans",Arial,sans-serif;letter-spacing:-.02em}.v452Memory strong i{font-style:normal;color:#11a39a;padding:0 8px}
.publicClinicalCard[data-go="catalogue/vitals"] .publicClinicalArt,.publicCategoryCard16[data-go="catalogue/vitals"] .publicCategoryArt16 img,.customerShell .clinicNeedCard[data-go$="/vitals"] .clinicNeedIcon img{object-fit:contain!important;filter:none!important}
.customerShell .v25ProductGrid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))!important;gap:12px!important}.customerShell .v452ProductCard{min-width:0!important}.customerShell .v452ProductVisual{height:176px!important;min-height:176px!important;padding:14px!important;background:#fff!important;border-bottom:1px solid #e4e0da!important}.customerShell .v452ProductImage{width:100%!important;height:100%!important;max-width:155px!important;max-height:145px!important;object-fit:contain!important;object-position:center!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;transform:none!important}.customerShell .v452ProductCard .exactCanvaBody{min-height:126px!important}.customerShell .v452ProductCard .productTitleButton h3{font-size:13px!important;line-height:1.22!important}
.pscFamilyProductSheet .fluidProductGrid.v452NoBrandImage{grid-template-columns:minmax(0,1fr)!important}.pscFamilyProductSheet .fluidProductGrid.v452NoBrandImage>.detailImagePane{display:none!important}.pscFamilyProductSheet .fluidProductGrid.v452NoBrandImage>.detailContentPane{grid-column:1/-1!important;width:100%!important}.pscFamilyProductSheet .detailImagePane[hidden]{display:none!important}
@media(max-width:900px){.v452Intelligence,.v452SourceStrip,.v452Memory{width:min(100% - 32px,1280px)}.v452IntelligenceHead{grid-template-columns:1fr;gap:18px}.v452IntelligenceHead h2{grid-row:auto}.v452IntelligenceGrid{grid-template-columns:1fr}.v452SourceStrip{grid-template-columns:1fr;gap:20px}.v452Memory{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.m445HomeHeroText h1{font-size:48px!important}.v452Intelligence{margin-top:56px;padding-top:48px}.v452IntelligenceGrid{margin-top:36px}.v452IntelligenceGrid article{min-height:0}.customerShell .v25ProductGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.customerShell .v452ProductVisual{height:150px!important;min-height:150px!important}}

/* PSC V45.3 — homepage copy refinement only.
   Keeps the existing V45.2 layout/design and changes hierarchy/copy. */

/* HERO */
.publicLanding .m445HomeHeroText{
  max-width:650px!important;
}
.publicLanding .m445HomeHeroText h1{
  max-width:11ch!important;
  margin:0!important;
  font:500 clamp(52px,5.4vw,80px)/.94 "DM Sans",sans-serif!important;
  letter-spacing:-.06em!important;
}
.publicLanding .v453HeroSub{
  max-width:590px!important;
  margin:22px 0 0!important;
  font:400 italic clamp(19px,1.7vw,25px)/1.3 "DM Sans",sans-serif!important;
  letter-spacing:-.025em!important;
}
.publicLanding .v453HeroBody{
  max-width:590px!important;
  margin:20px 0 0!important;
  font:400 16px/1.52 "DM Sans",sans-serif!important;
  letter-spacing:-.015em!important;
}
.publicLanding .v453HeroActions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:28px!important;
}
.publicLanding .v453HeroActions .button{
  min-height:48px!important;
  padding:0 20px!important;
  border-radius:11px!important;
  font:500 14px/1 "DM Sans",sans-serif!important;
}
.publicLanding .v453Primary{
  background:#0f242d!important;
  border:1px solid #0f242d!important;
  color:#fff!important;
}
.publicLanding .v453Primary:hover{
  background:#183641!important;
  border-color:#183641!important;
}
.publicLanding .v453Secondary{
  background:rgba(255,255,255,.75)!important;
  border:1px solid rgba(15,36,45,.35)!important;
  color:#0f242d!important;
  backdrop-filter:blur(4px);
}
.publicLanding .v453Secondary:hover{
  background:#fff!important;
  border-color:#0f242d!important;
}

/* FLOW STRAIGHT INTO THE THREE INTELLIGENCE POINTS */
.publicLanding .v452Intelligence{
  padding-top:52px!important;
  margin-top:54px!important;
}
.publicLanding .v452IntelligenceGrid{
  margin-top:0!important;
}
.publicLanding .v452IntelligenceGrid article{
  min-height:245px!important;
}
.publicLanding .v452IntelligenceGrid h3{
  max-width:14ch!important;
  font-weight:500!important;
}

/* SOURCING STRIP — KEEP IT QUIET */
.publicLanding .v452SourceStrip{
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:34px 0!important;
  margin-bottom:76px!important;
}
.publicLanding .v452SourceStrip>div{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(300px,1fr)!important;
  gap:70px!important;
  align-items:end!important;
}
.publicLanding .v452SourceStrip h2{
  margin:0!important;
  font-size:clamp(30px,3.2vw,46px)!important;
}
.publicLanding .v452SourceStrip p{
  max-width:600px!important;
  margin:0!important;
  font-size:15px!important;
}

/* CATALOGUE */
.publicLanding .publicClinicalPreviewHead h2{
  max-width:540px!important;
}
.publicLanding .publicClinicalPreviewHead p{
  max-width:720px!important;
}

/* WORKSHOP */
.publicLanding .homeWorkshopIntro h2{
  max-width:12ch!important;
}
.publicLanding .homeWorkshopIntro p{
  max-width:580px!important;
}

/* PORTAL / INTELLIGENCE */
.publicLanding .v452Memory{
  padding:52px 0!important;
}
.publicLanding .v452MemoryCopy{
  max-width:820px!important;
}
.publicLanding .v452Memory h2{
  max-width:14ch!important;
  font-size:clamp(42px,4.5vw,64px)!important;
}
.publicLanding .v452Memory p{
  max-width:760px!important;
  font-size:16px!important;
}

/* FINAL PROCESS */
.publicLanding .demoTeaser h2{
  max-width:760px!important;
}
.publicLanding .demoTeaser p{
  max-width:720px!important;
}
.publicLanding .demoTeaser p strong{
  display:inline-block;
  margin-top:8px;
  font-weight:500!important;
  color:inherit;
}

@media(max-width:900px){
  .publicLanding .m445HomeHeroText{
    max-width:350px!important;
  }
  .publicLanding .m445HomeHeroText h1{
    max-width:10ch!important;
    font-size:clamp(42px,11vw,58px)!important;
  }
  .publicLanding .v453HeroSub{
    font-size:18px!important;
  }
  .publicLanding .v453HeroBody{
    font-size:14px!important;
  }
  .publicLanding .v453HeroActions{
    justify-content:center!important;
  }
  .publicLanding .v452SourceStrip>div{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }
}

/* PSC V45.3A — mobile homepage hero image patch */
@media (max-width: 900px) {
  body main.publicLanding .m44HomeHero,
  body main.publicLanding .m445HomeHeroScene {
    background-image: url('/assets/hero/home-hero-mobile-v453a.png') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body main.publicLanding .m44HomeHero::before,
  body main.publicLanding .m445HomeHeroScene::before {
    background-image: url('/assets/hero/home-hero-mobile-v453a.png') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* PSC V45.4 — hero composition + exact Vitals icon */

/* Exact supplied icon. No generated substitute, emoji or CSS illustration. */
.v454VitalsExact{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:96px!important;
  max-height:96px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  transform:none!important;
}
.publicLanding .publicClinicalCard[data-go*="vitals"] .publicClinicalArt,
.publicCategoryCard16[data-go*="vitals"] .publicCategoryArt16{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.customerShell [data-go*="/vitals"] .clinicNeedIcon .v454VitalsExact,
.customerShell [data-go*="vitals"] .clinicNeedIcon .v454VitalsExact{
  max-width:76px!important;
  max-height:76px!important;
}

/* Desktop: explicitly lock the requested copy and hierarchy into the existing design. */
@media (min-width:901px){
  .publicLanding .m445HomeHeroText{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
    max-width:min(590px,38vw)!important;
  }
  .publicLanding .m445HomeHeroText h1{order:1!important}
  .publicLanding .m445HomeHeroText .v453HeroSub{order:2!important}
  .publicLanding .m445HomeHeroText .v453HeroBody{order:3!important}
  .publicLanding .m445HomeHeroText .v453HeroActions{order:4!important}
}

/* Mobile: use the portrait art as artwork, not as a full-bleed poster behind the copy.
   This gives the copy its own white field and lets the photography begin lower. */
@media (max-width:900px){
  body main.publicLanding .m445HomeHeroScene{
    box-sizing:border-box!important;
    min-height:880px!important;
    height:auto!important;
    aspect-ratio:auto!important;

    background-image:url('/assets/hero/home-hero-mobile-v453a.png')!important;
    background-repeat:no-repeat!important;
    background-size:100% auto!important;
    background-position:center bottom!important;
    background-color:#fbfaf8!important;

    padding:48px 18px 0!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
  }

  /* Some older layers draw the hero through a pseudo-element. Remove that duplicate. */
  body main.publicLanding .m445HomeHeroScene::before{
    content:none!important;
    display:none!important;
    background-image:none!important;
  }

  .publicLanding .m445HomeHeroText{
    position:relative!important;
    z-index:4!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:min(100%,360px)!important;
    max-width:360px!important;
    margin:0 auto!important;
    padding:0!important;
    text-align:center!important;
    color:#111412!important;
  }

  .publicLanding .m445HomeHeroText h1{
    order:1!important;
    width:100%!important;
    max-width:9.8ch!important;
    margin:0 auto!important;
    color:#111412!important;
    font:500 clamp(39px,10.8vw,47px)/.94 "DM Sans",sans-serif!important;
    letter-spacing:-.058em!important;
  }

  .publicLanding .m445HomeHeroText .v453HeroSub{
    order:2!important;
    width:100%!important;
    max-width:340px!important;
    margin:17px auto 0!important;
    color:#1a1b19!important;
    font:400 italic 16px/1.32 "DM Sans",sans-serif!important;
    letter-spacing:-.018em!important;
  }

  .publicLanding .m445HomeHeroText .v453HeroBody{
    order:3!important;
    width:100%!important;
    max-width:345px!important;
    margin:15px auto 0!important;
    color:#343431!important;
    font:400 13.5px/1.44 "DM Sans",sans-serif!important;
    letter-spacing:-.01em!important;
    opacity:1!important;
  }

  .publicLanding .m445HomeHeroText .v453HeroActions{
    order:4!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:350px!important;
    margin:20px auto 0!important;
  }

  .publicLanding .m445HomeHeroText .v453HeroActions .button{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:10px!important;
    white-space:nowrap!important;
    font:500 11.5px/1 "DM Sans",sans-serif!important;
    letter-spacing:-.015em!important;
  }

  .publicLanding .m445HomeHeroText .v453Primary{
    background:#0f242d!important;
    color:#fff!important;
    border:1px solid #0f242d!important;
  }
  .publicLanding .m445HomeHeroText .v453Secondary{
    background:rgba(255,255,255,.88)!important;
    color:#0f242d!important;
    border:1px solid rgba(15,36,45,.28)!important;
  }
}

/* Smaller phones: keep the same hierarchy, just tighten it slightly. */
@media (max-width:390px){
  body main.publicLanding .m445HomeHeroScene{
    min-height:845px!important;
    padding-top:40px!important;
  }
  .publicLanding .m445HomeHeroText{
    max-width:338px!important;
  }
  .publicLanding .m445HomeHeroText h1{
    font-size:38px!important;
  }
  .publicLanding .m445HomeHeroText .v453HeroSub{
    font-size:15px!important;
  }
  .publicLanding .m445HomeHeroText .v453HeroBody{
    font-size:13px!important;
  }
  .publicLanding .m445HomeHeroText .v453HeroActions .button{
    font-size:11px!important;
  }
}
/* PSC V45.5 — cleanup only. Keep current approved direction. */

/* 1 + 4 — one divider is enough. Do not frame editorial sections with two rules. */
.publicLanding .v452SourceStrip{
  border-bottom:0!important;
}
.publicLanding .v452Memory{
  border-top:0!important;
  border-bottom:0!important;
}

/* Avoid doubled rules when adjacent homepage sections already provide separation. */
.publicLanding .v452SourceStrip + .publicClinicalPreview{
  border-top:0!important;
}

/* 5 — exact hero punctuation/case is applied in JS; keep spacing unaffected. */
.publicLanding .m445HomeHeroText h1{
  text-wrap:balance;
}

/* 3 + 6 — EXACT user-supplied Vitals & Assessment artwork.
   Older V44 scripts keep changing the <img> source; instead of fighting that
   observer race, visually suppress their image and paint the supplied PNG on
   the card itself. This makes the exact artwork deterministic. */

.publicLanding .publicClinicalCard[data-go="catalogue/vitals"],
.publicCategoryCard16[data-go="catalogue/vitals"],
.customerShell .clinicNeedCard[data-go$="/vitals"]{
  position:relative!important;
}

.publicLanding .publicClinicalCard[data-go="catalogue/vitals"] .publicClinicalArt,
.publicCategoryCard16[data-go="catalogue/vitals"] .publicCategoryArt16,
.customerShell .clinicNeedCard[data-go$="/vitals"] .clinicNeedIcon{
  visibility:hidden!important;
}

.publicLanding .publicClinicalCard[data-go="catalogue/vitals"]::after,
.publicCategoryCard16[data-go="catalogue/vitals"]::after,
.customerShell .clinicNeedCard[data-go$="/vitals"]::after{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  pointer-events:none!important;
  background-image:url('/assets/clinical-icons/vitals-assessment-exact.png?v=4550')!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
}

/* Homepage clinical tile */
.publicLanding .publicClinicalCard[data-go="catalogue/vitals"]::after{
  width:112px!important;
  height:112px!important;
  right:24px!important;
  bottom:18px!important;
}

/* Public catalogue category tile */
.publicCategoryCard16[data-go="catalogue/vitals"]::after{
  width:102px!important;
  height:102px!important;
  right:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}

/* Portal clinical-need tile */
.customerShell .clinicNeedCard[data-go$="/vitals"]::after{
  width:82px!important;
  height:82px!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}

@media(max-width:900px){
  .publicLanding .publicClinicalCard[data-go="catalogue/vitals"]::after{
    width:88px!important;
    height:88px!important;
    right:16px!important;
    bottom:14px!important;
  }
}
/* PSC V46 — Our Model connected visual story
   Editorial procurement-collage system; page body only. */

.model46{
  --bg:#fbfaf7;
  --paper:#fffefa;
  --ink:#121513;
  --muted:#716e68;
  --line:#ded9d0;
  --line-strong:#c9c2b8;
  --navy:#10282c;
  --teal:#157d77;
  --teal-soft:#e4f0ec;
  --coral:#e9aa92;
  --coral-soft:#f5e2d9;
  --blue:#dce7ef;
  --blue-soft:#eef4f7;
  --sage:#e3e8df;
  --sand:#f1eadf;
  --shadow:0 16px 44px rgba(44,39,32,.075);
  --shadow-soft:0 8px 24px rgba(44,39,32,.05);
  --ease:cubic-bezier(.22,1,.36,1);
  background:var(--bg);
  color:var(--ink);
  font-family:"DM Sans",sans-serif!important;
}
.model46 *,.model46 *::before,.model46 *::after{box-sizing:border-box}

.m46Shell{
  width:min(1320px,calc(100% - 64px));
  margin:0 auto;
}

.m46Hero{
  padding:72px 0 88px;
  border-bottom:1px solid var(--line);
}
.m46HeroGrid{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);
  gap:70px;
  align-items:center;
}
.m46HeroCopy h1,
.m46SectionCopy h2,
.m46Final h2{
  margin:0;
  font-weight:500;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.m46HeroCopy h1{
  max-width:640px;
  font-size:clamp(52px,5.7vw,82px);
  line-height:.94;
}
.m46HeroCopy>p{
  max-width:520px;
  margin:22px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
}
.m46Actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
.m46Actions .button{
  min-height:46px;
  border-radius:12px!important;
  padding-inline:18px;
}

.m46Section{
  padding:96px 0;
  border-bottom:1px solid var(--line);
}
.m46Soft{background:#f5f2ec}
.m46Split{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:74px;
  align-items:center;
}
.m46SplitReverse .m46SectionCopy{order:2}
.m46SplitReverse .m46Frame{order:1}
.m46SectionCopy h2{
  max-width:600px;
  font-size:clamp(40px,4.2vw,58px);
  line-height:.98;
}
.m46SectionCopy p{
  max-width:520px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}
.m46SectionCopyWide{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(320px,.55fr);
  gap:70px;
  align-items:end;
  margin-bottom:40px;
}
.m46SectionCopyWide p{margin:0 0 4px}

.m46Frame{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.m46Frame::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    radial-gradient(circle at 18% 25%,rgba(233,170,146,.09),transparent 28%),
    radial-gradient(circle at 86% 70%,rgba(21,125,119,.08),transparent 31%),
    linear-gradient(rgba(20,20,20,.016) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,20,20,.016) 1px,transparent 1px);
  background-size:auto,auto,26px 26px,26px 26px;
}

.m46HeroVisual{
  min-height:590px;
  padding:38px;
  display:grid;
  grid-template-rows:auto auto auto auto;
  align-content:center;
  gap:17px;
}
.m46RoughCard,
.m46QuoteCard,
.m46IntakeCard,
.m46HistoryCard,
.m46Commercial{
  position:relative;
  z-index:1;
}
.m46RoughCard{
  width:min(420px,78%);
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.m46TiltA{transform:rotate(-1.1deg)}
.m46TiltB{transform:rotate(1deg)}
.m46CardLabel,
.m46IntakeCard small,
.m46HistoryCard .m46CardLabel,
.m46CommercialTop small{
  display:block;
  margin-bottom:12px;
  color:#6f6b64;
  font-size:10px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.m46LooseRow{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:8px 0;
  border-bottom:1px solid #eeeae4;
  font-size:12px;
}
.m46LooseRow:last-child{border-bottom:0}
.m46LooseRow b{font-weight:500}
.m46FlowCue,
.m46Reconverge{
  position:relative;
  z-index:1;
  color:var(--teal);
  font-size:22px;
  text-align:center;
}
.m46ReviewStrip{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.m46ReviewStrip span{
  padding:10px 12px;
  border:1px solid #d3dfdc;
  border-radius:999px;
  background:var(--teal-soft);
  color:#275f5b;
  text-align:center;
  font-size:10px;
  font-weight:600;
}
.m46QuoteCard{
  margin-left:auto;
  width:min(520px,90%);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.m46QuoteTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:19px 20px 16px;
  border-bottom:1px solid var(--line);
}
.m46QuoteTop b{display:block;font-size:13px}
.m46QuoteTop small{display:block;margin-top:3px;color:#7a766f;font-size:10px}
.m46PscMark{
  width:40px;height:40px;display:grid;place-items:center;border-radius:11px;
  background:var(--navy);color:#fff;font-size:10px;font-weight:700
}
.m46QuoteRow{
  display:grid;
  grid-template-columns:30px 1fr auto;
  gap:12px;
  align-items:center;
  padding:12px 20px;
  border-bottom:1px solid #eeeae4;
}
.m46QuoteRow:last-child{border-bottom:0}
.m46QuoteRow>span{font-size:9px;color:#8a857e}
.m46QuoteRow b{font-size:11px;font-weight:600}
.m46QuoteRow i{
  font-style:normal;
  padding:5px 7px;
  border-radius:999px;
  background:var(--teal-soft);
  color:#27655f;
  font-size:8px;
  font-weight:700;
}

/* Intake */
.m46Intake{
  min-height:470px;
  padding:36px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) 62px minmax(0,1.1fr);
  gap:20px;
  align-items:center;
}
.m46InputStack{position:relative;z-index:1;display:grid;gap:12px}
.m46InputCard{
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.m46InputCard span{
  display:block;margin-bottom:7px;color:#7f7a74;font-size:9px;text-transform:uppercase;letter-spacing:.05em
}
.m46InputCard b{font-size:12px;line-height:1.45;font-weight:500}
.m46Merge{position:relative;z-index:1;text-align:center;color:var(--teal);font-size:24px}
.m46IntakeCard{
  padding:24px;
  border:1px solid #cfdcd8;
  border-radius:18px;
  background:var(--teal-soft);
}
.m46IntakeCard h3{margin:0 0 18px;font-size:26px;letter-spacing:-.04em}
.m46IntakeCard>div{
  display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(21,125,119,.16)
}
.m46IntakeCard>div:last-child{border-bottom:0}
.m46IntakeCard span{font-size:10px;color:#5f6d69}
.m46IntakeCard b{font-size:11px;font-weight:600}

/* Clarification */
.m46Clarify{padding:14px 28px}
.m46CompareHead,
.m46CompareRow{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);
  gap:28px;
}
.m46CompareHead{
  padding:14px 0 12px;
  color:#817c75;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.m46CompareRow{
  align-items:center;
  padding:18px 0;
  border-top:1px solid var(--line);
}
.m46Need{display:flex;align-items:center;gap:12px}
.m46Need img{
  width:52px;height:52px;object-fit:contain;filter:none!important
}
.m46Need b{font-size:14px;font-weight:500}
.m46ControlledLine{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.m46ControlledLine span{
  padding:7px 9px;
  border:1px solid #d9d5ce;
  border-radius:999px;
  background:#fff;
  font-size:10px;
  color:#55524e;
}

/* Sourcing */
.m46SourceVisual{min-height:540px;padding:34px}
.m46Basket{
  position:relative;z-index:1;width:min(260px,70%);padding:18px;border:1px solid var(--line);
  border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)
}
.m46Basket small{display:block;color:#7a756e;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.m46Basket b{display:block;margin-top:4px;font-size:15px}
.m46SourceLanes{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0
}
.m46Lane{
  min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.m46Lane img{display:block;width:54px;height:54px;object-fit:contain;margin-bottom:16px}
.m46Lane span{display:block;color:#827d77;font-size:9px}
.m46Lane b{display:block;margin-top:4px;font-size:11px}
.m46OneQuote{
  position:relative;z-index:1;margin-left:auto;width:min(360px,78%);padding:20px;border-radius:18px;
  background:var(--navy);color:#fff;box-shadow:var(--shadow)
}
.m46OneQuote span,.m46OneQuote small{display:block;color:#b7c8c4;font-size:10px}
.m46OneQuote b{display:block;margin:4px 0 8px;font-size:20px;letter-spacing:-.03em}

/* Memory */
.m46Memory{
  min-height:0;padding:28px;display:grid;grid-template-columns:1fr;gap:24px;align-items:start
}
.m46HistoryCard{
  overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff
}
.m46HistoryCard .m46CardLabel{padding:18px 18px 6px;margin:0}
.m46HistoryRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:16px 18px;border-top:1px solid #eeeae4
}
.m46HistoryRow b{font-size:12px;font-weight:600}
.m46HistoryRow span{font-size:9px;color:#27655f;background:var(--teal-soft);padding:5px 7px;border-radius:999px}
.m46HistoryRow small{font-size:9px;color:#8b857f}
.m46MemoryGrid{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start
}
.m46MemoryGrid article{
  padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.m46MemoryGrid article:nth-child(2){background:var(--blue-soft)}
.m46MemoryGrid article:nth-child(3){background:var(--coral-soft)}
.m46MemoryGrid article:nth-child(4){background:var(--sage)}
.m46MemoryGrid small{display:block;color:#7b766f;font-size:9px}
.m46MemoryGrid b{display:block;margin-top:7px;font-size:12px;line-height:1.35}

/* Repeat */
.m46Repeat{
  min-height:420px;padding:34px;display:grid;grid-template-columns:1fr 46px 1fr 46px 1fr;gap:10px;align-items:center
}
.m46RepeatStep{
  position:relative;z-index:1;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff
}
.m46RepeatStepFinal{background:var(--teal-soft);border-color:#c9ded8}
.m46RepeatStep>span{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0ede7;color:#68635d;font-size:9px
}
.m46RepeatStep small{display:block;margin-top:22px;color:#7e7972;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.m46RepeatStep b{display:block;margin-top:5px;font-size:14px}
.m46RepeatArrow{position:relative;z-index:1;text-align:center;color:var(--teal);font-size:20px}
.m46RepeatObjects{
  position:absolute;left:34px;right:34px;bottom:26px;display:flex;justify-content:center;gap:18px;opacity:.9
}
.m46RepeatObjects img{width:52px;height:52px;object-fit:contain}

/* Commercial */
.m46Commercial{padding:26px}
.m46CommercialTop{padding-bottom:18px;border-bottom:1px solid var(--line)}
.m46CommercialTop b{display:block;font-size:21px;letter-spacing:-.03em}
.m46CommercialRow{
  display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)
}
.m46CommercialRow b{display:block;font-size:12px}
.m46CommercialRow small{display:block;margin-top:4px;color:#7d7872;font-size:9px}
.m46CommercialRow>span{
  padding:7px 10px;border-radius:999px;background:var(--teal-soft);color:#27655f;font-size:9px;font-weight:600
}
.m46CommercialNote{
  margin-top:18px;padding:14px;border-radius:14px;background:var(--sand);font-size:11px;color:#5f5a54
}

/* Partnership */
.m46Partnership{
  min-height:250px;padding:32px;display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr 34px 1fr;gap:8px;align-items:center
}
.m46PartNode{position:relative;z-index:1;min-width:0}
.m46PartNode span{display:block;color:var(--teal);font-size:9px;font-weight:700}
.m46PartNode b{display:block;margin-top:10px;font-size:13px}
.m46PartNode small{display:block;margin-top:4px;color:#7e7972;font-size:9px;line-height:1.35}
.m46PartLink{height:1px;background:#bfcac6;position:relative;z-index:1}
.m46PartLink::after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:1px solid #6a7e79;border-right:1px solid #6a7e79;transform:rotate(45deg)}
.m46PartnershipFoot{
  display:flex;justify-content:space-between;gap:30px;align-items:center;padding:18px 4px 0
}
.m46PartnershipFoot span{font-size:12px;color:#77726b}
.m46PartnershipFoot b{font-size:18px;font-weight:500}

/* Final */
.m46Final{padding:88px 0;background:var(--navy);color:#fff}
.m46FinalGrid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);gap:74px;align-items:center
}
.m46Final h2{max-width:760px;font-size:clamp(42px,4.7vw,66px);line-height:.97}
.m46Final p{max-width:590px;margin:16px 0 0;color:#becdca;font-size:14px;line-height:1.55}
.m46FinalCard{padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.06)}
.m46FinalCard small{display:block;color:#b9cac6;font-size:10px}
.m46FinalOptions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}
.m46FinalOptions span{padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:9px;color:#dce6e3}
.m46FinalCard .button.primary{width:100%;min-height:46px;border-radius:12px!important;background:#fff!important;color:var(--navy)!important;border-color:#fff!important}

/* Motion */
.m46Reveal{
  opacity:0;
  transform:translateY(14px);
  transition:
    opacity .78s ease var(--m46-delay,0ms),
    transform .95s var(--ease) var(--m46-delay,0ms);
}
.m46Reveal.in{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
  .m46Frame{transition:transform .55s var(--ease),box-shadow .55s var(--ease)}
  .m46Frame:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
}

/* Responsive */
@media(max-width:1060px){
  .m46HeroGrid,.m46Split,.m46FinalGrid{grid-template-columns:1fr}
  .m46HeroGrid{gap:40px}
  .m46SplitReverse .m46SectionCopy,.m46SplitReverse .m46Frame{order:initial}
  .m46SectionCopyWide{grid-template-columns:1fr;gap:18px}
  .m46HeroVisual{min-height:540px}
}
@media(max-width:760px){
  .m46Shell{width:min(100% - 32px,1320px)}
  .m46Hero{padding:54px 0 64px}
  .m46HeroCopy h1{font-size:clamp(42px,12vw,56px)}
  .m46Section{padding:68px 0}
  .m46SectionCopy h2{font-size:clamp(34px,9vw,46px)}
  .m46HeroVisual{min-height:0;padding:22px}
  .m46RoughCard,.m46QuoteCard{width:100%;margin:0}
  .m46ReviewStrip{grid-template-columns:1fr}
  .m46Intake{grid-template-columns:1fr;min-height:0;padding:22px}
  .m46Merge{transform:rotate(90deg)}
  .m46CompareHead{display:none}
  .m46CompareRow{grid-template-columns:1fr;gap:12px}
  .m46SourceVisual{min-height:0;padding:22px}
  .m46SourceLanes{grid-template-columns:1fr 1fr}
  .m46Lane img{width:44px;height:44px}
  .m46OneQuote{width:100%}
  .m46Memory{grid-template-columns:1fr;padding:22px}
  .m46MemoryGrid{grid-template-columns:1fr 1fr}
  .m46Repeat{grid-template-columns:1fr;min-height:0;padding:22px 22px 100px}
  .m46RepeatArrow{transform:rotate(90deg)}
  .m46RepeatObjects{left:22px;right:22px}
  .m46CommercialRow{grid-template-columns:1fr}
  .m46CommercialRow>span{justify-self:start}
  .m46Partnership{grid-template-columns:1fr;padding:22px}
  .m46PartLink{height:34px;width:1px;justify-self:center}
  .m46PartLink::after{right:-3px;top:auto;bottom:-1px;transform:rotate(135deg)}
  .m46PartnershipFoot{display:grid;gap:6px}
  .m46FinalGrid{gap:34px}
}
@media(max-width:520px){
  .m46Actions .button{width:100%}
  .m46MemoryGrid{grid-template-columns:1fr}
  .m46SourceLanes{grid-template-columns:1fr}
  .m46RepeatObjects img{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  .m46Reveal,.m46Frame{
    opacity:1!important;transform:none!important;transition:none!important
  }
}
.m46Memory .m46HistoryRow span{white-space:nowrap}
@media(max-width:520px){.m46HistoryRow{grid-template-columns:minmax(0,1fr) auto;gap:12px}.m46HistoryRow small{grid-column:1/-1}.m46MemoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.m46MemoryGrid article{padding:16px;min-width:0}}

/* PSC V47 — Homepage editorial procurement redesign
   Keeps current copy architecture; changes visual rhythm and proof. */

.home47{
  --bg:#fbfaf7;
  --paper:#fffefa;
  --ink:#111412;
  --muted:#706d67;
  --line:#ddd8cf;
  --line2:#c9c2b8;
  --navy:#10282c;
  --teal:#15988f;
  --teal-soft:#e1efeb;
  --coral:#e8a68f;
  --coral-soft:#f4e1d8;
  --blue:#dbe7ef;
  --blue-soft:#eef4f7;
  --sage:#e2e8df;
  --yellow:#ead397;
  --shadow:0 18px 48px rgba(43,39,32,.07);
  --shadow-soft:0 8px 26px rgba(43,39,32,.045);
  --ease:cubic-bezier(.22,1,.36,1);
  color:var(--ink);
  background:var(--bg);
  font-family:"DM Sans",sans-serif!important;
}
.home47 *,.home47 *::before,.home47 *::after{box-sizing:border-box}
.h47Shell{width:min(1320px,calc(100% - 64px));margin:0 auto}

/* HERO */
.h47Hero{
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(420px,.84fr) minmax(0,1.16fr);
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.h47HeroCopy{
  position:relative;
  z-index:4;
  align-self:center;
  padding:74px clamp(44px,6vw,96px);
}
.h47HeroCopy h1{
  max-width:760px;
  margin:0;
  font:500 clamp(54px,5.8vw,82px)/.94 "DM Sans",sans-serif;
  letter-spacing:-.062em;
  text-wrap:balance;
}
.h47HeroLead{
  max-width:660px;
  margin:24px 0 0;
  font:400 italic clamp(19px,1.7vw,24px)/1.28 "DM Sans",sans-serif;
  letter-spacing:-.025em;
}
.h47HeroBody{
  max-width:600px;
  margin:18px 0 0;
  color:var(--muted);
  font:400 15.5px/1.55 "DM Sans",sans-serif;
}
.h47HeroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.h47HeroActions .button,
.h47CatalogueFoot .button,
.h47WorkshopHead .button,
.h47AccountHead .button,
.h47JourneyActions .button{
  min-height:46px;
  padding:0 18px;
  border-radius:11px!important;
  font:500 13px/1 "DM Sans",sans-serif!important;
}
.h47HeroActions .button.primary,
.h47CatalogueFoot .button.primary,
.h47JourneyActions .button.primary{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
}
.h47HeroVisual{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:#f2ede4;
}
.h47HeroPhoto{
  position:absolute;
  inset:0;
  background-image:url("/v44-10-5-home-hero-desktop.png?v=44105");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.h47HeroPaper{
  position:absolute;
  left:-1px;
  top:-3%;
  bottom:-3%;
  width:22%;
  background:var(--paper);
  clip-path:polygon(0 0,72% 0,94% 12%,70% 23%,95% 35%,68% 47%,94% 60%,73% 72%,98% 84%,70% 100%,0 100%);
}
.h47AccountCard{
  position:absolute;
  z-index:3;
  right:34px;
  bottom:36px;
  width:250px;
  padding:17px;
  border:1px solid rgba(20,30,28,.13);
  border-radius:18px;
  background:rgba(255,254,250,.94);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.h47AccountTop{display:flex;justify-content:space-between;align-items:center;gap:16px}
.h47AccountTop span{font-size:10px;color:#77736c;text-transform:uppercase;letter-spacing:.06em}
.h47AccountTop b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;font-size:9px}
.h47AccountStat{display:flex;align-items:baseline;gap:8px;margin-top:14px}
.h47AccountStat strong{font-size:34px;font-weight:500;letter-spacing:-.05em}
.h47AccountStat span{font-size:12px;color:#68655f}
.h47AccountMini{display:grid;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.h47AccountMini span{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#6f6b64}
.h47AccountMini b{font-weight:600;color:var(--ink)}

/* THREE PILLARS */
.h47Pillars{padding:96px 0 102px}
.h47PillarIntro{margin-bottom:28px}
.h47PillarIntro p{margin:0;color:#77736d;font:400 14px/1.45 "DM Sans",sans-serif}
.h47PillarCanvas{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  background:var(--paper);
}
.h47Pillar{
  min-width:0;
  padding:30px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:34px;
}
.h47PillarNeed{background:linear-gradient(180deg,#fffefa,#fbf5f0)}
.h47PillarBuy{background:linear-gradient(180deg,#fffefa,#f2f7f5)}
.h47PillarNext{background:linear-gradient(180deg,#fffefa,#f3f5f1)}
.h47PillarCopy>span{display:block;margin-bottom:26px;color:#7d7972;font-size:10px}
.h47PillarCopy h2{
  margin:0;
  max-width:11ch;
  font:500 clamp(28px,2.7vw,38px)/1 "DM Sans",sans-serif;
  letter-spacing:-.045em;
}
.h47PillarCopy p{margin:13px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.h47NeedVisual,.h47BuyVisual,.h47NextVisual{
  align-self:end;
  padding:18px;
  border:1px solid #ddd8d0;
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.h47NeedHead,.h47BuyHead,.h47NextHead{
  display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #ebe6de
}
.h47NeedHead span,.h47BuyHead span,.h47NextHead span{font-size:9px;color:#76716b;text-transform:uppercase;letter-spacing:.05em}
.h47NeedHead b,.h47BuyHead b,.h47NextHead b{font-size:9px;font-weight:600;color:#366c67}
.h47NeedRow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0ece6}
.h47NeedRow b{font-size:10.5px;font-weight:500}
.h47NeedRow span{font-size:8.5px;color:#2f7069}
.h47NeedFoot{padding-top:11px;color:#77726c;font-size:9px}
.h47BuyLine{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #f0ece6}
.h47BuyLine:last-child{border-bottom:0}
.h47BuyLine b{display:block;font-size:10.5px;font-weight:500}
.h47BuyLine small{display:block;margin-top:2px;color:#817b75;font-size:8.5px}
.h47BuyLine>span{padding:5px 7px;border-radius:999px;background:var(--teal-soft);color:#2f7069;font-size:8px}
.h47Timeline{display:grid;gap:0;padding-top:5px}
.h47Timeline>div{position:relative;display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:center;padding:10px 0}
.h47Timeline>div::before{content:"";position:absolute;left:5px;top:-1px;bottom:-1px;width:1px;background:#cbd8d4}
.h47Timeline>div:first-child::before{top:50%}
.h47Timeline>div:last-child::before{bottom:50%}
.h47Timeline i{position:relative;z-index:1;width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:var(--teal);box-shadow:0 0 0 1px #9ab8b2}
.h47Timeline b{font-size:10.5px;font-weight:500}
.h47Timeline small{font-size:8.5px;color:#7c7770}

/* SOURCING BREATHING POINT */
.h47Sourcing{padding:90px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.h47SourcingGrid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);gap:80px;align-items:center}
.h47SourceCopy h2{
  margin:0;
  max-width:650px;
  font:500 clamp(40px,4.2vw,58px)/.98 "DM Sans",sans-serif;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.h47SourceCopy p{max-width:560px;margin:16px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.h47SourceDiagram{position:relative;min-height:310px;padding:30px}
.h47SourceFragments{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.h47SourceFragments span{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
  color:#605d58;
  text-align:center;
  font-size:10px;
}
.h47SourceFragments span:nth-child(2){background:var(--blue-soft)}
.h47SourceFragments span:nth-child(3){background:var(--coral-soft)}
.h47SourceFragments span:nth-child(4){background:var(--sage)}
.h47SourceFragments span:nth-child(5){background:#f4eddc}
.h47SourceLines{position:relative;height:78px}
.h47SourceLines i{position:absolute;top:0;width:1px;height:72px;background:#bdcbc7;transform-origin:top}
.h47SourceLines i:nth-child(1){left:10%;transform:rotate(-28deg)}
.h47SourceLines i:nth-child(2){left:30%;transform:rotate(-14deg)}
.h47SourceLines i:nth-child(3){left:50%}
.h47SourceLines i:nth-child(4){left:70%;transform:rotate(14deg)}
.h47SourceLines i:nth-child(5){left:90%;transform:rotate(28deg)}
.h47SourcePSC{
  margin:0 auto;
  width:min(400px,82%);
  padding:19px 20px;
  border-radius:17px;
  background:var(--navy);
  color:#fff;
  text-align:center;
}
.h47SourcePSC small{display:block;color:#b6c8c4;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.h47SourcePSC b{display:block;margin-top:5px;font-size:15px;font-weight:500}

/* CATALOGUE */
.h47Catalogue{padding:100px 0}
.h47CatalogueHead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end;margin-bottom:38px}
.h47CatalogueHead h2,.h47WorkshopHead h2,.h47AccountHead h2,.h47JourneyHead h2{
  margin:0;
  font:500 clamp(40px,4.2vw,58px)/.98 "DM Sans",sans-serif;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.h47CatalogueHead p,.h47WorkshopHead p,.h47AccountHead p,.h47JourneyHead p{
  max-width:680px;
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.h47TextLink{
  border:0;
  border-bottom:1px solid #8fa09d;
  background:transparent;
  padding:0 0 4px;
  color:#1d5c57;
  font:500 12px/1.2 "DM Sans",sans-serif;
}
.h47CategoryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.h47Category{
  position:relative;
  min-height:190px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 104px;
  gap:12px;
  align-items:center;
  padding:24px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:19px;
  background:var(--paper);
  color:inherit;
  text-align:left;
  font:inherit;
}
.h47Category h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.035em}
.h47Category p{margin:9px 0 0;color:#7a756f;font-size:11.5px;line-height:1.4}
.h47Category img{width:92px;height:92px;object-fit:contain;justify-self:end;filter:none!important}
.h47Category>span{position:absolute;right:17px;bottom:13px;color:#47756f;font-size:14px}
@media(hover:hover) and (pointer:fine){
  .h47Category img{transition:transform .6s var(--ease)}
  .h47Category:hover img{transform:scale(1.035) rotate(.5deg)}
  .h47Category>span{transition:transform .35s var(--ease)}
  .h47Category:hover>span{transform:translateX(3px)}
}
.h47CatalogueFoot{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.h47CatalogueFoot p{margin:0;color:#6f6b65;font-size:12.5px;line-height:1.45}
.h47CatalogueFoot p b{font-weight:500;color:var(--ink)}
.h47CatalogueFoot>div{display:flex;gap:9px;flex-wrap:wrap}

/* WORKSHOP */
.h47Workshop{
  padding:96px 0 104px;
  background-image:
    linear-gradient(rgba(35,34,31,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(35,34,31,.028) 1px,transparent 1px);
  background-size:28px 28px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.h47WorkshopHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
  margin-bottom:36px;
}
.h47ArticleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.h47Article{
  min-width:0;
  padding:0 0 22px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,254,250,.92);
  color:inherit;
  text-decoration:none;
}
.h47ArticleImage{
  height:220px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.h47ArticleImage img{width:100%;height:100%;object-fit:cover;filter:none!important}
.h47ArticleGlove{background:#dceaf1}
.h47ArticleOxygen{background:#dbe9e3}
.h47ArticleAED{background:#efe7dc}
.h47ArticleMeta{display:flex;justify-content:space-between;gap:14px;margin:18px 20px 0}
.h47ArticleMeta span{font-size:9px;color:#5e5a55}
.h47ArticleMeta small{font-size:9px;color:#8a857e}
.h47Article h3{max-width:19ch;margin:12px 20px 0;font-size:24px;line-height:1.02;font-weight:500;letter-spacing:-.04em}
.h47Article p{margin:13px 20px 0;color:#736f69;font-size:11px;line-height:1.45}
@media(hover:hover) and (pointer:fine){
  .h47ArticleImage img{transition:transform .75s var(--ease)}
  .h47Article:hover .h47ArticleImage img{transform:scale(1.02)}
}

/* ACCOUNT INTELLIGENCE */
.h47Account{padding:104px 0}
.h47AccountHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
  margin-bottom:38px;
}
.h47AccountCanvas{
  min-height:500px;
  padding:18px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr) minmax(240px,.7fr);
  grid-template-rows:1fr 1fr;
  gap:12px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#f2eee7;
}
.h47PurchaseHistory,.h47ComingUp,.h47Frequently,.h47Reorder{
  min-width:0;
  border:1px solid #ddd8d0;
  border-radius:17px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.h47PurchaseHistory{grid-row:1/3;padding:20px}
.h47UiTop{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.h47UiTop span{font-size:10px;color:#76716b;text-transform:uppercase;letter-spacing:.05em}
.h47UiTop b{font-size:10px;font-weight:500}
.h47HistoryLine{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid #ede9e2}
.h47HistoryLine:last-child{border-bottom:0}
.h47HistoryLine b{display:block;font-size:13px;font-weight:500}
.h47HistoryLine small{display:block;margin-top:4px;color:#817b75;font-size:9px}
.h47HistoryLine>span{font-size:9px;color:#6c6861}
.h47ComingUp{padding:20px;background:var(--coral-soft)}
.h47ComingUp>small,.h47Frequently>small,.h47Reorder>small{display:block;color:#77726c;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.h47ComingUp h3,.h47Reorder h3{margin:16px 0 4px;font-size:24px;font-weight:500;letter-spacing:-.04em}
.h47ComingUp p{margin:0;color:#6c6761;font-size:10px}
.h47ComingUp>div{display:flex;align-items:center;gap:10px;margin-top:26px}
.h47ComingUp>div span{font-size:20px;font-weight:500}
.h47ComingUp>div i{flex:1;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--coral) 62%,#e3d8cf 62%)}
.h47Frequently{padding:20px}
.h47Frequently>div{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #eeeae4}
.h47Frequently>div:last-child{border-bottom:0}
.h47Frequently>div span{font-size:9px;color:#8a857e}
.h47Frequently>div b{font-size:11px;font-weight:500}
.h47Reorder{grid-column:2/4;padding:20px;background:var(--blue-soft)}
.h47Reorder h3{font-size:21px}
.h47Reorder label{display:inline-flex;align-items:center;gap:7px;margin:14px 18px 0 0;font-size:10px}
.h47Reorder input{accent-color:var(--teal)}
.h47Reorder button{display:block;margin-top:20px;border:0;background:none;padding:0;color:#1c625c;font:500 10px/1.2 "DM Sans",sans-serif}
.h47Commercial{
  margin-top:16px;
  padding:26px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(200px,.6fr) minmax(220px,.65fr);
  gap:12px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
}
.h47CommercialCopy{padding-right:30px}
.h47CommercialCopy h3{margin:0;font-size:30px;font-weight:500;letter-spacing:-.045em}
.h47CommercialCopy p{max-width:580px;margin:10px 0 0;color:#706c66;font-size:12px;line-height:1.5}
.h47CommercialLine{
  padding:18px;border-left:1px solid var(--line)
}
.h47CommercialLine small{display:block;color:#7c7771;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.h47CommercialLine b{display:block;margin-top:9px;font-size:13px;font-weight:500}
.h47CommercialLine span{display:block;margin-top:5px;color:#706c65;font-size:10px}
.h47CommercialOpportunity{background:var(--teal-soft);border:0;border-radius:14px}

/* JOURNEY */
.h47Journey{
  padding:96px 0 102px;
  background:var(--navy);
  color:#fff;
}
.h47JourneyHead{display:flex;justify-content:space-between;gap:60px;align-items:end}
.h47JourneyHead h2{max-width:700px}
.h47JourneyHead p{max-width:420px;color:#b9c9c5;margin:0 0 5px}
.h47JourneyFlow{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-top:50px;
  padding:25px 0;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.h47JourneyFlow div{min-width:0}
.h47JourneyFlow span{display:block;color:#8eb3ad;font-size:9px}
.h47JourneyFlow b{display:block;margin-top:7px;font-size:13px;font-weight:500}
.h47JourneyFlow i{height:1px;background:rgba(255,255,255,.2);position:relative}
.h47JourneyFlow i::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid #9bb8b3;border-right:1px solid #9bb8b3;transform:rotate(45deg)}
.h47JourneyActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}
.h47JourneyActions .button.primary{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}
.h47JourneyActions .button.outline{color:#fff!important;border-color:#76908b!important;background:transparent!important}

/* Motion */
.h47Reveal{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .72s ease var(--h47-delay,0ms),transform .9s var(--ease) var(--h47-delay,0ms);
}
.h47Reveal.in{opacity:1;transform:none}

/* Tablet */
@media(max-width:1080px){
  .h47Hero{grid-template-columns:1fr 1fr}
  .h47SourcingGrid{grid-template-columns:1fr;gap:42px}
  .h47PillarCanvas{grid-template-columns:1fr}
  .h47Pillar{grid-template-columns:minmax(0,.8fr) minmax(300px,1.2fr);grid-template-rows:auto;align-items:center}
  .h47CategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h47AccountCanvas{grid-template-columns:1fr 1fr}
  .h47PurchaseHistory{grid-row:auto}
  .h47Reorder{grid-column:1/3}
  .h47Commercial{grid-template-columns:1fr 1fr}
  .h47CommercialCopy{grid-column:1/3}
  .h47CommercialLine{border-left:0;border-top:1px solid var(--line)}
}

/* Mobile — deliberately recomposed, not desktop stacked blindly */
@media(max-width:760px){
  .h47Shell{width:min(100% - 32px,1320px)}

  .h47Hero{
    min-height:920px;
    display:block;
    position:relative;
    background:var(--paper);
  }
  .h47HeroCopy{
    position:relative;
    z-index:5;
    width:100%;
    padding:46px 22px 0;
    text-align:center;
  }
  .h47HeroCopy h1{
    max-width:9.5ch;
    margin:0 auto;
    font-size:clamp(42px,12vw,54px);
    line-height:.95;
  }
  .h47HeroLead{
    max-width:330px;
    margin:17px auto 0;
    font-size:17px;
  }
  .h47HeroBody{
    max-width:340px;
    margin:15px auto 0;
    font-size:13.5px;
    line-height:1.45;
  }
  .h47HeroActions{
    width:min(100%,350px);
    margin:20px auto 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .h47HeroActions .button{
    min-width:0;
    min-height:43px;
    padding:0 9px;
    font-size:10.8px!important;
  }
  .h47HeroVisual{
    position:absolute;
    inset:0;
    min-height:920px;
    background:transparent;
  }
  .h47HeroPhoto{
    top:270px;
    background-image:url('/assets/hero/home-hero-mobile-v453a.png?v=4531');
    background-size:100% auto;
    background-position:center bottom;
    background-repeat:no-repeat;
  }
  .h47HeroPaper{display:none}
  .h47AccountCard{
    right:16px;
    bottom:42px;
    width:210px;
    padding:14px;
    transform:scale(.92);
    transform-origin:bottom right;
  }

  .h47Pillars{padding:70px 0 76px}
  .h47PillarIntro{margin-bottom:18px}
  .h47Pillar{
    display:block;
    padding:24px;
  }
  .h47PillarCopy>span{margin-bottom:18px}
  .h47PillarCopy h2{font-size:32px}
  .h47PillarCopy p{font-size:12.5px}
  .h47NeedVisual,.h47BuyVisual,.h47NextVisual{margin-top:25px}

  .h47Sourcing{padding:72px 0}
  .h47SourceCopy h2,.h47CatalogueHead h2,.h47WorkshopHead h2,.h47AccountHead h2,.h47JourneyHead h2{font-size:40px}
  .h47SourceFragments{grid-template-columns:1fr 1fr}
  .h47SourceFragments span:last-child{grid-column:1/3}
  .h47SourceLines{display:none}
  .h47SourcePSC{margin-top:10px;width:100%}

  .h47Catalogue{padding:76px 0}
  .h47CatalogueHead,.h47WorkshopHead,.h47AccountHead{grid-template-columns:1fr;gap:18px}
  .h47CatalogueHead .h47TextLink{justify-self:start}
  .h47CategoryGrid{grid-template-columns:1fr 1fr;gap:9px}
  .h47Category{
    min-height:150px;
    display:block;
    padding:16px;
  }
  .h47Category h3{max-width:11ch;font-size:16px}
  .h47Category p{display:none}
  .h47Category img{
    position:absolute;
    right:12px;
    bottom:15px;
    width:66px;height:66px;
  }
  .h47Category>span{left:16px;right:auto;bottom:14px;font-size:12px}
  .h47CatalogueFoot{display:grid;gap:18px}
  .h47CatalogueFoot>div{display:grid;grid-template-columns:1fr 1fr}
  .h47CatalogueFoot .button{min-width:0;padding-inline:8px;font-size:10.5px!important}

  .h47Workshop{padding:72px 0 78px}
  .h47WorkshopHead .button{justify-self:start}
  .h47ArticleGrid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .h47ArticleGrid::-webkit-scrollbar{display:none}
  .h47Article{flex:0 0 82%;scroll-snap-align:start}
  .h47ArticleImage{height:180px}
  .h47Article h3{font-size:22px}

  .h47Account{padding:78px 0}
  .h47AccountHead .button{justify-self:start}
  .h47AccountCanvas{
    min-height:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    padding:10px;
  }
  .h47PurchaseHistory{grid-column:1/3}
  .h47ComingUp,.h47Frequently{min-height:190px}
  .h47Reorder{grid-column:1/3}
  .h47Commercial{grid-template-columns:1fr;padding:20px}
  .h47CommercialCopy{grid-column:auto;padding-right:0}
  .h47CommercialCopy h3{font-size:26px}
  .h47CommercialLine{border-left:0;border-top:1px solid var(--line)}

  .h47Journey{padding:74px 0 80px}
  .h47JourneyHead{display:block}
  .h47JourneyHead p{margin-top:14px}
  .h47JourneyFlow{
    grid-template-columns:1fr;
    gap:0;
    margin-top:34px;
    border:0;
    padding:0;
  }
  .h47JourneyFlow div{
    padding:14px 0 14px 32px;
    border-left:1px solid rgba(255,255,255,.22);
    position:relative;
  }
  .h47JourneyFlow div::before{
    content:"";
    position:absolute;
    left:-4px;
    top:20px;
    width:7px;height:7px;border-radius:50%;background:#9cbcb6;
  }
  .h47JourneyFlow i{display:none}
  .h47JourneyActions{display:grid;grid-template-columns:1fr 1fr}
  .h47JourneyActions .button{min-width:0;padding-inline:8px;font-size:10.5px!important}
}

@media(max-width:420px){
  .h47Hero{min-height:875px}
  .h47HeroVisual{min-height:875px}
  .h47HeroPhoto{top:290px}
  .h47AccountCard{bottom:28px}
  .h47Category h3{font-size:15px}
  .h47Category img{width:60px;height:60px}
}

@media(prefers-reduced-motion:reduce){
  .h47Reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* Compact homepage: retain the existing controls and assets, following the one-pager. */
.home47.h47Compact{background:#fff}
.h47Compact .h47Hero{position:relative;display:block;min-height:580px;border:0;background:#fff}
.h47Compact .h47HeroVisual{position:absolute;inset:0;min-height:0;background:none}
.h47Compact .h47HeroPhoto{inset:0;background-image:url('/v44-10-5-home-hero-desktop.png?v=44105');background-size:cover;background-position:center}
.h47Compact .h47HeroCopy{width:min(58%,740px);padding:72px 48px 110px;text-align:left}
.h47Compact .h47HeroCopy h1{max-width:620px;font-size:clamp(30px,3.1vw,46px);font-weight:400;line-height:1.35;letter-spacing:-.045em;text-wrap:pretty}
.h47Compact .h47HeroBody{max-width:580px;margin:20px 0 0;font-size:18px;line-height:1.55;color:#43534c}
.h47Compact .h47HeroClosing{display:inline-block;white-space:nowrap;font-style:normal}
.h47Compact .h47HeroCopy h1 em{font-weight:400}
.h47Compact .h47HeroActions{margin-top:32px}
.h47Compact .h47Catalogue{position:relative;z-index:5;padding:0 0 32px;margin-top:-48px}
.h47Compact .h47Catalogue>.h47Shell{background:#fff;border-radius:14px;padding:28px 24px 0}
.home47.h47Compact .h47Discovery{margin:0 0 20px;padding:0;background:none;border:0}
.h47Compact .h47Discovery h2{font-size:28px;margin:0 0 14px;line-height:1.2}
.h47Compact .h47SearchLabel{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.h47Compact .h47CategoryGrid{gap:12px}
.h47Compact .h47Category{grid-template-columns:minmax(0,1fr) 80px;min-height:130px;padding:20px 18px;border-radius:12px;background:#fff}
.h47Compact .h47Category img{width:80px;height:80px}
.h47Compact .h47Category h3{font-size:20px;max-width:none}
.h47Compact .h47Category p{font-size:12px;line-height:1.5}
.h47Compact .h47CatalogueFoot{margin-top:20px;gap:22px}
.h47Compact .h47Journey{padding:36px 0 12px;background:#0c3539}
.h47Compact .h47JourneyHead{gap:48px}
.h47Compact .h47JourneyHead h2{max-width:650px;font-size:clamp(34px,3.6vw,50px);font-weight:400;line-height:1.05}
.h47Compact .h47JourneyHead p{font-size:14px;line-height:1.6}
.h47Compact .h47JourneyFlow{margin-top:24px;padding:20px 0}
.h47Compact .h47Visibility{padding:24px 0 36px}
.h47Compact .h47Commercial{margin:0;padding:18px;border-radius:14px;background:#fff;grid-template-columns:minmax(0,1.5fr) minmax(160px,.6fr) minmax(210px,.8fr)}
.h47Compact .h47CommercialCopy h3{font-size:30px;font-weight:400}
.h47Compact .h47CommercialCopy p{margin-top:8px;font-size:13px}
.h47Compact .h47CommercialLine{padding:16px}
@media(max-width:1080px){
 .h47Compact .h47HeroCopy{width:60%;padding:60px 32px 100px}
 .h47Compact .h47CategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .h47Compact .h47Category h3{font-size:17px}
 .h47Compact .h47Commercial{grid-template-columns:minmax(0,1.2fr) minmax(150px,.6fr) minmax(180px,.7fr)}
 .h47Compact .h47CommercialCopy{grid-column:auto;padding-right:12px}
 .h47Compact .h47CommercialLine{border-top:0}
 .h47Compact .h47CommercialCopy h3{font-size:25px}
}
@media(max-width:760px){
 .h47Compact .h47Hero{min-height:650px}
 .h47Compact .h47HeroCopy{width:100%;padding:36px 24px 300px}
 .h47Compact .h47HeroCopy h1{max-width:540px;margin:0;font-size:clamp(29px,6.8vw,36px);line-height:1.3}
 .h47Compact .h47HeroPhoto{inset:auto 0 0;height:330px;background-size:cover;background-position:right bottom}
 .h47Compact .h47HeroActions{width:auto;margin:24px 0 0;display:flex}
 .h47Compact .h47HeroActions .button{font-size:12px!important;padding:0 16px}
 .h47Compact .h47Catalogue{margin-top:-28px;padding-bottom:24px}
 .h47Compact .h47Catalogue>.h47Shell{padding:24px 16px 0}
 .h47Compact .h47CategoryGrid{grid-template-columns:1fr}
 .h47Compact .h47Category{grid-template-columns:minmax(0,1fr) 72px;min-height:112px;padding:18px}
 .h47Compact .h47Category h3{font-size:19px;max-width:none}
 .h47Compact .h47Category p{display:block;max-width:none;margin-top:8px}
 .h47Compact .h47Category img{width:62px;height:62px;right:16px;top:16px}
 .h47Compact .h47Category>span{left:auto;right:18px;bottom:14px}
 .h47Compact .h47CatalogueFoot>div{grid-template-columns:1fr;gap:10px}
 .h47Compact .h47CatalogueFoot .button{font-size:12px!important}
 .h47Compact .h47Journey{padding:30px 0}
 .h47Compact .h47JourneyHead h2{font-size:36px}
 .h47Compact .h47JourneyFlow{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;padding:20px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
 .h47Compact .h47JourneyFlow div{border-left:0;padding:0}
 .h47Compact .h47JourneyFlow div::before{display:none}
 .h47Compact .h47Commercial{grid-template-columns:1fr;gap:12px}
 .h47Compact .h47CommercialCopy{padding:0}
 .h47Compact .h47CommercialCopy h3{font-size:27px}
 .h47Compact .h47CommercialLine{border-left:0;border-top:1px solid var(--line)}
 .h47Compact .h47CommercialOpportunity{border-top:0}
}

/* PSC V48 — System visual consistency
   Extends the V46 Our Model design language across the public site,
   customer portal and PSC admin without changing application logic. */

:root{
  --v48-bg:#f6f7f6;
  --v48-paper:#fff;
  --v48-ink:#1b1d1c;
  --v48-muted:#626864;
  --v48-line:#e0e4e1;
  --v48-line-strong:#cbd1cd;
  --v48-navy:#191b1a;
  --v48-teal:#157d77;
  --v48-teal-soft:#e4f0ec;
  --v48-coral:#e8a68f;
  --v48-coral-soft:#f4e1d8;
  --v48-blue-soft:#eef4f7;
  --v48-sage:#e3e8df;
  --v48-sand:#f1eadf;
  --v48-shadow:0 10px 30px rgba(43,39,32,.055);
  --v48-ease:cubic-bezier(.22,1,.36,1);
}

html,body,#app{background:var(--v48-bg)!important}
body,button,input,select,textarea{font-family:"DM Sans",sans-serif!important;color:var(--v48-ink)}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.kicker,.eyebrow{display:none!important}

/* Public header */
.publicHeader.v37PublicHeader,.publicHeader{
  width:100%!important;min-height:104px!important;display:grid!important;
  grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:34px!important;
  padding:18px max(28px,calc((100vw - 1320px)/2))!important;margin:0!important;
  border:0!important;border-bottom:1px solid var(--v48-line)!important;border-radius:0!important;
  background:var(--v48-bg)!important;box-shadow:none!important;
}
.publicLogo{min-width:0!important;padding:0!important;border:0!important;background:transparent!important}
.publicLogo img{width:148px!important;height:72px!important;max-width:none!important;object-fit:contain!important;object-position:left center!important}
.publicNav{justify-self:end!important;display:flex!important;align-items:center!important;gap:30px!important;padding:0!important;border:0!important;background:transparent!important}
.publicNavLink{
  position:relative!important;min-height:auto!important;padding:12px 0 10px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#625f59!important;font-size:13px!important;line-height:1.15!important;font-weight:400!important;
  letter-spacing:-.01em!important;box-shadow:none!important;
}
.publicNavLink::after{content:""!important;position:absolute!important;left:0!important;right:100%!important;bottom:4px!important;height:1px!important;background:var(--v48-ink)!important;transition:right .35s var(--v48-ease)!important}
.publicNavLink:hover,.publicNavLink.active{color:var(--v48-ink)!important}
.publicNavLink:hover::after,.publicNavLink.active::after{right:0!important}
.publicPortalBtn{min-height:44px!important;padding:0 18px!important;border:1px solid var(--v48-navy)!important;border-radius:8px!important;background:var(--v48-navy)!important;color:#fff!important;font-size:12.5px!important;font-weight:500!important;box-shadow:none!important}
.publicMenuButton{border:0!important;background:transparent!important;box-shadow:none!important}
.mobileClinicPortalLink{display:none!important}

/* Shared public page treatment */
.publicPage{min-height:100vh;background:var(--v48-bg)!important;color:var(--v48-ink)!important}
.publicPageHero{width:min(1320px,calc(100% - 64px))!important;margin:0 auto!important;padding:72px 0 58px!important;border:0!important;background:transparent!important}
.publicPageHero h1,.start16HeroCopy h1,.workshopHero h1,.workshopArticleHeader h1,.loginIntro h1{margin:0!important;color:var(--v48-ink)!important;font-weight:500!important;letter-spacing:-.055em!important;line-height:.98!important;text-wrap:balance!important}
.publicPageHero h1{max-width:900px!important;font-size:clamp(46px,5vw,68px)!important}
.publicPageHero p,.start16HeroCopy>p,.workshopHeroCopy p,.loginIntro>p{max-width:720px!important;color:var(--v48-muted)!important;font-size:15px!important;line-height:1.58!important;font-weight:400!important}
.publicSection{width:min(1320px,calc(100% - 64px))!important;margin:0 auto!important;padding:76px 0!important;border:0!important;background:transparent!important}
.publicSection h2,.start16BriefHead h2,.startSendIntro h2,.prospectIntro h2,.workshopCategoryHead h2,.workshopGuideDeckIntro h2,.workshopPrinciple h2,.publicCta h2{color:var(--v48-ink)!important;font-weight:500!important;letter-spacing:-.045em!important;line-height:1!important}
.publicSection p,.startSendIntro p,.prospectIntro p,.workshopCategoryHead p,.workshopGuideDeckIntro p,.workshopPrinciple p,.publicCta p{color:var(--v48-muted)!important;font-weight:400!important}
.button{box-shadow:none!important}
.button.primary,.semanticPrimary{border-color:var(--v48-navy)!important;background:var(--v48-navy)!important;color:#fff!important}
.button.outline{border-color:var(--v48-line-strong)!important;background:var(--v48-paper)!important;color:var(--v48-ink)!important}
.button.primary,.button.outline,.button.dark{border-radius:8px!important;font-weight:500!important}

/* Sourcing: specific procurement visual, not a generic software funnel */
.h47Sourcing{padding:98px 0!important;border-top:1px solid var(--v48-line)!important;border-bottom:1px solid var(--v48-line)!important;background:#f6f3ed!important}
.h47SourcingGrid{grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr)!important;gap:92px!important;align-items:center!important}
.h47SourceCopy h2{max-width:590px!important;font-size:clamp(40px,4vw,56px)!important;font-weight:500!important;line-height:.98!important;letter-spacing:-.052em!important}
.h47SourceCopy p{max-width:520px!important;margin-top:18px!important;color:var(--v48-muted)!important;font-size:15px!important;line-height:1.58!important}
.h47SourceDiagram{min-height:0!important;padding:0!important}
.h48SourceBoard{display:grid;grid-template-columns:minmax(210px,.86fr) 46px minmax(280px,1.14fr);gap:18px;align-items:stretch}
.h48SourceRows{align-self:stretch;border-top:1px solid var(--v48-line-strong);border-bottom:1px solid var(--v48-line-strong)}
.h48SourceRow{display:grid;grid-template-columns:28px minmax(0,1fr);gap:13px;align-items:start;padding:14px 2px;border-bottom:1px solid var(--v48-line)}
.h48SourceRow:last-child{border-bottom:0}.h48SourceRow>span{color:#9a948b;font-size:9px;line-height:1.5}
.h48SourceRow b{display:block;color:var(--v48-ink);font-size:13px;font-weight:500;line-height:1.25}
.h48SourceRow small{display:block;margin-top:3px;color:#77726b;font-size:9.5px;line-height:1.35}
.h48SourceFlow{position:relative;display:grid;place-items:center}.h48SourceFlow::before{content:"";position:absolute;top:24px;bottom:24px;left:50%;width:1px;background:#b9c9c4}.h48SourceFlow::after{content:"→";position:relative;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:0;background:#f6f3ed;color:var(--v48-teal);font-size:16px}
.h48SourceSheet{position:relative;overflow:hidden;min-height:330px;padding:28px 28px 24px;border:1px solid var(--v48-line);border-radius:20px;background:var(--v48-paper);box-shadow:var(--v48-shadow)}
.h48SourceSheet::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:linear-gradient(rgba(20,20,20,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(20,20,20,.018) 1px,transparent 1px);background-size:28px 28px}
.h48SourceSheet>*{position:relative;z-index:1}.h48SourceSheetTop{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--v48-line)}
.h48SourceSheetTop span{color:#78736c;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.h48SourceSheetTop b{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:var(--v48-navy);color:#fff;font-size:9px;font-weight:600}
.h48SourceSheet h3{max-width:390px;margin:22px 0 24px;font-size:29px;font-weight:500;line-height:1.02;letter-spacing:-.045em}.h48SourceSheetRows{border-top:1px solid var(--v48-line)}
.h48SourceSheetRows>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--v48-line)}.h48SourceSheetRows span{color:#747069;font-size:10px}.h48SourceSheetRows b{color:var(--v48-ink);font-size:10px;font-weight:500;text-align:right}.h48SourceSheetFoot{margin-top:18px;color:#356d67;font-size:10px;line-height:1.45}

/* Catalogue */
.publicCataloguePage,.catalogue16Page{background:var(--v48-bg)!important}.catalogue16Hero{padding-bottom:50px!important}.publicCatalogueJourney16,.publicCatalogueControls,.publicCatalogueResults{background:transparent!important}
.publicCatalogueJourneyHead16 h2{font-size:clamp(34px,3.5vw,50px)!important;font-weight:500!important;letter-spacing:-.045em!important}.publicCategoryGrid16{gap:12px!important}
.publicCategoryCard16{min-height:164px!important;border:0!important;border-radius:8px!important;background:var(--v48-paper)!important;color:var(--v48-ink)!important;box-shadow:none!important}
.publicCategoryCard16.active{border-color:#9fb9b3!important;background:#f2f7f5!important}.publicCategoryCard16 b{font-weight:500!important}.publicCategoryCard16 small{color:var(--v48-muted)!important}
.publicCatalogueControls .filterBar,.catalogue16Controls .filterBar{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.publicCatalogueControls .searchInput,.catalogue16Controls .searchInput,.workshopSearch{min-height:58px!important;border:1px solid var(--v48-line-strong)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}
.publicCatalogueControls input,.catalogue16Controls input,.workshopSearch input{background:#fff!important;font-weight:400!important}.publicCatalogueControls select,.catalogue16Controls select{min-height:58px!important;border:1px solid var(--v48-line-strong)!important;border-radius:15px!important;background:#fff!important;font-weight:400!important}
.publicCatalogueCard{border:1px solid var(--v48-line)!important;border-radius:18px!important;background:var(--v48-paper)!important;box-shadow:none!important}.publicCatalogueCard h3,.productTitleButton{font-weight:500!important}.publicCatalogueVisual{background:#fff!important}
.publicCta{width:min(1320px,calc(100% - 64px))!important;margin:0 auto!important;padding:74px 0!important;border-top:0!important;border-bottom:1px solid var(--v48-line)!important;background:transparent!important}

/* Workshop */
.workshopPage{background-color:var(--v48-bg)!important;background-image:linear-gradient(rgba(35,34,31,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(35,34,31,.027) 1px,transparent 1px)!important;background-size:28px 28px!important}
.workshopHero,.workshopCategorySection,.workshopTools,.workshopGuideDeck,.workshopPrinciple,.workshopArticle{width:min(1320px,calc(100% - 64px))!important;margin-left:auto!important;margin-right:auto!important}
.workshopHero{padding:70px 0 58px!important;border-bottom:1px solid var(--v48-line)!important}.workshopHero h1{font-size:clamp(48px,5vw,68px)!important}.workshopHero h2{max-width:720px!important;margin-top:16px!important;font-size:24px!important;font-weight:400!important;line-height:1.16!important;letter-spacing:-.025em!important}
.workshopCategorySection{padding:72px 0 54px!important}.workshopCategoryHead h2{max-width:760px!important;font-size:clamp(38px,4vw,56px)!important}.workshopCategoryCard,.workshopGuideCard{border:0!important;border-radius:8px!important;background:#f3f4f1!important;box-shadow:none!important}.workshopCategoryCard b,.workshopGuideCard h3{font-weight:500!important}
.workshopCategoryHead>button,.workshopResultContext button{border:1px solid var(--v48-line-strong)!important;border-radius:8px!important;background:var(--v48-paper)!important;color:var(--v48-ink)!important}.workshopTools{padding:18px 0 34px!important;border-bottom:1px solid var(--v48-line)!important}.workshopGuideDeck{padding:52px 0 76px!important}.workshopGuideDeckIntro h2{font-size:clamp(34px,3.6vw,50px)!important}.workshopPrinciple{padding:72px 0!important;border-top:1px solid var(--v48-line)!important;border-bottom:1px solid var(--v48-line)!important}
.workshopArticle{background:rgba(255,254,250,.9)!important}.workshopArticleHeader h1{font-size:clamp(48px,5vw,72px)!important}.workshopArticleSection{border-color:var(--v48-line)!important}.workshopArticleSection h2{font-weight:500!important}.workshopComparison article,.workshopSignature article,.workshopRelated button{border-color:var(--v48-line)!important;background:var(--v48-paper)!important;box-shadow:none!important}

/* Start / Contact / Login */
.start16Hero,.start16Brief,.start16Send,.prospectSection,.loginWrap{width:min(1320px,calc(100% - 64px))!important;margin-left:auto!important;margin-right:auto!important}.start16Hero{padding:72px 0 68px!important;border-bottom:1px solid var(--v48-line)!important}.start16HeroCopy h1{max-width:760px!important;font-size:clamp(46px,5vw,68px)!important}
.start16RouteBoard{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.start16RouteBoard button{border-color:var(--v48-line)!important;background:transparent!important}.start16BriefGrid article,.simplePublicPanel,.contactCard{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.prospectForm,.startProspectForm{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.prospectForm input,.prospectForm select,.prospectForm textarea,.startProspectForm input,.startProspectForm select,.startProspectForm textarea{border:1px solid var(--v48-line)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;font-weight:400!important}
.loginWrap{padding:76px 0!important}.loginIntro h1{font-size:clamp(48px,5vw,68px)!important}.loginCard{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.loginCard h2{font-weight:500!important}.loginCard .input{border:1px solid var(--v48-line)!important;border-radius:8px!important;background:#fff!important}

/* Customer portal + backend shell */
.appShell.customerShell,.appShell.adminShell{background:var(--v48-bg)!important}.customerShell .mainArea,.adminShell .mainArea,.customerShell .contentWrap,.adminShell .contentWrap{background:var(--v48-bg)!important}.customerShell .sidebar,.adminShell .sidebar{border-right:1px solid var(--v48-line)!important;background:var(--v48-bg)!important;box-shadow:none!important}.customerShell .sidebarTop,.adminShell .sidebarTop{border-bottom:1px solid var(--v48-line)!important;background:transparent!important}
.customerShell .navLink,.adminShell .navLink{border-radius:8px!important;background:transparent!important;box-shadow:none!important}.customerShell .navLink.active,.adminShell .navLink.active{background:#f1eee8!important;box-shadow:inset 2px 0 0 var(--v48-teal)!important}
.customerShell .portalHeaderBar,.adminShell .portalHeaderBar{min-height:82px!important;padding:12px 24px!important;border:0!important;border-bottom:1px solid var(--v48-line)!important;border-radius:0!important;background:var(--v48-bg)!important;box-shadow:none!important}.topbarBrandSlot img{width:116px!important;height:58px!important;object-fit:contain!important;object-position:left center!important}
.customerShell .topbarSearch{min-height:50px!important;border:1px solid var(--v48-line-strong)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}.customerShell .topbarSearch input{background:#fff!important;font-weight:400!important}
.accountSwitcherButton,.campusPill{border:1px solid var(--v48-line)!important;border-radius:8px!important;background:var(--v48-paper)!important;box-shadow:none!important}.pillBasket,.mobileCartButton{border:1px solid var(--v48-navy)!important;border-radius:8px!important;background:var(--v48-navy)!important;color:#fff!important;font-weight:500!important}.topbarAdminTitle span{color:#79746d!important;font-weight:400!important}.topbarAdminTitle b{color:var(--v48-ink)!important;font-weight:500!important}.compactUser{border:1px solid var(--v48-line)!important;background:var(--v48-paper)!important;box-shadow:none!important}

/* Portal page headings */
.customerShell .pageHeader,.adminShell .pageHeader,.v26HomeHero{margin:0 0 26px!important;padding:12px 0 26px!important;border-bottom:1px solid var(--v48-line)!important;background:transparent!important}.customerShell .pageHeader h1,.adminShell .pageHeader h1,.v26HomeHero h1{margin:0!important;color:var(--v48-ink)!important;font-size:clamp(34px,3.7vw,50px)!important;line-height:1!important;font-weight:500!important;letter-spacing:-.045em!important}.customerShell .pageHeader p,.adminShell .pageHeader p,.v26HomeHero p{max-width:760px!important;margin-top:10px!important;color:var(--v48-muted)!important;font-size:13.5px!important;line-height:1.55!important;font-weight:400!important}
.v26HomeHero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr)!important;gap:48px!important;align-items:end!important}.v26HomeStatus{border:1px solid var(--v48-line)!important;border-radius:16px!important;background:var(--v48-paper)!important;box-shadow:none!important}

/* Portal cards: one visual language */
.v26QuickActions,.actionGrid{gap:12px!important}.v26ActionCard,.actionCard,.panel,.customerActionPanel,.v26RepeatPanel,.v26ActivityPanel,.schoolCardV7,.replenishCard,.customerOrderCard,.orderDocumentsPanel,.documentsIndexPanel,.assetCard,.resourceCard,.customRequestPanel,.quoteStatePanel,.cmsPreviewPanel,.cmsProductMasterPanel,.cmsFormSection,.cmsMediaPanel,.cmsPublishPanel,.familyOptionCard,.fulfilCard,.mailIdentityCard,.mailTemplateCard{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v26ActionCard.coral,.v26ActionCard.blue,.v26ActionCard.mint,.v26ActionCard.sand{background:var(--v48-paper)!important;color:var(--v48-ink)!important}.v26ActionCard h2,.actionCard b,.panelHeader h2,.orderSectionHead h2,.cmsPageHeader h1,.familyOptionPageHeader h1{font-weight:500!important}.v26ActionIcon,.actionIcon{border:0!important;border-radius:0!important;background:transparent!important;color:var(--v48-ink)!important}
.v26NeedPreview,.clinicNeedSection{border-top:1px solid var(--v48-line)!important;border-bottom:1px solid var(--v48-line)!important;background:transparent!important}.v26MiniNeed,.clinicNeedCard{border:0!important;border-radius:8px!important;background:var(--v48-paper)!important;color:var(--v48-ink)!important;box-shadow:none!important}
.v26OperationsStrip,.adminStatRow{overflow:hidden!important;gap:0!important;border:0!important;border-radius:0!important;background:var(--v48-paper)!important}.v26OperationsStrip>div,.adminStat{border:0!important;border-right:1px solid var(--v48-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.v26OperationsStrip>div:last-child,.adminStat:last-child{border-right:0!important}.adminStat span,.v26OperationsStrip span,.cmsMetric span{color:#7a756e!important;font-weight:400!important;letter-spacing:.045em!important}.adminStat b,.v26OperationsStrip b,.cmsMetric b{font-weight:500!important}

/* Tables / operational data */
.tableWrap,.dataTable,.cmsMasterTable,.familyOptionFamilyTable{background:var(--v48-paper)!important}.tableWrap{overflow:auto!important;border:0!important;border-radius:0!important}.dataTable,.cmsMasterTable,.familyOptionFamilyTable{border-collapse:collapse!important}.dataTable thead,.cmsMasterTable thead,.familyOptionFamilyTable thead{background:#f0f2f0!important}.dataTable th,.cmsMasterTable th,.familyOptionFamilyTable th{color:#77726b!important;font-size:9px!important;font-weight:500!important;letter-spacing:.05em!important}.dataTable td,.dataTable th,.cmsMasterTable td,.cmsMasterTable th,.familyOptionFamilyTable td,.familyOptionFamilyTable th{border-color:var(--v48-line)!important}.dataTable tbody tr:hover,.cmsMasterTable tbody tr:hover,.familyOptionFamilyTable tbody tr:hover{background:#f8f6f1!important}

/* Admin forms / controls */
.adminShell input,.adminShell select,.adminShell textarea,.customerShell input,.customerShell select,.customerShell textarea{border-color:var(--v48-line)!important;background:#fff!important;box-shadow:none!important;font-weight:400!important}.adminShell input:focus,.adminShell select:focus,.adminShell textarea:focus,.customerShell input:focus,.customerShell select:focus,.customerShell textarea:focus,.publicPage input:focus,.publicPage select:focus,.publicPage textarea:focus{outline:none!important;border-color:#7ca7a1!important;box-shadow:0 0 0 3px rgba(21,125,119,.08)!important}.cmsChannelTabs,.mailTabs,.filterBar{border-color:var(--v48-line)!important;background:transparent!important;box-shadow:none!important}.statusPill,.badge{box-shadow:none!important}

/* Product cards remain clean and functional */
.customerShell .productCard,.customerShell .v25ProductCard,.customerShell .v261ProductCard,.customerShell .v262ProductCard,.customerShell .canvaProductCard,.customerShell .exactCanvaCard{border:1px solid var(--v48-line)!important;border-radius:16px!important;background:var(--v48-paper)!important;box-shadow:none!important}.customerShell .productPhoto,.customerShell .productVisual,.customerShell .canvaCardBody{background:#fff!important}.customerShell .canvaCardActions,.customerShell .productStickyBar{border-color:var(--v48-line)!important}

/* Modals / drawers */
.modal,.modalCard,.productDetailModal,.requestDrawer{border:0!important;border-radius:12px!important;background:var(--v48-paper)!important;box-shadow:0 24px 70px rgba(28,26,22,.14)!important}.modalHeader,.productStickyBar,.requestDrawerFooter{border-color:var(--v48-line)!important;background:var(--v48-paper)!important}

/* Footer */
.publicFooter.v37PublicFooter,.publicFooter{width:100%!important;padding:56px max(28px,calc((100vw - 1320px)/2)) 48px!important;border-top:1px solid var(--v48-line)!important;background:#f0f2f0!important;color:var(--v48-ink)!important}.publicFooter img{width:134px!important;height:auto!important}.publicFooter p,.publicFooter span,.publicFooter a,.publicFooter button{color:#68645e!important;font-weight:400!important}.publicFooter a:hover,.publicFooter button:hover{color:var(--v48-ink)!important}

/* Natural interaction only */
@media(hover:hover) and (pointer:fine){
  .publicCategoryCard16,.workshopCategoryCard,.workshopGuideCard,.v26ActionCard,.actionCard,.panel{transition:border-color .28s ease,background-color .28s ease!important}
  .publicCategoryCard16:hover,.workshopCategoryCard:hover,.workshopGuideCard:hover,.v26ActionCard:hover,.actionCard:hover{border-color:#afa89e!important;background:#fff!important;transform:none!important;box-shadow:none!important}
}

@media(max-width:1100px){
  .publicHeader.v37PublicHeader,.publicHeader{padding-inline:28px!important}.publicNav{gap:20px!important}
  .h47SourcingGrid{grid-template-columns:1fr!important;gap:42px!important}.h47SourceCopy h2,.h47SourceCopy p{max-width:760px!important}
  .v26HomeHero{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .publicHeader.v37PublicHeader,.publicHeader{min-height:84px!important;grid-template-columns:auto auto!important;justify-content:space-between!important;gap:16px!important;padding:10px 18px!important}
  .publicLogo img{width:118px!important;height:58px!important}.publicMenuButton{display:grid!important;place-items:center!important}
  .publicNav{position:absolute!important;z-index:80!important;top:84px!important;left:0!important;right:0!important;display:none!important;padding:16px 18px 22px!important;border-bottom:1px solid var(--v48-line)!important;background:var(--v48-paper)!important}.publicNav.open{display:grid!important;gap:0!important}.publicNavLink{width:100%!important;padding:15px 0!important;border-bottom:1px solid var(--v48-line)!important;text-align:left!important}.publicNavLink::after{display:none!important}.mobileClinicPortalLink{display:flex!important;justify-content:space-between!important}.publicPortalBtn{display:none!important}
  .publicPageHero,.publicSection,.publicCta,.workshopHero,.workshopCategorySection,.workshopTools,.workshopGuideDeck,.workshopPrinciple,.workshopArticle,.start16Hero,.start16Brief,.start16Send,.prospectSection,.loginWrap{width:calc(100% - 36px)!important}.publicPageHero{padding:48px 0 38px!important}.publicPageHero h1,.start16HeroCopy h1,.workshopHero h1,.workshopArticleHeader h1,.loginIntro h1{font-size:clamp(38px,12vw,52px)!important;line-height:.98!important}.publicSection{padding:54px 0!important}
  .h47Sourcing{padding:68px 0!important}.h47SourcingGrid{width:calc(100% - 36px)!important;gap:36px!important}.h47SourceCopy h2{font-size:38px!important}.h48SourceBoard{grid-template-columns:1fr!important;gap:18px!important}.h48SourceFlow{min-height:42px!important}.h48SourceFlow::before{top:50%!important;bottom:auto!important;left:12%!important;right:12%!important;width:auto!important;height:1px!important}.h48SourceFlow::after{transform:rotate(90deg)!important}.h48SourceSheet{min-height:0!important;padding:24px!important}
  .workshopHero{padding:48px 0 38px!important}.workshopHeroGrid{grid-template-columns:1fr!important;gap:20px!important}.workshopCategoryHead{display:block!important}.workshopCategoryHead>button{margin-top:20px!important}
  .customerShell .portalHeaderBar,.adminShell .portalHeaderBar{min-height:70px!important;padding:8px 12px!important}.customerShell .contentWrap,.adminShell .contentWrap{padding-left:16px!important;padding-right:16px!important}.v26OperationsStrip,.adminStatRow{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v26OperationsStrip>div,.adminStat{border-right:1px solid var(--v48-line)!important;border-bottom:1px solid var(--v48-line)!important}.v26QuickActions,.actionGrid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .v26QuickActions,.actionGrid{grid-template-columns:1fr!important}.v26OperationsStrip,.adminStatRow{grid-template-columns:1fr!important}.v26OperationsStrip>div,.adminStat{border-right:0!important}
}

/* Brochure sourcing diagram: real text, responsive paper invoice. */
.home47 .h47SourcingGrid{grid-template-columns:minmax(0,1fr)!important;gap:34px!important}
.home47 .h47SourceCopy h2{max-width:100%!important}
.home47 .h47SourceCopy p{max-width:850px!important}
.pscOrderDiagram{display:grid;grid-template-columns:minmax(180px,.7fr) 90px minmax(0,1.4fr);align-items:center;margin:0;gap:0}
.pscOrderCategories{display:grid;gap:12px}
.pscOrderCategories span{display:flex;align-items:center;min-height:58px;padding:14px 20px;border:1px solid #dedbd5;border-radius:10px;background:#fffefa;font-size:18px;line-height:1.35}
.pscOrderCategories span:nth-child(2){background:#f4e2da}.pscOrderCategories span:nth-child(3){background:#e2e7df}.pscOrderCategories span:nth-child(4){background:#dfefea}
.pscOrderConnections{width:100%;height:280px;overflow:visible}.pscOrderConnections path{fill:none;stroke:#b5c5bf;stroke-width:1.5;vector-effect:non-scaling-stroke}
.pscOrderInvoice{min-width:0;overflow:hidden;border:1px solid #d5d3cb;border-radius:18px;background:#fffefa;box-shadow:0 18px 22px -12px #213d3b40,0 5px 9px #213d3b16}
.pscOrderInvoice header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px}
.pscOrderInvoice header img{width:155px;height:105px;object-fit:contain}.pscOrderInvoice header>div{text-align:right}.pscOrderInvoice header small{font-size:12px;color:#86847c}.pscOrderInvoice h3{font-family:Georgia,serif;font-size:42px;font-weight:400;line-height:1.15;margin:8px 0 0;color:#153235}
.pscOrderColumns{display:flex;justify-content:space-between;gap:12px;padding:12px 24px;background:#e0eee9;color:#777f78;font-size:13px}
.pscOrderInvoiceBody{position:relative;padding:0 24px}.pscOrderInvoiceLines>div{padding:13px 0;border-bottom:1px solid #dddcd4;font-size:16px;line-height:1.4;white-space:nowrap;overflow:hidden;mask-image:linear-gradient(to right,#000 65%,transparent 90%)}
.pscOrderWholesale{position:absolute;right:20px;top:50%;transform:translateY(-50%);padding:14px 8px;background:linear-gradient(90deg,#fffefa00,#fffefa 20%);color:#248e88;text-align:center;font-size:21px;line-height:1.45}
.pscOrderInvoice footer{display:flex;justify-content:space-between;gap:16px;padding:18px 24px;color:#878a82;font-size:13px}
.pscOrderDiagram figcaption{grid-column:1/-1;margin-top:30px;font-size:20px;line-height:1.5;color:#163135}.pscOrderDiagram figcaption small{display:block;margin-top:8px;font-size:13px;color:#7d7c74}
@media(max-width:700px){
 .pscOrderDiagram{grid-template-columns:minmax(0,1fr)}
 .pscOrderCategories{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .pscOrderCategories span{min-height:64px;padding:12px;font-size:16px}
 .pscOrderConnections{height:38px;width:1px;margin:0 auto;background:#b5c5bf}.pscOrderConnections path{display:none}
 .pscOrderInvoice header{padding:16px;gap:12px}.pscOrderInvoice header img{width:100px;height:68px}.pscOrderInvoice h3{font-size:30px}
 .pscOrderColumns{padding:10px 16px;font-size:13px}.pscOrderColumns span:last-child{display:none}
 .pscOrderInvoiceBody{padding:0 16px}.pscOrderInvoiceLines>div{font-size:16px;padding:12px 0;white-space:normal;overflow:visible;mask-image:none;overflow-wrap:anywhere}
 .pscOrderWholesale{position:static;transform:none;background:#edf5f1;margin:16px 0;padding:10px;border-radius:8px;font-size:17px;line-height:1.3}
 .pscOrderInvoice footer{padding:16px;font-size:12px}.pscOrderInvoice footer span:last-child{text-align:right}
 .pscOrderDiagram figcaption{font-size:18px;margin-top:24px}
}

/* PSC V50 — Workshop native rebuild + route-stable presentation
   Replaces the former Workshop mutation layer. The filename stays unchanged
   so the current production index can keep its existing include. */

:root{
  --ws50-paper:#fbfaf6;
  --ws50-ink:#111310;
  --ws50-muted:#706c64;
  --ws50-line:#dad5ca;
  --ws50-teal:#0a9794;
  --ws50-white:#fff;
}

/* =========================================================
   WORKSHOP SYSTEM
   ========================================================= */
main.workshopPage{
  min-height:100vh!important;
  color:var(--ws50-ink)!important;
  background-color:var(--ws50-paper)!important;
  background-image:
    linear-gradient(rgba(35,35,30,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(35,35,30,.032) 1px,transparent 1px)!important;
  background-size:24px 24px!important;
}
.workshopPage button{font-family:inherit}

/* ---------- Hub hero ---------- */
.workshopHeroV50{
  width:min(1280px,calc(100% - 64px));
  margin:0 auto;
  padding:62px 0 48px;
  border-bottom:1px solid var(--ws50-line);
}
.workshopHeroRuleV50{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  margin-bottom:34px;
  font-size:11px;
  line-height:1;
}
.workshopHeroRuleV50>span{color:var(--ws50-teal);font-weight:700;letter-spacing:.03em}
.workshopHeroRuleV50>i{height:1px;background:#cfc9bd}
.workshopHeroRuleV50>small{font-size:10px;color:#767169;letter-spacing:.08em;font-weight:650}
.workshopHeroGridV50{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.62fr);
  gap:74px;
  align-items:end;
}
.workshopHeroGridV50 h1{
  margin:0;
  max-width:780px;
  font-size:clamp(52px,5.2vw,76px);
  line-height:.94;
  letter-spacing:-.064em;
  font-weight:500;
  text-wrap:balance;
}
.workshopHeroGridV50 h2{
  margin:0 0 13px;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:550;
}
.workshopHeroGridV50 p{
  margin:0;
  max-width:510px;
  color:var(--ws50-muted);
  font-size:14px;
  line-height:1.58;
}

/* ---------- Shared section heads ---------- */
.workshopModuleIndexV50,
.workshopGuideIndexV50,
.workshopModuleGuidesV50{
  width:min(1280px,calc(100% - 64px));
  margin:0 auto;
}
.workshopModuleIndexV50{padding:42px 0 54px}
.workshopGuideIndexV50{padding:0 0 56px}
.workshopModuleGuidesV50{padding:42px 0 64px}
.workshopSectionHeadV50{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
  gap:54px;
  align-items:end;
  margin-bottom:22px;
}
.workshopSectionHeadV50 span{
  display:block;
  margin-bottom:8px;
  color:#7a756d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
}
.workshopSectionHeadV50 h2{
  margin:0;
  max-width:760px;
  font-size:clamp(30px,3.2vw,45px);
  line-height:1;
  letter-spacing:-.052em;
  font-weight:520;
}
.workshopSectionHeadV50>p{
  margin:0;
  max-width:480px;
  color:var(--ws50-muted);
  font-size:13px;
  line-height:1.55;
}

/* ---------- 7 module index ---------- */
.workshopModuleGridV50{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.workshopModuleCardV50{
  min-width:0;
  min-height:172px;
  padding:26px;
  border:0;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  gap:15px;
  text-align:left;
  color:#171815;
  box-shadow:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.workshopModuleCardV50:hover{
  transform:translateY(-2px);
  border-color:rgba(10,151,148,.38);
  box-shadow:0 12px 28px rgba(20,22,18,.055);
}
.workshopModuleTopV50{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workshopModuleTopV50>b{font-size:9px;letter-spacing:.11em;color:#6c6861;font-weight:700}
.workshopModuleTopV50>i{
  width:34px;height:34px;border:0;border-radius:0;
  display:grid;place-items:center;background:rgba(255,255,255,.42)
}
.workshopModuleTopV50 svg{width:16px;height:16px;fill:none;stroke:#20211e;stroke-width:1.4}
.workshopModuleCopyV50{display:block;margin-top:auto}
.workshopModuleCopyV50 strong{
  display:block;
  max-width:220px;
  margin-bottom:7px;
  font-size:18px;
  line-height:1.04;
  letter-spacing:-.035em;
  font-weight:650;
}
.workshopModuleCopyV50 small{
  display:block;
  max-width:240px;
  color:#59564f;
  font-size:11px;
  line-height:1.42;
}
.workshopModuleFootV50{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:10px;
  border-top:1px solid rgba(20,20,18,.10);
  color:#5e5a53;
  font-size:9px;
  font-weight:650;
}
.workshopModuleFootV50 i{font-style:normal;color:#121310;font-size:14px}

.wsTone1{--ws-tone:#dff4f3}.wsTone2{--ws-tone:#f5dfe6}.wsTone3{--ws-tone:#f7edc8}.wsTone4{--ws-tone:#dcebf5}.wsTone5{--ws-tone:#e0eee0}.wsTone6{--ws-tone:#e9e5f6}.wsTone7{--ws-tone:#f5dfe6}
.workshopModuleCardV50.wsTone1,.workshopGuideCardV50.wsTone1{background:#dff4f3}
.workshopModuleCardV50.wsTone2,.workshopGuideCardV50.wsTone2{background:#f5dfe6}
.workshopModuleCardV50.wsTone3,.workshopGuideCardV50.wsTone3{background:#f7edc8}
.workshopModuleCardV50.wsTone4,.workshopGuideCardV50.wsTone4{background:#dcebf5}
.workshopModuleCardV50.wsTone5,.workshopGuideCardV50.wsTone5{background:#e0eee0}
.workshopModuleCardV50.wsTone6,.workshopGuideCardV50.wsTone6{background:#e9e5f6}
.workshopModuleCardV50.wsTone7,.workshopGuideCardV50.wsTone7{background:#f5dfe6}

/* ---------- Search ---------- */
.workshopSearchStripV50{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
  padding:16px 0;
  margin-bottom:30px;
  border-top:1px solid var(--ws50-line);
  border-bottom:1px solid var(--ws50-line);
}
.workshopSearchV50{display:flex;align-items:center;gap:10px;max-width:600px}
.workshopSearchV50>span{width:18px;height:18px;display:grid;place-items:center;color:#494741}
.workshopSearchV50 svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.workshopSearchV50 input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#222;
  font-size:13px;
  padding:8px 0;
}
.workshopSearchStripV50>div:last-child{display:flex;align-items:center;gap:10px;color:#7d786f;font-size:9px;letter-spacing:.08em}
.workshopSearchStripV50>div:last-child b{font-size:12px;color:#171815;letter-spacing:0}
.workshopSearchStripV50>div:last-child button{border:0;background:transparent;color:var(--ws50-teal);font-size:10px;font-weight:700}
.workshopGuidesHeadV50{margin-bottom:18px}

/* ---------- Guide cards ---------- */
.workshopGuideGridV50{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.workshopGuideCardV50{
  min-width:0;
  min-height:280px;
  border:0;
  border-radius:8px;
  overflow:hidden;
  box-shadow:none;
  background:rgba(255,254,250,.92)!important;
}
.workshopGuideCardV50>button{
  width:100%;
  height:100%;
  min-height:280px;
  border:0;
  padding:30px;
  display:flex;
  flex-direction:column;
  text-align:left;
  color:inherit;
  background:transparent;
}
.workshopGuideMetaV50{display:flex;justify-content:space-between;gap:14px;align-items:center}
.workshopGuideMetaV50 b,
.workshopGuideMetaV50 small{font-size:9px;line-height:1;font-weight:650;color:#5e5a54}
.workshopGuideCardV50 h3{
  margin:30px 0 18px;
  max-width:360px;
  font-size:clamp(22px,1.8vw,27px);
  line-height:1.1;
  letter-spacing:-.048em;
  font-weight:500;
  text-wrap:balance;
}
.workshopGuideCardV50 p{
  margin:0;
  max-width:390px;
  padding-bottom:24px;
  color:#5f5b55;
  font-size:13px;
  line-height:1.6;
}
.workshopGuideFootV50{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(20,20,18,.10);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:#5c5953;
  font-size:9px;
}
.workshopGuideFootV50 i{width:26px;height:26px;border-radius:0;display:grid;place-items:center;background:rgba(255,255,255,.35)}
.workshopGuideFootV50 svg{width:14px;height:14px;fill:none;stroke:#22231f;stroke-width:1.35}
.workshopGuideCardV50:hover{border-color:rgba(10,151,148,.34)}

.workshopAllGuidesV50{margin-top:14px;border-top:1px solid var(--ws50-line)}
.workshopAllGuidesV50>summary{
  list-style:none;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  color:#22231f;
  font-size:12px;
  font-weight:700;
}
.workshopAllGuidesV50>summary::-webkit-details-marker{display:none}
.workshopAllGuidesV50>summary span:after{content:' ↓';color:var(--ws50-teal)}
.workshopAllGuidesV50[open]>summary span:after{content:' ↑'}
.workshopAllGuidesV50>summary b{font-size:10px;color:#7a756d;font-weight:650}
.workshopGuideGridRestV50{padding-top:2px}
.workshopEmptyV50{padding:30px 0;border-top:1px solid var(--ws50-line);border-bottom:1px solid var(--ws50-line)}
.workshopEmptyV50 b{font-size:23px;letter-spacing:-.03em}.workshopEmptyV50 p{color:var(--ws50-muted);font-size:13px}.workshopEmptyV50.compact{padding:28px 0}

/* ---------- Principle ---------- */
.workshopPrincipleV50{
  width:min(1280px,calc(100% - 64px));
  margin:12px auto 76px;
  padding:26px 0;
  display:grid;
  grid-template-columns:110px minmax(0,1fr) minmax(320px,.65fr);
  gap:32px;
  align-items:center;
  border-top:1px solid #2f302b;
  border-bottom:1px solid #2f302b;
}
.workshopPrincipleV50>span{font-size:9px;letter-spacing:.12em;color:#777168;font-weight:700}
.workshopPrincipleV50 h2{margin:0;max-width:600px;font-size:clamp(26px,2.8vw,39px);line-height:1;letter-spacing:-.045em;font-weight:520}
.workshopPrincipleV50 p{margin:0;max-width:520px;color:#6d6962;font-size:12px;line-height:1.58}

/* =========================================================
   MODULE PAGES
   ========================================================= */
.workshopModuleHeroV50{
  width:min(1280px,calc(100% - 64px));
  margin:0 auto;
  padding:50px 0 38px;
}
.workshopModuleLabelV50{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:30px}
.workshopModuleLabelV50 button{border:0;background:transparent;padding:0;color:var(--ws50-teal);font-size:10px;font-weight:700;letter-spacing:.04em}
.workshopModuleLabelV50 i{height:1px;background:#cec8bd}
.workshopModuleLabelV50 span{font-size:9px;color:#78736b;font-weight:700;letter-spacing:.12em}
.workshopModuleHeroGridV50{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.55fr);gap:70px;align-items:end}
.workshopModuleHeroV50 h1{margin:0 0 12px;font-size:clamp(48px,5vw,70px);line-height:.94;letter-spacing:-.06em;font-weight:520}
.workshopModuleHeroV50 h2{margin:0;max-width:720px;font-size:clamp(22px,2.1vw,30px);line-height:1.04;letter-spacing:-.04em;font-weight:520}
.workshopModuleHeroGridV50 p{margin:0 0 18px;color:#5f5b55;font-size:14px;line-height:1.55}
.workshopModuleHeroGridV50 small{display:block;color:#7a756d;font-size:10px;letter-spacing:.04em}

.workshopModuleNavV50{
  width:min(1280px,calc(100% - 64px));
  margin:0 auto;
  padding:10px 0;
  display:flex;
  align-items:center;
  gap:4px;
  overflow-x:auto;
  border-top:1px solid var(--ws50-line);
  border-bottom:1px solid var(--ws50-line);
  scrollbar-width:none;
}
.workshopModuleNavV50::-webkit-scrollbar{display:none}
.workshopModuleNavV50 button{
  flex:0 0 auto;
  border:0;
  border-radius:8px;
  padding:8px 10px;
  background:transparent;
  color:#55514b;
  font-size:10px;
  font-weight:650;
  white-space:nowrap;
}
.workshopModuleNavV50 button span{margin-right:5px;color:#9b958c;font-size:8px}
.workshopModuleNavV50 button.active{background:#fff;color:#151613}
.workshopModuleNavV50 button.active span{color:var(--ws50-teal)}

/* =========================================================
   ARTICLE PAGES
   ========================================================= */
.workshopArticleV50{padding-bottom:20px}
.workshopArticleHeaderV50{
  width:min(1200px,calc(100% - 64px));
  margin:0 auto;
  padding:40px 0 30px;
}
.workshopArticleToplineV50{
  display:grid;
  grid-template-columns:auto minmax(70px,1fr) auto auto;
  gap:12px;
  align-items:center;
  margin-bottom:32px;
  color:#68645e;
}
.workshopArticleToplineV50 button,
.workshopArticleToplineV50 b{border:0;background:transparent;padding:0;color:inherit;font-size:9px;font-weight:650;letter-spacing:.04em}
.workshopArticleToplineV50 button:first-child{color:var(--ws50-teal)}
.workshopArticleToplineV50 i{height:1px;background:var(--ws50-line)}
.workshopArticleLeadV50{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:58px;
  align-items:end;
}
.workshopArticleHeaderV50 h1{
  max-width:900px;
  margin:0;
  font-size:clamp(44px,4.7vw,66px);
  line-height:.95;
  letter-spacing:-.061em;
  font-weight:520;
  text-wrap:balance;
}
.workshopArticleHeaderV50 p{
  max-width:770px;
  margin:18px 0 0;
  color:#5e5a54;
  font-size:16px;
  line-height:1.5;
}
.workshopArticleLeadV50>aside{padding-bottom:3px;display:grid;gap:7px;color:#757068;font-size:10px}
.workshopArticleActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.workshopArticleActions button{border:1px solid #d2ccc1;background:rgba(255,255,255,.55);border-radius:8px;padding:7px 10px;color:#403d38;font-size:9px;font-weight:700}
.workshopArticleActions button:hover{border-color:#8fc9c6;color:#0a7774}

.workshopDoNowV50,
.workshopReadinessChainV50{
  width:min(940px,calc(100% - 64px));
  margin:24px auto 0;
}
.workshopDoNowV50{padding:12px 0;border-top:1px solid var(--ws50-line);border-bottom:1px solid var(--ws50-line);font-size:9px;letter-spacing:.12em;color:#65615a;font-weight:750}
.workshopReadinessChainV50{padding:16px 18px;border:1px solid var(--ws50-line);border-radius:8px;background:rgba(255,255,255,.54)}
.workshopReadinessChainV50>span{font-size:9px;letter-spacing:.12em;color:#6d6860;font-weight:750}
.workshopReadinessChainV50>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:11px}
.workshopReadinessChainV50 b{font-size:12px}.workshopReadinessChainV50 i{font-style:normal;color:var(--ws50-teal)}

.workshopArticleLayoutV50{
  width:min(940px,calc(100% - 64px));
  margin:0 auto;
  padding:38px 0 20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:54px;
  align-items:start;
}
.workshopArticleBody{min-width:0}
.workshopArticleBody .workshopArticleSection{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--ws50-line)}
.workshopArticleBody .workshopArticleSection:last-child{margin-bottom:0}
.workshopArticleBody h2{margin:0 0 14px;font-size:clamp(27px,2.5vw,35px);line-height:1;letter-spacing:-.045em;font-weight:560}
.workshopArticleBody p,
.workshopArticleBody li{color:#46433e;font-size:14.5px;line-height:1.68}
.workshopArticleBody p{margin:0}
.workshopBulletsV50{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.workshopBulletsV50 li{padding-left:17px;position:relative}
.workshopBulletsV50 li:before{content:'—';position:absolute;left:0;color:var(--ws50-teal)}
.workshopArticleRailV50{position:sticky;top:104px;padding-top:4px}
.workshopArticleRailV50>span{display:block;margin-bottom:10px;font-size:9px;letter-spacing:.12em;color:#777168;font-weight:700}
.workshopArticleRailV50>b{display:block;font-size:15px;line-height:1.18}
.workshopArticleRailV50>p{margin:9px 0 16px;color:#777169;font-size:11px;line-height:1.48}
.workshopArticleRailV50>button{border:0;background:transparent;padding:0;text-align:left;color:#0a7774;font-size:10px;font-weight:750}

.workshopComparisonV50{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.workshopComparisonV50 article{padding:16px;border:1px solid var(--ws50-line);border-radius:13px;background:rgba(255,255,255,.52)}
.workshopComparisonV50 span{display:block;margin-bottom:10px;font-size:9px;letter-spacing:.1em;color:#0a7b78;font-weight:750}
.workshopComparisonV50 p{font-size:13px;line-height:1.55}
.workshopSpecGridV50{display:grid;gap:10px}
.badSpecV50,.missingSpecV50,.goodSpecV50{padding:16px;border-radius:13px;border:1px solid var(--ws50-line)}
.badSpecV50{background:#f7eeee}.goodSpecV50{background:#edf6f2}.missingSpecV50{background:rgba(255,255,255,.5);display:flex;flex-wrap:wrap;gap:7px}
.badSpecV50 span,.missingSpecV50>span,.goodSpecV50 span{display:block;width:100%;margin-bottom:8px;font-size:9px;letter-spacing:.11em;font-weight:750;color:#6d665f}
.badSpecV50 strong{font-size:17px}.missingSpecV50 b{padding:6px 8px;border-radius:8px;background:#fff;font-size:10px}.goodSpecV50 p{font-size:13px;line-height:1.55}
.workshopChecklistV50 ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ws50-line)}
.workshopChecklistV50 li{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--ws50-line)}
.workshopChecklistV50 li>span{font-size:9px;color:var(--ws50-teal);font-weight:750}.workshopChecklistV50 li p{margin:0}

.workshopSignatureV50,
.workshopRelatedV50,
.workshopMedicalNote{
  width:min(940px,calc(100% - 64px));
  margin-left:auto;
  margin-right:auto;
}
.workshopSignatureV50{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}
.workshopSignatureV50 article{padding:16px;border:1px solid var(--ws50-line);border-radius:8px;background:rgba(255,255,255,.56)}
.workshopSignatureV50 span{display:block;margin-bottom:9px;font-size:9px;letter-spacing:.1em;color:#0a7e7a;font-weight:800}
.workshopSignatureV50 p{margin:0;color:#57534d;font-size:11px;line-height:1.52}
.workshopRelatedV50{margin-top:42px;padding-top:22px;border-top:1px solid var(--ws50-line)}
.workshopRelatedV50 .workshopRelatedHead{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:13px}
.workshopRelatedV50 .workshopRelatedHead span{font-size:9px;letter-spacing:.11em;color:#6d6860;font-weight:800}
.workshopRelatedV50 .workshopRelatedHead p{margin:0;color:#777169;font-size:10px}
.workshopRelatedV50 .workshopRelatedList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.workshopRelatedV50 .workshopRelatedList button{border:1px solid var(--ws50-line);border-radius:12px;background:rgba(255,255,255,.56);padding:13px;text-align:left}
.workshopRelatedV50 .workshopRelatedList span{display:block;font-size:8px;color:#7d776f}.workshopRelatedV50 .workshopRelatedList b{display:block;margin:5px 0;font-size:12px}.workshopRelatedV50 .workshopRelatedList small{font-size:9px;color:#777169}
.workshopMedicalNote{margin-top:36px;margin-bottom:54px;padding-top:16px;border-top:1px solid var(--ws50-line);color:#777169;font-size:10px;line-height:1.5}
.workshopNotFoundV50{width:min(900px,calc(100% - 64px));margin:0 auto;padding:100px 0}.workshopNotFoundV50 span{font-size:10px;color:var(--ws50-teal)}.workshopNotFoundV50 h1{font-size:50px;letter-spacing:-.05em;margin:12px 0}.workshopNotFoundV50 p{color:#706c64}

/* =========================================================
   PRODUCT CARD CTA CLEANUP
   ========================================================= */
.canvaProductCard .canvaCardBody,
.canvaProductCard .productNeedTags,
.canvaProductCard .canvaCardActions,
.canvaProductCard .exactCanvaActions,
.familyCatalogueCard .exactCanvaActions{
  border-top:0!important;
  border-bottom:0!important;
}
.canvaProductCard .canvaCardActions::before,
.canvaProductCard .canvaCardActions::after,
.familyCatalogueCard .exactCanvaActions::before,
.familyCatalogueCard .exactCanvaActions::after{content:none!important;display:none!important}
.canvaProductCard .canvaCardActions,
.familyCatalogueCard .exactCanvaActions{margin-top:auto!important;padding:18px 9px 10px!important;gap:10px!important}
.canvaProductCard .canvaDetails,
.canvaProductCard .canvaRequest{min-height:46px!important}

/* =========================================================
   EXISTING PUBLIC CATALOGUE GATE
   ========================================================= */
.catalogueGateNoteV45{align-self:flex-end;font-size:13px;line-height:1.3;color:#6f6c67}
.catalogueGateBandV45{width:min(1280px,calc(100% - 56px));margin:18px auto 72px;padding:30px 0;border-top:1px solid #dcd8d1;border-bottom:1px solid #dcd8d1;display:flex;justify-content:space-between;align-items:center;gap:40px}
.catalogueGateBandV45 h2{margin:0 0 8px;font-size:clamp(30px,3vw,44px);line-height:1;letter-spacing:-.045em}
.catalogueGateBandV45 p{margin:0;max-width:690px;color:#706d68;font-size:15px;line-height:1.5}
.catalogueGateActionsV45{display:flex;gap:10px;flex-wrap:wrap}
.cataloguePendingNoteV45{padding:12px 14px;margin:0 0 18px;background:#f2f8f7;border:1px solid #cde6e2;border-radius:12px;display:flex;flex-direction:column;gap:3px}
.cataloguePendingNoteV45 b{font-size:13px}.cataloguePendingNoteV45 span{font-size:12px;line-height:1.4;color:#676864}

/* ---------- Responsive ---------- */
@media(max-width:1050px){
  .workshopModuleGridV50{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workshopGuideGridV50{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workshopHeroGridV50,.workshopModuleHeroGridV50{grid-template-columns:1fr;gap:28px}
  .workshopSectionHeadV50{grid-template-columns:1fr;gap:12px}
  .workshopPrincipleV50{grid-template-columns:90px 1fr;gap:22px}.workshopPrincipleV50 p{grid-column:2}
}
@media(max-width:760px){
  .workshopHeroV50,.workshopModuleIndexV50,.workshopGuideIndexV50,.workshopPrincipleV50,.workshopModuleHeroV50,.workshopModuleNavV50,.workshopModuleGuidesV50,.workshopArticleHeaderV50,.workshopDoNowV50,.workshopReadinessChainV50,.workshopArticleLayoutV50,.workshopSignatureV50,.workshopRelatedV50,.workshopMedicalNote,.catalogueGateBandV45{width:min(100% - 30px,1280px)}
  .workshopHeroV50{padding:42px 0 34px}.workshopHeroRuleV50{grid-template-columns:auto 1fr}.workshopHeroRuleV50 small{display:none}.workshopHeroGridV50 h1{font-size:48px}
  .workshopModuleGridV50,.workshopGuideGridV50{grid-template-columns:1fr}
  .workshopModuleCardV50{min-height:154px}
  .workshopSearchStripV50{grid-template-columns:1fr;gap:8px}
  .workshopPrincipleV50{grid-template-columns:1fr;gap:13px;margin-bottom:48px}.workshopPrincipleV50 p{grid-column:auto}
  .workshopModuleHeroV50{padding:38px 0 28px}.workshopModuleHeroV50 h1{font-size:46px}
  .workshopArticleLeadV50{grid-template-columns:1fr;gap:22px}.workshopArticleHeaderV50 h1{font-size:46px}
  .workshopArticleToplineV50{grid-template-columns:auto 1fr auto}.workshopArticleToplineV50 button:nth-of-type(2){grid-column:1/-1;grid-row:2}.workshopArticleToplineV50 b{grid-column:3}
  .workshopArticleLayoutV50{grid-template-columns:1fr;gap:22px}.workshopArticleRailV50{position:static;border-top:1px solid var(--ws50-line);padding-top:18px}
  .workshopSignatureV50{grid-template-columns:1fr}.workshopComparisonV50{grid-template-columns:1fr}.workshopRelatedV50 .workshopRelatedList{grid-template-columns:1fr}
  .catalogueGateBandV45{display:block;padding:28px 0}.catalogueGateActionsV45{margin-top:20px}
}
@media(max-width:430px){
  .workshopHeroGridV50 h1,.workshopModuleHeroV50 h1,.workshopArticleHeaderV50 h1{font-size:42px}
  .workshopGuideCardV50 h3{font-size:24px}
  .workshopGuideCardV50>button{padding:26px}
  .workshopModuleNavV50{padding-bottom:9px}
}

@media print{
  .publicHeader,.publicFooter,.workshopModuleNavV50,.workshopArticleActions,.workshopArticleRailV50,.workshopRelatedV50{display:none!important}
  main.workshopPage{background:#fff!important;background-image:none!important}
  .workshopArticleHeaderV50,.workshopArticleLayoutV50,.workshopSignatureV50,.workshopMedicalNote{width:100%!important}
  .workshopArticleLayoutV50{display:block!important}.workshopArticleBody .workshopArticleSection{break-inside:avoid}.workshopSignatureV50{grid-template-columns:repeat(3,1fr)!important}
}

/* Shared current-shell spacing. Keep compact table/control layouts intact. */
:root{--ps-copy-gap:24px;--ps-card-padding:clamp(24px,3vw,36px)}
.publicPage .publicPageHero>p,
.publicPage:has(.v3927ContactForm) .publicPageHero>p,
.start16HeroCopy>p,.workshopHeroCopy>p,.loginIntro>p,
.customerShell .pageHeader p,.adminShell .pageHeader p,.v26HomeHero p{
  margin-top:var(--ps-copy-gap)!important;
}
:is(.publicPage,.publicLanding,.customerShell,.adminShell) :is(h1,h2,h3)+p{
  margin-top:var(--ps-copy-gap)!important;
}
:is(.publicPage,.customerShell,.adminShell) :is(.panel,.simplePublicPanel,.publicFeatureStack article,.publicMediaGrid article){
  padding:var(--ps-card-padding);
}
.customerShell .panelHeader,.adminShell .panelHeader{margin-bottom:24px;gap:20px;flex-wrap:wrap}
.customerShell .headerActions,.adminShell .headerActions{gap:12px;flex-wrap:wrap}
.v26QuickActions,.actionGrid{gap:20px!important}
.publicPage .prospectContactGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px!important}
.publicPage .prospectContactGrid .contactCard{padding:var(--ps-card-padding)!important;gap:20px!important;min-width:0}
.publicPage .prospectContactGrid .contactCard b{overflow-wrap:anywhere}
.v3927ContactForm{gap:24px!important}
.start16Hero{gap:48px!important}
.start16RouteBoard>button{padding:24px 4px!important;gap:16px!important;text-align:left;min-width:0}
.start16RouteBoard>button>div{min-width:0}
.start16RouteBoard small{display:block;margin-top:10px!important;line-height:1.6!important}
.start16Send{padding:48px!important;gap:40px!important;scroll-margin-top:100px}
.start16SendIntro>p{margin-top:24px!important;line-height:1.65!important}
.start16Form{padding:28px!important;gap:24px!important;min-width:0}
.start16Form .prospectField{gap:10px!important;min-width:0}
.start16Form :is(input,select,textarea){max-width:100%;box-sizing:border-box}
.start16Form label{line-height:1.5}
.start16Form label span{display:block;margin-top:6px}
.startContactActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.startContactActions .button{white-space:normal;min-height:48px;text-align:center}
.startContactActions a.button{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.startContactActions .startContactIcon{width:18px;height:18px;flex:0 0 18px;color:#111;pointer-events:none}
@media(max-width:900px){
  .publicPage .prospectContactGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .start16Hero{grid-template-columns:1fr!important;gap:32px!important}
  .start16Send{grid-template-columns:1fr!important;padding:32px!important}
}
@media(max-width:680px){
  .publicPage .prospectContactGrid{grid-template-columns:1fr!important}
  .start16RouteBoard>button{grid-template-columns:22px 38px minmax(0,1fr) auto!important;gap:12px!important}
  .start16Send{padding:24px!important;gap:32px!important}
  .start16Form{grid-template-columns:1fr!important;padding:24px 18px!important}
  .start16Form :is(input,select,textarea){font-size:16px!important}
  .startContactActions .button{width:100%}
}

.publicPage .prospectContactGrid .contactCard b { font-size:clamp(16px,1.45vw,22px)!important; line-height:1.5!important; letter-spacing:-.02em!important; }
.publicPage .prospectContactGrid .contactCard a[href^="mailto:"] { white-space:nowrap; font-size:clamp(15px,1.3vw,20px); }

/* Product photography uses a shared square canvas without clipping pack labels. */
.productCard .productVisual, .publicCatalogueVisual, .replenishVisual,
.detailProductImageWrap, .relatedProductVisual, .cmsPreviewImage, .cmsMasterThumb {
  background: #fff;
}
.productMainImage, .publicCatalogueVisual > img:not(.publicDhaMark),
.replenishVisual img, .detailProductImageWrap > img:not(.detailDhaIcon),
.relatedProductVisual img, .requestLineImage img, .productGalleryStrip img,
.cmsPreviewImage img, .cmsMasterThumb img {
  object-fit: contain;
  object-position: center;
  aspect-ratio: 1;
}
.catalogueImageNote { display: block; margin-top: 12px; color: #737670; font-size: 12px; line-height: 1.5; }
.catalogueImageEmpty { padding: 28px; text-align: center; color: #737670; }
.pscBrandTick .catalogueOptionImage { width: 72px; height: 72px; object-fit: contain; border-radius: 8px; background: #fff; flex-shrink: 0; }
.pscBrandTick { gap: 14px; padding: 16px; }
.pscBrandTick > span { min-width: 0; overflow-wrap: anywhere; }

/* One contained photograph frame for every current catalogue card.
   Absolute fitting prevents inherited grid tracks and intrinsic image dimensions
   from moving the photograph below the clipped preview. */
.customerShell .productCard .productVisual,
.publicCatalogueCard .publicCatalogueVisual {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  aspect-ratio: 1 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}
.customerShell .productCard .productVisual > img.productMainImage,
.publicCatalogueCard .publicCatalogueVisual > img:not(.publicDhaMark) {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: var(--photo-fit, none) !important;
  aspect-ratio: auto !important;
}
.pscBrandTick .catalogueOptionImage {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  padding: 4px !important;
  box-sizing: border-box !important;
}
.pscBrandTick { gap: 14px !important; padding: 16px !important; }

/* Keep generic generated art retired even inside the authoritative photo frame. */
.customerShell .productCard .productVisual > img.productMainImage[src*="/assets/products/inst-"],
.customerShell .productCard .productVisual > img.productMainImage[src*="clinic-basics.jpg"] { display: none !important; }

/* Three readable columns; smaller screens use two or one. */
.customerShell .productGrid.v25ProductGrid,
.customerShell .productGrid,
.publicCataloguePage .publicCatalogueGrid {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  grid-auto-rows:auto!important; align-content:start!important;
}
@media(max-width:900px){
  .customerShell .productGrid.v25ProductGrid,.customerShell .productGrid,
  .publicCataloguePage .publicCatalogueGrid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:560px){
  .customerShell .productGrid.v25ProductGrid,.customerShell .productGrid,
  .publicCataloguePage .publicCatalogueGrid { grid-template-columns:minmax(0,1fr)!important; }
}

/* Copy expands freely; shared tracks align each field with its neighbours. */
.customerShell .productCard { height:auto!important; min-height:0!important; max-height:none!important; }
.customerShell .productCard .exactCanvaBody {
  display:flex!important; flex-direction:column!important; flex:1 0 auto!important;
  grid-template-rows:none!important; gap:14px!important; height:auto!important;
  min-height:0!important; max-height:none!important; padding:20px!important;
}
.customerShell .productCard .productTitleButton,
.customerShell .productCard .productTitleButton h3 {
  display:block!important; height:auto!important; min-height:0!important; max-height:none!important;
  overflow:visible!important; -webkit-line-clamp:unset!important; white-space:normal!important;
  overflow-wrap:anywhere!important; line-height:1.5!important; margin:0!important;
}
.customerShell .productCard :is(.pack,.productNeedTags,.catalogueImageNote,.catalogueBrandCount) {
  margin:0!important; padding:0!important; height:auto!important; max-height:none!important;
  line-height:1.6!important; white-space:normal!important; overflow:visible!important;
}
.catalogueBrandCount { display:block; color:#737670; font-size:12px; line-height:1.6; }
.customerShell .productCard .exactCanvaActions { flex:0 0 auto!important; margin-top:0!important; padding:0 20px 20px!important; gap:10px!important; }
.customerShell .productGrid .productCard .exactCanvaBody > * {
  align-self:start!important; justify-self:stretch!important; text-align:left!important;
}
@supports(grid-template-rows:subgrid){
  .customerShell .productGrid .productCard:not([hidden]) {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:subgrid!important; grid-row:span 7; row-gap:0!important;
  }
  .customerShell .productGrid .productCard .productVisual { grid-row:1; }
  .customerShell .productGrid .productCard .exactCanvaBody {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:subgrid!important; grid-row:2 / span 5; row-gap:14px!important;
  }
  .customerShell .productGrid .productCard .exactCanvaActions { grid-row:7; }
}

.psIntelligentSearch{margin:28px 0 32px;padding:28px;background:#fffefa;border:1px solid #d9d6ce;border-radius:24px}
.psIntelligentSearch h2{font-size:clamp(26px,2.5vw,42px);line-height:1.15;margin:16px 0!important;max-width:720px;letter-spacing:-.035em}
.psIntelligentSearch p{margin:0 0 24px!important;line-height:1.6;color:#737570}
.psIntelligentSearch label{display:block;font-size:14px;margin-bottom:12px}
.psIntelligentSearch form{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.psIntelligentSearch input{min-width:180px;flex:1;padding:18px;border:1px solid #d9d6ce;border-radius:14px;background:white;font:inherit;line-height:1.5;height:auto}
.psInterpretation{display:grid;gap:10px;margin-top:22px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.psInterpretation b{font-weight:500}
.psClarification{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;align-items:center}.psClarification>b{flex-basis:100%;font-weight:500}
.psCatalogueWorkspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start}.psCatalogueMain{min-width:0;container-type:inline-size}
.psLiveRequest{position:sticky;top:100px;border:1px solid #d9d6ce;border-radius:24px;padding:24px;background:#fffefa;max-height:calc(100dvh - 120px);overflow:auto;line-height:1.5}
.psScopeHeader{display:flex;justify-content:space-between;gap:16px;align-items:center}.psScopeHeader h2{font-size:26px;margin:0 0 24px!important}.psScopeHeader button{display:none}
.psLiveRequest dl{margin:0}.psLiveRequest dl>div{padding:14px 0;border-bottom:1px solid #e5e2db}.psLiveRequest dt{color:#737570;font-size:12px;margin-bottom:8px}.psLiveRequest dd{margin:0;overflow-wrap:anywhere}.psLiveRequest input,.psLiveRequest select{font:inherit;background:white;color:#151a18;border:1px solid #d9d6ce;border-radius:8px;padding:10px;max-width:100%;width:100%}
.psScopeItems{margin:24px 0}.psScopeLine{padding:16px 0;border-bottom:1px solid #e5e2db}.psScopeLine b{font-size:14px;font-weight:500;display:block;margin-bottom:12px;overflow-wrap:anywhere}.psScopeLine>div{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:12px}.psScopeLine input{width:64px;margin-left:6px}.psScopeLine label{white-space:nowrap}.psScopeLine .textAction{margin-left:auto}.psRetained{padding:16px 0;font-size:13px;color:#636b66}.psRetained p{margin:12px 0!important;line-height:1.5}
.psScopeTotals{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}.psLiveRequest progress{display:block;width:100%;height:5px;margin:24px 0 16px;accent-color:#245c58}.psScopeMissing{font-size:13px;line-height:1.6;margin:0 0 16px!important}.psLiveRequest>small{display:block;font-size:12px;color:#737570;margin-bottom:24px;line-height:1.6}.psScopeMobileSummary{display:none!important}
@container (max-width: 720px){.customerShell .psCatalogueMain .productGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container (max-width: 480px){.customerShell .psCatalogueMain .productGrid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:1100px){.psCatalogueWorkspace{display:block;padding-bottom:88px}.psLiveRequest{display:none}.psScopeMobileSummary{display:block!important;position:fixed;bottom:18px;left:24px;right:24px;z-index:50;width:calc(100% - 48px);box-shadow:0 4px 20px #0002}.psLiveRequest.isOpen{display:block;position:fixed;inset:70px 16px 16px;max-height:none;z-index:120;box-shadow:0 0 0 100vmax #0007}.psScopeHeader button{display:block}.psIntelligentSearch{padding:24px;margin-top:24px}.psIntelligentSearch form button{min-height:48px}}
@media(max-width:560px){.psIntelligentSearch form input{flex-basis:100%}.psIntelligentSearch form button{flex:1}.psIntelligentSearch h2{font-size:28px}.psIntelligentSearch{padding:22px}.psLiveRequest.isOpen{inset:60px 12px 12px}}
.psIntelligentSearch>.sectionLabel{display:block!important;font-size:12px;color:#67716a}
.psRequestScopeReview{margin-bottom:24px;padding:20px;background:#f5f4ed;border-radius:14px;font-size:13px;line-height:1.7}.psRequestScopeReview p{margin:12px 0 0!important}.psQuantityConfirm{margin-top:18px;font-size:12px;line-height:1.6;text-align:left}
.psCatalogueLandingWorkspace>.psCatalogueMain>.psIntelligentSearch{margin-top:0}
.psIntelligentSearch input{font-size:16px!important;scroll-margin-top:110px}
.psSearchResults{overflow-anchor:none;min-width:0}.psSearchResults[hidden],.psSearchEmpty[hidden]{display:none!important}
.psSearchEmpty{font-size:15px;line-height:1.6;padding:24px 0}
@media(max-width:1100px){.psCatalogueWorkspace:has(.psIntelligentSearch:focus-within)>.psScopeMobileSummary{display:none!important}.psScopeMobileSummary{bottom:calc(18px + env(safe-area-inset-bottom))}}
.requestDrawerBackdrop{z-index:140}
.customerShell .v26HomeHero{grid-template-columns:minmax(0,1fr)!important}
.customerShell .v26HomeHero .psIntelligentSearch{margin-top:24px}
.home47 .h47Discovery{margin:28px 0 36px;font-family:inherit}
.home47 .h47Discovery h2{font-weight:400;letter-spacing:-.04em}
.home47 .h47Discovery form{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:600px){.home47 .h47Discovery form{grid-template-columns:minmax(0,1fr)}.home47 .h47Discovery input{min-width:0;width:100%}}
.psDraftUndo{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px;font-size:14px}
.psDraftUndo button{min-height:44px;text-decoration:underline}

/* Admin finishing layer: the same paper, ink and teal palette as the public site. */
.adminShell .contentWrap{max-width:1440px;margin-inline:auto;padding:32px!important}
.adminShell .pageHeader{padding-top:8px!important;margin-bottom:32px!important}
.adminShell .panelHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.adminShell .panelHeader h2{margin:0;font-size:23px!important;line-height:1.15;font-weight:500!important;letter-spacing:-.035em}
.adminShell .panelHeader p{margin:8px 0 0;color:var(--v48-muted);font-size:13px;line-height:1.55}
.adminShell .panel{padding:26px!important;border-radius:18px!important}
.adminShell .button{min-height:42px;padding:10px 16px!important;font-size:13px!important;line-height:1.3;white-space:normal}
.adminShell .button:focus-visible,.adminShell input:focus-visible,.adminShell select:focus-visible,.adminShell summary:focus-visible{outline:2px solid var(--v48-teal);outline-offset:3px}
.adminShell .dataTable th{padding:14px 16px!important;font-size:10px!important;font-weight:500!important;letter-spacing:.08em;color:var(--v48-muted)!important;background:var(--v48-bg)!important}
.adminShell .dataTable td{padding:18px 16px!important;font-size:13px!important;line-height:1.5;vertical-align:middle}
.adminShell .dataTable td .mono{font-size:12px;font-weight:500;overflow-wrap:anywhere}
.adminShell .dataTable td .sub{margin-top:5px;color:var(--v48-muted);font-size:12px}
.adminShell .dataTable tbody tr:hover{background:var(--v48-bg)}
.adminShell [data-commercial-inbox]{margin-bottom:32px}
.adminShell .commercialInboxFilters{display:flex;align-items:center;gap:16px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--v48-line);border-radius:14px;background:var(--v48-paper)}
.adminShell .commercialInboxFilters label{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--v48-muted)}
.adminShell .commercialInboxFilters select{min-height:42px;min-width:230px;border:1px solid var(--v48-line-strong);border-radius:10px;background:var(--v48-paper);color:var(--v48-ink);padding:10px 34px 10px 12px}
.adminShell .commercialInboxCard{gap:24px 36px;padding:26px;margin:0 0 18px;border-color:var(--v48-line);border-radius:18px;background:var(--v48-paper);box-shadow:none}
.adminShell .commercialInboxCard.overdue{border-left:3px solid #ac6049}
.adminShell .commercialRecordStatus{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:var(--v48-teal);line-height:1.5}
.adminShell .commercialInboxCard h3{margin:12px 0 8px;font-size:22px;font-weight:500;letter-spacing:-.035em;line-height:1.2}
.adminShell .commercialInboxCard p{margin:8px 0;color:var(--v48-muted);font-size:13px;line-height:1.6}
.adminShell .commercialInboxCard label{font-size:12px;line-height:1.5;color:var(--v48-muted);margin-bottom:14px}
.adminShell .commercialInboxCard input:not([type=checkbox]){min-height:44px;margin-top:7px;border-color:var(--v48-line-strong);border-radius:10px;background:#fff;color:var(--v48-ink);font-size:14px}
.adminShell .commercialInboxCard input::placeholder{color:#938d83}
.adminShell .commercialInboxCheck{color:var(--v48-ink)!important;font-size:12px!important;gap:10px;line-height:1.5}
.adminShell input[type=checkbox]{accent-color:var(--v48-teal);width:16px;height:16px;flex:0 0 auto}
.adminShell .commercialInboxCard summary{cursor:pointer;min-height:32px;padding:6px 0;color:var(--v48-ink);font-size:13px;font-weight:500}
.adminShell .commercialExports{padding-top:18px;border-top:1px solid var(--v48-line);gap:10px}
.adminShell .commercialEvidence{padding-top:12px;border-color:var(--v48-line)}
.adminShell .commercialEvidence>p{max-width:780px;margin:10px 0 20px}
.adminShell .commercialEvidence form{gap:10px 24px}
.adminShell [data-evidence-feedback],.adminShell [data-inbox-feedback],.adminShell [data-export-feedback]{font-size:12px;line-height:1.5}
body:has(.adminShell) .modalBackdrop .modal{border:1px solid var(--v48-line)!important;border-radius:20px!important;background:var(--v48-paper)!important;box-shadow:var(--v48-shadow)!important}
body:has(.adminShell) .modalBackdrop .modalHeader{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--v48-line)}
body:has(.adminShell) .modalBackdrop .modalHeader h2{font-size:24px;font-weight:500;letter-spacing:-.035em;overflow-wrap:anywhere}
body:has(.adminShell) .modalBackdrop .input,body:has(.adminShell) .modalBackdrop .moneyInput,body:has(.adminShell) .modalBackdrop .selectInput{min-height:42px;border:1px solid var(--v48-line-strong)!important;border-radius:10px!important;background:#fff!important;padding:9px 12px!important;font-size:14px}
body:has(.adminShell) .modalBackdrop .fieldLabel{font-size:12px;color:var(--v48-muted);font-weight:500;margin-bottom:8px}
body:has(.adminShell) .modalBackdrop .notice,body:has(.adminShell) .modalBackdrop .quoteStatePanel{padding:18px;border:1px solid var(--v48-line)!important;background:var(--v48-bg)!important;color:var(--v48-muted)!important;border-radius:14px;line-height:1.6}
body:has(.adminShell) .modalBackdrop .quoteSummary{gap:12px;margin:22px 0}
body:has(.adminShell) .modalBackdrop .quoteSummary>div{border:1px solid var(--v48-line);border-radius:12px;background:var(--v48-bg);padding:16px}
body:has(.adminShell) .modalBackdrop .quoteSummary b{font-size:22px;font-weight:500;letter-spacing:-.025em}
body:has(.adminShell) .modalBackdrop .quoteSummary span{font-size:10px;letter-spacing:.06em;color:var(--v48-muted)}
@media(max-width:900px){.adminShell .contentWrap{padding:24px!important}.adminShell .commercialInboxCard{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.adminShell .contentWrap{padding:20px 16px!important}.adminShell .panel{padding:18px!important}.adminShell .panelHeader{align-items:flex-start;gap:12px}.adminShell .panelHeader h2{font-size:20px!important}.adminShell .panelHeader [data-inbox-refresh]{flex:0 0 auto}.adminShell .commercialInboxFilters{padding:14px}.adminShell .commercialInboxFilters label{display:grid;width:100%;gap:8px}.adminShell .commercialInboxFilters select{width:100%;min-width:0;margin:0}.adminShell .commercialInboxCard{padding:20px;gap:20px}.adminShell .commercialInboxCard h3{font-size:20px}.adminShell .commercialEvidence form{grid-template-columns:minmax(0,1fr)}.adminShell .commercialExports .button{flex:1 1 180px}.adminShell .commercialEvidence button[type=submit]{width:100%}body:has(.adminShell) .modalBackdrop .modalHeader h2{font-size:20px}}
.adminShell .navLink{color:var(--v48-muted)!important}.adminShell .navLink .navIcon{color:var(--v48-muted)!important}.adminShell .navLink.active,.adminShell .navLink.active .navIcon{color:var(--v48-teal)!important}.adminShell .navLink:hover{color:var(--v48-ink)!important;background:var(--v48-paper)!important}.adminShell .compactUser>span:last-child{display:grid;gap:2px}.adminShell .compactUser small{font-size:10px;color:var(--v48-muted)}

/* Daily-work navigation: labels are real navigation, never floating tooltips. */
.adminShell .navLink{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;min-height:48px!important;height:auto!important;width:100%!important;padding:12px 14px!important;overflow:visible!important}
.adminShell .navLink .navLabel{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;color:inherit!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;white-space:normal!important;font-size:14px!important;font-weight:600!important;pointer-events:auto!important}
.adminShell .navLink .navLabel:before,.adminShell .navLink .navLabel:after{display:none!important}
.adminShell .sidebar{width:240px!important;overflow-y:auto!important;background:#faf9f5!important}
.adminShell .mainArea{margin-left:240px!important;width:calc(100% - 240px)!important}
.adminShell .navLink.active{background:#e5f0ec!important;color:#176b60!important;box-shadow:none!important;border-color:#bfd8cf!important}
.adminShell .navLink svg{width:22px!important;height:22px!important;flex-shrink:0}
[data-psc-workspace]{--ws-ink:#173c36;--ws-line:#dedfd7;max-width:1360px;margin:auto;color:#263a35}
[data-psc-workspace] *, .wsDialog *{box-sizing:border-box}
[data-psc-workspace] h1{font-size:clamp(28px,3.2vw,42px);letter-spacing:-1.2px;line-height:1.15;margin:0 0 10px;color:var(--ws-ink)}
[data-psc-workspace] h2,.wsDialog h2{font-size:20px;line-height:1.3;margin:0 0 16px}
[data-psc-workspace] h3{font-size:16px;margin:22px 0 10px}
[data-psc-workspace] p{line-height:1.6;margin:8px 0 14px;overflow-wrap:anywhere}
.wsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.wsHeader p,.wsMuted{color:#6c7770;font-size:14px}
.wsActions,.wsToolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 20px}
[data-psc-workspace] button,.wsDialog button{cursor:pointer;font:inherit;font-size:14px;min-height:42px;border:1px solid #cdd6ce;border-radius:8px;padding:10px 14px;background:#fff;color:#244a41;box-shadow:none}
[data-psc-workspace] button:hover,.wsDialog button:hover{background:#eef4ef;border-color:#88b2a3}
[data-psc-workspace] button:focus-visible,.wsDialog button:focus-visible{outline:3px solid #259e91;outline-offset:3px}
[data-psc-workspace] .primary,.wsDialog .primary{background:#17695e!important;color:white!important;border-color:#17695e!important}
.wsPanel,.wsSuggestion,.wsEmpty{border:0;background:transparent;border-radius:8px;padding:24px;margin-bottom:20px;min-width:0}
.wsSplit{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start}
.wsStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 26px}
.wsStats button{text-align:left!important;padding:20px!important;background:#f0f3eb!important;display:grid;gap:10px;border:0!important}
.wsStats b{font-size:32px;line-height:1;color:#174e42}.wsStats span{font-size:13px;color:#5e6e65}
.wsTask{padding:16px 0;border-bottom:1px solid #e7e9e2;display:flex;gap:12px;align-items:flex-start}
.wsTask>div{flex:1;min-width:0}.wsTask input[type=checkbox]{width:20px;height:20px;margin-top:4px;accent-color:#17695e;flex-shrink:0}
.wsTask>label{display:flex;gap:12px;flex:1;min-width:0}.wsTask>.wsTaskActions{flex:0 0 auto;max-width:130px}.mailEmailCanvas>p{white-space:pre-line}
.wsTask small{display:block;color:#727a72;margin:6px 0}.wsTask button{font-size:12px;padding:6px 9px;min-height:34px;margin:6px 5px 0 0}
.wsSuggestion{background:#f7f8f2;padding:18px}.wsSuggestion blockquote{margin:12px 0;padding-left:14px;border-left:3px solid #b7cfc2;font-size:14px;color:#59685f;overflow-wrap:anywhere}
.wsPill{display:inline-block;background:#eaf0e7;color:#416048;border-radius:4px;padding:5px 10px;font-size:12px;white-space:normal}
.wsList{display:grid;gap:10px}.wsRequest{display:flex!important;justify-content:space-between;gap:18px;padding:20px!important;text-align:left!important;border-radius:8px!important}
.wsRequest>span:first-child{min-width:0}.wsRequest>span:last-child{flex-shrink:0;max-width:35%;text-align:right;display:grid;justify-items:end;gap:10px}.wsRequest b{display:block;font-size:18px;margin:6px 0}.wsRequest small{font-size:11px;color:#788176}.wsRequest p{font-size:14px}.wsRequest strong{font-size:12px}
.wsJourney{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.wsJourney span{font-size:12px;padding:9px 12px;background:#eeeFE9;border-radius:8px}.wsJourney .active{background:#d9ebe2;color:#145a48}
.wsCustomerGrid,.wsResourceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.wsCustomer,.wsResource{padding:24px!important;text-align:left!important;border-radius:8px!important;overflow-wrap:anywhere}.wsCustomer h2{margin-top:18px}.wsCustomer small{word-break:break-word}
.wsForm label,.wsDialog label{display:grid;gap:7px;margin-bottom:16px;font-size:13px;font-weight:600}
[data-psc-workspace] input:not([type=checkbox]),[data-psc-workspace] select,[data-psc-workspace] textarea,.wsDialog input,.wsDialog select,.wsDialog textarea{font:inherit;font-size:15px;width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1px solid #cdd6ce;border-radius:8px;background:#fff;color:#293e35;min-height:44px}
[data-psc-workspace] textarea,.wsDialog textarea{min-height:100px}.wsToolbar input{flex:1}.wsToolbar select{width:auto;max-width:100%}
.wsColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wsNote{border-bottom:1px solid #e4e8df;padding:14px 0}.wsNote p,.wsPre{white-space:pre-wrap}.wsNote small{color:#758173}
.wsWeek{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px}.wsWeek button{display:grid;gap:8px;text-align:center;padding:12px 4px}.wsWeek b{font-size:24px}.wsWeek span{font-size:11px;color:#6b7c6e}
.wsDialog{width:min(650px,calc(100% - 28px));max-height:90dvh;border:1px solid #cdd6ce;border-radius:8px;padding:26px;background:#fafbf6;color:#263a35}.wsDialog::backdrop{background:#152c2890}.wsDialogHead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.wsDialogHead h2{margin:0}.wsDialogHead button{font-size:24px}
[data-direct-correspondence] input:not([type=checkbox]),[data-direct-correspondence] select,[data-direct-correspondence] textarea{font:inherit;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid #cdd6ce;border-radius:8px;min-height:44px}
[data-direct-correspondence] .panel{margin-bottom:20px}
@media(max-width:760px){.adminShell .mailTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;width:100%}.adminShell .mailTabs button{white-space:normal;min-height:44px;font-size:12px}.adminShell .mailTabs button:last-child{grid-column:1/-1}}
[data-psc-workspace] [hidden]{display:none!important}
[data-psc-workspace] .pscMailPanel{padding:24px;border-radius:8px;margin:20px 0;box-shadow:none}
[data-psc-workspace] .pscMailPanel details{margin:16px 0;padding:12px 0;border-top:1px solid #e2e5dc}
[data-psc-workspace] .pscMailPanel article{padding:16px 0}.mailPreview p{white-space:pre-line}
@media(max-width:1000px){.wsCustomerGrid,.wsResourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.wsSplit{grid-template-columns:1fr}}
@media(max-width:900px){.adminShell .sidebar{width:min(310px,86vw)!important}.adminShell .mainArea{margin-left:0!important;width:100%!important}.adminShell .navLink .navLabel{font-size:16px!important}.adminShell .navLink{min-height:52px!important}}
@media(max-width:560px){.wsHeader{display:block}.wsHeader>div:last-child{margin-top:14px}.wsStats{grid-template-columns:repeat(2,1fr);gap:10px}.wsStats button{padding:16px!important}.wsPanel,.wsSuggestion{padding:18px}.wsCustomerGrid,.wsResourceGrid,.wsColumns{grid-template-columns:1fr}.wsWeek{gap:3px}.wsWeek button{font-size:12px;padding:10px 2px;min-width:0}.wsWeek b{font-size:19px}.wsWeek span{font-size:9px}.wsRequest{padding:16px!important}.wsRequest b{font-size:16px}.wsDialog{padding:20px}.wsActions{align-items:stretch}.wsActions button{flex-grow:1}.wsToolbar{display:grid}.wsToolbar select{width:100%}}

/* Customer home only: existing catalogue and commercial controls are unchanged. */
.pscDhaStatus{display:block;font-size:12px;line-height:1.5;color:#52665e;margin-top:8px}
.v26HomeGrid .v26RepeatPanel h2,.v26HomeGrid .v26RepeatPanel p{color:#263f38!important}
.v26QuickActions .v26ActionCard{min-height:120px;padding:20px}
.v26QuickActions .v26ActionCard small,.v26QuickActions .v26ActionIcon{display:none}
.v26QuickActions .v26ActionCard h2{margin:0 0 10px}
.pscHomeBrowse,.pscHomeWorkshop{margin:32px 0 40px}
.pscHomeCategoryColumns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.pscHomeCategoryColumns>section{min-width:0;background:transparent;border-radius:0;padding:24px}
.pscHomeCategoryColumns>section:nth-child(2){background:transparent}
.pscHomeCategoryColumns h3{font-size:23px;margin:0 0 6px}
.pscHomeCategoryColumns>section>p{margin:0 0 22px;color:#626963}
.pscHomeCategoryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.appShell.pscOperatingShell.v381Shell .pscHomeCategoryGrid .pscHomeCategory{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-width:0;min-height:128px!important;background:#f3f4f1;border:0;border-radius:8px!important;padding:16px 8px!important;margin:0!important;text-align:center;color:#172e2b;cursor:pointer}
.pscHomeCategory>span:nth-child(2){min-width:0;width:100%}
.appShell.pscOperatingShell.v381Shell .pscHomeCategoryGrid .pscHomeCategory b{display:block;font-size:15px!important;line-height:1.3;overflow-wrap:anywhere;text-wrap:balance}
.pscHomeCategoryArt{display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px}
.appShell.pscOperatingShell.v381Shell .pscHomeCategoryArt .pscHomeCategoryIcon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:32px}
.pscHomeCategoryIcon svg,.pscHomeGuideArt svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.appShell.pscOperatingShell.v381Shell .pscHomeCategoryArt .pscHomeDha{position:static!important;width:36px;height:36px;object-fit:contain;flex:0 0 36px}
.pscHomeCategoryGuide{margin-top:10px;color:#616761;font-size:13px}
.pscHomeCategoryGuide>summary{min-height:44px;padding:8px 0;cursor:pointer;color:#394c45}
.pscHomeCategoryGuide>summary:focus-visible{outline:3px solid #258c7e;outline-offset:3px}
.pscHomeCategoryGuide dl{margin:12px 0 18px;font-size:13px;line-height:1.5}
.pscHomeCategoryGuide dt{font-weight:600;color:#263f38;margin-top:12px}
.pscHomeCategoryGuide dd{margin:4px 0 0}
@media(max-width:600px){
  .appShell.pscOperatingShell.v381Shell .pscHomeCategoryGrid .pscHomeCategory{min-height:120px!important;padding:12px 8px!important;gap:10px}
  .appShell.pscOperatingShell.v381Shell .pscHomeCategoryGrid .pscHomeCategory b{font-size:13px!important}
}
.pscHomeCategory:hover,.pscHomeGuide:hover{border-color:#258c7e;box-shadow:0 4px 16px #143d2910}
.pscHomeCategory:focus-visible,.pscHomeGuide:focus-visible,.pscHomeAll:focus-visible{outline:3px solid #258c7e;outline-offset:3px}
.pscHomeAll{border:0;background:none;color:#216d61;padding:14px 0;font-weight:600;text-align:left;cursor:pointer}
.pscHomeScopeNote{display:block;line-height:1.5;color:#626963;margin-top:16px;font-size:12px}
.pscHomeWorkshop{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;padding:32px;border-radius:0;background:transparent;color:#1b3831}
.pscHomeWorkshopIntro{align-self:center}
.pscHomeWorkshopIntro h2{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:16px 0}
.pscHomeWorkshopIntro p{line-height:1.6;max-width:32ch;margin-bottom:24px}
.pscHomeWorkshopGuides{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pscHomeGuide{min-width:0;text-align:left;padding:20px;border:0;border-radius:8px;background:#fffefa;color:inherit;cursor:pointer}
.pscHomeGuideArt{display:grid;place-items:center;height:100px;border-radius:8px;background:#d9e6d6;margin-bottom:20px}
.pscHomeGuide:nth-child(2) .pscHomeGuideArt{background:#efd3b7;border-radius:8px}
.pscHomeGuideArt svg{width:58px;height:58px}
.pscHomeGuide small{font-size:12px;color:#59655f}
.pscHomeGuide h3{font-size:20px;line-height:1.3;margin:12px 0}
.pscHomeGuide p{font-size:14px;line-height:1.5;margin:0 0 18px}
.pscHomeGuide>b{font-size:13px}
@media(max-width:850px){.pscHomeWorkshop{grid-template-columns:1fr}.pscHomeCategoryColumns{gap:16px}.pscHomeCategoryColumns>section{padding:18px}.pscHomeCategory{gap:10px;padding:12px}.pscHomeCategoryIcon{flex-basis:40px;height:40px}}
@media(max-width:600px){.pscHomeCategoryColumns{grid-template-columns:1fr}.pscHomeWorkshop{padding:22px;border-radius:8px}.pscHomeWorkshopGuides{grid-template-columns:1fr}.pscHomeGuideArt{height:110px}.pscHomeBrowse .v26SectionHead{align-items:flex-start;gap:14px;flex-direction:column}}
@media(max-width:600px){.v26QuickActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.v26QuickActions .v26ActionCard{padding:16px;min-height:108px}.v26QuickActions .v26ActionCard h2{font-size:17px}.v26QuickActions .v26ActionCard p{display:none}.v26HomeHero h1{font-size:36px!important}}

.pscFamilyVariantList{margin:12px 0 0;border-top:1px solid #e6e9e8;padding-top:10px}
.pscFamilyVariantList summary{cursor:pointer;font-weight:600;font-size:13px;padding:7px 0}
.pscFamilyVariantList ul{list-style:none;padding:0;margin:5px 0}
.pscFamilyVariantList li{border-top:1px solid #edf0ef;padding:9px 0;display:flex;gap:8px;justify-content:space-between;align-items:flex-start;font-size:12px}
.pscFamilyVariantList button{text-align:left;background:none;border:0;padding:0;color:inherit;cursor:pointer;min-width:0;line-height:1.45}
.pscFamilyVariantList .pscVariantPrice{flex:none;max-width:100px;text-align:right;line-height:1.4}
.pscFamilyRepresentative{font-size:11px;line-height:1.4;color:#61706b;margin:4px 0 7px}
.pscFamilyStockMeta{display:block;font-size:11px;color:#61706b;margin-top:4px}
.pscFamilyNoPhoto .productVisual,.pscFamilyNoPhoto .publicCatalogueVisual{display:none}
.pscFamilyNoPhoto .canvaCardBody{padding-top:20px}
.pscFamilyVariantList[open]{max-height:280px;overflow:auto}
@media(max-width:480px){.pscFamilyVariantList li{font-size:12px}.pscFamilyVariantList .pscVariantPrice{max-width:90px}}
.pscFamilyRepresentative small{display:block;margin-top:3px;font-size:inherit;line-height:1.4}

.pscInboxToolbar{margin-bottom:24px}.pscMailbox>label{display:block;margin:20px 0}.pscMailbox>label input{width:100%}.pscInboxRow{padding:20px 0;border-bottom:1px solid var(--line,#ddd8cf)}.pscInboxOpen{display:block;width:100%;background:none;border:0;text-align:left;padding:0;color:inherit;cursor:pointer}.pscInboxOpen b{display:block;font-size:18px}.pscInboxOpen span,.pscInboxOpen small{display:block;margin-top:6px}.pscInboxOpen p{color:#777}.pscInboxRow .wsActions{margin:12px 0}.pscContactPrompt{display:inline-block;background:#edf6f3;border:1px solid #c8dfd8;border-radius:8px;padding:7px 10px;color:#175e55;cursor:pointer;margin:4px 5px 0 0}.pscMailAddressExtras{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wsDialog [data-recipient-suggestions] button{display:block;width:100%;text-align:left;margin:4px 0}.pscMailbox .wsActions{flex-wrap:wrap}@media(max-width:600px){.pscMailAddressExtras{grid-template-columns:1fr}.pscInboxRow .button{font-size:13px;padding:9px 12px}.pscInboxOpen b{font-size:16px}.pscContactPrompt{max-width:100%;overflow-wrap:anywhere}}

.pscMailSpinner{display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:middle;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pscMailSpin .8s linear infinite}@keyframes pscMailSpin{to{transform:rotate(360deg)}}
.wsDialog.pscEmailSuccess{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(360px,calc(100vw - 40px));max-height:80vh;padding:32px;text-align:center;border:1px solid #d9e9df;border-radius:20px;box-sizing:border-box;box-shadow:0 20px 70px #0002}.pscEmailSuccess::backdrop{background:#12251b25}.pscEmailSuccessIcon{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:#e7f5ec;color:#258447;display:grid;place-items:center}.pscEmailSuccessIcon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.pscEmailSuccess h2{font-size:24px;margin:0 0 12px}.pscEmailSuccess p{font-size:14px;line-height:1.5}.pscEmailSuccess .button{margin-top:16px}.pscMailSchedule{margin-top:20px;padding:16px;border:1px solid #d6e2de;border-radius:12px}.pscMailSchedule input{width:100%;min-width:0}.pscMailSchedule p{font-size:13px;line-height:1.5}@media(prefers-reduced-motion:reduce){.pscMailSpinner{animation:none}}

/* Shared interface foundation: the same paper, type, rules and calm spacing as Workshop / Our Model. */
.appShell.pscOperatingShell.v381Shell{--ps-paper:#f6f7f6;--ps-ink:#1b1d1c;--ps-muted:#6b7068;--ps-line:#e0e4e1;--ps-accent:#087c75;display:block!important;min-height:100dvh;background:var(--ps-paper)!important;color:var(--ps-ink);font-family:'DM Sans',Arial,sans-serif!important}
.appShell.pscOperatingShell.v381Shell :is(h1,h2,h3,p,button,input,select,textarea,td,th,label,a){font-family:inherit!important}
.appShell.pscOperatingShell.v381Shell .sidebar{position:fixed!important;inset:0 auto 0 0!important;width:224px!important;height:100dvh!important;padding:24px 16px!important;background:var(--ps-paper)!important;border:0!important;border-right:1px solid var(--ps-line)!important;border-radius:0!important;box-shadow:none!important;overflow:auto!important;transform:none!important;z-index:1001!important}
.appShell.pscOperatingShell.v381Shell .sidebarTop{display:grid!important;justify-items:start;gap:16px;margin:0 10px 30px;padding:0!important;border:0!important}
.appShell.pscOperatingShell.v381Shell .sidebarTop .brand{width:100%;height:auto;justify-content:start!important}.appShell.pscOperatingShell.v381Shell .sidebarTop img{max-width:138px!important;height:auto!important;max-height:100px;object-fit:contain}
.psWorkspaceCaption{font-size:10px;color:#6b7068;letter-spacing:.12em;font-weight:600;display:block}
.appShell.pscOperatingShell.v381Shell .iconNav{display:grid;gap:5px;padding:0!important}.appShell.pscOperatingShell.v381Shell .navLink{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:46px!important;height:auto!important;padding:12px!important;margin:0!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:#525e57!important;text-align:left!important;white-space:normal!important}
.appShell.pscOperatingShell.v381Shell .navLink .navLabel{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;font-size:14px!important;font-weight:500!important;white-space:normal!important;pointer-events:auto!important;color:inherit!important}
.appShell.pscOperatingShell.v381Shell .navLabel:before,.appShell.pscOperatingShell.v381Shell .navLabel:after{display:none!important}.appShell.pscOperatingShell.v381Shell .navIcon,.appShell.pscOperatingShell.v381Shell .navIcon svg{flex-shrink:0;width:21px!important;height:21px!important}
.appShell.pscOperatingShell.v381Shell .navLink.active{background:#e6efea!important;color:#0b6d62!important;border-color:transparent!important}.appShell.pscOperatingShell.v381Shell .navLink:hover{background:#eef1ee!important}
.appShell.pscOperatingShell.v381Shell .sidebarFooter{display:grid;gap:4px;margin:28px 0 0;padding:18px 0 0!important;border-top:1px solid var(--ps-line);position:static!important}.appShell.pscOperatingShell.v381Shell .sidebarFooter .navLink{font-size:12px!important;min-height:42px!important}
.appShell.pscOperatingShell.v381Shell .mainArea{display:block!important;margin-left:224px!important;width:calc(100% - 224px)!important;min-width:0;background:transparent!important;padding:0!important}
.appShell.pscOperatingShell.v381Shell .topbar{position:relative!important;inset:auto!important;width:auto!important;max-width:1440px;margin:0 auto!important;min-height:88px!important;height:auto!important;display:flex!important;align-items:center;gap:20px;padding:20px 36px!important;border:0!important;border-bottom:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.appShell.pscOperatingShell.v381Shell .topbarBrandSlot{display:none!important}.appShell.pscOperatingShell.v381Shell .topbarAdminTitle{font-size:16px!important;gap:10px}.appShell.pscOperatingShell.v381Shell .topbarAdminTitle>span{font-size:11px;color:#718174;letter-spacing:.06em}.appShell.pscOperatingShell.v381Shell .topbarActions{margin-left:auto;min-width:0}.appShell.pscOperatingShell.v381Shell .userPill{border:0!important;padding:0!important;background:none!important;box-shadow:none!important}.appShell.pscOperatingShell.v381Shell .userPill b{font-size:14px!important}.appShell.pscOperatingShell.v381Shell .userPill small{font-size:11px!important}
.appShell.pscOperatingShell.v381Shell .contentWrap{width:100%!important;max-width:1440px!important;margin:0 auto!important;padding:38px 36px 72px!important;min-width:0}.appShell.pscOperatingShell.v381Shell h1{font-size:clamp(30px,3.3vw,44px)!important;line-height:1.12!important;letter-spacing:-1.3px!important;font-weight:550!important;margin:0 0 14px!important}.appShell.pscOperatingShell.v381Shell h2{font-size:22px!important;line-height:1.25!important;letter-spacing:-.5px!important;font-weight:550!important}.appShell.pscOperatingShell.v381Shell h3{font-size:17px!important;line-height:1.35!important;font-weight:600!important}.appShell.pscOperatingShell.v381Shell p{font-size:15px;line-height:1.65!important;color:#626d64;overflow-wrap:anywhere}.appShell.pscOperatingShell.v381Shell .eyebrow,.appShell.pscOperatingShell.v381Shell .wsEyebrow{font-size:10px!important;letter-spacing:.11em!important;font-weight:650!important;color:var(--ps-accent)!important}
.appShell.pscOperatingShell.v381Shell .pageHeader,.appShell.pscOperatingShell.v381Shell .wsHeader{margin:0 0 30px!important;align-items:flex-start!important}.appShell.pscOperatingShell.v381Shell .pageHeader>div>p,.appShell.pscOperatingShell.v381Shell .wsHeader>div>p{max-width:66ch}.appShell.pscOperatingShell.v381Shell .panel,.appShell.pscOperatingShell.v381Shell .wsPanel{border:0!important;background:transparent!important;border-radius:0!important;padding:24px!important;box-shadow:none!important;min-width:0}.appShell.pscOperatingShell.v381Shell .panelHeader{padding:0 0 16px!important;border:0!important;margin:0!important}.appShell.pscOperatingShell.v381Shell .panelHeader h2{margin:0!important}
.appShell.pscOperatingShell.v381Shell .button,.appShell.pscOperatingShell.v381Shell [data-psc-workspace] button,.appShell.pscOperatingShell.v381Shell [data-inbox-workspace] button{min-height:44px;border-radius:8px!important;font-size:14px!important;font-weight:550!important;box-shadow:none!important}.appShell.pscOperatingShell.v381Shell .button.primary,.appShell.pscOperatingShell.v381Shell .button.dark,.appShell.pscOperatingShell.v381Shell .button.solid{background:#143d36!important;color:#fff!important;border-color:#143d36!important}.appShell.pscOperatingShell.v381Shell .button.outline{border:1px solid #c7d1c9!important;background:transparent!important;color:#244b40!important}
.appShell.pscOperatingShell.v381Shell :is(button,a,input,select,textarea):focus-visible,.wsDialog :is(button,a,input,select,textarea):focus-visible{outline:3px solid #24a397!important;outline-offset:3px}
.appShell.pscOperatingShell.v381Shell input:not([type=checkbox]):not([type=radio]):not([data-global-search]),.appShell.pscOperatingShell.v381Shell select,.appShell.pscOperatingShell.v381Shell textarea{font-size:15px!important;min-height:44px;border-radius:8px!important;background:#fff!important;border:1px solid #cdd5cc!important;min-width:0;max-width:100%}.appShell.pscOperatingShell.v381Shell .wsPill{background:#edf2e9;font-size:11px;padding:5px 9px;line-height:1.4}.appShell.pscOperatingShell.v381Shell .wsStats{gap:14px;margin-bottom:28px}.appShell.pscOperatingShell.v381Shell .wsStats button{border:0!important;background:#f3f4f1!important;padding:20px!important}.appShell.pscOperatingShell.v381Shell .wsStats b{font-size:32px;font-weight:500;color:#163f33}.appShell.pscOperatingShell.v381Shell .wsStats span{font-size:12px;line-height:1.4}
.psRoutine{display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid #d9d7cd;border-bottom:1px solid #d9d7cd;padding:16px 0;margin:0 0 26px;font-size:13px;color:#59685e}.psRoutine b{margin-right:10px;font-size:11px;color:#07897d;font-weight:600}.psSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.psSectionHead h2{margin:0 0 8px!important}.psSectionHead .button{flex-shrink:0}.psSectionHead p{margin:0!important;max-width:65ch}
.psDealList{display:grid;gap:14px}.psDeal{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid #e0e3d9;min-width:0}.psDeal h3{margin:12px 0 8px!important}.psDeal p{margin:6px 0!important;font-size:14px}.psDealNext{color:#2b5344!important}.psDealNext b{margin-right:6px;font-size:11px;text-transform:uppercase;color:#2f8270}.psDeal small{display:block;font-size:11px;color:#69756b;line-height:1.5}.psDealActions{flex:0 0 180px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:start}.psDealActions>b{font-size:20px;font-weight:500;line-height:1.2}.psDealActions small{font-size:10px}.psActionRow{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid #e0e3d9;padding:18px 0}.psActionRow h3{margin:5px 0!important}.psActionRow p{margin:6px 0!important;font-size:14px}.psActionRow small{font-size:10px;letter-spacing:.04em;color:#668474}.psActionRow>button{flex-shrink:0}.psQuietLinks{display:flex;flex-wrap:wrap;gap:12px}
.psSalesLead{display:grid;grid-template-columns:.6fr 1fr 1.1fr;gap:28px;padding:26px 0 32px;border-top:1px solid #d9d7cd;border-bottom:1px solid #d9d7cd;margin-bottom:28px}.psSalesLead small{display:block;font-size:10px;letter-spacing:.07em;color:#668171;line-height:1.5;margin-bottom:14px}.psSalesLead b{font-size:32px;font-weight:500;color:#173e32}.psSalesLead p{font-size:13px!important;line-height:1.65}.psAccountGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.psSetupCard{margin-bottom:0!important}.psSetupCard>small{color:#548474;font-size:10px;letter-spacing:.04em}.psSetupCard h2{margin-top:14px!important}.psSetupCard ol{padding:0;list-style:none;margin:22px 0}.psSetupCard li{font-size:13px;display:flex;gap:16px;justify-content:space-between;padding:10px 0;border-top:1px solid #e0e3d9;color:#627265}.psSetupCard li b{font-weight:500;text-align:right;color:#174b38;font-size:12px}.psSetupCard p{font-size:13px}
.psPortalWelcome{display:block;padding:18px 0 28px;margin-bottom:24px;border-bottom:1px solid #d9d7cd}.psPortalWelcome h1{max-width:28ch;margin-top:14px!important}.psPortalWelcome>div>p{max-width:55ch;font-size:16px}.psPortalWelcome>div>.psPortalApprovalNote{max-width:76ch;font-size:13px!important;line-height:1.5!important;color:#6b7068;margin:16px 0 0}
.psPortalAttention{padding:22px 0 30px;border-bottom:1px solid #d9d7cd;margin-bottom:32px}.psFirstRequest{display:flex;gap:24px;align-items:center;justify-content:space-between}.psFirstRequest p{max-width:60ch}.psFirstRequest a{flex-shrink:0}
.appShell.pscOperatingShell.v381Shell .pscHomeBrowse{padding:0;margin:32px 0}.appShell.pscOperatingShell.v381Shell .pscHomeCategoryColumns{gap:24px}.appShell.pscOperatingShell.v381Shell .pscHomeCategoryColumns>section{padding:0!important;border-radius:0!important;border:0!important;background:transparent!important}.appShell.pscOperatingShell.v381Shell .pscHomeCategoryColumns>section:nth-child(2){background:transparent!important}.appShell.pscOperatingShell.v381Shell .pscHomeCategory{min-height:82px!important;border-radius:8px!important;padding:16px!important;margin:10px 0!important}.appShell.pscOperatingShell.v381Shell .pscHomeCategory b{font-size:16px!important}.appShell.pscOperatingShell.v381Shell .pscHomeCategory small{font-size:12px!important}.appShell.pscOperatingShell.v381Shell .pscHomeCategoryIcon{height:42px;flex-basis:42px;border-radius:12px}.appShell.pscOperatingShell.v381Shell .pscHomeScopeNote{font-size:11px;line-height:1.6}.appShell.pscOperatingShell.v381Shell .pscHomeWorkshop{margin:32px 0;padding:28px 0!important;border:0;border-radius:0!important;background:transparent!important}.appShell.pscOperatingShell.v381Shell .pscHomeGuide{border-radius:8px!important;background:#fffefa!important}.appShell.pscOperatingShell.v381Shell .pscHomeGuideArt{height:74px;border-radius:8px!important}.appShell.pscOperatingShell.v381Shell .pscHomeGuideArt svg{width:44px;height:44px}.psPortalRepeat{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border-top:1px solid #d9d7cd;padding:28px 0}.psPortalRepeat>div{flex:1 1 350px}.psPortalRepeat p{max-width:58ch;margin-bottom:0!important}.psPortalRepeat h2{margin:12px 0!important}
.appShell.pscOperatingShell.v381Shell .publicCatalogueCard,.appShell.pscOperatingShell.v381Shell .productCard{border-radius:14px!important;box-shadow:none!important}.appShell.pscOperatingShell.v381Shell .requestTable,.appShell.pscOperatingShell.v381Shell .tableWrap{max-width:100%;overflow:auto}.appShell.pscOperatingShell.v381Shell .campusPill{border-radius:8px!important;box-shadow:none!important;border:1px solid #d7ded3!important;background:#fffefa!important}.appShell.pscOperatingShell.v381Shell .campusPill b{font-size:13px!important}.appShell.pscOperatingShell.v381Shell .campusPill small{font-size:10px!important}.appShell.pscOperatingShell.v381Shell .statusPill{font-size:11px!important;padding:5px 8px!important;border-radius:20px!important;letter-spacing:0!important}
.wsDialog{font-family:'DM Sans',Arial,sans-serif;width:min(720px,calc(100% - 28px));max-height:92dvh;overflow:auto;padding:28px;border:1px solid #d5dacd;border-radius:16px;background:#fffefa;color:#244537}.wsDialog h2{font-size:24px;font-weight:550;letter-spacing:-.5px}.wsDialog>p,.wsDialog form>p{font-size:13px;line-height:1.65;color:#687367}.wsDialog summary{font-size:13px;font-weight:550;cursor:pointer;margin:10px 0 16px}.wsDialog fieldset{border:0;border-top:1px solid #dce2d6;padding:18px 0}.wsDialog legend{font-size:13px}.wsDialog input[type=checkbox]{width:18px!important;min-height:18px;accent-color:#188372}
/* Public supporting pages use the editorial scale already established by Model / Workshop. */
.publicPage:not(.workshopPage):not(.model43Page):not(.model17Page){background-color:#f6f7f6}.publicPage:not(.workshopPage):not(.model43Page):not(.model17Page) .publicPageHero{padding:64px 0 48px!important}.publicPage:not(.workshopPage):not(.model43Page):not(.model17Page) .publicPageHero h1{font-size:clamp(38px,5.2vw,70px)!important;line-height:1.06!important;letter-spacing:-2px!important;font-weight:550!important;max-width:18ch}.publicPage:not(.workshopPage):not(.model43Page):not(.model17Page) .publicPageHero>p{font-size:17px!important;line-height:1.7!important;max-width:65ch;color:#626b60}.publicPage .publicSection{padding-top:42px;padding-bottom:42px}.publicPage .publicCta{border:0!important;border-radius:8px!important;box-shadow:none!important}.home47 .h47Category{border:0!important;border-radius:8px!important;box-shadow:none!important}.home47 .h47HeroBody{line-height:1.65!important}.start16Page .start16FormWrap,.contact39Page .contactFormPanel{border:0!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:1200px){.appShell.pscOperatingShell.v381Shell .contentWrap{padding:30px 26px 60px!important}.appShell.pscOperatingShell.v381Shell .topbar{padding:18px 26px!important}.psPortalWelcome{gap:28px}.psSalesLead{grid-template-columns:.6fr 1fr}.psSalesLead>div:last-child{grid-column:1/-1}.psDealActions{flex-basis:160px}}
@media(max-width:980px){.appShell.pscOperatingShell.v381Shell .sidebar{width:min(290px,86vw)!important;transform:translateX(-100%)!important;transition:transform .2s ease!important}.appShell.pscOperatingShell.v381Shell .sidebar.sidebarOpen{transform:translateX(0)!important}.appShell.pscOperatingShell.v381Shell .mainArea{margin-left:0!important;width:100%!important}.appShell.pscOperatingShell.v381Shell .mobileMenu{display:inline-flex!important;flex-shrink:0}.appShell.pscOperatingShell.v381Shell .topbar{min-height:74px!important}.appShell.pscOperatingShell.v381Shell .sidebar .mobileClose{display:flex!important;position:absolute;right:14px;top:14px}.appShell.pscOperatingShell.v381Shell .mobileOverlay.show{z-index:1000!important}.psPortalWelcome{grid-template-columns:1fr}.psPortalWelcome h1{max-width:none!important}.psPortalWelcome aside{max-width:600px;width:100%}.appShell.pscOperatingShell.v381Shell .topbarSearch{min-width:0;flex:1}.appShell.pscOperatingShell.v381Shell .accountGroupName{max-width:200px}.psAccountGrid{grid-template-columns:1fr}}
@media(max-width:600px){.appShell.pscOperatingShell.v381Shell .contentWrap{padding:26px 18px 50px!important}.appShell.pscOperatingShell.v381Shell .topbar{padding:16px 18px!important;gap:12px}.appShell.pscOperatingShell.v381Shell h1{font-size:32px!important}.appShell.pscOperatingShell.v381Shell h2{font-size:21px!important}.appShell.pscOperatingShell.v381Shell .panel,.appShell.pscOperatingShell.v381Shell .wsPanel{padding:20px!important}.appShell.pscOperatingShell.v381Shell .wsStats{gap:10px}.appShell.pscOperatingShell.v381Shell .wsStats button{padding:16px!important}.psSectionHead{display:block}.psSectionHead>button{margin-top:12px}.psDeal{display:block}.psDealActions{margin-top:16px;display:grid;grid-template-columns:1fr 1fr}.psDealActions>small{grid-column:1/-1}.psDealActions>b{grid-column:1/-1}.psActionRow{display:block}.psActionRow>button{margin-top:10px}.psSalesLead{grid-template-columns:1fr;gap:22px}.psRoutine{gap:14px;font-size:12px}.psPortalWelcome{padding-top:8px;gap:24px}.psPortalWelcome .wsActions{display:grid}.psFirstRequest{display:block}.psFirstRequest a{display:inline-flex;margin-top:10px}.appShell.pscOperatingShell.v381Shell .pscHomeCategoryColumns{grid-template-columns:1fr;gap:18px}.appShell.pscOperatingShell.v381Shell .pscHomeWorkshop{display:block;padding:22px!important}.appShell.pscOperatingShell.v381Shell .pscHomeWorkshopGuides{margin-top:24px;grid-template-columns:1fr}.psPortalRepeat{display:grid}.psPortalRepeat>div{min-width:0}.appShell.pscOperatingShell.v381Shell .userPill .compactUser>span:last-child,.appShell.pscOperatingShell.v381Shell .topbar .userPill>span:last-child{display:none!important}.wsDialog{padding:22px}.psSetupCard li{display:block}.psSetupCard li b{display:block;text-align:left;margin-top:5px}.publicPage:not(.workshopPage):not(.model43Page):not(.model17Page) .publicPageHero{padding:36px 0 30px!important}.publicPage:not(.workshopPage):not(.model43Page):not(.model17Page) .publicPageHero h1{letter-spacing:-1.2px!important}.publicPage .publicSection{padding-top:28px;padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.appShell.pscOperatingShell.v381Shell .sidebar{transition:none!important}}

/* Open operational sections; backgrounds distinguish interactive tiles without nested outlines. */
.appShell.pscOperatingShell.v381Shell :is(.customerOrderCard,.orderDocumentsPanel,.documentsIndexPanel,.assetCard,.resourceCard,.customRequestPanel,.quoteStatePanel,.cmsPreviewPanel,.cmsProductMasterPanel,.cmsFormSection,.cmsMediaPanel,.cmsPublishPanel,.familyOptionCard,.fulfilCard,.mailIdentityCard,.mailTemplateCard,.wsSuggestion,.wsEmpty,.psPortalWelcome aside){border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.appShell.pscOperatingShell.v381Shell :is(.actionCard,.v26ActionCard,.psPortalActions>button,.wsCustomer,.wsResource,.wsRequest){border:0!important;border-radius:8px!important;box-shadow:none!important;background:#f3f4f1!important}
.appShell.pscOperatingShell.v381Shell :is(.wsPill,.statusPill,.badge,.chip){border-radius:4px!important;box-shadow:none!important}
.appShell.pscOperatingShell.v381Shell :is(.v26ActionIcon,.actionIcon,.pscHomeCategoryIcon){border:0!important;border-radius:0!important;background:transparent!important}

/* Shared Workshop module cards and a consistent editorial type scale.
   Kept after the V50 styles so earlier presentation rules cannot compress text. */
.publicPage.workshopPage {
  --workshop-title:56px;
  --workshop-heading:32px;
  --workshop-card:22px;
  --workshop-body:16px;
  --workshop-meta:12px;
}
.publicPage.workshopPage :is(.workshopHeroGridV50,.workshopModuleHeroV50,.workshopArticleHeaderV50) h1 {
  font-size:var(--workshop-title)!important;line-height:1.08!important;letter-spacing:-.045em!important;font-weight:550!important;
}
.publicPage.workshopPage :is(.workshopHeroGridV50,.workshopSectionHeadV50,.workshopPrincipleV50,.workshopArticleBody) h2 {
  font-size:var(--workshop-heading)!important;line-height:1.2!important;letter-spacing:-.035em!important;font-weight:550!important;
}
.publicPage.workshopPage :is(.workshopGuideCardV50 h3,.workshopModuleCopyV50 strong) {
  font-size:var(--workshop-card)!important;line-height:1.25!important;letter-spacing:-.025em!important;font-weight:600!important;
}
.publicPage.workshopPage :is(.workshopHeroGridV50 p,.workshopSectionHeadV50>p,.workshopPrincipleV50 p,.workshopModuleHeroV50 p,.workshopModuleCopyV50 small,.workshopGuideCardV50 p,.workshopArticleHeaderV50 p,.workshopArticleBody p,.workshopArticleBody li,.workshopArticleRailV50>p,.workshopSignatureV50 p) {
  font-size:var(--workshop-body)!important;line-height:1.6!important;
}
.publicPage.workshopPage :is(.workshopHeroRuleV50>span,.workshopHeroRuleV50>small,.workshopSectionHeadV50 span,.workshopModuleTopV50>b,.workshopModuleFootV50,.workshopGuideMetaV50 b,.workshopGuideMetaV50 small,.workshopGuideFootV50,.workshopSearchStripV50>div:last-child,.workshopAllGuidesV50>summary,.workshopAllGuidesV50>summary b,.workshopArticleToplineV50 button,.workshopArticleToplineV50 b,.workshopArticleLeadV50>aside,.workshopArticleActions button,.workshopArticleRailV50>span,.workshopArticleRailV50>button,.workshopSignatureV50 span,.workshopMedicalNote) {
  font-size:var(--workshop-meta)!important;line-height:1.45!important;
}
.publicPage.workshopPage .workshopHeroGridV50 {grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.publicPage.workshopPage .workshopPrincipleV50 {grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:48px!important;align-items:start!important;padding:32px 0!important}
.publicPage.workshopPage .workshopPrincipleV50 h2 {max-width:none!important;margin:0!important;text-wrap:balance}
.publicPage.workshopPage .workshopPrincipleV50 p {grid-column:auto!important;max-width:58ch!important;margin:0!important}
.publicPage.workshopPage .workshopModuleCopyV50 :is(strong,small) {max-width:none}
.publicPage.workshopPage .workshopModuleCardV50 {gap:20px;min-height:230px}
/* The customer dashboard uses the same seven modules and the same native routes. */
.appShell.pscOperatingShell.v381Shell .psPortalWorkshop {display:block!important;padding:28px!important}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopHead {display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopHead h2 {margin:0 0 8px!important}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopHead p {font-size:16px!important;max-width:64ch;margin:0!important}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopHead>button {flex-shrink:0}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleCardV50 {padding:22px;min-height:230px;gap:20px}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleCopyV50 strong {font-size:22px!important;line-height:1.25!important;max-width:none;font-weight:600;letter-spacing:-.025em}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleCopyV50 small {font-size:16px!important;line-height:1.6!important;max-width:none}
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid :is(.workshopModuleTopV50>b,.workshopModuleFootV50) {font-size:12px!important;line-height:1.45!important}
@media(max-width:1200px) {
  .appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1050px) {
  .publicPage.workshopPage .workshopHeroGridV50 {grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px) {
  .publicPage.workshopPage {--workshop-title:36px;--workshop-heading:28px}
  .publicPage.workshopPage .workshopPrincipleV50 {grid-template-columns:1fr!important;gap:20px!important}
  .publicPage.workshopPage .workshopPrincipleV50 h2 {max-width:none!important}
  .appShell.pscOperatingShell.v381Shell .psPortalWorkshopHead {display:block}
  .appShell.pscOperatingShell.v381Shell .psPortalWorkshopHead>button {margin-top:18px}
}
@media(max-width:600px) {
  .appShell.pscOperatingShell.v381Shell .psPortalWorkshop {padding:20px!important}
  .appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid {grid-template-columns:1fr}
  .appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleCardV50 {min-height:200px}
}
/* Keep titles and descriptions aligned across module rows. */
.publicPage.workshopPage .workshopModuleCopyV50,
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleCopyV50 {margin-top:0!important;flex:1}
.publicPage.workshopPage .workshopModuleCopyV50 strong,
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleCopyV50 strong {min-height:2.5em}
.publicPage.workshopPage .workshopModuleFootV50,
.appShell.pscOperatingShell.v381Shell .psPortalWorkshopGrid .workshopModuleFootV50 {margin-top:auto}

/* Match the Workshop's white grid-paper backing in the clinic dashboard. */
.appShell.pscOperatingShell.v381Shell .psPortalWorkshop {
 background-color:#fff!important;
 background-image:linear-gradient(rgba(35,35,30,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(35,35,30,.032) 1px,transparent 1px)!important;
 background-size:24px 24px!important;
}

/* Compact category navigation, not product listings. Replace the old oversized
   category rule here rather than adding another stylesheet to the cascade. */
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedRail {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated {
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:12px!important;
  min-width:0;
  min-height:140px!important;
  padding:18px 12px!important;
  text-align:center!important;
}
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon {
  position:static!important;
  width:48px!important;
  height:48px!important;
  flex:0 0 48px;
  margin:0!important;
}
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy {
  position:static!important;
  inset:auto!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon img {
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
/* The old Vitals artwork used an absolute pseudo-element. Keep the approved
   artwork in the same in-flow icon slot as the other compact categories. */
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated[data-go$="/vitals"] .clinicNeedIcon {
  visibility:visible!important;
}
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated[data-go$="/vitals"] .clinicNeedIcon img {
  content:url('/assets/clinical-icons/vitals-assessment-exact.png?v=4550')!important;
}
.appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy b {
  display:block!important;
  -webkit-line-clamp:unset;
  overflow:visible!important;
  overflow-wrap:anywhere;
  max-width:none!important;
  width:100%!important;
  min-height:0;
  font-size:16px!important;
  line-height:1.3!important;
  letter-spacing:-.02em!important;
  text-wrap:balance;
}
@media(max-width:760px) {
  .appShell.pscOperatingShell.v381Shell .v26CatalogueLanding {padding:0!important}
  .appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedRail {gap:8px!important}
  .appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated {
    min-height:120px!important;
    padding:12px 6px!important;
    gap:8px!important;
  }
  .appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedIcon {
    width:36px!important;
    height:36px!important;
    flex-basis:36px;
  }
  .appShell.pscOperatingShell.v381Shell .v26CatalogueLanding .clinicNeedCardIllustrated .clinicNeedCopy b {font-size:13px!important}
}

/* Composite controls own their border; inner fields must never become a second box. */
:is(.publicPage,.publicLanding,.appShell) :is(.topbarSearch,.mobileSearchInput,.searchInput,.workshopSearch){box-sizing:border-box;min-width:0;align-items:center!important;gap:12px!important}
.appShell.pscOperatingShell.v381Shell :is(.topbarSearch,.mobileSearchInput,.searchInput,.workshopSearch) input:not([type=checkbox]):not([type=radio]),
:is(.publicPage,.publicLanding) :is(.searchInput,.workshopSearch) input{
  flex:1 1 0!important;width:100%!important;min-width:0!important;max-width:100%!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;outline:none!important;margin:0!important;padding:0!important;
  height:100%!important;min-height:0!important;align-self:center!important;box-sizing:border-box;
}
:is(.publicPage,.publicLanding,.appShell) :is(.topbarSearch,.mobileSearchInput,.searchInput,.workshopSearch):focus-within{
  border-color:#7ca7a1!important;box-shadow:0 0 0 3px rgba(21,125,119,.12)!important;
}
.appShell.pscOperatingShell.v381Shell .topbarSearch{height:48px!important;min-height:48px!important;padding:0 16px!important;flex:1 1 280px;min-width:0!important}
.appShell.pscOperatingShell.v381Shell .mobileSearchInput{height:44px!important;min-height:44px!important;padding:0 14px!important;overflow:hidden}
.appShell.pscOperatingShell.v381Shell :is(.topbarSearch,.mobileSearchInput) input{font-size:16px!important;line-height:1.4!important}
:is(.topbarSearch,.mobileSearchInput,.searchInput,.workshopSearch) :is(.searchIcon,>span:first-child){flex-shrink:0}
.appShell.pscOperatingShell.v381Shell .topbarActions{display:flex!important;align-items:center!important;gap:12px!important;flex-shrink:0}
.appShell.pscOperatingShell.v381Shell .accountSwitcherButton{box-sizing:border-box;align-items:center!important;line-height:1.3!important}
.appShell.pscOperatingShell.v381Shell :is(.avatarDot,.mobileAccountDot){flex-shrink:0;line-height:1!important}
/* Allow shared grid/card/form children to shrink instead of escaping their column. */
:is(.publicPage,.publicLanding,.appShell) :is(.filterBar,.headerActions,.panelHeader,.wsActions){gap:12px;min-width:0}
:is(.publicPage,.publicLanding,.appShell) :is(.filterBar,.headerActions,.panelHeader,.wsActions)>*{min-width:0;box-sizing:border-box}
:is(.publicPage,.appShell) :is(.panel,.wsPanel,.contactCard,.psSetupCard){box-sizing:border-box;min-width:0}
:is(.publicPage,.appShell) :is(input,select,textarea){box-sizing:border-box;max-width:100%}
/* Consistent geometry belongs to the shared controls, not individual historical skins. */
#app :is(.publicPage,.publicLanding,.home47,.appShell) :is(.button,.iconBtn,.publicPortalBtn,.publicMenuButton,.accountSwitcherButton,.input,.textarea,select,.searchInput,.workshopSearch,.workshopSearchV50){border-radius:8px!important}
#app .appShell.pscOperatingShell.v381Shell :is(.topbarSearch,.mobileSearchInput){height:48px!important;min-height:48px!important;border:1px solid #dfe2e0!important;border-radius:8px!important;background:white!important;box-shadow:none!important}
#app .appShell.pscOperatingShell.v381Shell .portalHeaderBar .accountSwitcherButton{width:auto!important;max-width:260px!important;min-width:104px!important;min-height:44px!important;height:auto!important;padding:6px 12px!important;gap:10px!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;display:flex!important;justify-content:center!important;color:#1b1d1c!important}
.accountControlLabel{font-size:14px;font-weight:500;line-height:1.4}
#app .appShell.pscOperatingShell.v381Shell .portalHeaderBar .accountChevron{display:inline!important;color:#626864!important}
#app .appShell :is(.mobileMenu,.mobileClose){border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;min-width:44px!important;min-height:44px!important}
#app .appShell [data-basket] b{display:inline!important;min-width:1ch!important;height:auto!important;padding:0!important;margin-left:8px!important;background:transparent!important;color:inherit!important;border:0!important;border-radius:0!important;font-size:inherit!important;font-weight:600!important;line-height:inherit!important;font-variant-numeric:tabular-nums}
#app .appShell .accountSwitcherMenu{border:0!important;border-radius:12px!important;box-shadow:0 12px 36px rgba(27,29,28,.12)!important;padding:16px!important;background:white!important;max-width:calc(100vw - 36px)!important}
#app .appShell .accountSchoolOption{border:0!important;border-radius:8px!important;min-height:48px!important}
#app .appShell .accountSignOut{display:block;width:100%;text-align:left;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#1b1d1c;font-size:14px}
#app .appShell .accountCurrentSite{font-size:14px;padding:8px 12px;line-height:1.5}
@media(max-width:980px){
 #app .appShell.pscOperatingShell.v381Shell .portalHeaderBar{min-height:68px!important;padding-top:12px!important;padding-bottom:12px!important}
 #app .appShell.pscOperatingShell.v381Shell .mobileSearchRow{gap:10px!important;padding:0 18px 18px!important;border:0!important;background:transparent!important}
 #app .appShell.pscOperatingShell.v381Shell .mobileCartButton{height:48px!important;min-height:48px!important;min-width:108px!important;padding:0 14px!important;border:1px solid #191b1a!important;border-radius:8px!important;background:#191b1a!important;color:white!important;display:inline-flex;align-items:center;justify-content:center;font-size:14px!important;font-weight:500!important;box-sizing:border-box}
 #app .appShell.pscOperatingShell.v381Shell .portalHeaderBar .accountSwitcherButton{max-width:160px!important;height:44px!important;padding:0 12px!important;gap:8px!important}
}

#app .adminShell .portalHeaderBar .avatarDot{display:none!important}
#app .adminShell .portalHeaderBar .userPill>span:last-child{display:block!important}

/* Direction-aware navigation retains its original space and the real controls. */
#app [data-ps-scroll-header]{position:sticky!important;top:0!important;z-index:100!important;align-self:start;transform:translateY(0);background:var(--v48-bg,#f6f7f6)!important;transition:transform 180ms cubic-bezier(.22,.75,.2,1)!important;will-change:transform}
#app .psAdaptiveHeader .portalHeaderBar{position:static!important;top:auto!important}
#app [data-ps-scroll-header].psChromeHidden{transform:translateY(calc(-100% - 2px));pointer-events:none}
#app [data-ps-scroll-header]:focus-within{transform:translateY(0);pointer-events:auto}
/* Compact product enquiry link stays in the detail content, above supporting sections. */
.professionalProductDetail .psWhatsAppShortcut{display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:100%;margin:4px 0 12px;padding:8px 0;box-sizing:border-box;border:0;border-radius:4px;background:transparent;color:#535b57;font:500 13px/1.4 'DM Sans',Arial,sans-serif;text-decoration:none;text-underline-offset:3px}
.professionalProductDetail .psWhatsAppShortcut svg{width:16px;height:16px;flex-shrink:0}
.professionalProductDetail .psWhatsAppShortcut:hover{color:#1b1d1c;text-decoration:underline}
.professionalProductDetail .psWhatsAppShortcut:focus-visible{outline:2px solid #087d75;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#app [data-ps-scroll-header]{transition:none!important}}
@media print{.psWhatsAppShortcut{display:none!important}#app [data-ps-scroll-header]{position:static!important;transform:none!important}}
#app .customerShell .psIntelligentSearch input[data-cat-q]{font-size:16px!important}

/* Professional catalogue presentation. Component rules live here; the shared
   photograph standard remains the sole owner of image framing. */
:root{--ps-ui-ink:#1b1d1c;--ps-ui-muted:#626864;--ps-ui-line:#e0e4e1;--ps-ui-soft:#f5f6f5;--ps-ui-accent:#087d75;--ps-ui-action:#191b1a;--ps-ui-control:48px;--ps-ui-radius:8px}
#app .customerShell .v25ProductGrid:has(.pscEditorialCard){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px 24px!important;align-items:stretch!important}
#app .customerShell .productCard.pscEditorialCard{display:flex!important;flex-direction:column!important;min-width:0!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:14px!important;margin:0!important;border:1px solid var(--ps-ui-line)!important;border-radius:var(--ps-ui-radius)!important;box-shadow:none!important;background:white!important;overflow:visible!important;grid-column:auto!important;grid-row:auto!important}
#app .customerShell .pscEditorialCard .exactCanvaBody{display:block!important;flex:1!important;min-height:0!important;padding:8px 0 12px!important;border:0!important;background:transparent!important}
#app .customerShell .pscEditorialCard .productTitleButton{display:block!important;width:100%!important;height:auto!important;min-height:0!important;text-align:left!important;padding:0!important;margin:0!important;background:none!important;border:0!important;background:transparent!important}
#app .customerShell .pscEditorialCard .productTitleButton h3{margin:0!important;font-size:17px!important;line-height:1.4!important;font-weight:600!important;color:var(--ps-ui-ink)!important;min-height:0!important}
#app .customerShell .pscEditorialCard .pack{margin:8px 0!important;font-size:13px!important;line-height:1.5!important;color:var(--ps-ui-muted)!important}
.catalogueIdentityLine{min-height:20px;margin-top:14px;font-size:12px;line-height:1.5;color:var(--ps-ui-muted)}
.catalogueOptionCount{display:block;font-size:12px;line-height:1.5;color:var(--ps-ui-muted);margin-top:8px}
#app .customerShell .pscEditorialCard .exactCanvaActions{margin-top:auto!important;padding:8px 0 0!important;border:0!important;border-top:1px solid var(--ps-ui-line)!important;display:flex!important;align-items:center!important;gap:12px!important;background:none!important}
#app .customerShell .pscEditorialCard .canvaDetails{display:flex!important;align-items:center!important;justify-content:space-between!important;flex:1!important;width:auto!important;min-width:0!important;gap:10px!important;min-height:44px!important;padding:10px 0!important;border:0!important;border-radius:0!important;background:none!important;font:500 14px/1.5 'DM Sans',Arial,sans-serif!important;color:var(--ps-ui-ink)!important;text-align:left!important}
.pscPricePreview{display:flex;flex-direction:column;gap:4px;margin:12px 0 0}
.pscPricePreview b{font-size:16px;line-height:1.4;font-weight:600}
.pscPricePreview :is(span,small){font-size:12px;line-height:1.5;color:var(--ps-ui-muted)}
.pscDhaLegend{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.6;color:var(--ps-ui-muted);margin:16px 0 24px}
.pscDhaLegend img{width:36px;height:36px;object-fit:contain;flex-shrink:0}
#app .customerShell .pscEditorialCard .pscRequirementBadge{position:absolute!important;top:12px!important;right:12px!important;bottom:auto!important;left:auto!important;padding:0!important;background:white!important;transform:none!important;z-index:3!important;border-radius:0!important}
#app .customerShell .pscEditorialCard .pscRequirementBadge .cardDhaIcon{position:static!important;width:32px!important;height:32px!important;object-fit:contain!important;padding:0!important;max-width:none!important;max-height:none!important}
.pscHomeDha{width:36px;height:36px;object-fit:contain;flex-shrink:0}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail{color:var(--ps-ui-ink);background:white!important;font-size:14px;line-height:1.6}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductHeader{padding:20px 28px!important;border-bottom:1px solid var(--ps-ui-line)!important;background:white!important;gap:16px!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductHeader h2{white-space:normal!important;overflow:visible!important;font-size:20px!important;line-height:1.35!important;letter-spacing:-.025em!important;font-weight:500!important;max-width:760px}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .eyebrow{display:block!important;font-size:11px!important;line-height:1.5!important;font-weight:500!important;letter-spacing:.04em!important;color:var(--ps-ui-muted)!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductGrid{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:40px!important;padding:28px!important;align-items:start!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .detailContentPane{padding:0!important;min-width:0!important;background:none!important;border:0!important;box-shadow:none!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .detailImagePane{padding:0!important;min-width:0!important;border:0!important;background:none!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .detailImageMeta{padding:14px 0!important;background:none!important;border:0!important;box-shadow:none!important;font-size:13px!important;line-height:1.6!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .detailImageMeta :is(span,small){font-size:12px!important;line-height:1.6!important;color:var(--ps-ui-muted)!important}
.professionalPurchaseIdentity h3{font-size:24px;line-height:1.3;letter-spacing:-.025em;font-weight:600;margin:6px 0 8px}
.professionalPurchaseIdentity p{font-size:14px;line-height:1.6;margin:0 0 20px;color:var(--ps-ui-muted)}
.professionalSelector{display:grid;gap:8px;margin:24px 0 28px}
.professionalSelector label{font-size:13px;font-weight:600;color:var(--ps-ui-ink)}
.professionalSelector :is(select,textarea){display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:48px;border:1px solid #a8bcb4;border-radius:var(--ps-ui-radius);background:white;padding:12px;font:400 15px/1.5 'DM Sans',Arial,sans-serif;color:var(--ps-ui-ink)}
.professionalSelector select{white-space:nowrap;text-overflow:ellipsis}
.professionalSelectionNote{font-size:12px;line-height:1.6;color:var(--ps-ui-muted);margin:3px 0 0;max-width:52ch}
.professionalAvailability{font-size:13px;line-height:1.6;color:var(--ps-ui-ink);font-weight:500;margin:14px 0}
.professionalCommercial{padding:4px 0 24px;border-bottom:1px solid var(--ps-ui-line)}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .pscRetailPriceNotice{border:0!important;background:var(--ps-ui-soft)!important;padding:12px 16px!important;font-size:12px!important;line-height:1.65!important;color:var(--ps-ui-muted)!important;border-radius:6px!important;margin:18px 0 0!important;box-shadow:none!important}
.professionalFacts{margin:30px 0}
.professionalFacts h3{font-size:15px;font-weight:600;margin:0 0 16px;color:var(--ps-ui-ink)}
.professionalFacts dl{margin:0;display:grid;gap:8px}
.professionalFacts dl>div{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:20px;font-size:13px;line-height:1.6}
.professionalFacts dt{color:var(--ps-ui-muted)}
.professionalFacts dd{margin:0;font-weight:500;overflow-wrap:anywhere}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productQuickFacts{display:flex!important;flex-wrap:wrap;gap:16px!important;padding:0!important;margin:20px 0!important;background:none!important;border:0!important;box-shadow:none!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productQuickFacts>div{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productQuickFacts span{font-size:11px!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productQuickFacts b{font-size:13px!important;font-weight:500!important;line-height:1.5!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productDisclosureList{background:none!important;border:0!important;padding:0!important;margin-top:24px!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productDisclosureList details{border:0!important;border-top:1px solid var(--ps-ui-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;margin:0!important;padding:0!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productDisclosureList summary{font-size:14px!important;font-weight:600!important;padding:18px 0!important;line-height:1.5!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productDisclosureList details>div{padding:0 0 18px!important;font-size:13px!important;line-height:1.7!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productStickyBar.professionalRequestBar{position:sticky!important;bottom:0!important;display:grid!important;grid-template-columns:minmax(100px,1fr) 142px minmax(200px,320px)!important;align-items:stretch!important;gap:8px 16px!important;padding:16px 28px max(16px,env(safe-area-inset-bottom))!important;background:white!important;border-top:1px solid var(--ps-ui-line)!important;box-shadow:none!important;z-index:5!important;flex-wrap:wrap}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalRequestBar .button{border-radius:var(--ps-ui-radius)!important;font-size:14px!important;min-height:var(--ps-ui-control)!important;line-height:20px!important;padding:12px 18px!important;white-space:normal!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalRequestBar .button.primary{background:var(--ps-ui-action)!important;border-color:var(--ps-ui-action)!important;color:white!important;grid-column:3;grid-row:2;width:100%;max-width:320px!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalRequestBar .button.primary.ux32-confirmed{background:#e5f5f1!important;color:#0a766f!important;border-color:#9bd8d1!important}
.requestQuantity{display:contents}
.professionalRequestBar>.button.light{grid-column:1;grid-row:2;justify-self:start}
.requestQuantityCaption{grid-column:2/-1;display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap;margin:0;font-size:12px;line-height:1.5;font-weight:600;color:var(--ps-ui-ink)}
.requestQuantityCaption>small{font-size:11px!important;color:var(--ps-ui-muted);display:block;margin:0;line-height:1.5!important;font-weight:400;overflow-wrap:anywhere}
.quantityStepper{grid-column:2;grid-row:2;display:flex;width:142px;max-width:100%;align-items:center;border:1px solid #a8bcb4;border-radius:var(--ps-ui-radius);overflow:hidden;background:white;height:auto;min-height:var(--ps-ui-control);box-sizing:border-box}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .quantityStepper :is(button,input){border:0!important;background:white!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:46px!important;height:auto!important;align-self:stretch;font:500 16px/1.5 'DM Sans',Arial,sans-serif!important;color:var(--ps-ui-ink)!important;box-sizing:border-box}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .quantityStepper button{width:44px!important;min-width:44px!important;cursor:pointer}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .quantityStepper input{width:52px!important;min-width:0!important;text-align:center!important;-moz-appearance:textfield}
.quantityStepper input::-webkit-inner-spin-button{appearance:none}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail :is(button,select,textarea,input):focus-visible{outline:2px solid var(--ps-ui-accent)!important;outline-offset:3px}
.pscFamilyHeaderDha{width:38px;height:38px;object-fit:contain;flex-shrink:0}
.pscFamilyRegulatoryTitle{display:flex;align-items:center;gap:12px}
.pscFamilyRegulatoryTitle img{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.pscFamilyPreview .catalogueImageEmpty{display:flex;justify-content:center;align-items:center;min-height:220px;padding:30px;box-sizing:border-box;font-size:14px;line-height:1.6;text-align:center;color:var(--ps-ui-muted)}
/* Shared operational controls: visual changes only, including administrative screens. */
#app .appShell :is(.panel,.wsPanel){box-shadow:none!important;border-color:var(--ps-ui-line)!important;border-radius:var(--ps-ui-radius)!important}
#app .appShell :is(.filterBar,.panelHeader){background:transparent!important;box-shadow:none!important}
:is(#app,[data-motion-ghost]) .requestDrawer :is(.qty button,.removeLink){min-height:44px;min-width:38px}
:is(#app,[data-motion-ghost]) .requestDrawer .requestLine{border:0!important;border-bottom:1px solid var(--ps-ui-line)!important;border-radius:0!important;box-shadow:none!important;padding:18px 0!important;background:none!important}
:is(#app,[data-motion-ghost]) .requestDrawer .basketInfo :is(b,span,small){line-height:1.5!important}
:is(#app,[data-motion-ghost]) .requestDrawer .basketInfo b{font-size:14px!important}
:is(#app,[data-motion-ghost]) .requestDrawer .basketInfo :is(span,small){font-size:12px!important}
@media(max-width:1100px){#app .customerShell .v25ProductGrid:has(.pscEditorialCard){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductGrid{grid-template-columns:minmax(0,1fr)!important;padding:20px!important;gap:24px!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductHeader{padding:16px 20px!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductHeader h2{font-size:18px!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productStickyBar.professionalRequestBar{gap:12px!important;padding:12px 16px max(12px,env(safe-area-inset-bottom))!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalRequestBar>.button.light{display:none!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .productStickyBar.professionalRequestBar{display:grid!important;grid-template-columns:142px minmax(0,1fr)!important;gap:8px 12px!important;align-items:stretch!important}
 .professionalRequestBar .requestQuantity{display:contents}
 .professionalRequestBar .requestQuantityCaption{grid-column:1/-1;display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap;margin:0}
 .professionalRequestBar .requestQuantityCaption>small{margin:0;max-width:none;font-weight:400}
 .professionalRequestBar .quantityStepper{grid-column:1;grid-row:2;height:auto;min-height:var(--ps-ui-control)}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalRequestBar .button.primary{grid-column:2;grid-row:2;width:100%!important;max-width:none!important;min-width:0!important;padding:4px 12px!important;line-height:18px!important}
 .professionalPurchaseIdentity h3{font-size:22px}
 .professionalFacts dl>div{gap:12px}
 #app .customerShell .pscEditorialCard .productTitleButton h3{font-size:15px!important}
}
@media(max-width:420px){#app .customerShell .v25ProductGrid:has(.pscEditorialCard){grid-template-columns:minmax(0,1fr)!important}}
/* One constrained scroll surface: historical mobile overlay rules must not push
   the sticky request action below the viewport on tablet-sized screens. */
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .fluidOverlay:has(.professionalProductDetail){display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;box-sizing:border-box!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .fluidProductShell:has(.professionalProductDetail){width:min(1120px,100%)!important;max-width:100%!important;max-height:calc(100dvh - 48px)!important;padding:0!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail{max-height:calc(100dvh - 48px)!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important;box-sizing:border-box!important}
@media(max-width:720px){
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .fluidOverlay:has(.professionalProductDetail){padding:0!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .fluidProductShell:has(.professionalProductDetail){width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 :is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail{max-height:100dvh!important}
}
.professionalCommercial>.pscOptionPrice{display:flex;flex-direction:column;gap:5px}
.professionalCommercial>.pscOptionPrice b{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--ps-ui-ink)}
.professionalCommercial>.pscOptionPrice small{font-size:12px;line-height:1.6;color:var(--ps-ui-muted)}
/* Let the existing search and request tools sit on the page without nested boxes. */
#app .customerShell :is(.psIntelligentSearch,.psLiveRequest){border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:20px 0!important}
#app .customerShell .psLiveRequest{border-left:1px solid var(--ps-ui-line)!important;padding-left:24px!important}
#app .customerShell :is(.categoryHero,.pscFamilyShelf){box-shadow:none!important;background:transparent!important}
@media(max-width:980px){#app .customerShell .psLiveRequest{border-left:0!important;padding-left:16px!important;padding-right:16px!important;background:white!important}}

/* Action hierarchy: neutral primary actions, outlined secondary actions, green accents. */
#app :is(.appShell,.publicCataloguePage) .button{
 min-height:var(--ps-ui-control)!important;box-sizing:border-box!important;padding:12px 18px!important;
 font-size:14px!important;line-height:20px!important;border-radius:var(--ps-ui-radius)!important;font-weight:500!important;
 align-items:center!important;justify-content:center!important;
}
#app :is(.appShell,.publicCataloguePage) :is(.button.primary,.button.dark,.semanticPrimary){background:var(--ps-ui-action)!important;border-color:var(--ps-ui-action)!important;color:#fff!important}
#app :is(.appShell,.publicCataloguePage) :is(.button.light,.button.outline){background:white!important;border:1px solid #cbd1cd!important;color:var(--ps-ui-ink)!important}
#app :is(.appShell,.publicCataloguePage) .iconBtn{min-height:44px!important;min-width:44px!important;box-sizing:border-box}
#app .customerShell .psLiveRequest h2{font-size:20px!important;line-height:1.3!important;font-weight:600!important;color:var(--ps-ui-ink)!important;margin-bottom:24px!important}
#app .customerShell .psLiveRequest dt{font-size:12px!important;line-height:1.5!important;font-weight:500!important;color:var(--ps-ui-muted)!important;margin-bottom:8px!important}
#app .customerShell .psLiveRequest dd{font-size:14px!important;line-height:1.5!important;color:var(--ps-ui-ink)!important}
#app .customerShell .psLiveRequest>small{display:block;font-size:12px!important;line-height:1.65!important;color:var(--ps-ui-muted)!important;max-width:42ch;margin:18px 0!important}
#app .customerShell .psLiveRequest .psScopeTotals{padding:16px 0!important;font-size:12px!important;color:var(--ps-ui-muted)!important}
#app .customerShell .psLiveRequest .psScopeTotals b{font-size:16px!important;color:var(--ps-ui-ink)!important;font-variant-numeric:tabular-nums}
#app .customerShell .psLiveRequest .psScopeMissing{font-size:13px!important;line-height:1.6!important;color:var(--ps-ui-ink)!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail>.fluidProductGrid .pscPricePreview>b{font-size:24px!important;line-height:1.3!important;font-weight:600!important;color:var(--ps-ui-ink)!important}
:is(#app,[data-psc-family-detail-root],[data-motion-ghost]) .professionalProductDetail .fluidProductHeader :is(.smallMuted,.mono){font-size:11px!important;line-height:1.5!important;color:var(--ps-ui-muted)!important;margin-top:6px}
@media(hover:hover) and (pointer:fine){
 #app :is(.appShell,.publicCataloguePage) :is(.button.primary,.button.dark):not(:disabled):hover,
 :is(#app,[data-psc-family-detail-root]) .professionalRequestBar .button.primary:not(.ux32-confirmed):hover{background:#303332!important;border-color:#303332!important;color:white!important}
}
#app .appShell .professionalRequestBar .button.primary.ux32-confirmed{background:#e5f5f1!important;color:#0a766f!important;border-color:#9bd8d1!important}

/* Public listings share the same single card and single photograph frame. */
#app .publicCatalogueCard{padding:14px!important;border:1px solid var(--ps-ui-line)!important;border-radius:var(--ps-ui-radius)!important;background:white!important;box-shadow:none!important;box-sizing:border-box}
#app .publicCatalogueCard .publicCatalogueBody{padding:14px 0 0!important;border:0!important;background:transparent!important}

/* Save lives in the action row, never over product photography or DHA marks. */
#app .wishlistToggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;position:static!important;min-width:44px!important;min-height:44px!important;padding:8px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--ps-ui-ink)!important;font:500 12px/1.5 'DM Sans',Arial,sans-serif!important;box-shadow:none!important;flex-shrink:0}
#app .wishlistToggle svg{width:20px!important;height:20px!important;fill:none;stroke:currentColor;stroke-width:1.6;transition:fill 160ms ease}
#app .wishlistToggle[aria-pressed="true"] svg{fill:currentColor}
#app .wishlistToggle:hover{background:var(--ps-ui-soft)!important}
#app .wishlistToggle:focus-visible{outline:2px solid var(--ps-ui-accent)!important;outline-offset:2px}
#app .wishlistUnavailable{padding:24px;background:white;border-radius:8px}
#app .wishlistGrid{margin-top:28px!important}
@media(prefers-reduced-motion:reduce){#app .wishlistToggle svg{transition:none}}

/* Shared response system. State changes never wait for these visual transitions. */
:root{
  --ux32-teal:#16a69d;
  --ux32-ease:cubic-bezier(.22,.75,.2,1);
  --psc-motion-fast:150ms;
  --psc-motion-normal:220ms;
}
:where(button,.button,[role="button"]){-webkit-tap-highlight-color:transparent}
:where(button,.button,[role="button"],a,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(22,166,157,.25)!important;outline-offset:3px!important;
}
:where(button,.button,[role="button"],input,select,textarea){
  transition:background-color var(--psc-motion-fast) var(--ux32-ease),border-color var(--psc-motion-fast) var(--ux32-ease),color var(--psc-motion-fast) var(--ux32-ease),box-shadow var(--psc-motion-fast) var(--ux32-ease),transform var(--psc-motion-fast) var(--ux32-ease);
}
:where(a,.textAction){transition:color var(--psc-motion-fast) var(--ux32-ease),opacity var(--psc-motion-fast) var(--ux32-ease)}
:where(input,select,textarea):focus{border-color:rgba(22,166,157,.6);box-shadow:0 0 0 3px rgba(22,166,157,.08)}
@media(hover:hover) and (pointer:fine){
  :where(.productCard,.canvaProductCard,.v25ProductCard,.portalQuickCard,.dashboardCard){transition:box-shadow var(--psc-motion-normal) var(--ux32-ease),border-color var(--psc-motion-normal) var(--ux32-ease)}
  :where(.productCard,.canvaProductCard,.v25ProductCard,.portalQuickCard,.dashboardCard):hover{box-shadow:0 6px 20px rgba(28,38,36,.055)}
  :where(.qty button,.quantityStepper button,.requestAddButton,[data-family-quote],.iconBtn):not(:disabled):hover{background-color:#eaf4f2;color:#126b64}
  :where(.requestRow,.catalogueFamilyRow,.adminTable tbody tr):hover{background-color:rgba(22,166,157,.035)}
}
:where(button,.button,[role="button"]):not(:disabled):not([aria-disabled="true"]):active{transform:scale(.99);transition-duration:80ms}
:where(button,.button,[role="button"]):disabled,:where(button,.button,[role="button"])[aria-disabled="true"]{transform:none!important}
:where(.requestRow,.catalogueFamilyRow,.adminTable tbody tr){transition:background-color var(--psc-motion-fast) var(--ux32-ease)}
details>summary{cursor:pointer}
.productDisclosureList summary :where(i,.icon){transition:transform 180ms var(--ux32-ease)}
.productDisclosureList details[open]>summary :where(i,.icon){transform:none}
/* A single entrance per overlay opening; rerenders suppress it through PSC_MOTION.restore. */
.modalOverlay,.modalBackdrop,.fluidOverlay,.requestDrawerBackdrop{animation:ux32FadeIn 180ms var(--ux32-ease) both}
.modalShell,.productModalShell,.fluidProductShell{animation:ux32ModalIn 220ms var(--ux32-ease) both}
.requestDrawer{animation:ux32DrawerIn 240ms var(--ux32-ease) both}
.toast{animation:ux32ToastIn 200ms var(--ux32-ease) both}
@keyframes ux32FadeIn{from{opacity:0}to{opacity:1}}
@keyframes ux32ModalIn{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ux32DrawerIn{from{opacity:.7;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes ux32ToastIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:720px){
  .requestDrawer{animation-name:ux32SheetIn}
  @keyframes ux32SheetIn{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:none}}
}
.fluidProductShell,.requestDrawer{overscroll-behavior:contain;scrollbar-gutter:stable}
[data-motion-ghost]{pointer-events:none!important}
.ux32-loading,.ux32-native-loading{position:relative!important;pointer-events:none!important;cursor:progress!important}
.ux32-responding{position:relative}
/* A small in-button circle: no label replacement, extra padding or ordering delay. */
:is(.ux32-loading,.ux32-native-loading,.ux32-responding)::after{content:"";position:absolute;right:7px;top:50%;width:10px;height:10px;margin-top:-5px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;box-sizing:border-box;pointer-events:none;animation:ux32Spin 650ms linear infinite;opacity:.7}
@keyframes ux32Spin{to{transform:rotate(360deg)}}
.ux32-confirmed{background:#e5f5f1!important;color:#0a766f!important;border-color:#9bd8d1!important}
.pscProductLoading{padding:32px;min-height:400px;color:#687875;font-size:14px}
.pscSkeletonImage,.pscSkeletonLine{background:#f0f4f3;border-radius:8px;margin-top:20px}
.pscSkeletonImage{height:240px;max-width:360px}
.pscSkeletonLine{height:14px;width:75%}
.pscSkeletonLine:last-child{width:50%}
/* CSS and imperative effects both respect this preference, including live changes. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Modern engines interpolate disclosure height; native details remains the fallback. */
@supports(interpolate-size:allow-keywords){
  .productDisclosureList details{interpolate-size:allow-keywords}
  .productDisclosureList details::details-content{block-size:0;overflow:clip;transition:block-size 200ms var(--ux32-ease),content-visibility 200ms allow-discrete}
  .productDisclosureList details[open]::details-content{block-size:auto}
}

/* Use the count/chevron's existing space for the transient glyph in compact controls. */
:is(.mobileCartButton,.pillBasket).ux32-responding b,.accountSwitcherButton.ux32-responding .accountChevron{visibility:hidden}
:is(.mobileCartButton,.pillBasket).ux32-responding::after{right:14px}

/* Closed teasers are visual only; native details keeps the full content inaccessible until opened. */
.psDisclosure>summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;list-style:none}
.psDisclosure>summary::-webkit-details-marker{display:none}
.psDisclosure>summary>i{grid-column:2;grid-row:1;transform:none!important;font-style:normal}
.psDisclosure>summary>.psDisclosurePreview{grid-column:1/-1;display:block;max-height:1.5em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;filter:blur(2px);opacity:.3;font-size:12px;font-weight:400;line-height:1.5;pointer-events:none;user-select:none}
.psDisclosure[open]>summary>.psDisclosurePreview{display:none}
.productDisclosureList .professionalFacts{margin:0 0 18px}
@media(prefers-reduced-motion:reduce){.psDisclosure>summary>.psDisclosurePreview{filter:none;opacity:.5}}

/* One photograph border; the listing card supplies its own separate outer border. */
#app .customerShell .productCard.pscEditorialCard .productVisual,
#app .publicCatalogueCard .publicCatalogueVisual,
#app .detailProductImageWrap,
:is([data-psc-family-detail-root],[data-motion-ghost]) .detailProductImageWrap{
 position:relative!important;display:block!important;background:#fff!important;
 border:1px solid var(--ps-ui-line,#dfe2e0)!important;border-radius:8px!important;
 padding:0!important;box-sizing:border-box!important;overflow:hidden!important;
 width:100%!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;max-height:none!important;
}
#app .customerShell .productCard.pscEditorialCard .productVisual::before,
#app .publicCatalogueCard .publicCatalogueVisual::before,
#app .detailProductImageWrap::before,
:is([data-psc-family-detail-root],[data-motion-ghost]) .detailProductImageWrap::before{
 content:none!important;display:none!important;
}
#app .customerShell .productCard.pscEditorialCard .productVisual>img.productMainImage,
#app .publicCatalogueCard .publicCatalogueVisual>img:not(.publicDhaMark),
#app .detailProductImageWrap>img:not(.detailDhaIcon),
:is([data-psc-family-detail-root],[data-motion-ghost]) .detailProductImageWrap>img{
 position:absolute!important;inset:14%!important;width:72%!important;height:72%!important;
 min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
 display:block!important;margin:0!important;padding:0!important;border:0!important;
 object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;
 transform:var(--photo-fit,none)!important;filter:none!important;mix-blend-mode:normal!important;background:#fff!important;
}
#app .customerShell .v25ProductGrid:has(.pscEditorialCard){column-gap:20px!important;row-gap:28px!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
#app .customerShell .pscEditorialCard .exactCanvaBody{padding:10px 0 12px!important}
#app .customerShell .pscEditorialCard .pscBrandChoices{padding:12px 0 4px!important}
#app .customerShell .pscEditorialCard .exactCanvaActions{padding:10px 0 0!important}
#app .pscFamilyRepresentative{display:none!important}
#app .customerShell .productCard.pscEditorialCard.pscFamilyNoPhoto .productVisual,
#app .publicCatalogueCard.pscFamilyNoPhoto .publicCatalogueVisual{display:none!important}
[data-psc-family-detail-root] .detailImagePane{display:block!important;min-width:0!important}
[data-psc-family-detail-root] .pscFamilyProductSheet .fluidProductGrid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}
.cmsImageReview{display:grid;gap:12px;margin:12px 0 20px;font-size:13px;line-height:1.5}.cmsImageReview label{display:flex;gap:10px;align-items:flex-start}.cmsImageReview input{width:18px;flex:0 0 18px;min-height:18px!important}.cmsImageReview p{margin:0!important}
/* Legacy product sheets must keep the full photo and Back control above navigation. */
#app .modalBackdrop.fluidOverlay:has(.productDetailModal){z-index:1100!important}
@media(max-width:720px){
 [data-psc-family-detail-root] .pscFamilyProductSheet .fluidProductGrid{grid-template-columns:minmax(0,1fr)!important}
 #app .customerShell .v25ProductGrid:has(.pscEditorialCard){column-gap:14px!important;row-gap:24px!important}
 [data-psc-family-detail-root] .detailImagePane{width:100%!important}
}

/* One visual language; existing routes, photography and commercial rules remain authoritative. */
:root{--ps-ink:#18392f;--ps-muted:#596d65;--ps-paper:#fcfdfb;--ps-sage:#edf2eb;--ps-line:#dce5dd;--ps-accent:#1e7063;--ps-radius:12px}
body{background:var(--ps-paper);color:var(--ps-ink)}
.psExperience{color:var(--ps-ink);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.6}
.psExperience *{box-sizing:border-box}.psExperience :is(h1,h2,h3,p){margin:0}.psExperience button{font-family:inherit;cursor:pointer}.psExperience button:disabled{cursor:default;opacity:.45}
.psExperience :is(button,input,select):focus-visible,.publicHeader :is(button,a):focus-visible{outline:2px solid var(--ps-accent);outline-offset:4px}
.psPageWidth{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.psTextLink{display:inline-flex;align-items:center;gap:16px;min-height:44px;background:none;border:0;border-bottom:1px solid transparent;padding:0;color:var(--ps-ink);font-size:14px;font-weight:600;text-align:left;text-decoration:none;transition:color .18s,border-color .18s}.psTextLink:hover{color:var(--ps-accent);border-bottom-color:currentColor}.psTextLink i{font-style:normal}
.psExperience .button{min-height:48px;padding:12px 22px;border-radius:7px;box-shadow:none;font-weight:550;font-size:14px;gap:20px}.psExperience .button:is(.dark,.primary){background:var(--ps-ink);border-color:var(--ps-ink);color:#fff}.psExperience .button:is(.dark,.primary):hover{background:#285547;border-color:#285547}
.psSectionHeading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.psSectionHeading h2{margin-top:9px;font-size:clamp(27px,2.8vw,38px);font-weight:450;letter-spacing:-.045em;line-height:1.16}.psSectionHeading p{margin-top:16px;color:var(--ps-muted);max-width:600px}.psQuietNote{color:var(--ps-muted);font-size:12px;line-height:1.65;margin-top:20px!important}
/* Compact native header; retain its direction-aware reveal and menu behavior. */
body :is(.publicPage,.publicLanding)>.publicHeader.v37PublicHeader{min-height:86px;height:auto;padding:17px max(32px,calc((100vw - 1280px)/2));gap:26px;background:rgba(252,253,251,.97);border-bottom:1px solid #e8ede7;box-shadow:none}
body .publicHeader .publicLogo{width:auto!important;min-width:0;padding:0;display:flex;align-items:center;background:none;border:0}
body .publicHeader .publicLogo img{width:168px!important;max-width:none;height:48px!important;object-fit:contain}
body .publicHeader .publicNav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1;margin:0}
body .publicHeader .publicNavLink{font-size:14px;font-weight:500;letter-spacing:0;color:var(--ps-ink);padding:10px 0;min-height:44px;background:none;border:0;border-bottom:1px solid transparent;border-radius:0}
body .publicHeader .publicNavLink.active{border-bottom-color:var(--ps-ink)}body .publicHeader .publicNavLink:hover{color:var(--ps-accent)}
body .publicHeader .publicPortalBtn{min-height:44px;padding:10px 18px;border-radius:6px;background:var(--ps-ink);border-color:var(--ps-ink);font-size:13px;gap:20px;box-shadow:none}
body .publicHeader .mobileClinicPortalLink{display:none}body .publicFooter.v37PublicFooter{padding:45px max(32px,calc((100vw - 1280px)/2));background:#f1f4ef;gap:40px;border:0;color:var(--ps-muted)}
body .publicFooter.v37PublicFooter img{width:148px;height:auto;max-height:52px;object-fit:contain}.publicFooter .publicFooterLinks{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;column-gap:30px;row-gap:8px}.publicFooter .publicFooterLinks button{padding:5px 0;font-size:13px;text-align:left;min-height:32px}
.psHomeSearch{display:flex;align-items:center;gap:12px;margin-top:30px;padding:7px 7px 7px 18px;border:1px solid #b7c8bb;background:#fff;border-radius:9px;box-shadow:0 8px 24px #25483306}.psHomeSearch>span{font-size:27px;line-height:1;color:var(--ps-accent)}.psHomeSearch input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--ps-ink);padding:9px 0;box-shadow:none}.psHomeSearch:focus-within{border-color:var(--ps-accent);box-shadow:0 0 0 2px #1e70631c}.psHomeSearch .button{white-space:nowrap;min-height:46px}
.psHeroSecondary{display:flex;align-items:center;gap:12px;margin-top:11px;font-size:12px;color:var(--ps-muted)}.psHeroSecondary .psTextLink{font-size:12px;gap:8px}
.psHomeCategories{padding-bottom:60px}.psClinicalGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.psClinicalTile{display:flex;align-items:center;gap:17px;position:relative;min-width:0;min-height:115px;border:0;background:#f0f4ee;padding:17px 20px;text-align:left;color:var(--ps-ink);border-radius:9px;transition:background .18s,transform .18s}.psClinicalTile:hover{background:#e6eee1;transform:translateY(-2px)}.psClinicalTile img{width:65px;height:70px;object-fit:contain;mix-blend-mode:multiply}.psClinicalTile h3{font-size:15px;font-weight:550;line-height:1.3;letter-spacing:-.02em}.psClinicalTile small{display:block;font-size:11px;line-height:1.55;color:var(--ps-muted);margin-top:6px;max-width:170px}.psClinicalTile i{font-style:normal;font-size:17px;margin-left:auto;align-self:start;color:#668170}.psBasketGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.psHomeJourney{padding-block:55px}.psHomeJourney ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;padding:0;margin:35px 0 0}.psHomeJourney li{border-top:1px solid #b9cabb;padding-top:15px}.psHomeJourney li>span{font-size:11px;color:#718575}.psHomeJourney h3{font-size:18px;font-weight:500;margin-top:10px;letter-spacing:-.025em}.psHomeJourney li p{font-size:12px;line-height:1.6;color:var(--ps-muted);margin-top:8px}
.psHomeReturn{background:#e9f0e5;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 38px;margin-bottom:55px}.psHomeReturn h2{font-size:27px;font-weight:450;letter-spacing:-.035em;line-height:1.2;margin-top:9px}.psHomeReturn p{font-size:13px;color:var(--ps-muted);margin-top:10px}.psHomeReturn>div:last-child{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px}.psHomeReturn .psTextLink{font-size:12px}
/* Gallery + one accessible configuration sheet, using the existing request. */
.psBasketGallery{max-width:1250px;margin:auto;padding:48px 20px}.psReadyPublic .psBasketGallery{padding:60px 56px 75px;max-width:1392px;min-height:calc(100vh - 340px)}.psBasketGallery h1{font-size:clamp(33px,4vw,55px);line-height:1.1;font-weight:450;letter-spacing:-.05em;margin-top:16px}.psBasketGallery .psBasketGrid{margin-top:35px}
.psReadyBasketOpen{overflow:hidden}.psBasketBackdrop{position:fixed;inset:0;z-index:100000;background:#142c2555;backdrop-filter:blur(5px);display:flex;justify-content:flex-end;padding:18px}.psReadyBasketSheet{width:min(830px,100%);max-height:100%;background:var(--ps-paper);border-radius:15px;display:flex;flex-direction:column;box-shadow:0 20px 90px #102e2430;overflow:hidden}.psBasketHeader{padding:25px 30px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--ps-line)}.psBasketHeader h2{font-size:30px;letter-spacing:-.04em;line-height:1.2;font-weight:450;margin-top:7px}.psBasketHeader .iconBtn{width:44px;height:44px;flex-shrink:0;background:#edf2eb;border:0;border-radius:50%;font-size:26px}.psBasketScroll{overflow:auto;overscroll-behavior:contain;padding:22px 30px 28px}.psBasketScroll>p{font-size:14px;color:var(--ps-muted)}.psBasketModes{display:flex;gap:4px;padding:4px;margin:20px 0;background:#e8eee6;border-radius:8px;width:fit-content}.psBasketModes button{min-height:42px;border:0;background:transparent;border-radius:5px;padding:9px 17px;font-size:13px;color:var(--ps-muted)}.psBasketModes [aria-pressed="true"]{background:#fff;color:var(--ps-ink);box-shadow:0 2px 4px #203b2510}.psBasketReviewNote{background:#f2eee3;color:#65542a;padding:15px 18px;border-radius:8px;font-size:12px;display:grid;gap:4px;margin-bottom:10px}.psBasketLine{position:relative;display:grid;grid-template-columns:22px 92px minmax(0,1fr) 108px;align-items:start;gap:16px;padding:24px 0;border-bottom:1px solid var(--ps-line)}.psBasketLine:last-child{border-bottom:0}.psBasketSelect{padding-top:27px}.psBasketSelect input{accent-color:var(--ps-accent);width:18px;height:18px;cursor:pointer}.psBasketPhoto{position:relative;height:92px;background:#fff;border:1px solid #e3e8e2;border-radius:7px;display:grid;place-items:center}.psBasketPhoto>img:not(.psBasketDha){width:100%;height:100%;object-fit:contain;padding:6px}.psBasketPhoto .psBasketDha{position:absolute;right:4px;top:4px;width:23px;height:23px;object-fit:contain}.psBasketPhoto>span{color:#819285;font-size:27px}.psLineRole{font-size:10px;color:var(--ps-accent);font-weight:600;letter-spacing:.04em}.psBasketLine h3{font-size:15px;line-height:1.4;font-weight:550;margin-top:3px}.psBasketLine p{font-size:12px;margin-top:5px;color:var(--ps-muted)}.psBasketLine small{display:block;font-size:11px;line-height:1.55;color:var(--ps-muted);margin-top:6px}.psBasketLine .psBasketSku{font-family:monospace;font-size:10px}.psBasketLine.isExcluded .psBasketLineCopy{opacity:.58}.psBasketMapping{color:#58765c!important}.psBasketQuantity{display:flex;align-items:center;border:1px solid #b8c7b7;border-radius:6px;height:40px;margin-top:25px}.psBasketQuantity button{border:0;background:transparent;width:32px;min-height:40px;font-size:18px;padding:0;color:var(--ps-ink)}.psBasketQuantity input{font:inherit;font-size:13px;min-width:0;width:42px;border:0;text-align:center;background:transparent;padding:0;appearance:textfield;box-shadow:none}.psBasketQuantity input::-webkit-inner-spin-button{appearance:none}.psBasketAction{padding:20px 30px;border-top:1px solid var(--ps-line);background:#fff;display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center}.psBasketAction b{display:block;font-size:14px}.psBasketAction span{display:block;font-size:11px;color:var(--ps-muted)}.psBasketAction p{grid-column:1/-1;color:#8d3730;font-size:12px}.psBasketLine select{width:100%;min-height:44px;margin-top:6px}
/* Quiet shared refinements: no identity, price, image-framing or DHA overrides. */
body .pscOperatingShell{background:#f7f9f5}body .pscOperatingShell .contentWrap{color:var(--ps-ink)}body .pscOperatingShell .sidebar{background:#fcfdfb;border-right:1px solid #e5ebe3}body .pscOperatingShell .navLink{border-radius:8px}body .pscOperatingShell .navLink.active{background:#e9f0e5;color:#18392f}body .pscOperatingShell .panel{box-shadow:none;border-color:#e2e9df;border-radius:12px}body .pscOperatingShell .button{box-shadow:none;border-radius:7px}body .pscOperatingShell .pageHeader h1{letter-spacing:-.04em;font-weight:450}body .pscOperatingShell .psAdaptiveHeader{background:rgba(252,253,251,.98)}
body .publicCataloguePage .cataloguePublicHero{padding-top:48px;padding-bottom:28px;background:var(--ps-paper);border:0}body .publicCataloguePage .cataloguePublicHero h1{font-size:clamp(37px,4.5vw,61px);font-weight:450;letter-spacing:-.055em;line-height:1.1}body .publicCataloguePage .publicCatalogueJourney16{padding-block:24px 40px;background:var(--ps-paper);border:0}body .publicCataloguePage .publicCategoryCard16{background:#edf3e9;box-shadow:none;border:0;border-radius:10px}body .publicCataloguePage .publicCategoryCard16:hover{background:#e2ecdc}body .publicCataloguePage .catalogueGateBandV45{border:0;border-radius:12px;background:#e9f0e5;box-shadow:none;margin-bottom:48px}
@media(min-width:981px){body .publicHeader .publicMenuButton{display:none}}
@media(max-width:1100px){.psPageWidth{width:calc(100% - 64px)}.psClinicalTile{padding:15px;gap:10px}.psClinicalTile img{width:50px}.psClinicalTile small{font-size:10px}.psBasketGrid{gap:16px}}
@media(max-width:980px){body :is(.publicPage,.publicLanding)>.publicHeader.v37PublicHeader{min-height:74px;padding:12px 24px;gap:15px;justify-content:space-between}body .publicHeader .publicLogo img{width:145px!important;height:45px!important}body .publicHeader .publicPortalBtn{display:none}body .publicHeader .publicMenuButton{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border:0;background:#edf2e9;border-radius:50%;color:var(--ps-ink)}body .publicHeader .publicNav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ps-paper);padding:16px 24px 24px;box-shadow:0 18px 25px #14312512;border-bottom:1px solid var(--ps-line);gap:2px;align-items:stretch}body .publicHeader .publicNav.open{display:flex;flex-direction:column}body .publicHeader .publicNavLink{display:flex;justify-content:space-between;text-align:left;padding:12px 8px;font-size:18px;min-height:52px}body .publicHeader .mobileClinicPortalLink{display:flex!important}.psClinicalTile{display:flex;flex-direction:column;align-items:start;gap:9px;min-height:170px}.psClinicalTile img{height:65px;width:65px;align-self:center}.psClinicalTile i{position:absolute;right:15px;top:13px}.psHomeReturn{padding:28px}.psHomeReturn h2{font-size:25px}}
@media(max-width:640px){.psPageWidth{width:calc(100% - 40px)}.psSectionHeading{align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:20px}.psSectionHeading h2{font-size:29px}.psSectionHeading>.psTextLink{font-size:12px;min-height:32px;gap:9px}.psHomeSearch{gap:7px;margin-top:22px;padding:5px 5px 5px 13px}.psHomeSearch input{font-size:14px}.psHomeSearch .button{padding:10px 14px;min-height:44px;gap:8px;font-size:12px}.psHeroSecondary{gap:8px;margin-top:6px;font-size:11px}.psHeroSecondary .psTextLink{font-size:11px}.psHomeCategories{padding-bottom:32px}.psClinicalGrid{gap:8px}.psClinicalTile{padding:12px 9px;min-height:139px;gap:7px;border-radius:7px}.psClinicalTile img{width:57px;height:59px}.psClinicalTile h3{font-size:12px;line-height:1.3;font-weight:550}.psClinicalTile small{display:none}.psClinicalTile i{right:8px;top:6px;font-size:13px;color:#70886e}.psBasketGrid{grid-template-columns:1fr;gap:11px}.psQuietNote{font-size:10px;margin-top:15px!important}.psHomeJourney{padding-block:31px}.psHomeJourney .psSectionHeading h2 br{display:none}.psHomeJourney ol{display:flex;flex-direction:column;gap:0;margin-top:5px}.psHomeJourney li{display:grid;grid-template-columns:29px 1fr;gap:0 11px;border:0;padding-block:9px;position:relative}.psHomeJourney li>span{grid-column:1;grid-row:1/3;border:1px solid #c9d8c7;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:9px;margin-top:1px}.psHomeJourney li:not(:last-child):after{content:'';position:absolute;height:calc(100% - 31px);left:14px;top:39px;border-left:1px solid #c9d8c7}.psHomeJourney h3{font-size:15px;margin:0;grid-column:2}.psHomeJourney li p{font-size:11px;margin:2px 0 0;grid-column:2}.psHomeReturn{width:calc(100% - 40px);padding:25px 23px;display:block;margin-bottom:30px;border-radius:9px}.psHomeReturn h2{font-size:26px;margin-top:10px;max-width:280px}.psHomeReturn p{font-size:12px;margin-top:11px}.psHomeReturn>div:last-child{align-items:start;margin-top:18px;gap:3px}.psHomeReturn .button{min-height:44px;font-size:12px}.psHomeReturn .psTextLink{font-size:11px}.psReadyPublic .psBasketGallery,.psBasketGallery{padding:30px 0}.psReadyPublic .psBasketGallery{padding-inline:20px}.psBasketGallery h1{font-size:36px}.psBasketGallery .psSectionHeading p{font-size:13px}.psBasketGallery .psBasketGrid{margin-top:24px}.psBasketBackdrop{padding:0;align-items:end}.psReadyBasketSheet{max-height:96dvh;border-radius:17px 17px 0 0;width:100%}.psBasketHeader{padding:19px 20px}.psBasketHeader h2{font-size:26px}.psBasketScroll{padding:16px 20px}.psBasketScroll>p{font-size:12px}.psBasketModes{margin-block:16px;width:100%}.psBasketModes button{flex:1;font-size:12px;padding-inline:8px}.psBasketReviewNote{font-size:11px;padding:12px 14px}.psBasketLine{grid-template-columns:18px 68px minmax(0,1fr);gap:10px;padding-block:18px}.psBasketPhoto{height:68px}.psBasketLine h3{font-size:13px}.psBasketLine small{font-size:10px}.psBasketLine p{font-size:11px}.psBasketQuantity{grid-column:3;width:108px;margin-top:1px}.psBasketSelect{padding-top:20px}.psBasketSelect input{width:16px;height:16px}.psBasketAction{padding:14px 20px max(15px,env(safe-area-inset-bottom));gap:10px}.psBasketAction b{font-size:12px}.psBasketAction span{font-size:9px;max-width:120px}.psBasketAction .button{font-size:12px;min-height:45px;padding-inline:15px}.psBasketPhoto .psBasketDha{width:20px;height:20px}.psBasketLineCopy{min-width:0}body .publicFooter.v37PublicFooter{padding:30px 24px;gap:25px;grid-template-columns:1fr 1fr}body .publicFooter.v37PublicFooter>div:first-child{grid-column:1/-1}body .publicFooter.v37PublicFooter p{font-size:12px}body .publicFooter.v37PublicFooter>div:last-child{font-size:11px;overflow-wrap:anywhere}.publicFooter .publicFooterLinks{grid-template-columns:1fr;gap:3px}.publicFooter .publicFooterLinks button{font-size:12px}body .publicCataloguePage .cataloguePublicHero{padding-top:28px;padding-bottom:14px}body .publicCataloguePage .publicCatalogueJourney16{padding-top:15px}.psBasketLine :is(input,select){font-size:16px}.psHomeSearch input{font-size:16px}}
/* Retire legacy !important layout rules at the shared boundaries, without changing route controls. */
#app>main.publicLanding{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;gap:0!important}
#app :is(.publicPage,.publicLanding)>.publicHeader.v37PublicHeader{display:flex!important;min-height:88px!important;height:88px!important;grid-template-columns:none!important;padding:12px max(32px,calc((100vw - 1280px)/2))!important;gap:26px!important;background:var(--ps-paper)!important}
#app .publicHeader .publicLogo img{width:105px!important;height:64px!important}
#app .publicHeader .publicNav{justify-content:center!important;justify-self:auto!important;gap:30px!important;flex:1}
#app .publicHeader .publicNavLink{background:none!important;border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;color:var(--ps-ink)!important}
#app .publicHeader .publicNavLink.active{border-bottom-color:var(--ps-ink)!important}
#app .publicFooter.v37PublicFooter{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;align-items:start!important;padding:38px max(32px,calc((100vw - 1280px)/2))!important;gap:35px!important;background:#f1f4ef!important}
#app .publicFooter.v37PublicFooter img{width:105px!important;max-height:75px!important}#app .publicFooter.v37PublicFooter>div:last-child{padding-top:8px}
.psExperience .srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.psReadyEntry{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;margin:8px 0 20px;padding:16px 18px;border:0;border-radius:8px;background:#edf3e8;font:500 14px "DM Sans",sans-serif;color:var(--ps-ink);text-align:left;cursor:pointer}.psReadyEntry span{font-size:11px;font-weight:400;color:#59725f}.psReadyEntry:hover{background:#e3eddd}
#app .publicCataloguePage .catalogue16Hero{padding:42px max(32px,calc((100vw - 1280px)/2)) 18px!important;background:var(--ps-paper)!important}
#app .publicCataloguePage .catalogue16Hero h1{font-weight:450!important;font-size:clamp(36px,4.5vw,60px)!important;color:var(--ps-ink)!important}
#app .publicCataloguePage .publicCatalogueJourney16{padding:12px max(32px,calc((100vw - 1280px)/2)) 35px!important}
#app .publicCataloguePage .publicCatalogueJourneyHead16{margin-bottom:16px!important;min-height:0!important}.publicCatalogueJourneyHead16 .catalogueGateNoteV45{font-size:12px;color:var(--ps-muted)}
#app .publicCataloguePage .publicCategoryCard16{border:0!important;background:#edf3e9!important;min-height:128px!important;border-radius:9px!important;box-shadow:none!important}
#app .publicCataloguePage .catalogueGateBandV45{padding:28px 32px!important;gap:24px!important;max-width:1280px!important;margin:0 auto 40px!important}.catalogueGateBandV45 h2{font-size:27px!important;line-height:1.15!important}
@media(max-width:980px){#app :is(.publicPage,.publicLanding)>.publicHeader.v37PublicHeader{height:76px!important;min-height:76px!important;padding:8px 20px!important;justify-content:space-between!important}#app .publicHeader .publicLogo img{width:89px!important;height:58px!important}#app .publicHeader .publicNav{display:none!important}#app .publicHeader .publicNav.open{display:flex!important;background:var(--ps-paper)!important;padding:16px 24px 24px!important;gap:2px!important}#app .publicHeader .publicMenuButton{border-radius:50%!important}#app .publicFooter.v37PublicFooter{padding:30px 24px!important;gap:25px!important;grid-template-columns:1fr 1fr!important}.psReadyEntry{align-items:start;flex-direction:column;gap:7px}}
@media(max-width:640px){#app .publicCataloguePage .catalogue16Hero{padding:28px 20px 14px!important}#app .publicCataloguePage .publicCatalogueJourney16{padding:7px 20px 25px!important}#app .publicCataloguePage .publicCategoryCard16{min-height:137px!important}#app .publicCataloguePage .catalogueGateBandV45{padding:24px!important;margin:0 20px 28px!important;width:calc(100% - 40px)!important}.psHomeJourney .psSectionHeading h2{max-width:320px}}
@media(prefers-reduced-motion:reduce){.psClinicalTile:hover{transform:none}.psExperience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
#app .publicHeader .publicNav{border-radius:0!important}
@media(max-width:640px){.psHomeJourney li p{font-size:12px}.psQuietNote{font-size:11px}}

#app .requestDrawer .drawerBody{min-height:0;flex:1 1 auto}#app .requestDrawer .psRequestScopeReview{margin:20px 0 8px;padding:16px;font-size:12px;border-radius:8px;background:#f0f4ed}#app .requestDrawer .drawerFooter{flex:0 0 auto}
@media(max-width:640px){#app .requestDrawer .requestDrawerFooter .checkoutPromise{font-size:11px;line-height:1.45}#app .requestDrawer .requestDrawerFooter .textarea{min-height:56px;height:56px}#app .requestDrawer .requestDrawerFooter{max-height:50dvh;overflow:auto}}.psBasketPhoto{overflow:hidden}.psBasketPhoto>img:not(.psBasketDha){padding:0;transform-origin:center}.psBasketPhoto .psBasketDha{z-index:1}

/* Approved hero composition; search remains a separate, useful catalogue entry. */
.psHomeFind{padding-block:28px 38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px}
.psHomeFind .psHomeSearch{margin:0;max-width:none}
.psHomeFind .psHeroSecondary{margin:0;flex-wrap:wrap;justify-content:end}
.psBasketCard{display:block;padding:0;color:var(--ps-ink);background:transparent;border:0;border-radius:0;text-align:left;box-shadow:none;min-height:0;align-self:stretch}
.psBasketCardCopy{display:flex;flex-direction:column;padding:24px 0 14px}
.psBasketCard h3{font-size:28px;font-weight:450;letter-spacing:-.04em;margin:0;line-height:1.2;max-width:340px;min-height:68px}
.psBasketCard p{font-size:14px;min-height:70px;line-height:1.65;margin-top:12px}
.psBasketCardCopy>small{order:1;margin-top:auto;padding-top:22px;font-size:12px;color:var(--ps-muted);letter-spacing:0;text-transform:none}
.psBasketCard .psTextLink{order:2;margin-top:4px;font-size:13px}
.psBasketScope{list-style:none;margin:20px 0 24px;padding:0;color:var(--ps-ink);font-size:14px}
.psBasketScope li{padding:7px 0;border-bottom:1px solid var(--ps-line)}
.psBasketCard:hover{transform:none;background:transparent;box-shadow:none}.psBasketCard:hover h3{color:var(--ps-accent)}
.psLineRole{font-size:11px;letter-spacing:0;text-transform:none;color:var(--ps-muted)}
@media(max-width:980px){.psHomeFind{grid-template-columns:1fr;gap:10px}.psHomeFind .psHeroSecondary{justify-content:start}}
@media(max-width:640px){.psHomeFind{padding-block:24px 30px;gap:7px}.psHomeFind .psHomeSearch input{font-size:14px}.psBasketGallery .psBasketGrid{gap:28px}.psBasketCardCopy{padding:22px 0 0}.psBasketCard h3{font-size:26px;min-height:0}.psBasketCard p{font-size:14px;min-height:0}.psBasketScope{font-size:13px;margin-block:15px}.psBasketCardCopy>small{font-size:12px;padding-top:6px}.psBasketCard .psTextLink{font-size:13px;min-height:44px}}

/* Editorial task scenes are separate from exact catalogue/component photography. */
.psBasketScene{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:8px;background:#e9e8e0}
.psBasketScene img{display:block;width:100%;height:100%;object-fit:contain}
.psBasketCard:focus-visible .psBasketScene{outline:2px solid var(--ps-accent);outline-offset:-3px}
@media(max-width:640px){.psBasketGallery .psBasketGrid{gap:38px}.psBasketCardCopy{padding-top:20px}.psBasketScene{border-radius:6px}}

/* Customer home: task entry, real account activity and compact discovery. */
.appShell.pscOperatingShell.v381Shell.psPortalHomeShell{--ps-paper:#fcfdfb;background:var(--ps-paper)!important}
.appShell.pscOperatingShell.v381Shell.psPortalHomeShell .contentWrap{padding-top:20px!important}
.psPortalHomeShell .topbarSearch,.psPortalHomeShell .mobileSearchRow{display:none!important}
.appShell.pscOperatingShell.v381Shell.psPortalHomeShell .topbar{min-height:76px!important;padding-block:14px!important}
.psPortalHome{min-width:0;max-width:1200px;margin:auto}
.appShell.pscOperatingShell.v381Shell .psPortalHome :is(h1,h2,h3,p){margin:0}
.appShell.pscOperatingShell.v381Shell .psPortalHome h1{font-size:clamp(34px,3.8vw,54px)!important;font-weight:450!important;line-height:1.12!important;letter-spacing:-.055em!important;max-width:650px;margin:0 0 18px!important}
.appShell.pscOperatingShell.v381Shell .psPortalHome h2{font-size:25px!important;font-weight:450!important;letter-spacing:-.035em!important;line-height:1.2!important;margin:0!important}
.appShell.pscOperatingShell.v381Shell .psPortalHome h3{font-size:17px!important;font-weight:500!important;line-height:1.35!important}
.appShell.pscOperatingShell.v381Shell .psPortalHome p{font-size:14px;line-height:1.65!important;color:#64716a}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psPortalWelcome{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:44px;padding:16px 0 36px;margin:0;border:0;align-items:center;background:none;min-height:0}
.psPortalSearchCopy{min-width:0}
.psPortalSearchCopy>p{max-width:510px;font-size:16px!important}
.psPortalSearch{display:flex;align-items:center;gap:12px;padding:7px 7px 7px 17px;border:1px solid #bdccc0;border-radius:9px;background:#fff;margin:24px 0 12px;box-shadow:0 4px 15px #163c2d04}
.psPortalSearch:focus-within{border-color:#1e7063;box-shadow:0 0 0 2px #1e70631a}
.psPortalSearch>span{display:flex;flex:0 0 20px;color:#407567}.psPortalSearch svg{width:20px;height:20px}
.psPortalSearch input{min-width:0;flex:1;border:0;background:none;box-shadow:none;outline:0;font:inherit;font-size:15px;padding:10px 0;color:var(--ps-ink)}
.psPortalSearch .button{min-height:46px;padding:10px 18px;gap:12px;white-space:nowrap}
.psPortalSearchExamples{display:flex;align-items:center;flex-wrap:wrap;gap:6px 13px;font-size:11px;color:#718077;margin:10px 0 16px}
.psPortalSearchExamples button{background:none;border:0;border-bottom:1px solid #d6dfd5;color:#526c5f;padding:3px 0;font-size:11px;min-height:28px}
.psPortalSearchCopy>.psTextLink{font-size:13px}
.psPortalDraft{min-width:0;background:#edf2f5;border-radius:12px;padding:26px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:14px}
.psPortalDraft .psPortalListIcon{display:flex;color:#47725b}.psPortalListIcon svg{width:28px;height:28px}
.psPortalDraft .button{align-self:start;margin-top:3px}.psPortalDraft>small{font-size:11px;color:#657467}
.psPortalDraft ul{list-style:none;margin:0;padding:0;border-top:1px solid #d4dfce}
.psPortalDraft li{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid #d4dfce;font-size:13px;line-height:1.45}
.psPortalDraft li small{font-size:11px;color:#657467}
.psPortalWork{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:28px;padding:26px;background:#f0f5f0;border:0;border-radius:14px;align-items:start}
.psPortalSectionHead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px}.psPortalSectionHead h2{margin:0!important}.psPortalSectionHead p{margin-top:7px!important}.psPortalSectionHead>.psTextLink{font-size:12px;white-space:nowrap}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psPortalAttention{margin:0;padding:0;border:0;min-width:0;background:none}
.psPortalActivity{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:15px 0;border:0;border-bottom:1px solid #e2e7df;border-radius:0;background:none;text-align:left;color:var(--ps-ink)}
.psPortalActivity:last-child{border-bottom:0}.psPortalActivity>span{min-width:0;display:grid;gap:5px}.psPortalActivity>span:last-child{text-align:right;justify-items:end;flex-shrink:0}
.psPortalActivity b{font-weight:550;font-size:13px;overflow-wrap:anywhere}.psPortalActivity small{color:#718074;font-size:11px}.psPortalActivity i{font-style:normal}
.psPortalActivity .statusPill{font-size:10px;line-height:1.4;white-space:normal}.psPortalActivity:hover b,.psPortalAccountLinks button:hover h3{color:#1e7063}
.psPortalNoActivity{display:flex;align-items:center;gap:17px;padding:18px 0 8px}.psPortalNoActivity>span{display:flex;flex:0 0 30px;color:#83917f}.psPortalNoActivity svg{width:30px;height:30px}.psPortalNoActivity p{font-size:13px!important;margin-top:6px!important;max-width:440px}
.psPortalAccountLinks{display:grid;gap:0;padding-left:26px;border-left:1px solid #d7e2d6}.psPortalAccountLinks button{display:flex;align-items:start;gap:14px;padding:18px 0;background:none;border:0;border-bottom:1px solid #e2e7df;text-align:left;color:var(--ps-ink)}.psPortalAccountLinks button:first-child{padding-top:0}.psPortalAccountLinks button:last-child{border-bottom:0;padding-bottom:0}
.psPortalAccountLinks button>span:first-child{flex:0 0 23px;color:#4b7262;padding-top:3px}.psPortalAccountLinks svg{width:23px;height:23px}.psPortalAccountLinks p{font-size:12px!important;margin-top:7px!important}.psPortalAccountLinks i{font-style:normal;margin-left:auto}
.psPortalBaskets{padding:36px 0}.psPortalBasketGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psBasketCard{min-width:0;align-self:start}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psBasketCardCopy{padding-top:15px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psBasketCard h3{font-size:18px!important;min-height:49px;max-width:none;letter-spacing:-.025em}
.psPortalHome .psBasketCard .psTextLink{font-size:11px;margin:0;min-height:32px}.psPortalHome .psBasketScene{border-radius:8px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeBrowse{margin:0;padding:26px;background:#f5f2e9;border:0;border-radius:14px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategoryColumns{margin-top:20px;gap:28px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategoryColumns>section{padding:0;background:none}
.psPortalHome .pscHomeCategoryColumns h3{font-size:14px!important;margin-bottom:13px!important}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategoryGrid .pscHomeCategory{min-height:138px!important;padding:12px 8px!important;gap:10px;background:#fffefa}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategory b{font-size:13px!important}
.psPortalHome .pscHomeCategoryGuide{font-size:11px;margin-top:12px}.psPortalHome .pscHomeCategoryGuide summary{min-height:32px}.psPortalHome .pscHomeScopeNote{font-size:10px;margin-top:10px}
.psPortalHelp{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:26px;border:0;border-radius:12px;background:#183f35;color:#fff}.psPortalHelp h2{font-size:20px!important}.psPortalHelp p{font-size:12px!important;margin-top:7px!important}.psPortalHelp>div:last-child{display:flex;gap:18px;flex-wrap:wrap}.psPortalHelp .psTextLink{font-size:12px}
@media(max-width:1200px){.appShell.pscOperatingShell.v381Shell .psPortalHome .psPortalWelcome,.psPortalWork{gap:26px;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.psPortalDraft{padding:23px}.psPortalSearchExamples{gap:3px 10px}.psPortalHelp{align-items:start;flex-direction:column;gap:8px}}
@media(max-width:760px){.appShell.pscOperatingShell.v381Shell .psPortalHome .psPortalWelcome{grid-template-columns:1fr;padding:10px 0 26px;gap:24px}.appShell.pscOperatingShell.v381Shell .psPortalHome h1{font-size:39px!important;max-width:480px}.psPortalDraft{padding:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center}.psPortalDraft .psPortalListIcon{display:none}.psPortalDraft h2{grid-column:1}.psPortalDraft>p{grid-column:1;font-size:13px!important}.psPortalDraft>.button{grid-column:2;grid-row:1/3;align-self:center;margin:0}.psPortalDraft.hasDraft{display:flex;align-items:stretch}.psPortalDraft.hasDraft>.button{align-self:start}.psPortalWork{grid-template-columns:1fr;gap:22px;padding:22px}.psPortalAccountLinks{grid-template-columns:1fr 1fr;gap:24px;border-left:0;border-top:1px solid #d7e2d6;padding:20px 0 0}.psPortalAccountLinks button{padding:0;border:0}.psPortalAccountLinks button>span:first-child{display:none}.psPortalBaskets{padding:26px 0}.psPortalHelp>div:last-child{gap:4px 19px}.appShell.pscOperatingShell.v381Shell .psPortalHome h2{font-size:23px!important}}
@media(max-width:600px){.appShell.pscOperatingShell.v381Shell.psPortalHomeShell .contentWrap{padding-top:10px!important}.appShell.pscOperatingShell.v381Shell.psPortalHomeShell .topbar{padding:12px 18px!important;gap:10px;min-height:72px!important}.psPortalHomeShell .topbarActions{gap:8px!important;flex:1}.psPortalHomeShell .pillBasket{display:inline-flex!important;min-height:42px!important;padding:8px 11px!important;font-size:11px!important;white-space:nowrap}.psPortalHomeShell .accountSwitcherWrap{min-width:0;flex:1}.psPortalHomeShell .accountSwitcherButton{max-width:100%!important;min-width:0!important}.psPortalHomeShell .accountControlLabel{display:none!important}.psPortalHomeShell .accountGroupName{max-width:130px!important}.psPortalHomeShell .campusPillMain b{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px!important}.psPortalHomeShell .campusPillMain{min-width:0!important}.psPortalHomeShell .accountSwitcherMenu{max-width:calc(100vw - 36px)!important}.psPortalHome .psPortalSearchCopy>p{font-size:14px!important}.psPortalSearch{padding:5px 5px 5px 11px;gap:8px;margin-top:20px}.psPortalSearch input{font-size:16px}.psPortalSearch .button{padding:10px 13px;font-size:12px;gap:6px}.psPortalSearch>span{display:none}.psPortalSearchExamples{font-size:10px;margin:6px 0 10px}.psPortalSearchExamples button{font-size:10px}.psPortalDraft{display:flex;align-items:start;gap:10px;padding:20px}.psPortalDraft .button{align-self:start;margin-top:3px}.psPortalSectionHead{align-items:start;gap:12px;margin-bottom:16px}.psPortalSectionHead h2{max-width:230px}.psPortalSectionHead>div{min-width:0}.psPortalSectionHead p{font-size:12px!important}.psPortalSectionHead>.psTextLink{font-size:10px;min-height:30px}.psPortalActivity{gap:12px}.psPortalActivity b{font-size:12px}.psPortalActivity small{font-size:10px}.psPortalActivity>span:last-child{max-width:125px}.psPortalAccountLinks{gap:20px}.psPortalAccountLinks p{font-size:11px!important}.psPortalAccountLinks i{font-size:12px}.psPortalAccountLinks h3{font-size:16px!important}.psPortalBasketGrid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:1px 2px 10px;scrollbar-width:thin;scrollbar-color:#b9c8b6 transparent}.psPortalBasketGrid .psBasketCard{scroll-snap-align:start}.appShell.pscOperatingShell.v381Shell .psPortalHome .psBasketCard h3{min-height:0;font-size:18px!important}.psPortalHome .psBasketCardCopy{padding-top:12px}.psPortalHome .pscHomeCategoryColumns{grid-template-columns:1fr!important;gap:22px!important}.psPortalHome .psPortalHelp{padding-top:24px}.psPortalHome .psPortalHelp h2{font-size:21px!important}.psPortalHome .psPortalHelp .psTextLink{font-size:11px}}
@media(prefers-reduced-motion:reduce){.psPortalHome *{scroll-behavior:auto!important}}

#app .appShell.pscOperatingShell.v381Shell.psPortalHomeShell :is(.mainArea,.contentWrap){background:#fcfdfb!important}
.psPortalHome svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#app .appShell.pscOperatingShell.v381Shell .psPortalSearch input{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;outline:0!important}
.psPortalHome .psDisclosurePreview{display:none!important}
.psPortalHome .psPortalApprovalNote{font-size:11px!important;margin:18px 0 0!important;max-width:none!important;color:#7b857c}
@media(max-width:980px){#app .appShell.psPortalHomeShell .portalHeaderBar .campusPillMain{display:grid!important;min-width:0!important;gap:2px;max-width:150px}#app .appShell.psPortalHomeShell .portalHeaderBar .campusPillMain :is(b,small){display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app .appShell.psPortalHomeShell .portalHeaderBar .accountGroupName{max-width:130px!important;font-size:9px!important}#app .appShell.psPortalHomeShell .portalHeaderBar .campusPillMain b{max-width:140px!important;font-size:11px!important}}

/* Reuse the established photographic artwork; retain the DHA mark as its own image. */
.psPortalUtilityArt{display:block;width:40px;height:40px;object-fit:contain}
.psPortalSearch .psPortalUtilityArt{width:24px;height:24px}
.psPortalAccountLinks .psPortalUtilityArt{width:32px;height:32px}
.psPortalAccountLinks button>span:first-child{flex-basis:32px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategoryArt{min-height:64px;gap:6px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategoryArt .pscHomeCategoryIcon{width:64px!important;height:64px!important;flex:0 0 64px}
.psPortalHome .pscHomeCategoryIcon img{display:block;width:100%;height:100%;object-fit:contain}
.appShell.pscOperatingShell.v381Shell .psPortalHome [data-go*="/dha-"] .pscHomeCategoryIcon{width:44px!important;flex-basis:44px}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psPortalHelp :is(h2,.psTextLink){color:#fff!important}
.appShell.pscOperatingShell.v381Shell .psPortalHome .psPortalHelp p{color:#d5e2d8!important}
.psPortalHelp .psTextLink:hover{border-bottom-color:#b6cfbb}
@media(min-width:601px){.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeCategoryColumns>section:nth-child(2){padding-left:24px;border-left:1px solid #dfdccd}}
@media(max-width:760px){.appShell.pscOperatingShell.v381Shell .psPortalHome [data-go*="/dha-"] .pscHomeCategoryIcon{width:28px!important;flex-basis:28px}.psPortalWork{padding:20px}.psPortalHelp{padding:24px}}
@media(max-width:600px){.appShell.pscOperatingShell.v381Shell .psPortalHome .pscHomeBrowse{margin-inline:-18px;padding:24px 18px;width:calc(100% + 36px);border-radius:0}.psPortalHome .pscHomeCategoryColumns>section:nth-child(2){border-top:1px solid #dfdccd;padding-top:22px!important}.psPortalHome .psPortalHelp{padding:23px 21px}.psPortalHome .psPortalAccountLinks button>span:first-child{display:block;flex-basis:28px}.psPortalAccountLinks .psPortalUtilityArt{width:28px;height:28px}.psPortalAccountLinks button{gap:10px;flex-wrap:wrap}.psPortalAccountLinks button>span:nth-child(2){flex:1 1 85px}.psPortalAccountLinks button>i{display:none}}


/* Compact transactional school-clinic collections. Visual layer only; never a price/compliance source. */
.psSchoolBaskets{margin:22px 0 28px;padding:22px;background:var(--surface,#fff);border:1px solid rgba(19,55,47,.13);border-radius:19px}
.psSchoolBaskets .psSchoolHead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}
.psSchoolHead h2{font-size:clamp(1.28rem,2vw,1.75rem);margin:4px 0 6px}
.psSchoolHead p{font-size:.92rem;color:var(--ink-muted,#5d6a65);max-width:670px;margin:0}
.psSchoolCollectionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.psSchoolCollectionTile{display:flex;min-width:0;text-align:left;flex-direction:column;align-items:flex-start;gap:5px;padding:14px 13px;border:1px solid rgba(19,55,47,.15);border-radius:12px;background:#fff;color:#163d32;cursor:pointer;transition:background .18s,border-color .18s}
.psSchoolCollectionTile:hover,.psSchoolCollectionTile:focus-visible{border-color:#285c49;background:#f5faf7}
.psSchoolCollectionTile[aria-pressed="true"]{border-color:#285c49;background:#e9f4ee}
.psSchoolCollectionTile small{font-size:.69rem;font-weight:750;letter-spacing:.045em}
.psSchoolCollectionTile strong{font-size:1rem;line-height:1.2}
.psSchoolCollectionTile span{font-size:.81rem;line-height:1.4;color:#556760}
.psSchoolCollectionPanel{margin-top:16px;padding-top:17px;border-top:1px solid rgba(19,55,47,.15)}
.psSchoolCollectionPanel h3{font-size:1.2rem;line-height:1.3;margin:0 0 5px}
.psSchoolCollectionPanel p{font-size:.91rem;color:#51625a}
.psSchoolPanelActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:13px 0}
.psSchoolFinePrint{font-size:.77rem;color:#576a61;margin-top:12px;line-height:1.5}
.psSchoolGroupGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}
.psSchoolGroup{border:1px solid rgba(20,56,46,.14);padding:12px;border-radius:11px;min-width:0;background:#fff}
.psSchoolGroup summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;font-weight:700}
.psSchoolGroup summary span{font-size:.76rem;color:#62776e;white-space:nowrap}
.psSchoolGroup p{font-size:.82rem;margin:8px 0;color:#5f6d65}
.psSchoolLines{display:grid;grid-template-columns:1fr;gap:0;padding:0;margin:10px 0 0;list-style:none}
.psSchoolLines li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;border-top:1px solid #edf1ed;font-size:.82rem}
.psSchoolLines button{background:transparent;border:0;color:#205e48;text-decoration:underline;font-size:.78rem;cursor:pointer;white-space:nowrap}
.psSchoolKitSelector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.psSchoolKitSelector button{text-align:left;padding:11px;border:1px solid #d7e2dc;border-radius:10px;background:#fff;cursor:pointer;font-size:.87rem;font-weight:650}
.psSchoolKitSelector button[aria-pressed="true"]{border-color:#255d48;background:#eaf4ee}
.psSchoolKitBody{border-radius:12px;background:#fafcfb;border:1px solid #e0e8e2;padding:16px;margin-top:13px}
.psSchoolKitBody .psSchoolLines li{padding:7px 0}
.psSchoolKitBody .psSchoolLines b{font-size:.76rem;text-align:right;font-weight:500;color:#617069}
@media(max-width:740px){.psSchoolBaskets{padding:14px;margin:14px 0}.psSchoolCollectionGrid,.psSchoolKitSelector{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.psSchoolCollectionTile{padding:10px 7px;gap:3px}.psSchoolCollectionTile small{font-size:.6rem}.psSchoolCollectionTile strong{font-size:.77rem}.psSchoolCollectionTile span{font-size:.68rem;line-height:1.3}.psSchoolGroupGrid{grid-template-columns:1fr}.psSchoolKitSelector button{font-size:.72rem;padding:8px 6px}.psSchoolKitBody{padding:10px}}
