
  :root{
    --navy:#0D1F3C;
    --gold:#B89548;
    --gold-light:#C9A961;
    --slate:#5A6478;
    --slate-light:#A8B5CC;
    --cream:#FAF7F0;
    --cream-deep:#F4EFE5;
    --white:#FFFFFF;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:Calibri, Arial, sans-serif; color:var(--slate); background:var(--cream);}
  h1,h2,h3,.serif{font-family:Georgia, 'Times New Roman', serif;}
  .gold-i{font-style:italic; color:var(--gold);}
  .overline{font-family:Arial,sans-serif; font-size:11px; font-weight:bold; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold);}
  a{text-decoration:none; color:inherit;}
  .container{max-width:1180px; margin:0 auto; padding:0 32px;}

  /* ---------- SKIP LINK (accessibility) ---------- */
  .skip-link{position:absolute; top:0; left:0; transform:translateY(-120%); background:var(--gold); color:var(--navy); padding:12px 22px; z-index:999; font-family:Arial; font-weight:bold; font-size:12px; text-transform:uppercase; letter-spacing:.1em; transition:transform .15s;}
  .skip-link:focus{transform:translateY(0);}

  /* ---------- PROTOTYPE BANNER ---------- */
  .proto-banner{background:var(--gold); color:var(--navy); text-align:center; font-family:Arial; font-size:11px; font-weight:bold; letter-spacing:0.18em; text-transform:uppercase; padding:7px 12px;}

  /* ---------- NAV ---------- */
  nav.topnav{background:var(--navy); position:sticky; top:0; z-index:200; border-bottom:1px solid rgba(184,149,72,.35);}
  .nav-inner{max-width:1240px; margin:0 auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; height:72px;}
  .logo{display:flex; align-items:center; cursor:pointer;}
  .logo-img{height:48px; width:auto; display:block;}
  footer .logo-img{height:54px;}
  .nav-links{display:flex; align-items:center; gap:4px; margin-left:auto; margin-right:auto;}
  .nav-item{position:relative;}
  .nav-item > a{display:flex; align-items:center; gap:6px; color:#E8EBF2; font-size:14px; padding:26px 14px; transition:color .15s; white-space:nowrap;}
  .nav-links a:focus{outline:none;}
  .nav-links a:focus-visible{outline:none; box-shadow:inset 0 -3px 0 var(--gold);}
  .nav-item > a:hover, .nav-item.active > a{color:var(--gold-light);}
  .nav-item > a .chev{font-size:9px; opacity:.7; transition:transform .2s;}
  .nav-item:hover > a .chev, .nav-item.dd-open > a .chev{transform:rotate(180deg);}
  /* dropdown */
  .dropdown{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); background:var(--white); min-width:300px; border-radius:6px; box-shadow:0 18px 45px rgba(13,31,60,.22); opacity:0; visibility:hidden; transition:all .18s ease; border-top:3px solid var(--gold); overflow:hidden;}
  .nav-item:hover .dropdown, .nav-item.dd-open .dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
  .dropdown .dd-head{padding:16px 22px 12px; background:var(--cream); border-bottom:1px solid #E9E2D2;}
  .dropdown .dd-head .dd-title{font-family:Georgia,serif; color:var(--navy); font-size:17px;}
  .dropdown .dd-head .dd-sub{font-size:12.5px; color:var(--slate); margin-top:3px;}
  .dropdown a.dd-link{display:block; padding:12px 22px; font-size:14px; color:var(--navy); border-bottom:1px solid #F2EEE3; transition:background .12s, padding-left .12s;}
  .dropdown a.dd-link:last-child{border-bottom:none;}
  .dropdown a.dd-link:hover{background:var(--cream); padding-left:28px; color:var(--gold);}
  .dropdown a.dd-link span{display:block; font-size:12px; color:var(--slate); margin-top:2px; font-style:italic; font-family:Georgia,serif;}
  .nav-cta{display:flex; align-items:center; gap:10px; padding-left:16px;}
  .hamburger{display:none; background:none; border:1px solid var(--gold); color:var(--gold); font-size:18px; padding:7px 13px; border-radius:3px; cursor:pointer; margin-left:12px;}
  .nav-cta .btn-gold, .nav-cta .btn-white{font-size:11px; padding:11px 0; width:232px;}
  .btn-white{background:var(--white); color:var(--navy); font-family:Arial; font-weight:bold; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; padding:12px 22px; border-radius:3px; transition:background .15s; display:inline-block; cursor:pointer; border:none; text-align:center; white-space:nowrap;}
  .btn-white:hover{background:var(--cream);}
  .btn-gold{background:var(--gold); color:var(--navy); font-family:Arial; font-weight:bold; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; padding:12px 22px; border-radius:3px; transition:background .15s; display:inline-block; cursor:pointer; border:none; white-space:nowrap; text-align:center;}
  .btn-gold:hover{background:var(--gold-light);}
  .btn-outline{border:1px solid var(--gold); color:var(--gold); font-family:Arial; font-weight:bold; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; padding:12px 22px; border-radius:3px; display:inline-block; cursor:pointer; transition:all .15s; background:transparent; white-space:nowrap; text-align:center;}
  .btn-outline:hover{background:var(--gold); color:var(--navy);}
  .btn-outline.navy{border-color:var(--navy); color:var(--navy);}
  .btn-outline.navy:hover{background:var(--navy); color:var(--white);}

  /* ---------- PAGES ---------- */
  .page{display:none;}
  .page.visible{display:block;}

  /* ---------- HERO (HOME) ---------- */
  .hero{background:linear-gradient(rgba(13,31,60,.78),rgba(13,31,60,.88)), url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1920&q=80&auto=format&fit=crop') center/cover; padding:110px 0 90px; text-align:center;}
  .hero .overline{color:var(--slate-light);}
  .hero h1{color:var(--white); font-size:clamp(38px,5.2vw,62px); font-weight:normal; line-height:1.12; margin:22px auto 24px; max-width:840px;}
  .hero p{color:#D5DBE8; font-size:17.5px; max-width:620px; margin:0 auto 38px; line-height:1.65;}
  .hero-rule{width:64px; height:2px; background:var(--gold); margin:0 auto 26px;}
  .hero-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
  .hero-ctas .btn-gold, .hero-ctas .btn-outline, .hero-ctas .btn-white{min-width:200px;}

  /* ---------- AUDIENCE GATEWAY ---------- */
  .gateway{padding:84px 0 90px;}
  .gateway-head{text-align:center; margin-bottom:52px;}
  .gateway-head h2{color:var(--navy); font-size:clamp(28px,3.6vw,42px); font-weight:normal; margin-top:14px;}
  .gateway-head p{margin-top:14px; font-size:16px; max-width:560px; margin-left:auto; margin-right:auto; line-height:1.6;}
  .aud-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:22px;}
  .aud-card{background:var(--white); border-top:3px solid var(--navy); padding:34px 28px 30px; cursor:pointer; transition:transform .18s, box-shadow .18s, border-color .18s; box-shadow:0 2px 10px rgba(13,31,60,.05); display:flex; flex-direction:column;}
  .aud-card:hover{transform:translateY(-5px); box-shadow:0 16px 38px rgba(13,31,60,.13); border-top-color:var(--gold);}
  .aud-card .aud-num{font-family:Arial; font-size:11px; font-weight:bold; letter-spacing:.18em; color:var(--gold-light); margin-bottom:18px;}
  .aud-card h3{color:var(--navy); font-size:23px; font-weight:normal; margin-bottom:12px;}
  .aud-card p{font-size:14px; line-height:1.6; flex:1;}
  .aud-card .aud-go{margin-top:22px; font-family:Arial; font-size:11.5px; font-weight:bold; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
  .aud-card:hover .aud-go{color:var(--navy);}

  /* ---------- VALUE STRIP ---------- */
  .value-strip{background:var(--navy); padding:64px 0; text-align:center;}
  .value-strip h2{color:var(--white); font-size:clamp(24px,3vw,34px); font-weight:normal; max-width:760px; margin:0 auto 14px;}
  .value-strip p{color:var(--slate-light); font-size:15.5px; max-width:560px; margin:0 auto;}

  /* ---------- HOW WE WORK ---------- */
  .process{padding:84px 0;}
  .process-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; margin-top:48px;}
  .step .step-num{font-family:Georgia,serif; font-style:italic; font-size:30px; color:var(--gold-light);}
  .step h3{color:var(--navy); font-size:19px; font-weight:normal; margin:10px 0 8px; border-top:1px solid var(--navy); padding-top:14px;}
  .step p{font-size:13.5px; line-height:1.6;}

  /* ---------- AUDIENCE PAGE TEMPLATE ---------- */
  .aud-hero{padding:78px 0 64px; border-bottom:1px solid #E7E0CF;}
  .aud-hero .crumb{font-family:Arial; font-size:11px; font-weight:bold; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:18px;}
  .crumb a{color:var(--gold); border-bottom:1px solid transparent; transition:border-color .12s;}
  .crumb a:hover{border-bottom-color:var(--gold);}
  .point{background:var(--white); padding:18px 22px; border-left:3px solid var(--navy); font-size:14.5px; line-height:1.55; color:var(--navy);}
  .point::before{content:'✓  '; color:var(--gold); font-weight:bold;}
  .news-row{display:flex; gap:10px; justify-content:center; max-width:480px; margin:0 auto;}
  .news-row input{flex:1; padding:13px 14px; border:none; border-radius:3px; font-family:Calibri,Arial,sans-serif; font-size:15px; color:var(--navy);}
  .news-row input:focus{outline:2px solid var(--gold);}
  .form-result{display:none; margin-top:16px; padding:14px 18px; border-radius:3px; font-family:Georgia,serif; font-style:italic; font-size:14.5px; line-height:1.55;}
  .form-result.success{background:var(--cream-deep); border-left:3px solid var(--gold); color:var(--navy);}
  .form-result.error{background:#FBEBEB; border-left:3px solid #B4453C; color:#7A2E28;}
  .news-confirm{display:none; color:var(--gold-light); font-family:Georgia,serif; font-style:italic; margin-top:14px; font-size:14.5px;}
  .aud-hero h1{color:var(--navy); font-size:clamp(32px,4.4vw,52px); font-weight:normal; line-height:1.15; max-width:780px;}
  .aud-hero p.lede{font-size:17px; line-height:1.65; max-width:640px; margin-top:20px;}
  .aud-hero .hero-actions{margin-top:32px; display:flex; gap:14px; flex-wrap:wrap;}
  .svc-section{padding:70px 0;}
  .svc-section.alt{background:var(--cream-deep);}
  .svc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:26px; margin-top:42px;}
  .svc-card{border-top:1px solid var(--navy); padding-top:18px;}
  .svc-card .svc-rom{font-family:Arial; font-size:10.5px; font-weight:bold; letter-spacing:.16em; color:var(--gold-light); text-align:right; margin-bottom:8px;}
  .svc-card h3{color:var(--navy); font-size:20px; font-weight:normal; margin-bottom:9px;}
  .svc-card p{font-size:13.5px; line-height:1.62;}
  .section-head h2{color:var(--navy); font-size:clamp(26px,3.2vw,38px); font-weight:normal; margin-top:12px;}
  .section-head p{margin-top:12px; max-width:600px; font-size:15px; line-height:1.6;}
  .pain-list{margin-top:36px; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;}
  .pain{background:var(--white); padding:22px 24px; border-left:3px solid var(--gold); font-size:14.5px; line-height:1.55; font-family:Georgia,serif; font-style:italic; color:var(--navy);}
  .aud-cta{background:var(--navy); padding:70px 0; text-align:center;}
  .aud-cta h2{color:var(--white); font-size:clamp(24px,3vw,34px); font-weight:normal; margin-bottom:12px;}
  .aud-cta p{color:var(--slate-light); margin-bottom:30px; font-size:15.5px;}
  .gold-rule{width:54px; height:2px; background:var(--gold); margin-bottom:22px;}

  .client-tags{display:flex; flex-wrap:wrap; gap:10px;}
  .ctag{border:1px solid var(--gold); color:var(--navy); background:var(--white); padding:9px 16px; border-radius:2px; font-family:Arial; font-size:11.5px; font-weight:bold; letter-spacing:.1em; text-transform:uppercase;}
  .perspective-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:44px;}
  @media(max-width:760px){.perspective-grid{grid-template-columns:1fr; gap:32px;}}
  .persp{border-top:2px solid var(--navy); padding-top:22px;}
  .persp-num{font-family:Georgia,serif; font-style:italic; font-size:30px; color:var(--gold-light); margin-bottom:12px;}
  .persp h3{font-family:Georgia,serif; color:var(--navy); font-size:24px; font-weight:normal; line-height:1.3; margin-bottom:14px;}
  .persp p{font-size:15px; line-height:1.7; color:var(--slate);}

  /* ---------- INSIGHTS ---------- */
  .article-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px; margin-top:42px;}
  .article-card{background:var(--white); border-top:3px solid var(--navy); padding:28px 26px 24px; box-shadow:0 2px 10px rgba(13,31,60,.05); transition:transform .18s, box-shadow .18s, border-color .18s; cursor:pointer; display:flex; flex-direction:column;}
  .article-card:hover{transform:translateY(-4px); box-shadow:0 14px 32px rgba(13,31,60,.12); border-top-color:var(--gold);}
  .article-card .art-meta{font-family:Arial; font-size:10.5px; font-weight:bold; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;}
  .article-card .art-meta span{color:var(--slate); font-weight:normal; letter-spacing:.06em; text-transform:none; font-size:12px;}
  .article-card h3{color:var(--navy); font-size:20px; font-weight:normal; line-height:1.3; margin-bottom:10px;}
  .article-card p{font-size:13.5px; line-height:1.6; flex:1;}
  .article-card .art-read{margin-top:18px; font-family:Arial; font-size:11px; font-weight:bold; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
  .article-card:hover .art-read{color:var(--navy);}

  /* ---------- PHILOSOPHY ---------- */
  .philosophy{background:var(--navy); padding:96px 0;}
  .phil-inner{max-width:820px; margin:0 auto; text-align:center;}
  .philosophy .overline{color:var(--gold);}
  .phil-lead{font-family:Georgia,serif; color:var(--white); font-size:clamp(26px,3.4vw,40px); line-height:1.28; font-weight:normal; margin:18px 0 8px;}
  .phil-lead .gold-i{color:var(--gold);}
  .phil-rule{width:60px; height:2px; background:var(--gold); margin:30px auto;}
  .phil-connected{display:flex; justify-content:center; gap:0; flex-wrap:wrap; margin:6px 0 30px;}
  .phil-connected span{font-family:Georgia,serif; font-style:italic; color:var(--gold-light); font-size:clamp(16px,2vw,20px); padding:0 20px; position:relative;}
  .phil-connected span:not(:last-child)::after{content:'·'; position:absolute; right:-4px; color:var(--slate);}
  .phil-body{color:#D5DBE8; font-size:16.5px; line-height:1.7; max-width:660px; margin:0 auto 22px;}
  .phil-kicker{font-family:Georgia,serif; font-style:italic; color:var(--white); font-size:clamp(18px,2.2vw,23px); line-height:1.5; max-width:640px; margin:0 auto;}
  .phil-kicker b{color:var(--gold); font-style:normal; font-weight:normal;}

  /* ---------- CONTACT & PORTAL ---------- */
  .contact-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:56px; margin-top:48px; align-items:start;}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}
  .c-field{margin-bottom:18px;}
  .c-field label{display:block; font-family:Arial; font-size:11px; font-weight:bold; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); margin-bottom:7px;}
  .c-field input, .c-field select, .c-field textarea{width:100%; padding:13px 14px; border:1px solid #D8D2C2; border-radius:3px; background:var(--white); font-family:Calibri,Arial,sans-serif; font-size:15px; color:var(--navy);}
  .c-field input:focus, .c-field select:focus, .c-field textarea:focus{outline:2px solid var(--gold); border-color:var(--gold);}
  .c-info{border-top:1px solid var(--navy); padding-top:22px;}
  .c-info-row{margin-bottom:22px;}
  .c-info-row .ci-label{font-family:Arial; font-size:10.5px; font-weight:bold; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:5px;}
  .c-info-row .ci-value{font-family:Georgia,serif; font-size:18px; color:var(--navy);}
  .c-confirm{display:none; background:var(--cream-deep); border-left:3px solid var(--gold); padding:18px 20px; font-family:Georgia,serif; font-style:italic; color:var(--navy); font-size:15px; margin-top:16px;}
  .portal-box{max-width:420px; margin:52px auto; background:var(--white); border-top:3px solid var(--gold); box-shadow:0 14px 38px rgba(13,31,60,.12); padding:40px 38px;}
  .portal-note{font-size:12.5px; color:var(--slate); font-style:italic; font-family:Georgia,serif; margin-top:14px; text-align:center;}

  .legal-note{background:var(--cream-deep); border-left:3px solid var(--gold); padding:16px 20px; font-family:Georgia,serif; font-style:italic; color:var(--navy); font-size:14px; line-height:1.6; margin-bottom:36px;}
  .legal-body h3{font-family:Georgia,serif; color:var(--navy); font-size:19px; font-weight:normal; margin:26px 0 8px;}
  .legal-body p{font-size:14.5px; line-height:1.7; color:var(--slate); max-width:680px;}
  .legal-list{margin:8px 0 8px 4px; list-style:none;}
  .legal-list li{font-size:14.5px; line-height:1.9; color:var(--slate); padding-left:18px; position:relative;}
  .legal-list li::before{content:"—"; color:var(--gold); position:absolute; left:0;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy); border-top:1px solid rgba(184,149,72,.4); padding:56px 0 30px;}
  .foot-grid{display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr 1fr 1fr; gap:30px;}
  footer h4{font-family:Arial; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;}
  footer a.flink{display:block; color:var(--slate-light); font-size:13.5px; padding:4.5px 0; transition:color .12s;}
  footer a.flink:hover{color:var(--white);}
  .foot-desc{color:var(--slate-light); font-size:13.5px; line-height:1.65; margin-top:14px; max-width:280px;}
  .foot-tagline{font-family:Georgia,serif; font-style:italic; color:var(--gold-light); font-size:15px; letter-spacing:.01em;}
  .foot-social{border-top:1px solid rgba(168,181,204,.2); margin-top:44px; padding-top:26px; display:flex; justify-content:center; gap:16px;}
  .foot-social a{width:38px; height:38px; border:1px solid rgba(184,149,72,.5); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--slate-light); transition:all .15s;}
  .foot-social a:hover{background:var(--gold); border-color:var(--gold); color:var(--navy);}
  .foot-legal{display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap; margin-top:24px;}
  .foot-legal a{color:var(--slate-light); font-size:12.5px; transition:color .12s;}
  .foot-legal a:hover{color:var(--white);}
  .foot-legal .sep{color:rgba(168,181,204,.4); font-size:12px;}
  .foot-disclaimer{max-width:720px; margin:22px auto 0; text-align:center; color:var(--slate-light); font-size:11.5px; line-height:1.6; opacity:.75;}
  .foot-bottom{border-top:1px solid rgba(168,181,204,.2); margin-top:26px; padding-top:22px; display:flex; justify-content:center; flex-wrap:wrap; gap:10px; color:var(--slate-light); font-size:12px;}
  @media(max-width:900px){
    .foot-grid{grid-template-columns:1fr 1fr;}
    .nav-links{display:none;}
    .hamburger{display:block;}
    .nav-links.open{display:flex; flex-direction:column; align-items:stretch; position:absolute; top:72px; left:0; right:0; background:var(--navy); border-bottom:1px solid rgba(184,149,72,.4); padding:6px 0 14px; margin:0; z-index:190;}
    .nav-links.open .nav-item > a{padding:13px 28px;}
    .nav-links.open .dropdown{display:none;}
    .nav-cta .btn-gold, .nav-cta .btn-white{width:auto; padding:11px 14px;}
    .nav-cta{padding-left:8px;}
  }
  @media(max-width:560px){
    .nav-cta .btn-white{display:none;}
  }
