/* ===========================================================
   Soft Trade Enterprises — softtradeai.com
   Design system: white canvas, maroon brand, silver accents
   =========================================================== */

:root{
  --maroon:#7B1113;
  --maroon-600:#8E1619;
  --maroon-700:#5E0D0F;
  --maroon-900:#320508;
  --ink:#131316;
  --body:#3F4247;
  --muted:#71767C;
  --line:#E8E5E5;
  --line-soft:#F1EEEE;
  --bg:#FFFFFF;
  --bg-soft:#FAF8F8;
  --silver:#C9CBCC;
  --r-sm:8px; --r:14px; --r-lg:22px;
  --sp:clamp(64px,7vw,104px);
  --shadow-sm:0 1px 2px rgba(19,19,22,.06), 0 2px 8px rgba(19,19,22,.04);
  --shadow:0 10px 30px rgba(50,5,8,.09), 0 2px 8px rgba(50,5,8,.05);
  --shadow-lg:0 26px 60px rgba(50,5,8,.16);
  --max:1180px;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg); color:var(--body);
  font-size:17px; line-height:1.72; letter-spacing:-.003em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:var(--maroon); text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--maroon); outline-offset:3px; border-radius:4px}

h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif; color:var(--ink); line-height:1.14; letter-spacing:-.02em; font-weight:700}
h1{font-size:clamp(2.35rem,5.2vw,4rem)}
h2{font-size:clamp(1.85rem,3.4vw,2.7rem)}
h3{font-size:1.2rem; font-family:'Inter',sans-serif; font-weight:650; letter-spacing:-.01em; line-height:1.35}
p{margin-bottom:1.05rem}
p:last-child{margin-bottom:0}
strong{color:var(--ink); font-weight:600}

.wrap{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:24px}
.narrow{max-width:760px}
section{padding-block:var(--sp)}
.soft{background:var(--bg-soft); border-block:1px solid var(--line-soft)}

/* ---------- eyebrow + heads ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--maroon); margin-bottom:18px;
}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--maroon); border-radius:2px}
.s-head{max-width:640px; margin-bottom:52px}
.s-head.center{margin-inline:auto; text-align:center}
.s-head p{color:var(--muted); font-size:1.06rem; margin-top:14px}

/* ---------- buttons ---------- */
.btn{
  --bg-b:var(--maroon); --fg-b:#fff; --bd:var(--maroon);
  display:inline-flex; align-items:center; gap:10px;
  background:var(--bg-b); color:var(--fg-b); border:1.5px solid var(--bd);
  padding:14px 26px; border-radius:100px; font-weight:600; font-size:.95rem;
  transition:transform .18s cubic-bezier(.2,.7,.3,1), box-shadow .18s, background .18s, color .18s;
  white-space:nowrap;
}
.btn:hover{text-decoration:none; transform:translateY(-2px); box-shadow:0 12px 26px rgba(123,17,19,.26)}
.btn:active{transform:translateY(0)}
.btn svg{width:17px; height:17px; flex:none}
.btn.ghost{--bg-b:transparent; --fg-b:var(--maroon); --bd:rgba(123,17,19,.35)}
.btn.ghost:hover{--bg-b:rgba(123,17,19,.06); box-shadow:none}
.btn.light{--bg-b:#fff; --fg-b:var(--maroon-900); --bd:#fff}
.btn.light:hover{box-shadow:0 12px 30px rgba(0,0,0,.28)}
.btn.outline-light{--bg-b:transparent; --fg-b:#fff; --bd:rgba(255,255,255,.5)}
.btn.outline-light:hover{--bg-b:rgba(255,255,255,.12); box-shadow:none}
.btn-row{display:flex; gap:14px; flex-wrap:wrap}

/* ---------- header ---------- */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  transition:background .3s, box-shadow .3s, border-color .3s;
  border-bottom:1px solid transparent;
}
.site-header.solid{background:rgba(255,255,255,.93); backdrop-filter:saturate(170%) blur(14px); border-color:var(--line); box-shadow:0 1px 0 rgba(0,0,0,.02)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:24px; height:76px}
.brand{display:flex; align-items:center; gap:12px}
.brand:hover{text-decoration:none}
.brand img{width:40px; height:40px; border-radius:9px; box-shadow:0 2px 10px rgba(50,5,8,.28)}
.brand b{font-family:'Playfair Display',serif; font-size:1.06rem; color:var(--ink); display:block; line-height:1.1; font-weight:700}
.brand span{font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); display:block}
.menu{display:flex; align-items:center; gap:30px; list-style:none}
.menu a{color:var(--body); font-size:.93rem; font-weight:500; position:relative; padding-block:6px}
.menu a:hover{color:var(--maroon); text-decoration:none}
.menu a.active{color:var(--maroon); font-weight:600}
.menu a.active::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--maroon); border-radius:2px}
.nav-cta{display:flex; align-items:center; gap:14px}
.nav-cta .btn{padding:11px 20px; font-size:.88rem}
.burger{display:none; width:44px; height:44px; border:1px solid var(--line); background:#fff; border-radius:11px; align-items:center; justify-content:center; cursor:pointer}
.burger span{display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; position:relative}
.burger span::before,.burger span::after{content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink); border-radius:2px}
.burger span::before{top:-6px} .burger span::after{top:6px}

/* header over dark hero */
.site-header:not(.solid) .brand b{color:#fff}
.site-header:not(.solid) .brand span{color:rgba(255,255,255,.66)}
.site-header:not(.solid) .menu a{color:rgba(255,255,255,.88)}
.site-header:not(.solid) .menu a:hover,
.site-header:not(.solid) .menu a.active{color:#fff}
.site-header:not(.solid) .menu a.active::after{background:#fff}
.site-header:not(.solid) .btn.ghost{--fg-b:#fff; --bd:rgba(255,255,255,.45)}
.site-header:not(.solid) .btn.ghost:hover{--bg-b:rgba(255,255,255,.12)}
.site-header:not(.solid) .burger{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3)}
.site-header:not(.solid) .burger span,
.site-header:not(.solid) .burger span::before,
.site-header:not(.solid) .burger span::after{background:#fff}

/* ---------- hero ---------- */
.hero{position:relative; color:#fff; padding-block:clamp(150px,17vw,220px) clamp(84px,10vw,128px); overflow:hidden; isolation:isolate}
.hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  background:var(--maroon-900) center/cover no-repeat;
}
.hero.img-home::before{background-image:linear-gradient(105deg,rgba(50,5,8,.94) 0%,rgba(94,13,15,.78) 46%,rgba(123,17,19,.55) 100%),url("../img/banner-home.jpg")}
.hero.img-inner::before{background-image:linear-gradient(100deg,rgba(50,5,8,.95) 0%,rgba(94,13,15,.82) 52%,rgba(123,17,19,.6) 100%),url("../img/banner-services.jpg")}
.hero::after{
  content:""; position:absolute; inset:auto 0 -1px 0; height:140px; z-index:-1;
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.06));
}
.hero h1{color:#fff; max-width:15ch}
.hero .lead{font-size:clamp(1.06rem,1.7vw,1.24rem); color:rgba(255,255,255,.84); max-width:58ch; margin-top:22px}
.hero .btn-row{margin-top:36px}
.hero .eyebrow{color:rgba(255,255,255,.8)}
.hero .eyebrow::before{background:rgba(255,255,255,.7)}

.hero-sm{padding-block:clamp(132px,15vw,168px) clamp(52px,6vw,72px)}
.hero-sm h1{font-size:clamp(2rem,4vw,3.1rem); max-width:22ch}
.hero-sm .lead{font-size:1.04rem; margin-top:16px}

/* trust strip under hero */
.trust{display:flex; flex-wrap:wrap; gap:14px 34px; margin-top:44px; padding-top:28px; border-top:1px solid rgba(255,255,255,.18)}
.trust div{display:flex; align-items:center; gap:10px; font-size:.87rem; color:rgba(255,255,255,.8)}
.trust svg{width:17px; height:17px; flex:none; color:rgba(255,255,255,.62)}

/* ---------- grids / cards ---------- */
.grid{display:grid; gap:26px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  display:flex; flex-direction:column; transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s, border-color .25s;
}
.card:hover{transform:translateY(-5px); border-color:#DED9D9; box-shadow:var(--shadow)}
.card .thumb{aspect-ratio:16/10; background:var(--bg-soft); border-bottom:1px solid var(--line-soft); overflow:hidden}
.card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card:hover .thumb img{transform:scale(1.035)}
.card .body{padding:26px 26px 30px}
.card h3{margin-bottom:9px}
.card p{color:var(--muted); font-size:.95rem}

.icard{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px 26px; transition:transform .25s, box-shadow .25s, border-color .25s}
.icard:hover{transform:translateY(-4px); border-color:#DED9D9; box-shadow:var(--shadow-sm)}
.ico{
  width:46px; height:46px; border-radius:12px; display:grid; place-items:center; margin-bottom:18px;
  background:linear-gradient(145deg,rgba(123,17,19,.1),rgba(123,17,19,.04)); color:var(--maroon);
  border:1px solid rgba(123,17,19,.14);
}
.ico svg{width:22px; height:22px}
.icard h3{margin-bottom:8px}
.icard p{color:var(--muted); font-size:.94rem}

/* ---------- chips ---------- */
.chips{display:flex; flex-wrap:wrap; gap:10px}
.chip{
  border:1px solid var(--line); background:#fff; color:var(--body);
  padding:8px 16px; border-radius:100px; font-size:.86rem; font-weight:500;
}

/* ---------- steps ---------- */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:s; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:#fff}
.step{padding:34px 28px; border-right:1px solid var(--line-soft); position:relative}
.step:last-child{border-right:0}
.step .n{
  width:38px; height:38px; border-radius:50%; display:grid; place-items:center; margin-bottom:16px;
  background:var(--maroon); color:#fff; font-weight:700; font-size:.92rem; font-variant-numeric:tabular-nums;
}
.step h3{font-size:1.04rem; margin-bottom:7px}
.step p{font-size:.9rem; color:var(--muted)}

/* ---------- list ---------- */
.ticks{list-style:none; display:grid; gap:15px}
.ticks li{position:relative; padding-left:32px; color:var(--body)}
.ticks li::before{
  content:""; position:absolute; left:0; top:.44em; width:18px; height:18px; border-radius:50%;
  background:rgba(123,17,19,.1); border:1px solid rgba(123,17,19,.22);
}
.ticks li::after{
  content:""; position:absolute; left:6px; top:.78em; width:5px; height:9px;
  border:solid var(--maroon); border-width:0 2px 2px 0; transform:rotate(45deg);
}

/* ---------- notice ---------- */
.notice{background:var(--bg-soft); border:1px solid var(--line); border-left:3px solid var(--maroon); border-radius:var(--r); padding:28px 28px}
.notice h3{margin-bottom:10px; color:var(--maroon-700)}
.notice p{color:var(--muted); font-size:.93rem}

/* ---------- table ---------- */
.table-wrap{border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:#fff}
table{width:100%; border-collapse:collapse; font-size:.96rem}
thead th{background:var(--maroon-900); color:#fff; font-family:'Inter',sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; text-align:left; padding:16px 22px}
tbody td{padding:18px 22px; border-top:1px solid var(--line-soft); vertical-align:top}
tbody tr:nth-child(even){background:#FCFBFB}
td.price{font-weight:650; color:var(--maroon); white-space:nowrap; font-variant-numeric:tabular-nums}
td.price small{display:block; font-weight:400; color:var(--muted); font-size:.8rem}

/* ---------- split ---------- */
.split{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(34px,5vw,64px); align-items:center}
.split .media{border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow)}

/* ---------- info list ---------- */
.info{border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; background:#fff}
.info dl{display:grid; grid-template-columns:180px 1fr; gap:14px 20px; font-size:.95rem}
.info dt{color:var(--muted); font-weight:500}
.info dd{color:var(--ink); font-weight:500}

/* ---------- CTA band ---------- */
.cta{position:relative; color:#fff; text-align:center; isolation:isolate; overflow:hidden; padding-block:clamp(66px,8vw,96px)}
.cta::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(115deg,var(--maroon-900),var(--maroon-700) 55%,var(--maroon))}
.cta::after{
  content:""; position:absolute; inset:0; z-index:-1; opacity:.5;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.1), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(255,255,255,.07), transparent 46%);
}
.cta h2{color:#fff; max-width:20ch; margin-inline:auto}
.cta p{color:rgba(255,255,255,.8); max-width:56ch; margin:16px auto 34px}
.cta .btn-row{justify-content:center}

/* ---------- legal ---------- */
.legal{max-width:820px}
.legal .updated{color:var(--muted); font-size:.88rem; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:34px}
.legal h2{font-family:'Inter',sans-serif; font-size:1.12rem; font-weight:680; color:var(--maroon-700); letter-spacing:.01em; margin:40px 0 12px}
.legal h2:first-of-type{margin-top:0}
.legal ul{margin:0 0 16px 22px}
.legal li{margin-bottom:7px}
.legal p,.legal li{font-size:.99rem}

/* ---------- footer ---------- */
footer{background:#fff; border-top:1px solid var(--line); padding-block:64px 34px; font-size:.92rem}
.f-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:38px; padding-bottom:40px; border-bottom:1px solid var(--line-soft)}
.f-brand p{color:var(--muted); font-size:.9rem; margin-top:16px; max-width:34ch}
footer h4{font-family:'Inter',sans-serif; font-size:.72rem; letter-spacing:.17em; text-transform:uppercase; color:var(--ink); margin-bottom:16px; font-weight:700}
footer ul{list-style:none; display:grid; gap:10px}
footer a{color:var(--muted)}
footer a:hover{color:var(--maroon)}
footer li{color:var(--muted)}
.disclaimer{padding-top:28px; color:var(--muted); font-size:.8rem; line-height:1.7}
.disclaimer strong{color:var(--body)}
.copy{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:22px; color:var(--muted); font-size:.8rem}

/* ---------- reveal ---------- */
.rv{opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1; transform:none; transition:none}
  *{scroll-behavior:auto !important}
}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2){border-right:0}
  .step:nth-child(1),.step:nth-child(2){border-bottom:1px solid var(--line-soft)}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .menu,.nav-cta .btn{display:none}
  .burger{display:flex}
  .site-header.open{background:#fff; border-color:var(--line)}
  .site-header.open .brand b{color:var(--ink)}
  .site-header.open .brand span{color:var(--muted)}
  .site-header.open .burger{background:#fff; border-color:var(--line)}
  .site-header.open .burger span,
  .site-header.open .burger span::before,
  .site-header.open .burger span::after{background:var(--ink)}
  .site-header.open .menu{
    display:flex; position:absolute; top:76px; left:0; right:0; flex-direction:column;
    align-items:stretch; gap:0; background:#fff; border-top:1px solid var(--line);
    padding:8px 24px 22px; box-shadow:0 20px 40px rgba(0,0,0,.08);
  }
  .site-header.open .menu a{color:var(--ink); padding:14px 0; border-bottom:1px solid var(--line-soft); font-size:1rem}
  .site-header.open .menu a.active::after{display:none}
  .g3,.g2,.split{grid-template-columns:1fr}
  .split .media{order:-1}
}
@media (max-width:620px){
  body{font-size:16px}
  .g4,.steps{grid-template-columns:1fr}
  .step{border-right:0; border-bottom:1px solid var(--line-soft)}
  .step:last-child{border-bottom:0}
  .f-grid{grid-template-columns:1fr; gap:30px}
  .info dl{grid-template-columns:1fr; gap:2px}
  .info dt{margin-top:12px}
  thead{display:none}
  tbody td{display:block; border-top:0; padding:4px 20px}
  tbody tr{display:block; border-top:1px solid var(--line-soft); padding-block:16px}
  tbody td:first-child{font-weight:600; color:var(--ink)}
  .btn{width:100%; justify-content:center}
  .hero .btn-row .btn{width:auto}
}

/* ---------- hero split + brief card ---------- */
.hero-grid{display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(40px,5vw,72px); align-items:center}
.brief{
  background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.17);
  backdrop-filter:blur(12px) saturate(140%); border-radius:var(--r-lg);
  padding:28px 28px 24px; box-shadow:0 34px 76px rgba(0,0,0,.36);
}
.brief-top{display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:16px; margin-bottom:6px; border-bottom:1px solid rgba(255,255,255,.14)}
.brief-top h4{font-family:'Inter',sans-serif; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.72); font-weight:700}
.badge{display:inline-flex; align-items:center; gap:7px; font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); padding:5px 11px; border-radius:100px}
.badge i{width:6px; height:6px; border-radius:50%; background:#8FE3A6; display:block}
.brief dl{display:grid; grid-template-columns:auto 1fr; gap:0; font-size:.9rem}
.brief dt, .brief dd{padding:11px 0; border-bottom:1px dashed rgba(255,255,255,.12)}
.brief dt{color:rgba(255,255,255,.6); padding-right:20px; white-space:nowrap}
.brief dd{color:#fff; font-weight:500; text-align:right}
.brief dl > :nth-last-child(1), .brief dl > :nth-last-child(2){border-bottom:0}
.brief-note{margin-top:16px; font-size:.78rem; color:rgba(255,255,255,.55); line-height:1.6}
.hero .trust{grid-column:1/-1}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr; gap:40px}
  .brief{display:none}
}
