/* ================= Think-PLC Enclosure Cutout Designer =================
   Deploys to ir.attachment cutout-designer.css (mimetype MUST be text/css).
   Palette per think-plc.com standard: navy #0F2138, slate #465972,
   gold #CA9739 (accent, never behind white text), gold-deep #8A6414 for
   gold-toned text on light, ink #53575A, mist #F4F6F8.
   Everything is scoped under .tp-ecd / .tp-ecdpage so it cannot leak. */
.tp-ecd{
  --navy:#0F2138; --navy-2:#1B3557; --slate:#465972; --gold:#CA9739;
  --gold-lt:#DBA843; --gold-deep:#8A6414; --ink:#53575A; --mist:#F4F6F8;
  --line:#E3E7ED; --white:#fff; --good:#2E7D5B; --warn:#B4531A; --bad:#9E2B2B;
  --r:14px; --shadow:0 2px 10px rgba(15,33,56,.06);
  --shadow-lg:0 18px 46px rgba(15,33,56,.14);
  font-family:inherit; color:var(--ink); line-height:1.6;
}
.tp-ecd *,.tp-ecd *::before,.tp-ecd *::after{box-sizing:border-box;}
.tp-ecd h1,.tp-ecd h2,.tp-ecd h3,.tp-ecd h4{color:var(--navy);font-weight:700;letter-spacing:-.01em;margin:0;}
.tp-ecd p{margin:0;}
.tp-ecd .ecd-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ---------- shell ---------- */
.tp-ecd{background:var(--mist);padding:66px 0 76px;border-top:1px solid var(--line);position:relative;}

/* ---------- email gate ---------- */
.tp-ecd .ecd-gate{position:absolute;inset:0;z-index:60;background:rgba(15,33,56,.55);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  display:flex;justify-content:center;align-items:flex-start;padding:90px 20px 40px;}
.tp-ecd .ecd-gatecard{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);
  max-width:440px;width:100%;padding:30px 30px 24px;position:sticky;top:110px;}
.tp-ecd .ecd-gateeyebrow{display:block;font-size:.7rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;}
.tp-ecd .ecd-gatecard h3{font-size:1.4rem;margin-bottom:10px;}
.tp-ecd .ecd-gatecard > p{font-size:.94rem;color:var(--ink);margin-bottom:16px;}
.tp-ecd .ecd-gatefield{margin-bottom:12px;}
.tp-ecd .ecd-gatecard .ecd-btn{width:100%;margin-top:4px;padding:12px 20px;font-size:.98rem;}
.tp-ecd .ecd-gatenote{font-size:.78rem;color:var(--slate);margin:14px 0 0;line-height:1.5;}
.tp-ecd .ecd-head{max-width:820px;margin-bottom:30px;}
.tp-ecd .ecd-head h2{font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.14;margin-bottom:14px;}
.tp-ecd .ecd-head h2 em{font-style:normal;color:var(--gold-deep);}
.tp-ecd .ecd-head p{font-size:1.04rem;}

.tp-ecd .ecd-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);padding:24px 24px 26px;margin-bottom:20px;}
.tp-ecd .ecd-step{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.tp-ecd .ecd-step span{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--navy);
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;}
.tp-ecd .ecd-step h3{font-size:1.14rem;}
.tp-ecd .ecd-hint{font-size:.9rem;color:var(--slate);margin:0 0 18px 42px;}
.tp-ecd .ecd-hint code{background:var(--mist);border:1px solid var(--line);border-radius:5px;
  padding:1px 6px;font-size:.86em;color:var(--navy);}

/* ---------- form atoms ---------- */
.tp-ecd label{display:block;font-size:.74rem;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--slate);margin-bottom:6px;}
.tp-ecd input[type=number],.tp-ecd input[type=text],.tp-ecd select{
  width:100%;padding:9px 11px;border:1px solid #CFD6E0;border-radius:9px;background:#fff;
  font-size:.95rem;color:var(--navy);font-family:inherit;line-height:1.3;}
.tp-ecd select{appearance:none;-webkit-appearance:none;padding-right:30px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='7'%3E%3Cpath%20d='M1%201l4%204%204-4'%20fill='none'%20stroke='%23465972'%20stroke-width='1.6'%20stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;}
.tp-ecd input:focus,.tp-ecd select:focus{outline:0;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(202,151,57,.18);}
.tp-ecd input:disabled,.tp-ecd select:disabled{background:var(--mist);color:#98A2AE;}

.tp-ecd .ecd-btn{display:inline-block;border:0;border-radius:10px;padding:10px 18px;font-weight:700;
  font-size:.9rem;cursor:pointer;font-family:inherit;transition:transform .08s ease,box-shadow .15s ease;}
.tp-ecd .ecd-btn:active{transform:translateY(1px);}
.tp-ecd .ecd-btn--gold{background:var(--gold);color:var(--navy);box-shadow:0 2px 0 #A87C2B;}
.tp-ecd .ecd-btn--gold:hover{background:var(--gold-lt);}
.tp-ecd .ecd-btn--ghost{background:#fff;color:var(--navy);border:1px solid #CFD6E0;}
.tp-ecd .ecd-btn--ghost:hover{border-color:var(--slate);background:var(--mist);}
.tp-ecd .ecd-btn:disabled{opacity:.45;cursor:not-allowed;}

/* segmented pill (manufacturer + units) */
.tp-ecd .ecd-seg{display:inline-flex;border:1px solid #CFD6E0;border-radius:999px;overflow:hidden;background:#fff;}
.tp-ecd .ecd-seg button{border:0;background:transparent;padding:7px 16px;font-size:.84rem;font-weight:700;
  color:var(--slate);cursor:pointer;font-family:inherit;}
.tp-ecd .ecd-seg button + button{border-left:1px solid #E3E7ED;}
.tp-ecd .ecd-seg button.is-on{background:var(--navy);color:#fff;}

/* ---------- step 1 grid ---------- */
.tp-ecd .ecd-doorgrid{margin-left:42px;display:grid;gap:14px 18px;
  grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;}
.tp-ecd .ecd-doorgrid .span2{grid-column:span 2;}
.tp-ecd .ecd-doorinfo{margin:14px 0 0 42px;font-size:.9rem;color:var(--slate);
  background:var(--mist);border:1px solid var(--line);border-radius:10px;padding:10px 14px;}
.tp-ecd .ecd-doorinfo b{color:var(--navy);}

/* ---------- palette ---------- */
.tp-ecd .ecd-pal{margin-left:42px;display:grid;gap:16px 22px;grid-template-columns:repeat(3,minmax(0,1fr));}
.tp-ecd .ecd-palgrp{background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:14px 16px 16px;}
.tp-ecd .ecd-palgrp h4{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);
  margin-bottom:10px;}
.tp-ecd .ecd-palbtns{display:flex;flex-wrap:wrap;gap:8px;}
.tp-ecd .ecd-palbtns button{border:1px solid #CFD6E0;background:#fff;border-radius:9px;padding:7px 12px;
  font-size:.84rem;font-weight:700;color:var(--navy);cursor:pointer;font-family:inherit;text-align:left;}
.tp-ecd .ecd-palbtns button small{display:block;font-weight:400;color:var(--slate);font-size:.74rem;}
.tp-ecd .ecd-palbtns button:hover{border-color:var(--gold);box-shadow:0 0 0 3px rgba(202,151,57,.14);}
.tp-ecd .ecd-palrow{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:8px;}
.tp-ecd .ecd-palrow--3{grid-template-columns:1fr 1fr 1fr;}
.tp-ecd .ecd-palrow--stack{grid-template-columns:1fr;}
.tp-ecd .ecd-palgrp .ecd-btn{width:100%;margin-top:2px;}
.tp-ecd .ecd-palnote{font-size:.78rem;color:var(--slate);margin:8px 0 0;line-height:1.45;}

/* ---------- stage ---------- */
.tp-ecd .ecd-stagecard{padding:18px 18px 14px;}
.tp-ecd .ecd-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.tp-ecd .ecd-bar .grow{flex:1 1 auto;}
.tp-ecd .ecd-bar label{margin:0 8px 0 0;display:inline-block;}
.tp-ecd .ecd-bar select{width:auto;padding:6px 30px 6px 10px;font-size:.86rem;}
.tp-ecd .ecd-stage{position:relative;background:#DCE2EA;border:1px solid var(--line);border-radius:12px;
  overflow:hidden;}
.tp-ecd .ecd-stage svg{display:block;width:100%;height:auto;max-height:66vh;touch-action:none;}
.tp-ecd .ecd-hintline{font-size:.82rem;color:var(--slate);margin-top:8px;}

.tp-ecd svg .door{fill:#F7F9FB;stroke:#0F2138;stroke-width:1.2;}
.tp-ecd svg .keep{fill:none;stroke:#B4531A;stroke-width:.7;stroke-dasharray:4 3;opacity:.75;}
.tp-ecd svg .grid{stroke:#C6CFDA;stroke-width:.35;}
.tp-ecd svg .grid.maj{stroke:#ADB9C8;stroke-width:.55;}
.tp-ecd svg .cut{fill:#fff;stroke:#1B3557;stroke-width:1;}
.tp-ecd svg .outl{fill:none;stroke:#8FA3BE;stroke-width:.8;stroke-dasharray:5 3;}
.tp-ecd svg g.item.is-sel .outl{stroke:#CA9739;}
.tp-ecd svg g.item.is-bad .outl{stroke:#9E2B2B;}
.tp-ecd svg g.item{cursor:grab;}
.tp-ecd svg g.item:active{cursor:grabbing;}
.tp-ecd svg g.item.is-sel .cut{stroke:#CA9739;stroke-width:1.6;fill:#FFF6E4;}
.tp-ecd svg g.item.is-bad .cut{stroke:#9E2B2B;fill:#FBEFEF;}
.tp-ecd svg g.item.is-sel.is-bad .cut{stroke:#9E2B2B;stroke-width:1.6;}
.tp-ecd svg .cross{stroke:#8FA3BE;stroke-width:.5;}
.tp-ecd svg .lbl{font-size:7px;font-weight:700;fill:#465972;text-anchor:middle;pointer-events:none;
  font-family:inherit;}
.tp-ecd svg .dimlbl{font-size:6px;font-weight:600;fill:#64748C;text-anchor:middle;pointer-events:none;
  font-family:inherit;}
.tp-ecd svg g.item.is-sel .dimlbl{fill:#8A6414;}
.tp-ecd svg .guide{stroke:#CA9739;stroke-width:.9;stroke-dasharray:6 3;pointer-events:none;}
.tp-ecd svg .guide--door{stroke:#8A6414;stroke-dasharray:2.5 2.5;}
.tp-ecd svg .datum{stroke:#8A6414;stroke-width:.8;}
.tp-ecd svg .datumlbl{font-size:6.5px;font-weight:800;fill:#8A6414;font-family:inherit;}

/* ---------- inspector ---------- */
.tp-ecd .ecd-insp{display:grid;gap:10px 14px;align-items:end;margin-top:12px;
  grid-template-columns:minmax(150px,1.4fr) repeat(2,minmax(86px,.8fr)) auto auto auto;
  background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.tp-ecd .ecd-insp .who b{display:block;color:var(--navy);font-size:.95rem;}
.tp-ecd .ecd-insp .who small{color:var(--slate);font-size:.78rem;}
.tp-ecd .ecd-insp .acts{display:flex;gap:8px;flex-wrap:wrap;}
.tp-ecd .ecd-insp .ecd-btn{padding:8px 13px;font-size:.82rem;}
.tp-ecd .ecd-arr{display:flex;gap:8px;align-items:end;}
.tp-ecd .ecd-arr input{width:64px;}
.tp-ecd .ecd-arr select{width:auto;}

/* ---------- request form ---------- */
.tp-ecd .ecd-reqmode{margin-left:42px;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.tp-ecd .ecd-reqmode button{border:1.5px solid #CFD6E0;background:#fff;border-radius:12px;
  padding:14px 16px;text-align:left;cursor:pointer;font-family:inherit;}
.tp-ecd .ecd-reqmode button b{display:block;color:var(--navy);font-size:.98rem;margin-bottom:3px;}
.tp-ecd .ecd-reqmode button small{display:block;color:var(--slate);font-size:.84rem;line-height:1.45;}
.tp-ecd .ecd-reqmode button:hover{border-color:var(--gold);}
.tp-ecd .ecd-reqmode button.is-on{border-color:var(--gold);background:#FFFBF2;
  box-shadow:0 0 0 3px rgba(202,151,57,.16);}
.tp-ecd .ecd-reqgrid{margin-left:42px;display:grid;gap:12px 16px;
  grid-template-columns:repeat(4,minmax(0,1fr));}
.tp-ecd .ecd-reqgrid .span2{grid-column:span 2;}
.tp-ecd .ecd-reqact{margin:16px 0 0 42px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.tp-ecd .ecd-reqnote{font-size:.82rem;color:var(--slate);max-width:420px;}
.tp-ecd #reqErr,.tp-ecd #reqDone{margin:14px 0 0 42px;}
@media (max-width:980px){
  .tp-ecd .ecd-reqmode,.tp-ecd .ecd-reqgrid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .tp-ecd .ecd-reqmode,.tp-ecd .ecd-reqgrid,.tp-ecd .ecd-reqact,
  .tp-ecd #reqErr,.tp-ecd #reqDone{margin-left:0;}
  .tp-ecd .ecd-reqmode,.tp-ecd .ecd-reqgrid{grid-template-columns:1fr;}
}

/* ---------- clear choice ---------- */
.tp-ecd .ecd-clearopts{display:flex;gap:8px;flex-wrap:wrap;}
.tp-ecd .ecd-clearopts #btnClearAll{border-color:#E9C7C7;color:var(--bad);}
.tp-ecd .ecd-clearopts #btnClearAll:hover{border-color:var(--bad);background:#FDF3F3;}

/* ---------- version ---------- */
.tp-ecd .ecd-ver{display:inline-block;border:1px solid var(--line);background:var(--mist);
  border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:800;color:var(--slate);
  letter-spacing:.05em;}
.tp-ecd .ecd-chlog{list-style:none;margin:10px 0 0;padding:0;}
.tp-ecd .ecd-chlog li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink);}
.tp-ecd .ecd-chlog li:last-child{border-bottom:0;}
.tp-ecd .ecd-chlog li b{color:var(--navy);margin-right:6px;}
.tp-ecd .ecd-chlog li small{color:var(--slate);margin-right:8px;font-variant-numeric:tabular-nums;}

/* ---------- warnings ---------- */
.tp-ecd .ecd-warns{margin-top:14px;}
.tp-ecd .ecd-warn{background:#FFF8EE;border:1px solid #EBD6AE;color:#7A5410;border-radius:10px;
  padding:10px 14px;margin-bottom:8px;font-size:.88rem;}
.tp-ecd .ecd-warn.is-bad{background:#FDF3F3;border-color:#E9C7C7;color:var(--bad);}
.tp-ecd .ecd-ok{background:#EAF4EF;border:1px solid #BFDCCB;color:var(--good);border-radius:10px;
  padding:10px 14px;font-size:.88rem;font-weight:600;}

/* ---------- schedule table ---------- */
.tp-ecd .ecd-secttl{display:flex;align-items:center;gap:16px;margin:26px 0 14px;flex-wrap:wrap;}
.tp-ecd .ecd-secttl h4{font-size:1.12rem;flex:0 1 auto;min-width:0;}
.tp-ecd .ecd-secttl hr{flex:1 1 60px;border:0;border-top:1px solid var(--line);margin:0;}
.tp-ecd .ecd-secttl .acts{display:flex;gap:8px;flex:0 1 auto;flex-wrap:wrap;min-width:0;}
.tp-ecd .ecd-secttl .ecd-btn{padding:7px 14px;font-size:.84rem;}
.tp-ecd .ecd-tblwrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);}
.tp-ecd table.ecd-tbl{width:100%;border-collapse:collapse;font-size:.88rem;min-width:640px;}
.tp-ecd table.ecd-tbl th{background:var(--navy);color:#fff;text-align:left;padding:11px 13px;font-weight:700;
  font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;}
.tp-ecd table.ecd-tbl td{padding:10px 13px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--navy);}
.tp-ecd table.ecd-tbl tr:last-child td{border-bottom:0;}
.tp-ecd table.ecd-tbl tbody tr:nth-child(even) td{background:#FAFBFC;}
.tp-ecd table.ecd-tbl td.num,.tp-ecd table.ecd-tbl th.num{text-align:right;white-space:nowrap;
  font-variant-numeric:tabular-nums;}
.tp-ecd table.ecd-tbl td small{display:block;color:var(--slate);font-size:.78rem;line-height:1.35;}
.tp-ecd .ecd-empty{padding:26px;border:2px dashed #D6DDE6;border-radius:12px;
  text-align:center;color:var(--slate);font-size:.94rem;}

/* ---------- reference ---------- */
.tp-ecd details.ecd-ref{background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);margin-top:20px;}
.tp-ecd details.ecd-ref > summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--navy);
  font-size:1.02rem;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tp-ecd details.ecd-ref > summary::-webkit-details-marker{display:none;}
.tp-ecd details.ecd-ref > summary::before{content:"+";width:22px;height:22px;flex:0 0 auto;border-radius:50%;
  background:var(--navy);color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:800;}
.tp-ecd details.ecd-ref[open] > summary::before{content:"\2212";}
.tp-ecd details.ecd-ref > summary small{font-weight:400;color:var(--slate);font-size:.85rem;}
.tp-ecd .ecd-refbody{padding:0 22px 22px;}
.tp-ecd .ecd-refnote{font-size:.84rem;color:var(--slate);margin-top:12px;}

/* ---------- code notes ---------- */
.tp-ecd .ecd-codes{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);padding:24px;}
.tp-ecd .ecd-codes h4{font-size:1.02rem;margin-bottom:12px;}
.tp-ecd .ecd-codes dl{margin:0;display:grid;grid-template-columns:186px 1fr;gap:9px 18px;}
.tp-ecd .ecd-codes dt{font-weight:800;color:var(--navy);font-size:.86rem;}
.tp-ecd .ecd-codes dd{margin:0;font-size:.89rem;color:var(--ink);}
.tp-ecd .ecd-disc{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  font-size:.83rem;color:var(--slate);line-height:1.6;}
.tp-ecd .ecd-disc b{color:var(--navy);}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .tp-ecd .ecd-doorgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tp-ecd .ecd-pal{grid-template-columns:1fr;}
  .tp-ecd .ecd-insp{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .tp-ecd .ecd-doorgrid,.tp-ecd .ecd-pal,.tp-ecd .ecd-hint,.tp-ecd .ecd-doorinfo{margin-left:0;}
  .tp-ecd .ecd-insp{grid-template-columns:1fr;}
}

/* ================= page chrome =========================================
   Same visual language as the FLA calculator / Cut List Optimizer pages. */
.tp-ecdpage{
  --navy:#0F2138; --navy-2:#1B3557; --slate:#465972; --gold:#CA9739;
  --gold-lt:#DBA843; --gold-deep:#8A6414; --ink:#53575A; --mist:#F4F6F8;
  --line:#E3E7ED; --r:14px;
  font-family:inherit; color:var(--ink); line-height:1.6;
}
.tp-ecdpage *,.tp-ecdpage *::before,.tp-ecdpage *::after{box-sizing:border-box;}
.tp-ecdpage h1,.tp-ecdpage h2,.tp-ecdpage h3{color:var(--navy);font-weight:700;
  letter-spacing:-.01em;margin:0;}
.tp-ecdpage p{margin:0;}
.tp-ecdpage .tp-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.tp-ecdpage .tp-eyebrow{display:block;font-size:.72rem;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-deep);margin-bottom:.7rem;}
.tp-ecdpage .tp-eyebrow--dark{color:var(--gold);}
.tp-ecdpage .tp-rule{width:92px;height:5px;background:var(--gold);border:0;border-radius:3px;
  margin:0 0 26px;}

.tp-ecdpage .tp-hero{position:relative;overflow:hidden;padding:132px 0 76px;
  background:radial-gradient(1100px 520px at 12% -10%,#1B3557 0%,#0F2138 58%,#0B1A2C 100%);}
.tp-ecdpage .tp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 64px);}
.tp-ecdpage .tp-hero .tp-wrap{position:relative;z-index:2;}
.tp-ecdpage .tp-hero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.08;
  margin-bottom:18px;}
.tp-ecdpage .tp-hero h1 em{font-style:normal;color:var(--gold);}
.tp-ecdpage .tp-hero p.tp-lede{color:#C9D3E0;font-size:1.12rem;max-width:680px;}
.tp-ecdpage .tp-heronums{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.tp-ecdpage .tp-heronums div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:9px 20px;color:#E7EDF5;font-size:.86rem;font-weight:600;}
.tp-ecdpage .tp-heronums b{color:var(--gold);}

.tp-ecdpage .tp-series{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--gold);
  border-radius:999px;padding:7px 16px 7px 10px;margin-bottom:18px;background:rgba(202,151,57,.1);}
.tp-ecdpage .tp-series svg{flex:0 0 auto;display:block;}
.tp-ecdpage .tp-series b{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-lt);}

.tp-ecdpage .tp-btn{display:inline-block;border:0;cursor:pointer;font-family:inherit;
  padding:13px 30px;border-radius:999px;font-weight:800;font-size:.82rem;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;}
.tp-ecdpage .tp-btn:hover{transform:translateY(-2px);text-decoration:none;}
.tp-ecdpage .tp-btn--gold{background:var(--gold);color:var(--navy);
  box-shadow:0 4px 14px rgba(202,151,57,.35);}
.tp-ecdpage .tp-btn--gold:hover{background:var(--gold-lt);color:var(--navy);
  box-shadow:0 10px 26px rgba(202,151,57,.45);}
.tp-ecdpage .tp-btn--ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);
  margin-left:10px;}
.tp-ecdpage .tp-btn--ghost:hover{border-color:var(--gold);color:#fff;}

.tp-ecdpage .tp-helpsect{background:#fff;padding:56px 0 78px;}
.tp-ecdpage .tp-help{display:flex;align-items:center;justify-content:space-between;gap:26px;
  flex-wrap:wrap;margin:0 auto;padding:26px 30px;border-radius:var(--r);
  background:linear-gradient(100deg,#0F2138 0%,#1B3557 100%);}
.tp-ecdpage .tp-help b{display:block;color:#fff;font-size:1.18rem;font-weight:700;letter-spacing:-.01em;}
.tp-ecdpage .tp-help span{display:block;color:#C9D3E0;font-size:.94rem;margin-top:4px;max-width:640px;}

.tp-ecdpage .tp-cta{background:var(--navy);padding:56px 0;text-align:center;}
.tp-ecdpage .tp-cta h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:12px;}
.tp-ecdpage .tp-cta p{color:#C9D3E0;max-width:600px;margin:0 auto 26px;}

@media (max-width:980px){
  .tp-ecdpage .tp-hero{padding:110px 0 56px;}
}

/* ---------- print: just the drawing + schedule ---------- */
@media print{
  .tp-ecdpage .tpf,.tp-noprint,
  .tp-ecdpage .tp-hero,.tp-ecdpage .tp-helpsect,.tp-ecdpage .tp-cta,
  .tp-ecd .ecd-head,.tp-ecd .ecd-noprint,.tp-ecd .ecd-insp,.tp-ecd .ecd-bar .acts,
  .tp-ecd details.ecd-ref,.tp-ecd .ecd-codes,.tp-ecd .ecd-hintline{display:none !important;}
  .tp-ecd{background:#fff;padding:0;border:0;}
  .tp-ecd .ecd-card{box-shadow:none;border:1px solid #999;break-inside:avoid;}
  .tp-ecd .ecd-printhead{display:block !important;margin-bottom:14px;}
  .tp-ecd table.ecd-tbl th{background:#fff !important;color:#000;border-bottom:2px solid #000;
    -webkit-print-color-adjust:exact;}
}
.tp-ecd .ecd-printhead{display:none;font-size:.9rem;color:var(--navy);}
.tp-ecd .ecd-printhead b{font-size:1.1rem;}
