
/* ---------- root guards ---------- */
#tsc-tonnage.tsc-tonnage{display:block !important;opacity:1 !important;visibility:visible !important}
#tsc-tonnage{
  position:relative;z-index:1;float:none;width:auto;max-width:none;margin:0;padding:0;
  background:#ffffff;color:#1a1b1e;font-size:16px;line-height:1.7;text-align:left;
  overflow:hidden;-webkit-font-smoothing:antialiased;
}
#tsc-tonnage *,#tsc-tonnage *::before,#tsc-tonnage *::after{
  margin:0;padding:0;box-sizing:border-box;visibility:visible;float:none;
  -webkit-tap-highlight-color:transparent;
}
#tsc-tonnage img{max-width:100%;display:block;height:auto}
#tsc-tonnage a{text-decoration:none;color:inherit}
#tsc-tonnage button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;text-transform:none;letter-spacing:normal}
#tsc-tonnage input,#tsc-tonnage select{font-family:inherit;line-height:1.6}
#tsc-tonnage p{font-size:16px;margin:0}
#tsc-tonnage h1,#tsc-tonnage h2,#tsc-tonnage h3{margin:0;padding:0;text-transform:none;font-weight:600}
#tsc-tonnage ::selection{background:#E10002;color:#ffffff}

/* ---------- container (your properties) ---------- */
#tsc-tonnage .tsc-container{
  width:100%;
  max-width:1400px;
  margin:0 auto;
}
@media(max-width:600px){#tsc-tonnage .tsc-container{padding:0 20px}}

/* ---------- shared bits ---------- */
#tsc-tonnage .tsc-eyebrow{
  display:inline-flex;align-items:center;gap:11px;margin-bottom:15px;
  font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#E10002;
}
#tsc-tonnage .tsc-eyebrow::before{content:'';width:26px;height:2px;border-radius:2px;background:#E10002;flex:none}
#tsc-tonnage .tsc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:14.5px;font-weight:600;padding:14px 26px;border-radius:15px;
  transition:transform .32s cubic-bezier(.16,1,.3,1),background .32s,color .32s,border-color .32s,box-shadow .32s;
}
#tsc-tonnage .tsc-btn svg{width:16px;height:16px;flex:none;stroke:currentColor}
#tsc-tonnage .tsc-btn-red{background:linear-gradient(180deg,#E10002 0%,#7F0000 100%);color:#ffffff;box-shadow:0 14px 30px -14px rgba(225,0,2,.6)}
#tsc-tonnage .tsc-btn-red:hover{transform:translateY(-3px);box-shadow:0 20px 40px -14px rgba(225,0,2,.78)}
#tsc-tonnage .tsc-btn-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);color:#ffffff}
#tsc-tonnage .tsc-btn-ghost:hover{transform:translateY(-3px);background:rgba(255,255,255,.16)}

/* ================= 1 · HERO BANNER ================= */
#tsc-tonnage .tsc-banner{position:relative;overflow:hidden;background:#12141a}
#tsc-tonnage .tsc-banner video,
#tsc-tonnage .tsc-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#tsc-tonnage .tsc-banner-img{background-size:cover;background-position:center;display:none}
#tsc-tonnage .tsc-banner-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,20,26,.64) 0%,rgba(18,20,26,.34) 42%,rgba(18,20,26,.9) 100%),
             linear-gradient(100deg,rgba(18,20,26,.74) 0%,rgba(18,20,26,.24) 58%,rgba(225,0,2,.14) 100%);
}
#tsc-tonnage .tsc-banner-in{position:relative;z-index:2;padding:90px 20px 60px 40px;}
#tsc-tonnage .tsc-crumb{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#c9cace;margin-bottom:18px;flex-wrap:wrap}
#tsc-tonnage .tsc-crumb a{transition:color .3s}
#tsc-tonnage .tsc-crumb a:hover{color:#ffffff}
#tsc-tonnage .tsc-crumb span{color:#ff8f90}
#tsc-tonnage .tsc-crumb i{width:5px;height:5px;flex:none;border-radius:50%;background:rgba(255,255,255,.4)}
#tsc-tonnage .tsc-banner .tsc-eyebrow{color:#ff8f90}
#tsc-tonnage .tsc-banner .tsc-eyebrow::before{background:#E10002}
#tsc-tonnage .tsc-banner h1{font-size:clamp(30px,4.2vw,44px);font-weight:600;line-height:1.16;letter-spacing:-.025em;color:#ffffff;max-width:20ch}
#tsc-tonnage .tsc-banner h1 em{font-style:normal;background:linear-gradient(180deg,#E10002 0%,#7F0000 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
#tsc-tonnage .tsc-banner p{margin-top:16px;max-width:56ch;font-size:16px;font-weight:300;color:#dcdde0;line-height:1.8}
#tsc-tonnage .tsc-bchips{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
#tsc-tonnage .tsc-bchip{
  display:flex;align-items:center;gap:10px;padding:10px 18px 10px 11px;border-radius:15px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:transform .34s cubic-bezier(.16,1,.3,1),background .34s,border-color .34s;
}
#tsc-tonnage .tsc-bchip:hover{transform:translateY(-4px);background:rgba(225,0,2,.22);border-color:rgba(225,0,2,.45)}
#tsc-tonnage .tsc-bchip em{width:32px;height:32px;flex:none;border-radius:50%;background:#E10002;display:grid;place-items:center}
#tsc-tonnage .tsc-bchip em svg{width:15px;height:15px;stroke:#ffffff}
#tsc-tonnage .tsc-bchip b{display:block;font-size:14px;font-weight:600;color:#ffffff;line-height:1.2}
#tsc-tonnage .tsc-bchip small{font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#c9cace}
@media(max-width:620px){#tsc-tonnage .tsc-bchips{display:none}}

/* ================= 2 · CALCULATOR ================= */
#tsc-tonnage .tsc-calc{padding:clamp(46px,6.5vw,96px) 0 clamp(40px,5vw,70px)}
#tsc-tonnage .tsc-head{max-width:64ch;margin-bottom:clamp(26px,3.4vw,42px)}
#tsc-tonnage .tsc-title{font-size:clamp(26px,3.4vw,38px);font-weight:600;line-height:1.18;letter-spacing:-.025em;color:#1a1b1e}
#tsc-tonnage .tsc-title em{font-style:normal;background:linear-gradient(180deg,#E10002 0%,#7F0000 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
#tsc-tonnage .tsc-lede{margin-top:14px;font-size:16px;color:#555555;line-height:1.85;max-width:58ch}

#tsc-tonnage .tsc-panel{
  position:relative;border-radius:15px;overflow:hidden;
  background:#4a4d52;color:#ffffff;
  padding:clamp(20px,3.4vw,44px);
}
#tsc-tonnage .tsc-panel::before{
  content:'';position:absolute;inset:0;opacity:.07;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);
  background-size:52px 52px;
}
#tsc-tonnage .tsc-panel>*{position:relative}

#tsc-tonnage .tsc-panel-note{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:clamp(18px,2.4vw,26px);
  font-size:12.5px;color:#c9cbcf;
}
#tsc-tonnage .tsc-panel-note b{color:#ffffff;font-weight:600}
#tsc-tonnage .tsc-panel-note svg{width:15px;height:15px;stroke:#E10002;flex:none}

#tsc-tonnage .tsc-thead{
  display:grid;grid-template-columns:1fr 1fr 1fr 52px;gap:clamp(12px,1.6vw,24px);margin-bottom:12px;
}
#tsc-tonnage .tsc-thead span{font-size:13.5px;font-weight:700;color:#ffffff}
@media(max-width:860px){#tsc-tonnage .tsc-thead{display:none}}

#tsc-tonnage .tsc-rows{display:flex;flex-direction:column;gap:12px}
#tsc-tonnage .tsc-row{
  display:grid;grid-template-columns:1fr 1fr 1fr 52px;gap:clamp(12px,1.6vw,24px);align-items:center;
  animation:tscRowIn .45s cubic-bezier(.16,1,.3,1) both;
}
@keyframes tscRowIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
#tsc-tonnage .tsc-row.tsc-out{animation:tscRowOut .3s ease forwards}
@keyframes tscRowOut{to{opacity:0;transform:translateX(-14px);height:0;margin-top:-12px}}
#tsc-tonnage .tsc-cell{position:relative;min-width:0}
#tsc-tonnage .tsc-cell-label{
  display:none;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:#c9cbcf;margin-bottom:7px;
}
@media(max-width:860px){
  #tsc-tonnage .tsc-row{
    grid-template-columns:1fr 1fr;gap:14px;position:relative;
    background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.1);
    border-radius:15px;padding:16px 16px 16px 16px;
  }
  #tsc-tonnage .tsc-cell-label{display:block}
  #tsc-tonnage .tsc-cell-total{grid-column:1 / -1}
  #tsc-tonnage .tsc-cell-del{position:absolute;top:12px;right:12px}
  #tsc-tonnage .tsc-cell-del .tsc-cell-label{display:none}
}
@media(max-width:520px){#tsc-tonnage .tsc-row{grid-template-columns:1fr;padding-top:52px}}

#tsc-tonnage .tsc-field{position:relative}
#tsc-tonnage .tsc-field select,
#tsc-tonnage .tsc-field input{
  width:100%;padding:15px 18px;border-radius:15px;
  background:#ffffff;border:1px solid #ffffff;color:#1a1b1e;
  font-size:15.5px;font-weight:500;outline:none;appearance:none;-webkit-appearance:none;
  transition:border-color .3s,box-shadow .3s;
}
#tsc-tonnage .tsc-field select{cursor:pointer;padding-right:44px}
#tsc-tonnage .tsc-field input::placeholder{color:#9a9ba0;font-weight:400}
#tsc-tonnage .tsc-field select:focus,
#tsc-tonnage .tsc-field input:focus{border-color:#E10002;box-shadow:0 0 0 3px rgba(225,0,2,.28)}
#tsc-tonnage .tsc-field.tsc-err input{border-color:#E10002;box-shadow:0 0 0 3px rgba(225,0,2,.35)}
#tsc-tonnage .tsc-chev{position:absolute;right:17px;top:50%;transform:translateY(-50%);width:14px;height:14px;stroke:#7d8086;pointer-events:none}
#tsc-tonnage .tsc-out-field{
  width:100%;padding:15px 18px;border-radius:15px;
  background:#f4f5f6;border:1px solid #e0e2e5;color:#1a1b1e;
  font-size:17px;font-weight:700;letter-spacing:-.01em;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  transition:background .35s,border-color .35s;
}
#tsc-tonnage .tsc-out-field small{font-size:12px;font-weight:600;color:#9a9ba0;letter-spacing:.04em;white-space:nowrap}
#tsc-tonnage .tsc-row.tsc-active .tsc-out-field{background:#ffffff;border-color:rgba(225,0,2,.45)}

#tsc-tonnage .tsc-del{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#d9dadd;
  transition:background .3s,color .3s,border-color .3s,transform .3s;
}
#tsc-tonnage .tsc-del svg{width:16px;height:16px;stroke:currentColor}
#tsc-tonnage .tsc-del:hover{background:#E10002;border-color:#E10002;color:#ffffff;transform:scale(1.06)}
#tsc-tonnage .tsc-del[disabled]{opacity:.28;pointer-events:none}

#tsc-tonnage .tsc-addwrap{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
#tsc-tonnage .tsc-addhint{font-size:12.5px;color:#b6b8bd}
#tsc-tonnage .tsc-add{
  width:66px;height:52px;border-radius:15px;display:grid;place-items:center;flex:none;
  background:linear-gradient(180deg,#E10002 0%,#7F0000 100%);color:#ffffff;
  box-shadow:0 12px 26px -12px rgba(225,0,2,.8);
  transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s;
}
#tsc-tonnage .tsc-add svg{width:20px;height:20px;stroke:#ffffff}
#tsc-tonnage .tsc-add:hover{transform:translateY(-3px);box-shadow:0 18px 34px -12px rgba(225,0,2,.9)}
#tsc-tonnage .tsc-add[disabled]{opacity:.4;pointer-events:none}

/* result */
#tsc-tonnage .tsc-result{
  display:grid;grid-template-columns:auto 56px 1fr;gap:clamp(16px,2.6vw,34px);align-items:center;
  margin-top:clamp(30px,4.4vw,54px);padding-top:clamp(24px,3.4vw,40px);
  border-top:1px solid rgba(255,255,255,.14);
}
@media(max-width:960px){
  #tsc-tonnage .tsc-result{grid-template-columns:1fr;gap:18px}
  #tsc-tonnage .tsc-chevrons{display:none}
}
#tsc-tonnage .tsc-brandline{font-size:clamp(26px,4.4vw,52px);font-weight:700;line-height:1.02;letter-spacing:-.03em;color:#ffffff}
#tsc-tonnage .tsc-chevrons{display:flex;justify-content:center;color:#ffffff;opacity:.9}
#tsc-tonnage .tsc-chevrons svg{width:42px;height:42px;stroke:currentColor}
#tsc-tonnage .tsc-total-label{font-size:clamp(16px,2vw,23px);font-weight:700;color:#ffffff;margin-bottom:12px}
#tsc-tonnage .tsc-total-box{
  position:relative;border-radius:15px;overflow:hidden;
  background:linear-gradient(180deg,#E10002 0%,#7F0000 100%);
  padding:clamp(18px,2.8vw,34px) clamp(18px,2.6vw,32px);
  box-shadow:0 22px 44px -22px rgba(225,0,2,.85);
}
#tsc-tonnage .tsc-total-box::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-100%);
}
#tsc-tonnage .tsc-total-box.tsc-flash::after{animation:tscSweep .9s cubic-bezier(.16,1,.3,1)}
@keyframes tscSweep{to{transform:translateX(100%)}}
#tsc-tonnage .tsc-total-main{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
#tsc-tonnage .tsc-total-num{
  font-size:clamp(32px,6vw,62px);font-weight:700;line-height:1;letter-spacing:-.04em;color:#ffffff;
  font-variant-numeric:tabular-nums;word-break:break-all;
}
#tsc-tonnage .tsc-total-unit{font-size:clamp(13px,1.6vw,17px);font-weight:700;color:#ffffff}
#tsc-tonnage .tsc-total-sub{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.28);
  font-size:12.5px;font-weight:600;color:#ffffff;
}
#tsc-tonnage .tsc-total-sub span{display:inline-flex;align-items:center;gap:7px}
#tsc-tonnage .tsc-total-sub b{font-weight:700;font-variant-numeric:tabular-nums}
#tsc-tonnage .tsc-total-sub u{text-decoration:none;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.5)}
#tsc-tonnage .tsc-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:clamp(20px,2.8vw,30px)}

/* ================= 3 · CONTACT ================= */
#tsc-tonnage .tsc-contact{padding:clamp(46px,6.5vw,100px) 0 clamp(56px,8vw,110px);background:#ffffff}
#tsc-tonnage .tsc-contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4vw,70px);align-items:start}
@media(max-width:1000px){#tsc-tonnage .tsc-contact-grid{grid-template-columns:1fr}}

#tsc-tonnage .tsc-c-title{font-size:clamp(28px,3.8vw,42px);font-weight:700;line-height:1.14;letter-spacing:-.03em;color:#1a1b1e}
#tsc-tonnage .tsc-c-title em{font-style:normal;color:#E10002}
#tsc-tonnage .tsc-c-lede{margin-top:16px;font-size:16px;color:#555555;line-height:1.85;max-width:52ch}
#tsc-tonnage .tsc-c-lede b{font-weight:700;color:#1a1b1e}

#tsc-tonnage .tsc-cards{display:flex;flex-direction:column;gap:14px;margin-top:clamp(26px,3.4vw,38px)}
#tsc-tonnage .tsc-card{
  display:flex;align-items:center;gap:18px;
  background:#ffffff;border:1px solid #eceef0;border-radius:15px;padding:18px 20px;
  box-shadow:0 10px 28px -22px rgba(26,27,30,.4);
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s;
}
#tsc-tonnage .tsc-card:hover{transform:translateX(7px);border-color:rgba(225,0,2,.3);box-shadow:0 18px 38px -24px rgba(225,0,2,.5)}
#tsc-tonnage .tsc-card-ico{
  width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:rgba(225,0,2,.1);color:#E10002;
  transition:background .38s,color .38s,transform .42s cubic-bezier(.34,1.56,.64,1);
}
#tsc-tonnage .tsc-card-ico svg{width:21px;height:21px;stroke:currentColor}
#tsc-tonnage .tsc-card:hover .tsc-card-ico{background:#E10002;color:#ffffff;transform:rotate(-6deg) scale(1.06)}
#tsc-tonnage .tsc-card-body{min-width:0;flex:1}
#tsc-tonnage .tsc-card-body small{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9a9ba0;margin-bottom:3px}
#tsc-tonnage .tsc-card-body b{display:block;font-size:17px;font-weight:700;color:#1a1b1e;letter-spacing:-.01em;word-break:break-word;line-height:1.35}
#tsc-tonnage .tsc-copy{
  width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:#f4f5f6;border:1px solid #eceef0;color:#9a9ba0;
  transition:background .3s,color .3s,border-color .3s,transform .3s;
}
#tsc-tonnage .tsc-copy svg{width:15px;height:15px;stroke:currentColor}
#tsc-tonnage .tsc-copy:hover{background:#E10002;border-color:#E10002;color:#ffffff;transform:translateY(-2px)}
#tsc-tonnage .tsc-copy.tsc-done{background:#1d8a52;border-color:#1d8a52;color:#ffffff}

/* form card */
#tsc-tonnage .tsc-form{
  background:#ffffff;border:1px solid #eceef0;border-radius:15px;
  box-shadow:0 30px 60px -36px rgba(26,27,30,.3);
  padding:clamp(24px,3.2vw,44px);
}
#tsc-tonnage .tsc-form h2{font-size:clamp(23px,2.8vw,32px);font-weight:700;letter-spacing:-.025em;color:#1a1b1e}
#tsc-tonnage .tsc-form h2 em{font-style:normal;color:#E10002}
#tsc-tonnage .tsc-form-lede{margin-top:10px;font-size:15px;color:#9a9ba0;line-height:1.7}
#tsc-tonnage .tsc-flabel{
  display:block;margin:clamp(20px,2.4vw,28px) 0 12px;
  font-size:14px;font-weight:500;color:#555555;
}
#tsc-tonnage .tsc-flabel i{font-style:normal;color:#E10002;margin-left:2px}
#tsc-tonnage .tsc-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:520px){#tsc-tonnage .tsc-chips{grid-template-columns:1fr}}
#tsc-tonnage .tsc-chip{
  padding:16px 12px;border-radius:15px;text-align:center;
  background:#ffffff;border:1px solid #e4e5e8;color:#ff6b6d;
  font-size:15.5px;font-weight:600;
  transition:background .3s,color .3s,border-color .3s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;
}
#tsc-tonnage .tsc-chip:hover{border-color:rgba(225,0,2,.5);color:#E10002;transform:translateY(-3px)}
#tsc-tonnage .tsc-chip.tsc-on{
  background:linear-gradient(180deg,#E10002 0%,#7F0000 100%);
  border-color:#E10002;color:#ffffff;box-shadow:0 12px 26px -12px rgba(225,0,2,.6);
}

#tsc-tonnage .tsc-frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media(max-width:560px){#tsc-tonnage .tsc-frow{grid-template-columns:1fr}}
#tsc-tonnage .tsc-ffield{position:relative}
#tsc-tonnage .tsc-ffield input,
#tsc-tonnage .tsc-ffield select{
  width:100%;padding:17px 20px;border-radius:15px;
  background:#ffffff;border:1px solid #e4e5e8;color:#1a1b1e;
  font-size:15.5px;outline:none;appearance:none;-webkit-appearance:none;
  transition:border-color .3s,box-shadow .3s,background .3s;
}
#tsc-tonnage .tsc-ffield select{cursor:pointer;padding-right:46px;color:#555555}
#tsc-tonnage .tsc-ffield input::placeholder{color:#9a9ba0}
#tsc-tonnage .tsc-ffield input:focus,
#tsc-tonnage .tsc-ffield select:focus{border-color:#E10002;box-shadow:0 0 0 3px rgba(225,0,2,.13)}
#tsc-tonnage .tsc-ffield.tsc-err input,
#tsc-tonnage .tsc-ffield.tsc-err select{border-color:#E10002;box-shadow:0 0 0 3px rgba(225,0,2,.16)}
#tsc-tonnage .tsc-ffield .tsc-chev{right:19px;stroke:#9a9ba0}
#tsc-tonnage .tsc-errmsg{display:none;margin-top:7px;font-size:12.5px;font-weight:500;color:#E10002;padding-left:4px}
#tsc-tonnage .tsc-ffield.tsc-err .tsc-errmsg{display:block}
#tsc-tonnage .tsc-form .tsc-btn-red{margin-top:clamp(20px,2.6vw,28px);padding:18px 38px;font-size:15.5px}
#tsc-tonnage .tsc-ok{
  display:none;align-items:center;gap:11px;margin-top:16px;padding:16px 20px;border-radius:15px;
  background:rgba(29,138,82,.09);border:1px solid rgba(29,138,82,.32);color:#1d8a52;font-size:14.5px;font-weight:500;
}
#tsc-tonnage .tsc-ok.tsc-on{display:flex}
#tsc-tonnage .tsc-ok svg{width:18px;height:18px;stroke:currentColor;flex:none}
#tsc-tonnage .tsc-form-note{margin-top:13px;font-size:12.5px;color:#9a9ba0}

@media (prefers-reduced-motion: reduce){
  #tsc-tonnage *,#tsc-tonnage *::before,#tsc-tonnage *::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}