 /* PRODUCT HERO */
  .phero{padding:70px 0 60px;background:#fff}
  .phero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .phero-media{background:linear-gradient(160deg,var(--blue-pale),#fff);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow-sm)}
  .phero-media img{border-radius:12px;width:100%}
  .phero h1{font-size:clamp(2.2rem,4.4vw,3.1rem);margin:16px 0 16px}
  .phero .sub{color:var(--grey);font-size:1.1rem;margin-bottom:24px}
  .phero-specs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 28px}
  .phero-specs .s{background:var(--paper-soft);border:1px solid var(--line);border-radius:11px;padding:14px 16px}
  .phero-specs .k{font-family:'Sora',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:3px}
  .phero-specs .v{font-weight:600;color:var(--navy);font-size:1rem}
  .phero-cta{display:flex;gap:14px;flex-wrap:wrap}
  @media(max-width:900px){.phero-grid{grid-template-columns:1fr;gap:36px}}

  section.blk{padding:80px 0}
  .sec-head{max-width:720px;margin-bottom:46px}
  .sec-head.center{margin-inline:auto;text-align:center}
  .sec-head.center .eyebrow{justify-content:center}
  .sec-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:14px 0 14px}
  .sec-head p{color:var(--grey);font-size:1.05rem}

  /* intro band */
  .intro{background:var(--paper-soft)}
  .intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}
  .intro-copy h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:14px 0 16px}
  .intro-copy p{color:var(--grey);margin-bottom:16px}
  .intro-list{list-style:none;display:grid;gap:13px;margin-top:20px}
  .intro-list li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);font-weight:500}
  .intro-list .tick{flex:none;width:23px;height:23px;border-radius:6px;background:var(--blue-pale);color:var(--blue-bright);display:grid;place-items:center;font-size:.78rem;font-weight:700;margin-top:1px}
  .intro-panel{background:linear-gradient(155deg,var(--blue),var(--navy));border-radius:18px;padding:34px;color:#fff;box-shadow:var(--shadow)}
  .intro-panel h3{color:#fff;font-size:1.25rem;margin-bottom:10px}
  .intro-panel p{color:#cadcf2;font-size:.96rem}
  .intro-panel .std{margin-top:18px;display:flex;flex-wrap:wrap;gap:9px}
  .intro-panel .std span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:7px 12px;font-size:.82rem;font-weight:500}
  @media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:34px}}

  /* SIZES TABLE */
  .sizes{background:#fff}
  .table-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
  table{width:100%;border-collapse:collapse;font-size:.98rem}
  thead{background:linear-gradient(120deg,var(--blue),var(--navy));color:#fff}
  th,td{padding:16px 20px;text-align:left}
  th{font-family:'Sora',sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.02em}
  tbody tr{border-top:1px solid var(--line)}
  tbody tr:nth-child(even){background:var(--paper-soft)}
  tbody td:first-child{font-family:'Sora',sans-serif;font-weight:600;color:var(--navy)}
  .table-note{margin-top:16px;color:var(--grey);font-size:.9rem}
  @media(max-width:640px){th,td{padding:12px 12px;font-size:.86rem}}

  /* FEATURES */
  .features{background:var(--paper-soft)}
  .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .feat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;transition:.25s}
  .feat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .feat-ico{width:46px;height:46px;border-radius:11px;background:var(--blue-pale);color:var(--blue);display:grid;place-items:center;margin-bottom:16px}
  .feat-ico svg{width:24px;height:24px}
  .feat h3{font-size:1.08rem;margin-bottom:8px}
  .feat p{color:var(--grey);font-size:.93rem}
  @media(max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.feat-grid{grid-template-columns:1fr}}

  /* CONSTRUCTION SPEC list */
  .spec{background:#fff}
  .spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px}
  .spec-grid .row{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
  .spec-grid .row .tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue-bright);color:#fff;display:grid;place-items:center;font-size:.7rem;margin-top:2px}
  .spec-grid .row p{color:var(--ink);font-size:.96rem}
  @media(max-width:820px){.spec-grid{grid-template-columns:1fr;gap:0}}

  /* ACCESSORIES */
  .acc{background:var(--paper-soft)}
  .acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .acc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;transition:.25s}
  .acc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .acc-ico{width:42px;height:42px;border-radius:10px;background:linear-gradient(150deg,var(--blue-bright),var(--blue));color:#fff;display:grid;place-items:center;margin-bottom:14px}
  .acc-ico svg{width:21px;height:21px}
  .acc-card h3{font-size:1.02rem;margin-bottom:7px}
  .acc-card p{color:var(--grey);font-size:.89rem}
  @media(max-width:900px){.acc-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.acc-grid{grid-template-columns:1fr}}

  /* ABATEMENT */
  .abate{background:#fff}
  .abate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .abate-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.25s;display:flex;flex-direction:column}
  .abate-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .abate-top{height:7px;background:linear-gradient(90deg,var(--blue-bright),var(--sky))}
  .abate-body{padding:26px 24px}
  .abate-body h3{font-size:1.1rem;margin-bottom:9px}
  .abate-body p{color:var(--grey);font-size:.92rem}
  @media(max-width:900px){.abate-grid{grid-template-columns:1fr}}

  /* CTA */
  .cta{background:linear-gradient(155deg,var(--blue),var(--navy));color:#fff;position:relative;overflow:hidden}
  .cta-lines{position:absolute;inset:0;opacity:.4;background:repeating-linear-gradient(120deg,transparent 0 44px,rgba(122,182,255,.06) 44px 45px)}
  .cta .wrap{position:relative;text-align:center;padding:20px 28px}
  .cta h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:14px}
  .cta p{color:#cbdcf0;font-size:1.1rem;max-width:560px;margin:0 auto 28px}
  .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

  footer{background:var(--navy);color:#9db4cc;padding:66px 0 26px;font-size:.92rem}
  .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1.1fr;gap:56px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.09)}
  .foot-brand .logo{margin-bottom:18px}
  .foot-brand .logo img{height:40px;width:auto}
  .foot-brand .logo .mark{border-color:#fff;width:30px;height:35px}
  .foot-brand p{max-width:340px;color:#9fb6cf;font-size:.92rem}
  .foot-accred{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
  .foot-accred span{font-family:'Sora',sans-serif;font-size:.72rem;font-weight:600;color:#bcd2ea;border:1px solid rgba(255,255,255,.14);padding:6px 11px;border-radius:7px}
  footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-weight:600}
  footer ul{list-style:none;display:grid;gap:11px}
  footer ul a{color:#9db4cc;transition:.2s}
  footer ul a:hover{color:#fff;padding-left:4px}
  .foot-contact a{color:#9db4cc;transition:.2s;display:block;margin-bottom:11px}
  .foot-contact a:hover{color:#fff}
  .foot-linkedin{display:inline-flex;align-items:center;gap:9px;margin-top:8px;color:#bcd2ea;border:1px solid rgba(255,255,255,.16);padding:9px 15px;border-radius:9px;transition:.25s;font-family:'Sora',sans-serif;font-weight:500;font-size:.86rem}
  .foot-linkedin:hover{background:var(--blue);border-color:var(--blue);color:#fff}
  .foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;color:#6f88a1;font-size:.82rem}
  @media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:34px}}
  @media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

  .reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto}}
  
  /* QUOTE FORM */
  .quote{background:var(--paper-soft)}
  .quote-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}
  .qform{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:var(--shadow-sm)}
  .qform h3{font-size:1.15rem;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .qform h3:not(:first-of-type){margin-top:34px}
  .fgroup{margin-bottom:18px}
  .fgroup label{display:block;font-family:'Sora',sans-serif;font-weight:500;font-size:.9rem;color:var(--navy);margin-bottom:7px}
  .fgroup input[type=text],.fgroup input[type=email],.fgroup input[type=tel],.fgroup input[type=number],.fgroup textarea,.fgroup select{
    width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:.96rem;color:var(--ink);background:#fff;transition:.2s}
  .fgroup input:focus,.fgroup textarea:focus,.fgroup select:focus{outline:0;border-color:var(--blue-bright);box-shadow:0 0 0 3px rgba(15,107,214,.12)}
  .fgroup textarea{min-height:96px;resize:vertical}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .req{color:#d23b3b}

  /* Finish selector standout */
  .finish-lab{display:block;font-family:'Sora',sans-serif;font-weight:600;font-size:.95rem;color:var(--navy);margin-bottom:10px}
  .finish-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
  .finish{position:relative;cursor:pointer;display:block}
  .finish input{position:absolute;opacity:0}
  .finish .box{display:block;border:2px solid var(--line);border-radius:12px;padding:16px 18px;transition:.2s;background:#fff}
  .finish .box .t{font-family:'Sora',sans-serif;font-weight:600;color:var(--navy);font-size:1rem;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .finish .box .d{display:block;color:var(--grey);font-size:.85rem;line-height:1.45}
  .finish .box .tag{display:inline-block;font-family:'Inter',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--blue-pale);color:var(--blue);padding:3px 8px;border-radius:20px;margin-left:auto}
  .finish input:checked + .box{border-color:var(--blue-bright);background:var(--blue-pale);box-shadow:0 8px 20px -12px rgba(15,107,214,.6)}
  .finish input:focus-visible + .box{outline:3px solid var(--sky);outline-offset:2px}

  /* accessory checkboxes */
  .acc-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
  .acc-check{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:9px;cursor:pointer;transition:.2s;background:#fff}
  .acc-check:hover{border-color:var(--blue-bright);background:var(--blue-pale)}
  .acc-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue-bright);flex:none}
  .acc-check .ct{font-size:.92rem;color:var(--ink)}
  .acc-check .ct b{display:block;font-family:'Sora',sans-serif;font-weight:600;color:var(--navy);font-size:.92rem}
  .qsubmit{margin-top:26px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
  .qnote{color:var(--grey);font-size:.84rem}

  .qside{background:linear-gradient(155deg,var(--blue),var(--navy));border-radius:18px;padding:34px;color:#fff;box-shadow:var(--shadow);position:sticky;top:130px}
  .qside h3{color:#fff;font-size:1.3rem;margin-bottom:12px}
  .qside p{color:#cadcf2;font-size:.95rem;margin-bottom:20px}
  .qside .qrow{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .qside .qrow:last-child{border-bottom:0}
  .qside .qrow .ic{width:36px;height:36px;border-radius:9px;background:rgba(122,182,255,.16);display:grid;place-items:center;color:var(--sky);flex:none}
  .qside .qrow .ic svg{width:18px;height:18px}
  .qside .qrow .v{font-family:'Sora',sans-serif;font-weight:500;font-size:.98rem}
  @media(max-width:900px){.quote-grid{grid-template-columns:1fr;gap:28px}.qside{position:static}}
  @media(max-width:560px){.frow,.finish-opts,.acc-checks{grid-template-columns:1fr}}

  
  .phero-cap{margin-top:12px;text-align:center;font-size:.8rem;color:var(--grey);font-style:italic}
  .apps{background:#fff;border-bottom:1px solid var(--line);padding:30px 0}
  .apps-inner{display:flex;gap:26px;align-items:center;flex-wrap:wrap;justify-content:center;text-align:center}
  .apps p{color:var(--ink);font-size:1.02rem;max-width:640px}
  .apps p b{color:var(--navy);font-weight:600}
  .apps-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
  .apps-chips span{background:var(--blue-pale);color:var(--blue);border:1px solid var(--line);border-radius:40px;padding:9px 16px;font-family:'Sora',sans-serif;font-weight:500;font-size:.86rem}

  .filter-lab{display:block;font-family:'Sora',sans-serif;font-weight:600;font-size:.95rem;color:var(--navy);margin-bottom:10px}
  .filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  .filter-opt{position:relative;cursor:pointer}
  .filter-opt input{position:absolute;opacity:0}
  .filter-opt .fb{display:block;border:2px solid var(--line);border-radius:10px;padding:12px 10px;text-align:center;transition:.2s;background:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:.9rem;color:var(--navy)}
  .filter-opt .fb small{display:block;font-family:'Inter',sans-serif;font-weight:400;font-size:.72rem;color:var(--grey);margin-top:2px}
  .filter-opt input:checked + .fb{border-color:var(--blue-bright);background:var(--blue-pale)}
  .filter-opt input:focus-visible + .fb{outline:3px solid var(--sky);outline-offset:2px}
  .consent{display:flex;gap:11px;align-items:flex-start;margin:22px 0 4px;padding:14px 16px;background:var(--paper-soft);border:1px solid var(--line);border-radius:10px}
  .consent input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue-bright);flex:none}
  .consent label{font-size:.86rem;color:var(--grey);line-height:1.5}
  .consent a{color:var(--blue);text-decoration:underline}
  /* highlight option band */
  .optband{background:linear-gradient(120deg,var(--blue),var(--navy));color:#fff;position:relative;overflow:hidden}
  .optband-lines{position:absolute;inset:0;opacity:.4;background:repeating-linear-gradient(60deg,transparent 0 40px,rgba(120,180,255,.05) 40px 41px)}
  .optband-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
  .optband h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.4rem);margin:16px 0 14px}
  .optband p{color:#cadcf2;margin-bottom:14px}
  .optband .std{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
  .optband .std span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 13px;font-size:.84rem;font-weight:500}
  .optband-visual{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:32px;text-align:center}
  .optband-visual .big{font-family:'Sora',sans-serif;font-size:3rem;font-weight:700;color:#fff}
  .optband-visual .cap{color:#bcd5f0;font-size:.95rem;margin-top:6px}
  @media(max-width:820px){.optband-grid{grid-template-columns:1fr;gap:30px}}
  @media(max-width:640px){.filter-grid{grid-template-columns:1fr 1fr}}
  :focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:4px}
  /* ---- Article / resource pages ---- */
  .art-hero{background:linear-gradient(160deg,var(--blue-pale),var(--white));padding:60px 0 34px}
  .art-hero .wrap{max-width:820px}
  .art-cat{display:inline-flex;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-bright);background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 14px;margin-bottom:16px}
  .art-hero h1{font-family:'Sora',sans-serif;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12;color:var(--navy);font-weight:700;letter-spacing:-.02em}
  .art-hero .standfirst{font-size:1.16rem;color:var(--grey);margin-top:16px;line-height:1.6}
  .art-meta{margin-top:20px;display:flex;gap:16px;flex-wrap:wrap;color:var(--grey);font-size:.86rem;align-items:center}
  .art-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line)}

  .art-figure{margin:0 0 8px}
  .art-figure img{width:100%;border-radius:16px;display:block;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
  .art-figure figcaption{color:var(--grey);font-size:.84rem;margin-top:10px;text-align:center}

  .art-body{max-width:760px;margin:0 auto;padding:6px 0 10px}
  .art-body h2{font-family:'Sora',sans-serif;font-size:1.5rem;color:var(--navy);margin:38px 0 14px;letter-spacing:-.01em}
  .art-body h3{font-family:'Sora',sans-serif;font-size:1.16rem;color:var(--navy);margin:26px 0 10px}
  .art-body p{color:#37475f;font-size:1.03rem;line-height:1.75;margin-bottom:16px}
  .art-body ul,.art-body ol{margin:0 0 18px;padding-left:22px}
  .art-body li{color:#37475f;font-size:1.03rem;line-height:1.7;margin-bottom:9px}
  .art-body strong{color:var(--navy);font-weight:600}
  .art-body a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
  .art-body a:hover{color:var(--blue-bright)}

  .art-lead-in{font-size:1.1rem;color:#2b3b52}

  /* pull quote */
  .pullquote{border-left:4px solid var(--sky);background:var(--paper-soft);border-radius:0 12px 12px 0;padding:20px 24px;margin:26px 0;font-family:'Sora',sans-serif;font-size:1.14rem;color:var(--navy);line-height:1.5}

  /* key-points / callout box */
  .keybox{background:var(--blue-pale);border:1px solid #cfe0f5;border-radius:14px;padding:22px 24px;margin:26px 0}
  .keybox h4{font-family:'Sora',sans-serif;color:var(--navy);font-size:1.02rem;margin-bottom:10px;display:flex;align-items:center;gap:9px}
  .keybox h4 svg{width:20px;height:20px;color:var(--blue)}
  .keybox ul{margin:0;padding-left:20px}
  .keybox li{font-size:.97rem;margin-bottom:7px;color:#37475f}

  /* comparison table inside articles */
  .art-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:24px 0;box-shadow:var(--shadow-sm)}
  .art-table table{width:100%;border-collapse:collapse;min-width:520px}
  .art-table th,.art-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.94rem;vertical-align:top}
  .art-table thead th{background:linear-gradient(120deg,var(--blue),var(--navy));color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.03em}
  .art-table tbody tr:nth-child(even){background:var(--paper-soft)}
  .art-table tbody tr:last-child td{border-bottom:none}
  .art-table td .yes{color:#1a8a4f;font-weight:600}
  .art-table td .no{color:#b23b3b;font-weight:600}

  /* simple diagram card */
  .diagram{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;margin:26px 0;box-shadow:var(--shadow-sm)}
  .flowrow{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap;justify-content:center}
  .flowstep{flex:1;min-width:150px;background:linear-gradient(160deg,var(--blue-pale),#fff);border:1px solid var(--line);border-radius:12px;padding:18px 16px;text-align:center}
  .flowstep .n{width:30px;height:30px;border-radius:8px;background:var(--blue);color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:.82rem;display:grid;place-items:center;margin:0 auto 10px}
  .flowstep h5{font-family:'Sora',sans-serif;font-size:.96rem;color:var(--navy);margin-bottom:5px}
  .flowstep p{font-size:.82rem !important;color:var(--grey) !important;line-height:1.45 !important;margin:0 !important}
  .flowarrow{display:flex;align-items:center;color:var(--sky)}
  .flowarrow svg{width:22px;height:22px}
  @media(max-width:640px){.flowarrow{transform:rotate(90deg)}.flowstep{min-width:100%}}

  /* product link card (CTA within article) */
  .prodlink{display:flex;gap:20px;align-items:center;background:linear-gradient(120deg,var(--blue),var(--navy));border-radius:16px;padding:26px 28px;margin:30px 0;color:#fff}
  .prodlink .pl-ico{flex:none;width:54px;height:54px;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center}
  .prodlink .pl-ico svg{width:27px;height:27px;color:#fff}
  .prodlink h4{font-family:'Sora',sans-serif;font-size:1.14rem;margin-bottom:4px;color:#fff}
  .prodlink p{font-size:.92rem !important;color:#cfe0f5 !important;margin:0 0 2px}
  .prodlink .pl-cta{flex:none;margin-left:auto}
  .prodlink a.pl-btn{display:inline-block;background:#fff;color:var(--blue);font-family:'Sora',sans-serif;font-weight:600;font-size:.9rem;padding:11px 20px;border-radius:10px;text-decoration:none;white-space:nowrap;transition:.2s}
  .prodlink a.pl-btn:hover{background:var(--blue-pale)}
  @media(max-width:620px){.prodlink{flex-direction:column;text-align:center}.prodlink .pl-cta{margin-left:0}}

  /* related articles */
  .related{background:var(--paper-soft)}
  .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .relcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 22px;text-decoration:none;display:block;transition:.2s}
  .relcard:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
  .relcard .rc-cat{font-family:'Sora',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-bright)}
  .relcard h4{font-family:'Sora',sans-serif;font-size:1.04rem;color:var(--navy);margin:8px 0 6px;line-height:1.3}
  .relcard p{color:var(--grey);font-size:.88rem;margin:0;line-height:1.5}
  @media(max-width:820px){.related-grid{grid-template-columns:1fr}}

  /* author / disclaimer strip */
  .art-foot{max-width:760px;margin:10px auto 60px;padding-top:22px;border-top:1px solid var(--line)}
  .art-foot p{color:var(--grey);font-size:.85rem;line-height:1.55}

  /* resources index */
  .res-hero{background:linear-gradient(160deg,var(--blue-pale),var(--white));padding:64px 0 40px}
  .res-hero .wrap{max-width:760px}
  .res-hero h1{font-family:'Sora',sans-serif;font-size:clamp(2rem,4.4vw,3rem);color:var(--navy);font-weight:700;letter-spacing:-.02em;line-height:1.1}
  .res-hero p{font-size:1.14rem;color:var(--grey);margin-top:16px;line-height:1.6}
  .res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .res-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.2s;box-shadow:var(--shadow-sm)}
  .res-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
  .res-thumb{aspect-ratio:16/8;background:linear-gradient(135deg,var(--blue),var(--navy));display:grid;place-items:center;position:relative;overflow:hidden}
  .res-thumb .lines{position:absolute;inset:0;opacity:.6;background:repeating-linear-gradient(60deg,transparent 0 30px,rgba(120,180,255,.10) 30px 31px)}
  .res-thumb .wave{position:absolute;right:-30px;bottom:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(120,180,255,.22),transparent 62%)}
  .res-thumb .badge{position:relative;width:74px;height:74px;border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;backdrop-filter:blur(2px)}
  .res-thumb .emblem{display:grid;place-items:center;color:#fff}
  .res-thumb .emblem svg{width:38px;height:38px;color:#fff;stroke:#fff}
  .res-card .rc-in{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
  .res-card .rc-cat{font-family:'Sora',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-bright)}
  .res-card h3{font-family:'Sora',sans-serif;font-size:1.1rem;color:var(--navy);margin:8px 0 8px;line-height:1.28}
  .res-card p{color:var(--grey);font-size:.9rem;line-height:1.55;margin:0 0 14px;flex:1}
  .res-card .rc-more{font-family:'Sora',sans-serif;font-weight:600;font-size:.86rem;color:var(--blue)}
  @media(max-width:900px){.res-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.res-grid{grid-template-columns:1fr}}
  .res-secttl{font-family:'Sora',sans-serif;font-size:1.5rem;color:var(--navy);margin:0 0 4px;display:flex;align-items:center;gap:10px}
  .res-secttl svg{width:24px;height:24px;color:var(--blue)}

  /* datasheets download section */
  .ds-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .ds-row{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;transition:.18s}
  .ds-row:hover{box-shadow:var(--shadow-sm);border-color:#cfe0f5;transform:translateY(-2px)}
  .ds-row .ds-ic{flex:none;width:44px;height:44px;border-radius:10px;background:var(--blue-pale);color:var(--blue);display:grid;place-items:center}
  .ds-row .ds-ic svg{width:22px;height:22px}
  .ds-row .ds-txt{flex:1;min-width:0}
  .ds-row .ds-name{font-family:'Sora',sans-serif;font-weight:600;color:var(--navy);font-size:.98rem;line-height:1.25; text-align: left;}
  .ds-row .ds-meta{color:var(--grey);font-size:.8rem;margin-top:2px}
  .ds-row .ds-dl{flex:none;color:var(--blue)}
  .ds-row .ds-dl svg{width:22px;height:22px}
  .ds-subhead{font-family:'Sora',sans-serif;font-size:1.05rem;color:var(--navy);font-weight:600;margin:24px 0 12px;display:flex;align-items:center;gap:8px}
  .ds-subhead svg{width:22px;height:22px;flex:none;color:var(--blue)}
  .ds-subhead:first-of-type{margin-top:4px}
  .ds-note{color:var(--grey);font-size:.88rem;margin-top:20px}
  @media(max-width:720px){.ds-grid{grid-template-columns:1fr}}


  .res-card .rc-in{padding:26px 24px 26px}
  .res-card{min-height:0}
/* =========================================================
   FLEXIBLE RESOURCE CONTENT BUILDER
   Frontend rendering for Text, Image, Columns, Tables,
   Callouts and Steps blocks.
========================================================= */
.resource-article-section{
  padding:34px 0 10px;
}

.resource-article-body .resource-content-builder{
  width:100%;
}

.resource-content-builder .resource-block{
  margin:0 0 26px;
}

.resource-content-builder .resource-block:last-child{
  margin-bottom:0;
}

/* Block backgrounds */
.resource-block-bg-transparent{
  background:transparent;
}

.resource-block-bg-white{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px;
  box-shadow:var(--shadow-sm);
}

.resource-block-bg-light{
  background:var(--paper-soft);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px;
}

.resource-block-bg-blue{
  background:var(--blue-pale);
  border:1px solid #cfe0f5;
  border-radius:16px;
  padding:24px;
}

.resource-block-bg-dark{
  background:linear-gradient(135deg,var(--blue),var(--navy));
  border-radius:16px;
  padding:28px;
  color:#fff;
}

.resource-block-bg-dark h2,
.resource-block-bg-dark h3,
.resource-block-bg-dark h4{
  color:#fff;
}

.resource-block-bg-dark p,
.resource-block-bg-dark li,
.resource-block-bg-dark .resource-block-column-content{
  color:#d7e5f4;
}

.resource-content-builder h2{
  font-family:'Sora',sans-serif;
  font-size:1.5rem;
  color:var(--navy);
  margin:0 0 14px;
  letter-spacing:-.01em;
}

.resource-content-builder h3{
  font-family:'Sora',sans-serif;
  font-size:1.08rem;
  color:var(--navy);
  margin:0 0 9px;
}

.resource-content-builder p{
  color:#37475f;
  font-size:1.03rem;
  line-height:1.75;
  margin:0 0 16px;
}

.resource-content-builder p:last-child{
  margin-bottom:0;
}

/* Images */
.resource-block-figure{
  margin:0;
}

.resource-block-image{
  width:100%;
  height:auto;
  display:block;
}

.resource-block-figure figcaption{
  color:var(--grey);
  font-size:.84rem;
  margin-top:10px;
  text-align:center;
  line-height:1.5;
}

/* Columns */
.resource-block-columns{
  display:grid;
  gap:18px;
}

.resource-block-columns.columns-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.resource-block-columns.columns-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.resource-block-columns.columns-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.resource-block-column{
  min-width:0;
}

.resource-block-column-content p{
  margin-bottom:12px;
}

/* Tables */
.resource-block-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow-sm);
}

.resource-content-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  margin:0;
}

.resource-content-table th,
.resource-content-table td{
  padding:13px 16px;
  text-align:left;
  border-bottom:1px solid var(--line);
  font-size:.94rem;
  line-height:1.55;
  vertical-align:top;
}

.resource-content-table thead th{
  background:linear-gradient(120deg,var(--blue),var(--navy));
  color:#fff;
  font-family:'Sora',sans-serif;
  font-weight:600;
  font-size:.82rem;
  letter-spacing:.03em;
}

.resource-content-table tbody tr:nth-child(even){
  background:var(--paper-soft);
}

.resource-content-table tbody tr:last-child td{
  border-bottom:none;
}

/* Callout */
/* The outer section uses .resource-block-callout. The inner wrapper uses a
   separate class so the callout styles are never applied twice. */
.resource-block.resource-block-callout{
  border-left:4px solid var(--sky);
  background:var(--paper-soft);
  border-radius:0 12px 12px 0;
  padding:20px 24px;
}

.resource-block.resource-block-callout.resource-block-bg-dark{
  background:rgba(255,255,255,.08);
  border-left-color:#8fc3ff;
}

.resource-block-callout-inner{
  width:100%;
}

.resource-block-callout-inner h3{
  margin:0 0 8px;
}

.resource-block-callout-inner h3:last-child{
  margin-bottom:0;
}

.resource-block-callout-inner > div:empty{
  display:none;
}

.resource-block-callout-inner > div > :first-child{
  margin-top:0;
}

.resource-block-callout-inner > div > :last-child{
  margin-bottom:0;
}

/* Steps / Process */
.resource-block-steps{
  display:grid;
  gap:18px;
}

.resource-block-steps.steps-1{
  grid-template-columns:1fr;
}

.resource-block-steps.steps-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.resource-block-steps.steps-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.resource-block-steps.steps-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.resource-block-step{
  position:relative;
  min-width:0;
  background:linear-gradient(160deg,var(--blue-pale),#fff);
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px 18px;
  text-align:center;
}

.resource-block-step-number{
  width:34px;
  height:34px;
  border-radius:9px;
  background:var(--blue);
  color:#fff;
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:.9rem;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
}

.resource-block-step h3{
  margin-bottom:7px;
}

.resource-block-step p{
  color:var(--grey);
  font-size:.92rem;
  line-height:1.55;
  margin-bottom:0;
}

.resource-block-bg-dark .resource-block-step{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
}

.resource-block-bg-dark .resource-block-step h3{
  color:#fff;
}

.resource-block-bg-dark .resource-block-step p{
  color:#d7e5f4;
}

/* Existing legacy HTML remains supported */
.resource-article-legacy{
  width:100%;
}

@media(max-width:900px){
  .resource-block-columns.columns-3,
  .resource-block-columns.columns-4,
  .resource-block-steps.steps-3,
  .resource-block-steps.steps-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .resource-article-section{
    padding-top:24px;
  }

  .resource-block-bg-white,
  .resource-block-bg-light,
  .resource-block-bg-blue,
  .resource-block-bg-dark{
    padding:20px;
  }

  .resource-block-columns.columns-2,
  .resource-block-columns.columns-3,
  .resource-block-columns.columns-4,
  .resource-block-steps.steps-2,
  .resource-block-steps.steps-3,
  .resource-block-steps.steps-4{
    grid-template-columns:1fr;
  }

  .resource-content-table th,
  .resource-content-table td{
    padding:11px 12px;
  }
}
