body.wc-scope { margin:0; background:#fbf4e9; color:#2a1f2e; font-family:'DM Sans',sans-serif; }
.tr-header,.tr-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:16px max(20px,calc((100% - 1100px)/2)); background:#fff; }
.tr-header nav,.tr-footer { display:flex; flex-wrap:wrap; gap:16px; }
.tr-header a,.tr-footer a,.tr-card a { display:inline-flex; align-items:center; min-height:44px; color:#514466; font-weight:600; }
.tr-brand { font-family:'Outfit',sans-serif; font-size:24px; font-weight:800; }
.tr-main { max-width:1100px; margin:auto; padding:28px 20px 60px; }
.tr-hero { padding:clamp(24px,5vw,56px); border-radius:24px; color:#fff; background:linear-gradient(110deg,rgba(43,21,73,.96),rgba(91,33,182,.7)),url('../../assets/heroes/chem-m2-hero.webp') center/cover; }
.tr-hero h1 { font-family:'Outfit',sans-serif; font-size:clamp(34px,5vw,58px); line-height:1.1; margin:16px 0; }
.tr-hero p { max-width:650px; font-size:18px; line-height:1.6; }
.tr-eyebrow { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tr-action { display:inline-flex; align-items:center; min-height:48px; padding:0 20px; border-radius:12px; background:#fff; color:#542196; font-weight:700; margin-top:12px; }
.tr-main h2 { font-family:'Outfit',sans-serif; margin:36px 0 18px; }
.tr-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tr-card { background:#fff; border-radius:18px; border-top:5px solid var(--tr-colour); padding:24px; }
.tr-card h3 { font-family:'Outfit',sans-serif; font-size:22px; line-height:1.25; margin:12px 0; }
.tr-card p,.tr-checklist li { line-height:1.7; }
.tr-card a { display:flex; }
.tr-checklist { padding:4px 24px 20px; margin-top:28px; background:#f1e7ff; border-radius:18px; }
.tr-checklist li { margin:10px 0; }
:is(.tr-header,.tr-main,.tr-footer) a:focus-visible,.tr-skip:focus-visible { outline:3px solid #0f766e; outline-offset:4px; }
.tr-skip { position:absolute; left:20px; top:-100px; background:#fff; padding:12px; z-index:100; }
.tr-skip:focus { top:12px; }
@media(max-width:850px) { .tr-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .tr-grid { grid-template-columns:minmax(0,1fr); } .tr-header nav { width:100%; } }
