:root{--red:#C8262A;--dark-red:#A90100;--navy:#002768;--ink:#0A0F1C;--white:#FFFFFF;--smoke:#5a6172;--container:1240px}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ink)}
body{font-family:"Archivo",sans-serif;color:var(--ink);font-size:16px;line-height:1.6}
a{color:var(--red)}a:hover{color:var(--dark-red)}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}
.display{font-family:"Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;margin:0}
.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--red);display:block;margin-bottom:16px}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:14px;padding:17px 30px;transition:background .15s,transform .15s}
.btn:hover{background:var(--dark-red);color:#fff;transform:translateY(-2px)}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
section{padding:clamp(72px,9vw,120px) 0}
/* hero — dark */
.tr-hero{background:var(--ink);color:#fff;padding-top:clamp(90px,11vw,150px);position:relative;overflow:hidden}
.tr-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(200,38,42,.10),transparent 55%);pointer-events:none}
.tr-hero .container{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}
.tr-hero .hero-text{flex:1 1 620px;min-width:0}
.tr-hero h1{font-size:clamp(44px,6vw,88px);color:#fff;max-width:1000px}
.tr-hero h1 .r{color:var(--red)}
.tr-hero .lede{max-width:660px;font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.82);margin:28px 0 0}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-stats{display:flex;flex-wrap:wrap;gap:40px;margin-top:56px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14)}
.hero-stat .n{font-family:"Archivo Black",sans-serif;font-size:clamp(30px,3.4vw,46px);color:var(--red);line-height:1}
.hero-stat .l{font-size:13.5px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-top:8px;max-width:200px}
.tr-hero .hero-img-slot{flex:0 0 auto;display:flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:40px}
.tr-hero .hero-img-slot img{width:clamp(180px,20vw,300px);height:auto}
@media (max-width:900px){.tr-hero .container{flex-direction:column;align-items:flex-start}.tr-hero .hero-img-slot{order:-1;align-self:center}.tr-hero .hero-img-slot img{width:140px}}
/* stakes — light */
/* "Do the math" — ltblue mechanical texture swapped in for the usual white engineering
   pattern (same light-slot position in the alternation, just a different light texture). */
.tr-stakes{background:url('assets/mechanical-background-ltblue.webp') center/cover no-repeat #bcd8f7;background-attachment:fixed;position:relative}
.tr-stakes .container{position:relative;z-index:1}
.tr-stakes .display{font-size:clamp(32px,4vw,56px);color:var(--ink);max-width:820px}
.tr-stakes .display .r{color:var(--red)}
.tr-stakes .sub{max-width:680px;color:#3a4254;margin:16px 0 44px;font-size:17px}
.leak-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.leak-grid{grid-template-columns:1fr}}
.leak{background:#fff;box-shadow:0 0 2px 0 rgba(10,15,28,.35);padding:30px;border-bottom:4px solid var(--red)}
.leak .amt{font-family:"Archivo Black",sans-serif;font-size:34px;color:var(--navy);line-height:1}
.leak .job{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--red);margin:8px 0 14px}
.leak p{color:#3a4254;font-size:15px;margin:0}
/* "half the battle" — split into its own section at the user's request. Light,
   white mechanical texture — intentionally sits directly below tr-stakes (also
   light) per explicit user direction, overriding the usual light/dark alternation
   rule for this one pair. Keeps the landscaping photo that used to anchor the
   bottom of the combined section. */
.tr-battle{background:url('trade-images/landscaping.webp') right 40px bottom 0/auto 72% no-repeat,url('assets/white-engineering-background.webp') center/cover no-repeat #F4F5F7;background-attachment:scroll,fixed;position:relative}
.tr-battle .container{position:relative;z-index:1}
.tr-battle h2{font-family:"Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(28px,3.6vw,48px);color:var(--ink);line-height:1.05;margin:0 0 26px;max-width:760px}
.tr-battle h2 .r{color:var(--red)}
.tr-battle p{color:#2b3345;font-size:17px;line-height:1.7;margin:0 0 18px;max-width:760px}
.tr-battle p strong{color:var(--ink);font-weight:800}
.tr-battle .lead{font-size:19px;line-height:1.65}
.tr-battle .kicker{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:var(--red);margin:30px 0 10px}
/* pain picker — dark */
.tr-pain{background:var(--ink);color:#fff}
.tr-pain .display{font-size:clamp(32px,4vw,56px);color:#fff}
.tr-pain .sec-sub{max-width:720px;color:rgba(255,255,255,.75);margin:14px 0 44px}
.pain{background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.28);margin-bottom:16px;overflow:hidden}
.pain-head{display:flex;align-items:center;gap:20px;width:100%;background:none;border:0;padding:26px 28px;cursor:pointer;text-align:left;font-family:"Archivo",sans-serif}
.pain-head .pn{font-family:"Archivo Black",sans-serif;font-size:26px;color:var(--red);min-width:44px}
.pain-head .pain-q{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:clamp(17px,2.2vw,25px);margin:0;color:var(--ink);flex:1}
.pain-head .pc{font-size:26px;color:var(--red);font-weight:900;transition:transform .3s}
.pain.open .pain-head .pc{transform:rotate(45deg)}
.pain-body{max-height:0;overflow:hidden;transition:max-height .45s ease}
.pain.open .pain-body{max-height:1400px}
.pain-inner{padding:0 28px 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
@media(max-width:820px){.pain-inner{grid-template-columns:1fr}}
.pain-inner h4{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--navy);margin:0 0 10px}
.pain-inner .hurt{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 18px;border-left:3px solid var(--red);padding-left:16px}
.pain-inner p{color:#3a4254;margin:0 0 14px;font-size:15px}
.fix{background:var(--navy);color:#fff;padding:22px 24px}
.fix .fx-name{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:19px;color:#fff;margin:0 0 8px}
.fix p{color:rgba(255,255,255,.85);margin:0 0 14px;font-size:14.5px}
.fix .fx-does{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#ffd0d1;margin:0}
.trade-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.trade-links a{background:rgba(200,38,42,.08);border:1px solid rgba(200,38,42,.35);color:var(--red);text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:12px;padding:9px 14px;transition:background .15s,color .15s}
.trade-links a:hover{background:var(--red);color:#fff}
.pain-note{font-size:12.5px;color:var(--smoke);font-style:italic;margin:14px 0 0}
/* examples — light */
.tr-ex{background:url('assets/white-engineering-background.webp') center/cover no-repeat #F4F5F7;background-attachment:fixed;position:relative}
.tr-ex .container{position:relative;z-index:1}
.tr-ex .display{font-size:clamp(32px,4.2vw,58px);color:var(--ink);max-width:900px}
.tr-ex .display .r{color:var(--red)}
.tr-ex .sub{max-width:720px;color:#3a4254;margin:16px 0 0;font-size:17px}
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
@media(max-width:980px){.ex-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ex-grid{grid-template-columns:1fr}}
.ex-card{display:block;text-decoration:none;background:#fff;box-shadow:0 10px 30px rgba(10,15,28,.12);overflow:hidden;transition:transform .18s,box-shadow .18s}
.ex-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(10,15,28,.2)}
.ex-chrome{background:#e4e7ec;display:flex;align-items:center;gap:6px;padding:9px 12px}
.ex-chrome i{width:9px;height:9px;border-radius:50%;background:#c3c8d0;display:block}
.ex-chrome .u{margin-left:10px;font-size:11px;color:#8a909c;font-family:monospace;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ex-shot{position:relative;aspect-ratio:16/11;overflow:hidden;background:#0A0F1C}
.ex-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.ex-meta{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}
.ex-meta .t{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:15px;color:var(--ink)}
.ex-meta .go{font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.05em;color:var(--red)}
.ex-remind{margin-top:52px;background:var(--navy);color:#fff;padding:34px 38px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.ex-remind .badge{font-family:"Archivo Black",sans-serif;font-size:13px;letter-spacing:.1em;background:var(--red);color:#fff;padding:8px 14px;text-transform:uppercase;white-space:nowrap}
.ex-remind p{margin:0;font-size:16.5px;color:rgba(255,255,255,.9);flex:1;min-width:280px}
.ex-remind p b{color:#fff}
/* full list */
.demo-cats{margin-top:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px 40px}
.demo-cat h4{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--red);margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid rgba(10,15,28,.14)}
.demo-cat ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.demo-cat a{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:15px;padding:7px 10px;margin:0 -10px;transition:background .15s,color .15s}
.demo-cat a:before{content:"";width:6px;height:6px;background:var(--red);flex:none;transition:transform .15s}
.demo-cat a:hover{background:rgba(200,38,42,.1);color:var(--dark-red)}
.demo-cat a:hover:before{transform:scale(1.6)}
/* how it works — dark */
.tr-how{background:var(--ink);color:#fff}
.tr-how .display{font-size:clamp(32px,4vw,56px);color:#fff;max-width:760px}
.tr-how .display .r{color:var(--red)}
.tr-how .sub{color:rgba(255,255,255,.78);max-width:640px;margin:16px 0 52px;font-size:17px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-top:4px solid var(--red);padding:30px}
.step .sn{font-family:"Archivo Black",sans-serif;font-size:44px;color:var(--red);line-height:1}
.step h3{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:20px;margin:14px 0 10px;color:#fff}
.step p{color:rgba(255,255,255,.78);font-size:15px;margin:0}
