/*
Theme Name: ChiefEconomistPRO
Theme URI: https://chiefeconomistpro.com
Author: Sodiq Makinde
Author URI: https://chiefeconomistpro.com
Description: WordPress theme for ChiefEconomistPRO — Private Economic Advisory for CEOs & Boards.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: chief-economist-pro
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&display=swap');

:root {
  --ink:    #03060F;
  --surf:   #070B16;
  --card:   #0B101E;
  --card2:  #0F1525;
  --line:   rgba(255,255,255,0.06);
  --gold:   #C9A84C;
  --gold2:  #E0C06A;
  --red:    #C0392B;
  --white:  #FFFFFF;
  --warm:   #EDE7DC;
  --mid:    #8A8A9A;
  --light:  #C0BAB0;
  --grey:   #555566;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:19px; }
body {
  background:var(--ink); color:var(--warm);
  font-family:'Inter',sans-serif; line-height:1.72;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
::-webkit-scrollbar { width:2px; }
::-webkit-scrollbar-thumb { background:var(--gold); }

/* ══ NAV ══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:76px; display:flex; align-items:center; justify-content:space-between;
  padding:0 88px;
  background:rgba(3,6,15,0.97); backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(201,168,76,0.08);
}
.nlogo { display:flex; flex-direction:column; }
.nlogo .mark { font-size:15px; font-weight:900; letter-spacing:0.1em; color:var(--white); text-transform:uppercase; }
.nlogo .mark em { color:var(--gold); font-style:normal; }
.nlogo .sub { font-size:8.5px; letter-spacing:0.42em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-top:2px; }
.nlinks { display:flex; gap:40px; align-items:center; }
.nlinks a { font-size:10px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--white); text-decoration:none; transition:color .3s; }
.nlinks a:hover { color:var(--gold); }
.ncta {
  padding:11px 28px; background:#B02A1A; color:var(--white);
  font-size:10px; font-weight:800; letter-spacing:0.22em; text-transform:uppercase;
  text-decoration:none; border-radius:1px; transition:all .3s;
}
.ncta:hover { background:#D03020; transform:translateY(-2px); box-shadow:0 12px 36px rgba(176,42,26,.35); }

/* ══ HERO ══ */
.hero {
  min-height:100vh; display:grid; grid-template-columns:1fr 420px;
  align-items:center; padding:130px 88px 96px; gap:80px;
  position:relative; overflow:hidden;
}
.hbg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 100% 120% at -5% 55%, rgba(201,168,76,0.04) 0%, transparent 55%),
    radial-gradient(ellipse 60% 60% at 105% 20%, rgba(192,57,43,0.03) 0%, transparent 50%);
}
.hgrid-lines {
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
  background-image:
    linear-gradient(rgba(255,255,255,0.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.012) 1px, transparent 1px);
  background-size:80px 80px;
}
.he { position:relative; z-index:2; }
.hbadge {
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 18px; border:1px solid rgba(201,168,76,.22);
  background:rgba(201,168,76,.04); border-radius:1px; margin-bottom:36px;
  font-size:9.5px; font-weight:700; letter-spacing:0.36em; text-transform:uppercase; color:var(--gold);
}
.hbadge::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.5; transform:scale(1.4); } }
h1.htitle {
  font-family:'Playfair Display',serif;
  font-size:clamp(60px,7.5vw,108px); font-weight:800;
  line-height:.92; letter-spacing:-0.025em; color:var(--white); margin-bottom:20px;
}
h1.htitle em { color:var(--gold); font-style:normal; }
.htagline {
  font-size:19px; font-weight:300; line-height:1.75; color:var(--light);
  margin-bottom:20px; max-width:580px;
}
.hstat-line {
  display:flex; align-items:center; gap:8px;
  padding:16px 22px; background:rgba(192,57,43,.06); border:1px solid rgba(192,57,43,.18);
  border-radius:1px; margin-bottom:52px; max-width:560px;
}
.hstat-line .dot { width:8px; height:8px; border-radius:50%; background:#C0392B; flex-shrink:0; animation:pulse 1.8s infinite; }
.hstat-line p { font-size:15px; font-weight:400; color:var(--warm); line-height:1.5; }
.hstat-line strong { color:#E05040; font-weight:700; }
.hbtns { display:flex; gap:14px; margin-bottom:44px; flex-wrap:wrap; }
.bg {
  padding:18px 48px; background:var(--gold); color:var(--ink);
  font-size:11px; font-weight:800; letter-spacing:0.26em; text-transform:uppercase;
  text-decoration:none; border-radius:1px; transition:all .3s; display:inline-block;
}
.bg:hover { background:var(--gold2); transform:translateY(-3px); box-shadow:0 16px 48px rgba(201,168,76,.24); }
.bo {
  padding:18px 48px; border:1px solid rgba(201,168,76,.35); color:var(--gold);
  font-size:11px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase;
  text-decoration:none; border-radius:1px; transition:all .3s; display:inline-block;
}
.bo:hover { border-color:var(--gold); background:rgba(201,168,76,.07); transform:translateY(-3px); }
.hinvite { font-size:12px; font-weight:300; color:var(--grey); font-style:italic; }

/* HERO PHOTO */
.hphoto-col { position:relative; z-index:2; }
.hphoto {
  width:100%; height:530px; object-fit:cover; object-position:top center;
  border-radius:2px; display:block; margin-bottom:3px;
  border:1px solid rgba(201,168,76,.15);
  box-shadow:0 56px 112px rgba(0,0,0,.85);
}
.hcreds { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.hcred {
  background:var(--card); border:1px solid var(--line);
  padding:16px 14px; text-align:center;
}
.hcred .num { font-family:'Playfair Display',serif; font-size:26px; font-weight:700; color:var(--white); line-height:1; }
.hcred .num span { color:var(--gold); font-size:17px; }
.hcred .lbl { font-size:8px; letter-spacing:.18em; text-transform:uppercase; color:var(--grey); margin-top:5px; line-height:1.4; }

/* ══ TICKER ══ */
.ticker {
  border-top:1px solid rgba(201,168,76,.065);
  border-bottom:1px solid rgba(201,168,76,.065);
  padding:13px 0; overflow:hidden;
  background:rgba(201,168,76,.015);
}
.ttrack { display:flex; animation:tick 55s linear infinite; white-space:nowrap; }
.titem {
  padding:0 48px; font-size:9.5px; font-weight:600; letter-spacing:.3em;
  text-transform:uppercase; color:var(--grey); border-right:1px solid var(--line); flex-shrink:0;
}
.titem em { color:var(--gold); margin-right:8px; font-style:normal; }
@keyframes tick { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ══ SECTION BASE ══ */
.sec { padding:160px 88px; }
.slabel {
  font-size:9.5px; font-weight:700; letter-spacing:.56em; text-transform:uppercase;
  color:var(--gold); opacity:.72; margin-bottom:20px;
  display:flex; align-items:center; gap:18px;
}
.slabel::before { content:''; width:36px; height:1px; background:var(--gold); opacity:.35; }
h2.stitle {
  font-family:'Playfair Display',serif;
  font-size:clamp(46px,6vw,82px); font-weight:700;
  color:var(--white); line-height:1.04; letter-spacing:-0.02em;
}
.sdesc { font-size:18px; font-weight:300; line-height:1.9; color:var(--mid); max-width:580px; }
.divider { height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent); }

/* ══ PROBLEM ══ */
.problem { background:var(--surf); }
.prob-grid { display:grid; grid-template-columns:1fr 1fr; gap:108px; align-items:start; margin-top:96px; }
.prob-statement {
  font-family:'Playfair Display',serif;
  font-size:clamp(26px,3.2vw,40px); font-weight:600; line-height:1.45;
  color:var(--white); margin-bottom:48px;
}
.prob-statement em { color:var(--gold); font-style:normal; }
.prob-body { font-size:18px; font-weight:300; line-height:1.95; color:var(--mid); margin-bottom:20px; }
.prob-body strong { color:var(--light); font-weight:500; }
.prob-cards { display:flex; flex-direction:column; gap:3px; margin-top:64px; }
.prob-card {
  display:flex; align-items:flex-start; gap:28px;
  padding:32px 36px; border:1px solid var(--line); background:var(--card); border-radius:1px;
  transition:border-color .3s;
}
.prob-card:hover { border-color:rgba(201,168,76,.2); }
.pnum {
  font-family:'Playfair Display',serif; font-size:48px; font-weight:700;
  color:rgba(201,168,76,.15); line-height:1; flex-shrink:0; margin-top:-8px;
}
.pcontent h3 { font-size:19px; font-weight:700; color:var(--white); margin-bottom:10px; letter-spacing:-.01em; }
.pcontent p { font-size:15px; font-weight:300; line-height:1.85; color:var(--mid); }
.pcontent .source { font-size:11px; color:var(--grey); margin-top:8px; font-style:italic; }
.prob-divider {
  border-left:2px solid var(--gold); padding-left:28px; margin-top:48px;
}
.prob-divider p {
  font-family:'Playfair Display',serif;
  font-size:clamp(20px,2.4vw,28px); font-weight:400; font-style:italic;
  line-height:1.6; color:var(--warm);
}
.prob-divider em { color:var(--gold); font-style:normal; font-weight:600; }

/* ══ WHAT YOU GET ══ */
.what { background:var(--ink); }
.what-intro { display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:end; margin-bottom:88px; }
.what-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-bottom:4px; }
.wcard {
  padding:44px 38px; border:1px solid var(--line); background:var(--card);
  transition:all .38s; position:relative; overflow:hidden;
}
.wcard::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transition:transform .38s; transform-origin:left;
}
.wcard:hover { border-color:rgba(201,168,76,.18); background:var(--card2); transform:translateY(-6px); }
.wcard:hover::after { transform:scaleX(1); }
.wicon { font-size:28px; margin-bottom:20px; display:block; }
.wcard h3 { font-size:20px; font-weight:700; color:var(--white); margin-bottom:14px; letter-spacing:-.015em; line-height:1.2; }
.wcard p { font-size:15px; font-weight:300; line-height:1.85; color:var(--mid); }
.wcard-full {
  padding:40px 48px; border:1px solid rgba(201,168,76,.15); background:var(--card);
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; align-items:start;
  border-radius:1px; margin-top:3px;
}
.wfull-item { border-left:1px solid var(--line); padding-left:24px; }
.wfull-item:first-child { border-left:none; padding-left:0; }
.wfull-item h4 { font-size:14px; font-weight:700; color:var(--white); margin-bottom:14px; letter-spacing:.04em; text-transform:uppercase; }
.wfull-item li {
  font-size:14px; font-weight:300; color:var(--mid); line-height:2;
  list-style:none; display:flex; align-items:flex-start; gap:10px; margin-bottom:4px;
}
.wfull-item li::before { content:'—'; color:var(--gold); opacity:.5; flex-shrink:0; margin-top:2px; }

/* ══ ADVISOR ══ */
.advisor { background:var(--surf); }
.adv-grid { display:grid; grid-template-columns:320px 1fr; gap:100px; align-items:start; margin-top:96px; }
.adv-photo {
  width:320px; height:400px; object-fit:cover; object-position:top center;
  border-radius:2px; border:1px solid rgba(201,168,76,.15);
  box-shadow:0 36px 80px rgba(0,0,0,.75); flex-shrink:0;
}
.adv-tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:9.5px; font-weight:700; letter-spacing:.38em; text-transform:uppercase;
  color:var(--gold); opacity:.75; margin-bottom:24px;
}
.adv-name {
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4.5vw,58px); font-weight:700;
  color:var(--white); line-height:1.08; letter-spacing:-.02em; margin-bottom:6px;
}
.adv-creds-line { font-size:12px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; color:var(--grey); margin-bottom:40px; }
.adv-body { font-size:18px; font-weight:300; line-height:2; color:var(--mid); margin-bottom:22px; max-width:620px; }
.adv-body strong { color:var(--light); font-weight:500; }
.adv-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:36px; }
.adv-pill {
  padding:8px 18px; border:1px solid var(--line); border-radius:1px;
  font-size:11px; font-weight:500; color:var(--light); letter-spacing:.06em;
  background:var(--card);
}

/* ══ 90 DAYS ══ */
.roadmap { background:var(--ink); }
.rm-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin-top:88px; }
.rmphase {
  padding:52px 52px; border:1px solid var(--line); background:var(--card);
}
.rmphase.active { border-color:rgba(201,168,76,.22); background:var(--card2); }
.rmtag { font-size:9px; font-weight:700; letter-spacing:.4em; text-transform:uppercase; color:var(--gold); opacity:.7; margin-bottom:12px; }
.rmphase h3 { font-size:24px; font-weight:700; color:var(--white); margin-bottom:6px; letter-spacing:-.015em; }
.rmdays { font-size:13px; font-weight:400; color:var(--grey); margin-bottom:36px; letter-spacing:.06em; font-style:italic; }
.rmitems { display:flex; flex-direction:column; gap:0; }
.rmitem {
  display:flex; align-items:flex-start; gap:18px;
  padding:20px 0; border-bottom:1px solid var(--line);
}
.rmitem:last-child { border-bottom:none; }
.rmicon { font-size:16px; flex-shrink:0; margin-top:2px; }
.rmitem h4 { font-size:15px; font-weight:700; color:var(--white); margin-bottom:5px; }
.rmitem p { font-size:13px; font-weight:300; line-height:1.8; color:var(--mid); }

/* ══ TESTIMONIALS ══ */
.testimonials { background:var(--surf); }
.tgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-top:88px; }
.tcard {
  padding:44px 40px; border:1px solid var(--line); background:var(--card);
  transition:border-color .3s; position:relative;
}
.tcard:hover { border-color:rgba(201,168,76,.18); }
.tcard::before {
  content:'"'; position:absolute; top:24px; right:32px;
  font-family:'Playfair Display',serif; font-size:80px; color:rgba(201,168,76,.08);
  line-height:1; font-weight:700;
}
.tquote {
  font-family:'Playfair Display',serif;
  font-size:17px; font-weight:400; font-style:italic;
  line-height:1.75; color:var(--warm); margin-bottom:32px;
}
.tquote em { color:var(--gold); font-style:normal; font-weight:600; }
.tclient { border-top:1px solid var(--line); padding-top:20px; }
.tclient h4 { font-size:13px; font-weight:700; color:var(--white); margin-bottom:3px; }
.tclient p { font-size:11px; color:var(--grey); letter-spacing:.04em; }

/* ══ BRIEFING CTA ══ */
.briefing {
  background:var(--ink); position:relative; overflow:hidden;
  padding:160px 88px;
}
.briefing::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 80% 100% at 50% 50%, rgba(201,168,76,.04) 0%, transparent 65%);
}
.briefing-inner { position:relative; z-index:2; max-width:900px; margin:0 auto; text-align:center; }
.briefing-badge {
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 20px; border:1px solid rgba(192,57,43,.3);
  background:rgba(192,57,43,.06); border-radius:1px; margin-bottom:40px;
  font-size:9.5px; font-weight:700; letter-spacing:.36em; text-transform:uppercase; color:#E05040;
}
.briefing h2 {
  font-family:'Playfair Display',serif;
  font-size:clamp(44px,6vw,88px); font-weight:800;
  color:var(--white); line-height:1.04; letter-spacing:-.025em; margin-bottom:24px;
}
.briefing h2 em { color:var(--gold); font-style:normal; }
.briefing p {
  font-size:19px; font-weight:300; line-height:1.85; color:var(--mid);
  margin-bottom:52px; max-width:640px; margin-left:auto; margin-right:auto;
}
.briefing-items {
  display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-bottom:60px; text-align:left;
}
.bitem {
  padding:32px 30px; border:1px solid var(--line); background:var(--card); border-radius:1px;
}
.bitem-num { font-size:11px; font-weight:700; color:var(--gold); letter-spacing:.3em; opacity:.6; margin-bottom:12px; }
.bitem h4 { font-size:16px; font-weight:700; color:var(--white); margin-bottom:10px; letter-spacing:-.01em; }
.bitem p { font-size:13px; font-weight:300; line-height:1.8; color:var(--mid); }
.briefing-cta { display:flex; flex-direction:column; align-items:center; gap:16px; }
.briefing-cta .bg { font-size:12px; padding:20px 60px; }
.briefing-note { font-size:13px; font-weight:300; color:var(--grey); font-style:italic; }

/* ══ FAQS ══ */
.faqs { background:var(--surf); }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-top:88px; }
.faq {
  padding:36px 40px; border:1px solid var(--line); background:var(--card);
  transition:border-color .3s; cursor:pointer;
}
.faq:hover { border-color:rgba(201,168,76,.18); background:var(--card2); }
.faq-q { font-size:17px; font-weight:700; color:var(--white); margin-bottom:12px; letter-spacing:-.01em; line-height:1.3; }
.faq-a { font-size:15px; font-weight:300; line-height:1.85; color:var(--mid); }

/* ══ CONTACT FORM ══ */
.contact { background:var(--ink); }
.cgrid { display:grid; grid-template-columns:1fr 1fr; gap:108px; margin-top:96px; }
.chook {
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4.8vw,64px); font-weight:700;
  color:var(--white); line-height:1.08; margin-bottom:18px; letter-spacing:-.02em;
}
.csub { font-size:18px; font-weight:300; color:var(--mid); line-height:1.9; margin-bottom:48px; }
.cpoints { display:flex; flex-direction:column; gap:16px; margin-bottom:48px; }
.cpoint {
  display:flex; align-items:flex-start; gap:18px;
  padding:22px 26px; border:1px solid var(--line); background:var(--card); border-radius:1px;
}
.cpoint-icon { font-size:20px; flex-shrink:0; margin-top:2px; }
.cpoint h4 { font-size:15px; font-weight:700; color:var(--white); margin-bottom:4px; }
.cpoint p { font-size:13px; font-weight:300; color:var(--mid); line-height:1.55; }
.cpoint a { color:var(--gold); text-decoration:none; font-size:12px; font-weight:600; letter-spacing:.06em; }
.cform-head h3 { font-size:20px; font-weight:700; color:var(--white); margin-bottom:8px; letter-spacing:-.01em; }
.cform-head p { font-size:15px; font-weight:300; color:var(--mid); line-height:1.7; margin-bottom:36px; }
.cform { display:flex; flex-direction:column; gap:12px; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.finput {
  width:100%; padding:17px 22px;
  background:var(--card); border:1px solid var(--line); border-radius:1px;
  color:var(--warm); font-family:'Inter',sans-serif; font-size:16px; font-weight:300;
  outline:none; transition:border-color .3s;
}
.finput:focus { border-color:rgba(201,168,76,.4); }
.finput::placeholder { color:var(--grey); }
select.finput { cursor:pointer; }
textarea.finput { resize:vertical; min-height:120px; }
.fsubmit {
  width:100%; padding:19px; background:var(--gold); color:var(--ink);
  border:none; border-radius:1px; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:800;
  letter-spacing:.28em; text-transform:uppercase; transition:all .3s; margin-top:4px;
}
.fsubmit:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 14px 44px rgba(201,168,76,.2); }
.fnote { font-size:12px; font-weight:300; color:var(--grey); text-align:center; font-style:italic; margin-top:8px; }

/* ══ CLOSING ══ */
.closing {
  background:var(--surf); padding:140px 88px;
  text-align:center; position:relative; overflow:hidden;
}
.closing::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 70% 80% at 50% 100%, rgba(201,168,76,.03) 0%, transparent 60%);
}
.closing-inner { position:relative; z-index:2; max-width:760px; margin:0 auto; }
.closing h2 {
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,5vw,72px); font-weight:700;
  color:var(--white); line-height:1.1; letter-spacing:-.02em; margin-bottom:20px;
}
.closing h2 em { color:var(--gold); font-style:normal; }
.closing p { font-size:19px; font-weight:300; color:var(--mid); line-height:1.85; margin-bottom:48px; }
.closing-seats {
  display:inline-flex; align-items:center; gap:12px;
  padding:12px 28px; border:1px solid rgba(192,57,43,.3);
  background:rgba(192,57,43,.06); border-radius:1px; margin-bottom:36px;
  font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#E05040;
}

/* ══ DISCLAIMER ══ */
.disclaimer { background:var(--ink); padding:48px 88px; border-top:1px solid var(--line); }
.disclaimer p { font-size:12px; font-weight:300; line-height:1.85; color:var(--grey); max-width:860px; }

/* ══ FOOTER ══ */
footer {
  background:var(--surf); padding:88px 88px 44px;
  border-top:1px solid var(--line);
}
.ftop { display:grid; grid-template-columns:2fr 1fr 1fr; gap:56px; margin-bottom:56px; }
.fmark { font-size:16px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:var(--white); margin-bottom:3px; }
.fmark em { color:var(--gold); font-style:normal; }
.fsub { font-size:8.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--grey); margin-bottom:20px; }
.fbrand p { font-size:14px; font-weight:300; line-height:1.9; color:var(--grey); max-width:280px; }
.fcol h4 { font-size:9.5px; font-weight:700; letter-spacing:.36em; text-transform:uppercase; color:var(--white); margin-bottom:20px; }
.fcol a { display:block; font-size:14px; font-weight:300; color:var(--grey); text-decoration:none; margin-bottom:12px; transition:color .2s; }
.fcol a:hover { color:var(--gold); }
.fbot {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:32px; border-top:1px solid var(--line); flex-wrap:wrap; gap:12px;
}
.fbot p { font-size:12px; font-weight:300; color:var(--grey); }

/* ══ ANIM ══ */
@keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
.fu { animation:fadeUp .9s ease forwards; }
.d1 { animation-delay:.1s; }
.d2 { animation-delay:.28s; }
.d3 { animation-delay:.48s; }

/* ══ RESPONSIVE ══ */
@media(max-width:1024px) {
  nav { padding:0 28px; } .nlinks { display:none; }
  .hero { grid-template-columns:1fr; padding:116px 28px 72px; }
  .hphoto-col { display:none; }
  .sec { padding:96px 28px; }
  .prob-grid, .what-intro, .adv-grid, .rm-grid, .tgrid,
  .briefing-items, .faq-grid, .cgrid, .ftop { grid-template-columns:1fr; gap:40px; }
  .what-grid { grid-template-columns:1fr; }
  .wcard-full { grid-template-columns:1fr; gap:28px; }
  .briefing, .closing, .disclaimer, footer { padding-left:28px; padding-right:28px; }
  .frow { grid-template-columns:1fr; }
  .adv-photo { width:100%; height:300px; }
  .adv-grid { grid-template-columns:1fr; }
}
