/* ============================================================
   BSS PROTECTION — design tokens
   ============================================================ */
:root{
  --navy-deep:#0B1B33;
  --navy-mid:#142A4D;
  --navy-line: rgba(255,255,255,0.14);
  --steel:#2E72B8;
  --steel-light:#5C93CE;
  --gold:#E7B733;
  --gold-dark:#B98A1C;
  --paper:#F3F4EF;
  --panel:#FFFFFF;
  --ink:#14171C;
  --slate:#5B6472;
  --line:#DBDCD4;
  --radius:2px;
  --maxw:1180px;
  --font-head:'Oswald', 'Arial Narrow', sans-serif;
  --font-body:'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:600;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:.2px;
}
p{margin:0 0 1em; max-width:64ch;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- top strip ---------- */
.top-strip{
  background:var(--navy-deep);
  color:#C9D4E4;
  font-size:.8rem;
  border-bottom:1px solid var(--navy-line);
}
.top-strip .container{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:7px; padding-bottom:7px;
  gap:16px;
  flex-wrap:wrap;
}
.top-strip .reg{
  font-family:var(--font-body);
  letter-spacing:.4px;
}
.top-strip .reg b{color:var(--gold); font-weight:600;}
.top-strip a{
  color:#C9D4E4;
  text-decoration:none;
}
.top-strip a:hover{color:var(--gold);}

/* ---------- header / nav ---------- */
header.site-header{
  background:var(--navy-mid);
  border-bottom:3px solid var(--gold);
  position:sticky; top:0; z-index:40;
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0;
  gap:24px;
}
.brand{
  display:flex; align-items:center; gap:12px;
  text-decoration:none;
  color:#fff;
}
.brand-badge{
  width:52px;height:52px;
  border-radius:50%;
  background:linear-gradient(180deg,#fdfdfc 0%, #eceeea 55%, #c9cbc5 100%);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.brand-badge img{
  width:44px;height:44px;object-fit:contain; mix-blend-mode:multiply;
}
.brand-word{
  display:flex; flex-direction:column; line-height:1.05;
}
.brand-word .b1{
  font-family:var(--font-head);
  font-size:1.28rem;
  letter-spacing:.5px;
  color:#fff;
}
.brand-word .b2{
  font-family:var(--font-body);
  font-size:.66rem;
  letter-spacing:2.5px;
  color:var(--gold);
  margin-top:3px;
  font-weight:600;
}

nav.primary-nav ul{
  list-style:none; display:flex; gap:2px; margin:0; padding:0;
}
nav.primary-nav a{
  display:inline-block;
  text-decoration:none;
  color:#D7DEE9;
  font-size:.92rem;
  font-weight:600;
  padding:10px 14px;
  border-bottom:2px solid transparent;
}
nav.primary-nav a:hover{color:#fff; border-bottom-color:var(--steel-light);}
nav.primary-nav a.active{color:#fff; border-bottom-color:var(--gold);}

.nav-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--gold);
  color:var(--navy-deep);
  font-weight:700;
  font-size:.88rem;
  padding:10px 16px;
  text-decoration:none;
  border-radius:var(--radius);
  white-space:nowrap;
}
.nav-cta:hover{background:#fff;}
.nav-cta svg{width:16px;height:16px;flex-shrink:0;}

.nav-toggle{
  display:none;
  background:none; border:1px solid var(--navy-line); color:#fff;
  width:42px; height:38px; border-radius:var(--radius);
  cursor:pointer;
}

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:var(--navy-deep);
  color:#fff;
  overflow:hidden;
  padding:76px 0 64px;
}
.hero .ring{
  position:absolute;
  right:-160px; top:50%; transform:translateY(-50%);
  width:640px;height:640px;
  opacity:.5;
  pointer-events:none;
}
.hero-grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;
  position:relative; z-index:2;
}
.hero-tag{
  display:inline-block;
  font-size:.78rem; font-weight:700; letter-spacing:1.6px;
  color:var(--gold);
  border:1px solid rgba(231,183,51,.5);
  padding:5px 12px;
  margin-bottom:20px;
  border-radius:var(--radius);
}
.hero h1{
  font-size:clamp(2.3rem, 4.4vw, 3.6rem);
  color:#fff;
  max-width:13ch;
}
.hero p.lead{
  color:#C9D4E4;
  font-size:1.08rem;
  max-width:46ch;
  margin-top:18px;
}
.hero-actions{
  display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;
}
.btn{
  display:inline-flex; align-items:center; gap:9px;
  font-weight:700; font-size:.95rem;
  padding:14px 24px;
  text-decoration:none;
  border-radius:var(--radius);
  border:1px solid transparent;
}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-gold{background:var(--gold); color:var(--navy-deep);}
.btn-gold:hover{background:#fff;}
.btn-outline{border-color:rgba(255,255,255,.4); color:#fff;}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.06);}
.btn-navy{background:var(--navy-deep); color:#fff;}
.btn-navy:hover{background:var(--navy-mid);}

.hero-panel{
  background:var(--navy-mid);
  border:1px solid var(--navy-line);
  padding:26px;
  position:relative;
}
.corner-frame{position:relative;}
.corner-frame::before,.corner-frame::after,
.corner-frame .cf-br,.corner-frame .cf-bl{
  content:"";
  position:absolute;
  width:18px;height:18px;
  border-color:var(--gold);
  border-style:solid;
  border-width:0;
}
.corner-frame::before{top:-1px;left:-1px;border-top-width:3px;border-left-width:3px;}
.corner-frame::after{top:-1px;right:-1px;border-top-width:3px;border-right-width:3px;}
.corner-frame .cf-br{bottom:-1px;right:-1px;border-bottom-width:3px;border-right-width:3px;}
.corner-frame .cf-bl{bottom:-1px;left:-1px;border-bottom-width:3px;border-left-width:3px;}

.hero-panel .hp-row{
  display:flex; justify-content:space-between;
  padding:13px 0;
  border-bottom:1px solid var(--navy-line);
  font-size:.92rem;
}
.hero-panel .hp-row:last-child{border-bottom:none;}
.hero-panel .hp-label{color:#9FB0C7;}
.hero-panel .hp-value{color:#fff; font-weight:700; text-align:right;}

/* ---------- stat strip ---------- */
.stat-strip{
  background:var(--navy-mid);
  border-top:1px solid var(--navy-line);
}
.stat-strip .container{
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat-strip .stat{
  padding:22px 20px;
  border-left:1px solid var(--navy-line);
  color:#fff;
}
.stat-strip .stat:first-child{border-left:none;}
.stat .num{
  font-family:var(--font-head);
  font-size:1.9rem;
  color:var(--gold);
  display:block;
}
.stat .label{font-size:.82rem; color:#B9C4D6;}

/* ---------- sections ---------- */
section{padding:76px 0;}
.section-head{
  max-width:640px;
  margin-bottom:44px;
}
.section-head .kicker{
  color:var(--steel);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:1px;
  display:block;
  margin-bottom:10px;
}
.section-head h2{
  font-size:clamp(1.7rem,3vw,2.4rem);
  color:var(--navy-deep);
}
.section-head p{color:var(--slate); font-size:1.02rem; margin-top:12px;}
.section-alt{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section-navy{background:var(--navy-deep); color:#fff;}
.section-navy .section-head h2{color:#fff;}
.section-navy .section-head p{color:#B9C4D6;}

/* ---------- panel / bracket card ---------- */
.panel-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  background:var(--line);
  border:1px solid var(--line);
}
.panel{
  background:var(--panel);
  padding:30px 26px;
  position:relative;
}
.panel .pnum{
  font-family:var(--font-head);
  font-size:.78rem;
  color:var(--steel);
  letter-spacing:1px;
  margin-bottom:14px;
  display:block;
}
.panel h3{font-size:1.14rem; color:var(--navy-deep); margin-bottom:10px;}
.panel p{color:var(--slate); font-size:.95rem; margin:0;}

/* ---------- two column ---------- */
.split{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
}
.split h2{color:var(--navy-deep); font-size:clamp(1.6rem,2.6vw,2.1rem);}
.split .kicker{color:var(--steel); font-weight:700; font-size:.82rem; letter-spacing:1px; display:block; margin-bottom:10px;}
.split p{color:var(--slate);}

.badge-plate{
  background:linear-gradient(180deg,#fdfdfc 0%, #eceeea 55%, #c9cbc5 100%);
  padding:34px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line);
}
.badge-plate img{max-width:280px; mix-blend-mode:multiply;}

/* ---------- list-check ---------- */
ul.check-list{list-style:none; margin:0; padding:0;}
ul.check-list li{
  display:flex; gap:12px; align-items:flex-start;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:.98rem;
}
ul.check-list li:last-child{border-bottom:none;}
ul.check-list svg{width:18px;height:18px; flex-shrink:0; margin-top:3px; color:var(--steel);}
.section-navy ul.check-list li{border-bottom-color:var(--navy-line); color:#E4E9F1;}

/* ---------- phase / step list (legit sequence) ---------- */
ol.phase-list{
  list-style:none; margin:0; padding:0;
  counter-reset:phase;
}
ol.phase-list li{
  counter-increment:phase;
  display:grid; grid-template-columns:52px 1fr; gap:18px;
  padding:20px 0;
  border-top:1px solid var(--line);
}
ol.phase-list li:last-child{border-bottom:1px solid var(--line);}
ol.phase-list li::before{
  content:counter(phase, decimal-leading-zero);
  font-family:var(--font-head);
  font-size:1.3rem;
  color:var(--gold-dark);
}
ol.phase-list h4{margin:0 0 4px; color:var(--navy-deep); font-size:1.02rem;}
ol.phase-list p{margin:0; color:var(--slate); font-size:.94rem;}

/* ---------- sector tags ---------- */
.tag-cloud{display:flex; flex-wrap:wrap; gap:10px;}
.tag{
  border:1px solid var(--line);
  background:var(--panel);
  padding:8px 14px;
  font-size:.88rem;
  font-weight:600;
  color:var(--navy-mid);
}
.section-navy .tag{border-color:var(--navy-line); background:transparent; color:#E4E9F1;}

/* ---------- client table ---------- */
.record-table{width:100%; border-collapse:collapse; background:var(--panel);}
.record-table th,.record-table td{
  text-align:left; padding:13px 16px; font-size:.92rem;
  border-bottom:1px solid var(--line);
}
.record-table th{
  font-family:var(--font-head);
  font-weight:600; letter-spacing:.4px;
  color:var(--navy-deep);
  background:var(--paper);
  border-bottom:2px solid var(--gold);
}
.record-table td{color:var(--slate);}
.record-table td.sector{color:var(--navy-mid); font-weight:600;}
.table-wrap{overflow-x:auto; border:1px solid var(--line);}

/* ---------- quote / cta band ---------- */
.cta-band{
  background:var(--gold);
  color:var(--navy-deep);
}
.cta-band .container{
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  padding:44px 28px;
}
.cta-band h2{font-size:1.6rem; margin-bottom:6px; color:var(--navy-deep);}
.cta-band p{color:#4A3B0F; margin:0;}

/* ---------- footer ---------- */
footer.site-footer{
  background:var(--navy-deep);
  color:#B9C4D6;
  padding-top:56px;
}
.footer-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:40px;
  border-bottom:1px solid var(--navy-line);
}
.footer-grid h4{color:#fff; font-size:.95rem; letter-spacing:.5px; margin-bottom:16px;}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:9px; font-size:.92rem;}
.footer-grid a{text-decoration:none; color:#B9C4D6;}
.footer-grid a:hover{color:var(--gold);}
.footer-brand p{color:#8FA0BA; font-size:.92rem; max-width:34ch;}
.footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:20px 0 28px;
  font-size:.82rem;
  color:#8195B2;
}
.footer-bottom b{color:var(--gold);}

/* ---------- whatsapp floating widget ---------- */
.wa-fab{
  position:fixed; right:22px; bottom:22px; z-index:60;
  display:flex; align-items:center; gap:10px;
  background:var(--navy-deep);
  border:2px solid var(--gold);
  color:#fff;
  text-decoration:none;
  padding:12px 18px 12px 12px;
  border-radius:40px;
  box-shadow:0 8px 22px rgba(11,27,51,.35);
}
.wa-fab .wa-ic{
  width:34px;height:34px;border-radius:50%;
  background:var(--gold);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.wa-fab .wa-ic svg{width:19px;height:19px;color:var(--navy-deep);}
.wa-fab .wa-txt{font-size:.86rem; font-weight:700; line-height:1.15;}
.wa-fab .wa-txt small{display:block; font-weight:500; color:#B9C4D6; font-size:.72rem;}
.wa-fab:hover{border-color:#fff;}

/* ---------- page header (interior pages) ---------- */
.page-head{
  background:var(--navy-deep);
  color:#fff;
  padding:52px 0 40px;
  border-bottom:3px solid var(--gold);
}
.page-head .crumb{color:var(--gold); font-size:.82rem; font-weight:700; letter-spacing:1px; margin-bottom:10px;}
.page-head h1{font-size:clamp(2rem,3.6vw,2.7rem); color:#fff; margin-bottom:10px;}
.page-head p{color:#C9D4E4; max-width:60ch; margin:0;}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero .ring{display:none;}
  .stat-strip .container{grid-template-columns:repeat(2,1fr);}
  .stat-strip .stat:nth-child(3){border-left:none;}
  .panel-grid{grid-template-columns:1fr 1fr;}
  .split{grid-template-columns:1fr; gap:32px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 760px){
  nav.primary-nav, .nav-cta{display:none;}
  .nav-toggle{display:block;}
  header.site-header.open nav.primary-nav{
    display:block; position:absolute; top:100%; left:0; right:0;
    background:var(--navy-mid); border-top:1px solid var(--navy-line);
  }
  header.site-header.open nav.primary-nav ul{flex-direction:column; padding:8px 20px;}
  header.site-header.open .nav-cta{display:inline-flex; margin:0 20px 16px;}
  .panel-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .cta-band .container{flex-direction:column; align-items:flex-start;}
  ol.phase-list li{grid-template-columns:36px 1fr;}
}
