
:root{
  --navy:#071426;
  --navy-2:#0B1D32;
  --charcoal:#151A20;
  --ink:#0d1727;
  --muted:#5f6b7a;
  --paper:#F7F5F0;
  --white:#ffffff;
  --gold:#C9A34A;
  --gold-soft:#E5CF95;
  --teal:#2B6973;
  --line:rgba(7,20,38,.12);
  --shadow:0 24px 70px rgba(7,20,38,.14);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  color:var(--gold);font-size:.82rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase
}
.eyebrow:before{content:"";width:26px;height:1px;background:var(--gold)}
h1,h2,h3{line-height:1.06;letter-spacing:-.035em;margin:0 0 1rem}
h1{font-size:clamp(3rem,6vw,6.3rem);max-width:900px}
h2{font-size:clamp(2rem,4vw,4rem)}
h3{font-size:1.25rem}
p{margin:0 0 1rem}
.lead{font-size:clamp(1.05rem,1.7vw,1.28rem);color:#cbd3dd;max-width:720px}
.lead-dark{font-size:1.15rem;color:var(--muted);max-width:760px}
.muted{color:var(--muted)}
.section{padding:100px 0}
.section-sm{padding:70px 0}
.bg-paper{background:var(--paper)}
.bg-navy{background:var(--navy);color:white}
.bg-navy .muted{color:#b7c1cc}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  border:1px solid var(--line);background:white;border-radius:var(--radius);
  padding:30px;transition:.25s ease;position:relative;overflow:hidden
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card.dark{background:var(--navy-2);border-color:rgba(255,255,255,.08);color:white}
.card.featured{border-color:rgba(201,163,74,.45);box-shadow:0 16px 40px rgba(201,163,74,.10)}
.card .num{font-size:.8rem;font-weight:800;color:var(--gold);letter-spacing:.12em}
.tag{
  display:inline-flex;padding:.4rem .7rem;border-radius:999px;
  background:rgba(201,163,74,.1);color:#806521;font-size:.78rem;font-weight:800
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:14px 20px;border-radius:999px;font-weight:800;border:1px solid transparent;
  transition:.2s ease;cursor:pointer
}
.btn-primary{background:var(--gold);color:#111827}
.btn-primary:hover{background:var(--gold-soft);transform:translateY(-1px)}
.btn-secondary{border-color:rgba(255,255,255,.35);color:white;background:transparent}
.btn-secondary:hover{border-color:white}
.btn-dark{background:var(--navy);color:white}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(7,20,38,.94);
  backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)
}
.nav{
  height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:64px;width:64px;object-fit:cover;object-position:center;border-radius:50%}
.brand-text{display:flex;flex-direction:column;color:white}
.brand-text strong{letter-spacing:.12em;font-family:Georgia,serif;font-size:.95rem}
.brand-text span{font-size:.62rem;letter-spacing:.28em;color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:26px;color:#e7edf4;font-weight:700;font-size:.95rem}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem}
.hero{
  min-height:760px;display:flex;align-items:center;color:white;position:relative;overflow:hidden;
  background:
   radial-gradient(circle at 82% 32%,rgba(43,105,115,.26),transparent 28%),
   radial-gradient(circle at 75% 68%,rgba(201,163,74,.10),transparent 24%),
   linear-gradient(135deg,var(--navy),#08101d 68%)
}
.hero:after{
  content:"";position:absolute;right:-140px;top:160px;width:680px;height:680px;border-radius:50%;
  border:1px solid rgba(201,163,74,.25);box-shadow:0 0 0 80px rgba(201,163,74,.03),0 0 0 160px rgba(43,105,115,.03)
}
.hero .container{position:relative;z-index:2}
.hero-copy{max-width:880px}
.hero h1 span{color:var(--gold)}
.credibility{
  display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:#d4dce5;font-size:.88rem;font-weight:700
}
.credibility span{display:flex;align-items:center;gap:8px}
.credibility span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.problem-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.stat-panel{
  min-height:420px;border-radius:34px;padding:42px;color:white;display:flex;flex-direction:column;justify-content:flex-end;
  background:
   linear-gradient(180deg,rgba(7,20,38,.14),rgba(7,20,38,.92)),
   radial-gradient(circle at 20% 20%,rgba(201,163,74,.28),transparent 28%),
   linear-gradient(135deg,#19354a,#08101d)
}
.stat-panel .big{font-size:clamp(2.3rem,5vw,4.8rem);line-height:.98;letter-spacing:-.04em;font-weight:850}
.service-card{min-height:255px;display:flex;flex-direction:column}
.service-card p{color:var(--muted)}
.service-card .arrow{margin-top:auto;color:var(--gold);font-weight:900}
.feature-block{
  border-radius:30px;padding:44px;background:linear-gradient(145deg,#0a1a2f,#071426);
  color:white;box-shadow:var(--shadow)
}
.assessment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}
.assessment-item{
  padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.04)
}
.assessment-item strong{display:block;color:white;margin-top:10px}
.framework{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:36px
}
.framework-step{
  min-height:120px;border:1px solid rgba(201,163,74,.28);border-radius:18px;padding:18px;
  background:rgba(255,255,255,.035);position:relative
}
.framework-step span{color:var(--gold);font-weight:850}
.framework-step p{font-size:.85rem;color:#c4ced9;margin-top:12px}
.pills{display:flex;flex-wrap:wrap;gap:12px}
.pill{padding:11px 15px;border-radius:999px;border:1px solid var(--line);background:white;font-weight:750}
.reason{display:grid;grid-template-columns:46px 1fr;gap:18px}
.reason .icon{
  width:46px;height:46px;border-radius:14px;background:rgba(201,163,74,.12);display:grid;place-items:center;
  color:var(--gold);font-weight:900
}
.testimonial-note{
  border:1px dashed rgba(7,20,38,.22);border-radius:var(--radius);padding:34px;background:rgba(255,255,255,.55)
}
.cta{
  padding:82px 0;background:linear-gradient(135deg,#071426,#0b1d32);color:white;position:relative;overflow:hidden
}
.cta:before{
  content:"";position:absolute;inset:auto -120px -260px auto;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(201,163,74,.24)
}
.footer{background:#050d18;color:#b8c2ce;padding:58px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:50px}
.footer a:hover{color:var(--gold)}
.footer .small{font-size:.88rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.page-hero{padding:95px 0 72px;background:linear-gradient(135deg,var(--navy),#0a1a2d);color:white}
.page-hero h1{font-size:clamp(2.7rem,5vw,5rem)}
.prose{max-width:820px}
.prose h2{font-size:2rem;margin-top:2.4rem}
.prose h3{margin-top:1.7rem}
.prose ul{padding-left:1.2rem}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-weight:800;font-size:1.08rem}
.faq details p{margin-top:14px;color:var(--muted);max-width:900px}
.form{
  background:white;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)
}
.field{display:grid;gap:8px;margin-bottom:18px}
label{font-weight:750}
input,select,textarea{
  width:100%;padding:14px 15px;border-radius:12px;border:1px solid rgba(7,20,38,.16);background:#fff;color:var(--ink)
}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(201,163,74,.35);border-color:var(--gold)}
.note{font-size:.82rem;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.contact-box{padding:26px;border-radius:20px;background:var(--paper);border:1px solid var(--line);margin-top:18px}
@media (max-width: 950px){
  .nav-toggle{display:block}
  .nav-links{
    display:none;position:absolute;top:88px;left:0;right:0;background:var(--navy);
    padding:22px 20px;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.08)
  }
  .nav-links.open{display:flex}
  .problem-wrap,.grid-2,.grid-3,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .assessment-grid{grid-template-columns:repeat(2,1fr)}
  .framework{grid-template-columns:repeat(3,1fr)}
  .hero{min-height:680px}
}
@media (max-width: 620px){
  .container{width:min(100% - 26px,1180px)}
  .section{padding:72px 0}
  .section-sm{padding:54px 0}
  .nav{height:78px}
  .nav-links{top:78px}
  .brand img{height:52px;width:52px}
  .brand-text{display:none}
  .assessment-grid,.framework{grid-template-columns:1fr}
  .hero{min-height:650px}
  .hero:after{width:420px;height:420px;right:-230px}
  h1{font-size:clamp(2.6rem,13vw,4.1rem)}
  .card,.feature-block,.form{padding:24px}
}


/* Wix-inspired Northbridge Crown visual refresh */
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#091321}
.site-header{background:#071426;border-bottom:1px solid rgba(255,255,255,.06)}
.nav{height:118px}.brand img{height:92px;width:92px;object-fit:contain;border-radius:0}.brand-text{display:none}
.nav-links{gap:34px}.nav-links a:not(.btn){color:#fff}.nav-links a:hover,.nav-links a.active{color:#c6a044}
.btn{border-radius:0}.btn-primary{background:#c6a044;color:#071426}.btn-primary:hover{background:#e4cd91}.btn-dark{background:#071426;color:#fff}.btn-outline{border:1px solid #071426;background:#fff;color:#071426}
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:690px}
.hero-copy-wix{display:flex;align-items:center;background:#fff}.hero-copy-wix .inner{padding:88px max(55px,7vw)}
.hero-copy-wix h1{font-size:clamp(3.1rem,5vw,5.2rem);line-height:1.02;letter-spacing:-.05em}.hero-copy-wix p{font-size:1.16rem;color:#465261;max-width:720px}
.hero-network{position:relative;overflow:hidden;background:
radial-gradient(circle at 78% 62%,rgba(255,167,55,.95) 0 3px,transparent 4px),
radial-gradient(circle at 63% 48%,rgba(255,190,91,.9) 0 3px,transparent 4px),
radial-gradient(circle at 43% 70%,rgba(255,170,60,.88) 0 4px,transparent 5px),
radial-gradient(circle at 26% 55%,rgba(255,180,80,.75) 0 3px,transparent 4px),
radial-gradient(circle at 25% 30%,rgba(255,255,255,.12),transparent 30%),
linear-gradient(135deg,#17232d 0%,#05090d 72%)}
.hero-network:before{content:"";position:absolute;inset:-20%;opacity:.7;background:
linear-gradient(18deg,transparent 48%,rgba(207,164,75,.52) 49%,transparent 50%) 0 0/220px 170px,
linear-gradient(162deg,transparent 48%,rgba(201,210,218,.22) 49%,transparent 50%) 0 0/260px 190px,
linear-gradient(55deg,transparent 49%,rgba(201,164,75,.34) 50%,transparent 51%) 0 0/180px 240px;transform:rotate(-4deg)}
.wix-section{padding:105px 0}.wix-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.wix-statement{font-size:clamp(2.1rem,3.5vw,3.8rem);font-weight:800;line-height:1.04;letter-spacing:-.045em}
.wix-services{text-align:center;max-width:840px;margin:0 auto 50px}
.wix-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.wix-card{border:1px solid #e3e6e9;background:#fff;padding:34px;min-height:285px;display:flex;flex-direction:column}.wix-card.featured{border-top:4px solid #c6a044}.wix-card p{color:#5b6571}.wix-card a{margin-top:auto;color:#c6a044;font-weight:800}
.wix-tacs{display:grid;grid-template-columns:1fr 1fr}.wix-tacs-art{min-height:520px;position:relative;background:
radial-gradient(circle at 50% 50%,rgba(198,160,68,.35),transparent 22%),
repeating-linear-gradient(90deg,transparent 0 64px,rgba(255,255,255,.05) 65px),
repeating-linear-gradient(0deg,transparent 0 64px,rgba(255,255,255,.05) 65px),
linear-gradient(135deg,#173248,#050b13)}
.wix-tacs-art:after{content:"TACS™";position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:clamp(4rem,9vw,8rem);color:#c6a044;letter-spacing:.08em}
.wix-tacs-copy{background:#071426;color:#fff;padding:78px max(52px,7vw);display:flex;flex-direction:column;justify-content:center}.wix-tacs-copy p{color:#c8d0da}
.wix-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e3e6e9;border-left:1px solid #e3e6e9;margin-top:48px}.wix-step{padding:34px;border-right:1px solid #e3e6e9;border-bottom:1px solid #e3e6e9;min-height:250px}.wix-step .number{color:#c6a044;font-size:.8rem;font-weight:800;letter-spacing:.12em}.wix-step h3{margin-top:42px}
.wix-pills{display:flex;flex-wrap:wrap;gap:10px}.wix-pill{padding:11px 15px;border:1px solid #dfe3e6;background:#fff;font-weight:700}
.wix-values{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:45px}.wix-value{border-top:2px solid #c6a044;padding-top:22px}
@media(max-width:950px){.nav{height:82px}.brand img{height:66px;width:66px}.hero-split,.wix-intro,.wix-tacs{grid-template-columns:1fr}.hero-network{min-height:430px}.wix-cards{grid-template-columns:1fr}.wix-steps,.wix-values{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.hero-copy-wix .inner{padding:56px 24px}.hero-network{min-height:340px}.wix-section{padding:74px 0}.wix-steps,.wix-values{grid-template-columns:1fr}.wix-tacs-copy{padding:56px 26px}}


/* ===== Premium second-pass upgrade ===== */
:root{--gold:#c6a044;--navy:#071426;--paper:#f6f5f1;--line2:#dfe3e7}
body{overflow-x:hidden}
::selection{background:#c6a044;color:#071426}
.site-header{transition:box-shadow .25s ease}
.site-header.scrolled{box-shadow:0 10px 35px rgba(0,0,0,.18)}
.gold-rule{width:56px;height:2px;background:var(--gold);margin:22px 0}
.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--gold)}
.display-statement{font-size:clamp(2.7rem,5vw,5.6rem);line-height:.98;letter-spacing:-.055em;font-weight:850;max-width:1050px}
.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line2);margin-top:48px}
.metric{padding:28px 30px;border-right:1px solid var(--line2)}
.metric:last-child{border-right:0}.metric strong{display:block;font-size:1.2rem;margin-bottom:7px}.metric span{color:#64707c}
.service-number{font-size:4.2rem;line-height:1;font-weight:850;color:rgba(7,20,38,.08);letter-spacing:-.06em}
.deliverables{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:36px}
.deliverable{background:#fff;border:1px solid var(--line2);padding:24px;min-height:170px}
.deliverable b{display:block;margin:14px 0 7px}.deliverable span{font-size:.9rem;color:#65707d}
.process-dark{background:#071426;color:#fff;padding:110px 0}
.process-dark .intro{max-width:800px}
.process-line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:58px;position:relative}
.process-line:before{content:"";position:absolute;left:8%;right:8%;top:20px;height:1px;background:rgba(198,160,68,.45)}
.process-item{position:relative;padding:0 22px 0 0}
.process-dot{width:41px;height:41px;border-radius:50%;background:#071426;border:1px solid #c6a044;display:grid;place-items:center;color:#c6a044;font-weight:800;position:relative;z-index:2;margin-bottom:26px}
.process-item p{color:#bfc9d4;font-size:.92rem}
.tacs-system{margin-top:50px;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.tacs-node{background:#0b1b2e;padding:26px 20px;min-height:180px;transition:.25s ease}
.tacs-node:hover{background:#10263f;transform:translateY(-4px)}
.tacs-node .n{color:#c6a044;font-size:.75rem;font-weight:850;letter-spacing:.12em}
.tacs-node h3{margin-top:22px;font-size:1.2rem}.tacs-node p{color:#bfc9d4;font-size:.87rem}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.insight{border:1px solid var(--line2);background:#fff;display:flex;flex-direction:column;min-height:320px}
.insight-top{height:105px;background:linear-gradient(135deg,#0b2036,#071426);position:relative}
.insight-top:after{content:"";position:absolute;left:28px;bottom:0;width:70px;height:2px;background:#c6a044}
.insight-body{padding:28px;display:flex;flex-direction:column;flex:1}.insight-body p{color:#66717d}.insight-body a{margin-top:auto;color:#9b7a2f;font-weight:800}
.quote-band{background:#f6f5f1;padding:110px 0}.quote-band blockquote{margin:0;max-width:1080px;font-size:clamp(2.5rem,5vw,5.4rem);line-height:1;letter-spacing:-.055em;font-weight:850}.quote-band blockquote span{color:#c6a044}
.floating-cta{position:fixed;right:24px;bottom:24px;z-index:80;box-shadow:0 12px 35px rgba(0,0,0,.2)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
.legal-badge{display:inline-flex;gap:8px;align-items:center;font-size:.78rem;color:#67717c;margin-top:20px}.legal-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#c6a044}
.thankyou{min-height:65vh;display:grid;place-items:center;text-align:center;padding:80px 20px}.thankyou>div{max-width:700px}
@media(max-width:1050px){.deliverables{grid-template-columns:repeat(2,1fr)}.process-line{grid-template-columns:1fr;gap:28px}.process-line:before{display:none}.tacs-system{grid-template-columns:repeat(2,1fr)}.insights-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line2)}.metric:last-child{border-bottom:0}}
@media(max-width:620px){.deliverables,.tacs-system{grid-template-columns:1fr}.floating-cta{left:14px;right:14px;bottom:14px}.floating-cta .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}

/* V3 business platform additions */
:root{--success:#2e6b55;--danger:#9b3b3b}
.mega-wrap{position:relative}
.mega-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(720px,90vw);background:#fff;color:#071426;border:1px solid #e2e5e8;box-shadow:0 24px 60px rgba(0,0,0,.16);padding:22px;grid-template-columns:repeat(2,1fr);gap:8px}
.mega-wrap:hover .mega-menu,.mega-wrap:focus-within .mega-menu{display:grid}
.mega-menu a{padding:13px 14px;border:1px solid transparent}.mega-menu a:hover{border-color:#e2e5e8;background:#f7f6f2}.mega-menu b{display:block}.mega-menu span{font-size:.82rem;color:#697480}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:500;background:#071426;color:#fff;border:1px solid rgba(255,255,255,.13);padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.28);display:none}
.cookie-banner.show{display:block}.cookie-inner{display:flex;gap:20px;justify-content:space-between;align-items:center;max-width:1180px;margin:auto}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.tacs-interactive{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;margin-top:42px}.tacs-tabs{display:grid;gap:8px}.tacs-tab{padding:18px;text-align:left;border:1px solid #dfe3e7;background:#fff;cursor:pointer;font-weight:800}.tacs-tab.active{background:#071426;color:#fff;border-color:#071426}.tacs-panel{background:#071426;color:#fff;padding:40px;min-height:350px}.tacs-panel p{color:#c8d0da}.tacs-panel ul{padding-left:20px;color:#dce2e8}
.booking-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:40px}.booking-card{border:1px solid #dfe3e7;background:#fff;padding:34px}.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{border:1px solid #dfe3e7;background:#fff;padding:12px;cursor:pointer}.slot:hover,.slot.selected{border-color:#c6a044;background:#fbf7eb}.status{padding:12px 14px;margin:12px 0;display:none}.status.show{display:block}.status.ok{background:#edf7f1;color:#235440}.status.err{background:#fbefef;color:#7c2e2e}
.admin-body{background:#eef1f4}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-side{background:#071426;color:#fff;padding:28px 20px}.admin-side img{width:90px;margin-bottom:30px}.admin-side a{display:block;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.admin-side a:hover{color:#c6a044}.admin-main{padding:34px}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-stat{background:#fff;border:1px solid #dde2e6;padding:22px}.admin-stat b{font-size:2rem;display:block}.admin-panel{background:#fff;border:1px solid #dde2e6;padding:24px;margin-top:20px;overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:12px;border-bottom:1px solid #e5e8eb;vertical-align:top}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#65707c}.badge{display:inline-flex;padding:5px 8px;background:#eef1f4;font-size:.78rem}.badge.new{background:#fff3cf;color:#735b16}.badge.booked{background:#e8f4ee;color:#235440}
.login-box{width:min(430px,calc(100% - 30px));margin:10vh auto;background:#fff;border:1px solid #dfe3e7;padding:36px}.login-box img{width:110px;margin:0 auto 25px}
.editor{min-height:260px}.article-list{display:grid;gap:12px}.article-item{border:1px solid #e1e5e8;padding:18px;display:flex;justify-content:space-between;gap:20px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial{border:1px solid #e0e4e7;padding:28px;background:#fff}.testimonial blockquote{margin:0 0 20px;font-size:1.1rem}.testimonial small{color:#697480}
.service-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.service-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.outcome{padding:24px;border:1px solid #e0e4e7}.outcome b{display:block;margin-bottom:8px}
@media(max-width:950px){.mega-menu{display:none!important}.booking-shell,.tacs-interactive,.service-hero-grid{grid-template-columns:1fr}.booking-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.admin-side{display:none}.admin-cards{grid-template-columns:repeat(2,1fr)}.testimonial-grid,.service-outcomes{grid-template-columns:1fr}}
@media(max-width:600px){.cookie-inner{align-items:flex-start;flex-direction:column}.booking-grid,.admin-cards{grid-template-columns:1fr}.admin-main{padding:18px}}



/* V5.1 header/logo colour-match + softer navigation */
.site-header,
.header,
header {
  background: #071426;
}

/* The supplied logo artwork contains its own navy square. Blend that square
   into the navigation bar so it no longer appears as a separate tile. */
.brand img,
.logo img,
.site-logo,
header img[alt*="Northbridge"],
header img[src*="northbridge-crown-logo"] {
  mix-blend-mode: screen;
}

/* Mega menu: softer premium shape */
.mega-menu {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(7,20,38,.10);
  box-shadow: 0 24px 60px rgba(0,0,0,.16);
}

/* Individual dropdown choices should follow the same softer styling. */
.mega-menu a {
  border-radius: 10px;
}

/* Buttons/navigation controls also feel less harsh. */
.btn,
button,
select,
input,
textarea {
  border-radius: 8px;
}

@media (max-width:950px) {
  .nav-links,
  .mobile-menu,
  .site-nav.open {
    border-radius: 0 0 16px 16px;
    overflow: hidden;
  }
}

.brand img,
.logo img,
.site-logo,
header img[alt*="Northbridge"],
header img[src*="northbridge-crown-logo"] {
  mix-blend-mode: normal;
  background: transparent;
}

/* V5.2 - Services dropdown visual correction */
.mega-menu{
  width:min(660px,calc(100vw - 32px));
  padding:14px;
  gap:8px;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
}

.mega-menu a{
  display:block;
  padding:15px 16px;
  min-height:72px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  text-decoration:none;
}

.mega-menu a b{
  display:block;
  margin:0 0 5px;
  color:#071426;
  font-size:.94rem;
  line-height:1.25;
}

.mega-menu a span{
  display:block;
  color:#697480;
  font-size:.80rem;
  line-height:1.4;
}

.mega-menu a:hover,
.mega-menu a:focus-visible{
  background:#f7f4ec;
  border-color:#e3d5ad;
}

.mega-menu a:hover b,
.mega-menu a:focus-visible b{
  color:#b68c2d;
}

/* Last item should not leave a strange empty-looking second column. */
.mega-menu a:last-child:nth-child(odd){
  grid-column:1 / -1;
  min-height:auto;
}

/* Prevent global navigation/link rules from hiding mega-menu titles. */
.site-header .mega-menu a,
.site-header .mega-menu a:visited,
header .mega-menu a,
header .mega-menu a:visited{
  color:#071426;
}

.site-header .mega-menu a span,
header .mega-menu a span{
  color:#697480;
}

@media(max-width:950px){
  .mega-menu{display:none!important}
}

/* =========================================================
   V5.3 - Softer premium UI + complete hover interactions
   ========================================================= */

:root{
  --soft-radius:14px;
  --soft-radius-lg:20px;
  --soft-shadow:0 14px 38px rgba(7,20,38,.08);
  --soft-shadow-hover:0 18px 44px rgba(7,20,38,.13);
}

/* Smooth interaction language across the site */
a,
button,
.btn,
.card,
.service-card,
.outcome,
.booking-card,
.contact-card,
.faq-item,
.insight-card,
.mega-menu a,
input,
select,
textarea{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    opacity .22s ease;
}

/* Main CTA/button treatment */
.btn,
button[type="submit"],
a.btn{
  border-radius:10px;
  border:1px solid transparent;
  box-shadow:0 7px 18px rgba(7,20,38,.08);
  cursor:pointer;
  position:relative;
  overflow:hidden;
}

.btn:hover,
button[type="submit"]:hover,
a.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(7,20,38,.16);
}

.btn:active,
button[type="submit"]:active,
a.btn:active{
  transform:translateY(0);
  box-shadow:0 5px 12px rgba(7,20,38,.12);
}

.btn-primary:hover,
.btn-gold:hover{
  filter:brightness(1.06);
}

.btn-dark:hover{
  background:#10243c;
}

/* Keyboard users get the same clear interaction feedback */
.btn:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(198,160,68,.22);
}

/* Header links - understated premium hover */
.site-nav > a:not(.btn),
.nav-links > a:not(.btn),
header nav > a:not(.btn){
  position:relative;
}

.site-nav > a:not(.btn)::after,
.nav-links > a:not(.btn)::after,
header nav > a:not(.btn)::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-7px;
  height:2px;
  border-radius:999px;
  background:#c6a044;
  transition:left .22s ease,right .22s ease;
}

.site-nav > a:not(.btn):hover::after,
.nav-links > a:not(.btn):hover::after,
header nav > a:not(.btn):hover::after{
  left:12%;
  right:12%;
}

/* Cards and panels: replace harsh rectangles with softer surfaces */
.card,
.service-card,
.insight-card,
.booking-card,
.contact-card,
.faq-item,
.outcome,
.tacs-card,
.panel{
  border-radius:var(--soft-radius);
  border-color:rgba(7,20,38,.09);
  box-shadow:0 8px 26px rgba(7,20,38,.045);
}

/* Interactive cards */
a.card:hover,
a.service-card:hover,
.service-card:hover,
.insight-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--soft-shadow-hover);
  border-color:rgba(198,160,68,.30);
}

/* Softer section separators */
hr,
.divider,
.section-divider{
  border:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(7,20,38,.12),transparent);
}

/* Forms */
input,
select,
textarea{
  border-radius:10px;
  border-color:rgba(7,20,38,.14);
  box-shadow:inset 0 1px 2px rgba(7,20,38,.025);
}

input:hover,
select:hover,
textarea:hover{
  border-color:rgba(198,160,68,.48);
}

input:focus,
select:focus,
textarea:focus{
  border-color:#c6a044;
}

/* FAQs - no harsh boxed rows */
.faq-item{
  overflow:hidden;
  border:1px solid rgba(7,20,38,.08);
}

.faq-item:hover{
  border-color:rgba(198,160,68,.24);
  box-shadow:0 8px 22px rgba(7,20,38,.055);
}

/* Mega menu */
.mega-menu{
  border-radius:18px;
  border:1px solid rgba(7,20,38,.07);
  box-shadow:0 22px 55px rgba(7,20,38,.15);
}

.mega-menu a{
  border-radius:12px;
}

.mega-menu a:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(7,20,38,.06);
}

/* Images should sit more naturally in premium content blocks */
.content-image,
.service-image,
.insight-image,
.rounded-image{
  border-radius:var(--soft-radius-lg);
  overflow:hidden;
}

/* Pills/tags */
.tag,
.badge,
.pill{
  border-radius:999px;
}

/* Footer links */
footer a:hover{
  color:#c6a044;
  opacity:1;
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* =========================================================
   V5.4 - Softer content cards + footer hover isolation
   ========================================================= */

/* Footer links should stay simple and never inherit the
   animated navigation underline / dropdown behaviour. */
.footer a,
footer a,
.footer-grid a,
footer .mega-wrap > a {
  position: static !important;
  transform: none !important;
  box-shadow: none !important;
}

.footer a::before,
.footer a::after,
footer a::before,
footer a::after,
.footer-grid a::before,
.footer-grid a::after {
  content: none !important;
  display: none !important;
}

.footer .mega-menu,
footer .mega-menu {
  display: none !important;
}

/* Footer service links get a simple colour/fade hover only. */
.footer a:hover,
footer a:hover {
  color: #c6a044 !important;
  opacity: .88;
  transform: none !important;
}

/* Core expertise/service cards: softer, more premium surfaces */
.wix-card,
.card,
.service-card {
  border-radius: 18px !important;
  border: 1px solid rgba(7,20,38,.08) !important;
  box-shadow: 0 10px 30px rgba(7,20,38,.055);
  overflow: hidden;
  background: rgba(255,255,255,.96);
}

/* Replace the harsh full-width gold top rule with a shorter,
   softer accent strip. */
.wix-card.featured,
.card.featured,
.service-card.featured {
  border-top: 1px solid rgba(7,20,38,.08) !important;
  position: relative;
}

.wix-card.featured::before,
.card.featured::before,
.service-card.featured::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  width: 92px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: #c6a044;
}

/* Softer card hover - movement without looking like an app tile */
.wix-card:hover,
.card:hover,
.service-card:hover {
  transform: translateY(-3px);
  border-color: rgba(198,160,68,.22) !important;
  box-shadow: 0 16px 38px rgba(7,20,38,.09);
}

/* Keep text links refined rather than overly animated */
.wix-card > a,
.card > a,
.service-card > a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 8px;
  padding: 4px 0;
}

.wix-card > a:hover,
.card > a:hover,
.service-card > a:hover {
  transform: translateX(4px);
  box-shadow: none;
}

/* Other content blocks throughout the site */
.outcome,
.deliverable,
.wix-step,
.step,
.assessment-item,
.framework-step,
.insight,
.testimonial-note,
.contact-box,
.feature-block,
.stat-panel {
  border-radius: 16px !important;
  border-color: rgba(7,20,38,.08) !important;
}

/* TACS / dark framework cards should also feel less rigid */
.tacs-node {
  border-radius: 14px;
}

/* Soften multi-card/grid containers that used hard grid lines */
.wix-steps,
.steps {
  border: 0 !important;
  gap: 14px;
}

.wix-step,
.step {
  border: 1px solid rgba(7,20,38,.08) !important;
  box-shadow: 0 8px 24px rgba(7,20,38,.04);
}

/* Soft section/card separation instead of obvious boxes */
.wix-card,
.wix-step,
.outcome,
.deliverable {
  backdrop-filter: blur(2px);
}

/* Ensure the services mega-menu is ONLY interactive in the main header. */
footer .mega-wrap:hover .mega-menu,
.footer .mega-wrap:hover .mega-menu,
footer .mega-wrap:focus-within .mega-menu,
.footer .mega-wrap:focus-within .mega-menu {
  display: none !important;
}

/* =========================================================
   V5.5 - Comprehensive soft-edge UI polish
   ========================================================= */

:root{
  --soft-border: rgba(7,20,38,.08);
  --soft-border-gold: rgba(198,160,68,.22);
  --soft-surface: #ffffff;
  --soft-surface-alt: #f8f7f3;
  --soft-shadow-1: 0 10px 30px rgba(7,20,38,.045);
  --soft-shadow-2: 0 18px 42px rgba(7,20,38,.08);
}

/* ---------------------------------------------------------
   Principle / three-column strip
   --------------------------------------------------------- */
.metric-strip{
  border:0 !important;
  gap:14px !important;
  background:transparent !important;
  overflow:visible !important;
}

.metric{
  border:1px solid var(--soft-border) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:var(--soft-shadow-1);
  padding:28px 30px !important;
}

.metric:last-child{
  border:1px solid var(--soft-border) !important;
}

.metric:hover{
  transform:translateY(-3px);
  border-color:var(--soft-border-gold) !important;
  box-shadow:var(--soft-shadow-2);
}

/* ---------------------------------------------------------
   TACS lifecycle - separate soft cards, no connected box
   --------------------------------------------------------- */
.tacs-system{
  background:transparent !important;
  border:0 !important;
  gap:12px !important;
}

.tacs-node{
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:#0c2035 !important;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  overflow:hidden;
}

.tacs-node:hover{
  background:#102941 !important;
  border-color:rgba(198,160,68,.32) !important;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,0,0,.16);
}

/* ---------------------------------------------------------
   Interactive TACS explorer
   --------------------------------------------------------- */
.tacs-interactive{
  align-items:stretch;
}

.tacs-tabs{
  gap:10px !important;
}

.tacs-tab{
  border-radius:13px !important;
  border:1px solid var(--soft-border) !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(7,20,38,.035);
  padding:18px !important;
}

.tacs-tab:hover{
  transform:translateX(3px);
  border-color:var(--soft-border-gold) !important;
  background:#fbf9f2 !important;
}

.tacs-tab.active{
  background:#071426 !important;
  color:#fff !important;
  border-color:#071426 !important;
  box-shadow:0 12px 28px rgba(7,20,38,.16);
}

.tacs-panel{
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 42px rgba(7,20,38,.12);
  overflow:hidden;
}

/* ---------------------------------------------------------
   FAQ - convert hard ruled list into soft accordion cards
   --------------------------------------------------------- */
.faq{
  display:grid;
  gap:12px;
  border:0 !important;
}

.faq details{
  border:1px solid var(--soft-border) !important;
  border-radius:15px !important;
  background:#fff;
  padding:0 !important;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(7,20,38,.035);
}

.faq details:last-child{
  border-bottom:1px solid var(--soft-border) !important;
}

.faq summary{
  padding:20px 22px !important;
  list-style:none;
  border-radius:15px;
}

.faq summary::-webkit-details-marker{
  display:none;
}

.faq summary::before{
  content:"+";
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-right:10px;
  border-radius:999px;
  background:#f4f1e8;
  color:#a47f29;
  font-weight:800;
  transition:transform .2s ease, background .2s ease;
}

.faq details[open] summary::before{
  content:"−";
  background:#c6a044;
  color:#071426;
}

.faq details:hover{
  border-color:var(--soft-border-gold) !important;
  box-shadow:0 12px 30px rgba(7,20,38,.055);
}

.faq details p{
  margin:0 !important;
  padding:0 22px 22px 56px !important;
}

/* ---------------------------------------------------------
   Contact page - unify the left column with the form
   --------------------------------------------------------- */
.contact-grid{
  align-items:start;
}

.contact-box{
  background:#fff !important;
  border:1px solid var(--soft-border) !important;
  border-radius:16px !important;
  box-shadow:0 8px 24px rgba(7,20,38,.04);
  padding:22px 24px !important;
  position:relative;
  overflow:hidden;
}

.contact-box::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  background:#c6a044;
  border-radius:0 999px 999px 0;
}

.contact-box strong{
  color:#071426;
}

.contact-box p,
.contact-box a{
  color:#586575;
}

.contact-box:hover{
  border-color:var(--soft-border-gold) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(7,20,38,.06);
}

.form{
  border:1px solid var(--soft-border) !important;
  border-radius:20px !important;
  box-shadow:0 16px 38px rgba(7,20,38,.07) !important;
}

/* Make contact form controls visually consistent */
.form input,
.form select,
.form textarea{
  border-radius:11px !important;
  background:#fff;
}

.form button{
  border-radius:10px !important;
}

/* ---------------------------------------------------------
   Who we help - pills should be soft, not square tags
   --------------------------------------------------------- */
.wix-pill,
.pill{
  border-radius:999px !important;
  border:1px solid var(--soft-border) !important;
  background:#fff !important;
  box-shadow:0 4px 14px rgba(7,20,38,.025);
  padding:11px 16px !important;
}

.wix-pill:hover,
.pill:hover{
  border-color:var(--soft-border-gold) !important;
  background:#fbf8ef !important;
  transform:translateY(-2px);
}

/* ---------------------------------------------------------
   Insight / article cards
   --------------------------------------------------------- */
.insight{
  border-radius:18px !important;
  border:1px solid var(--soft-border) !important;
  overflow:hidden !important;
  box-shadow:var(--soft-shadow-1);
}

.insight-top{
  border-radius:18px 18px 0 0 !important;
}

.insight:hover{
  transform:translateY(-4px);
  box-shadow:var(--soft-shadow-2);
  border-color:var(--soft-border-gold) !important;
}

.insight-body{
  border-radius:0 0 18px 18px;
}

/* ---------------------------------------------------------
   Testimonials / feedback
   --------------------------------------------------------- */
.testimonial-grid{
  gap:18px !important;
}

.testimonial{
  border-radius:16px !important;
  border:1px solid var(--soft-border) !important;
  box-shadow:var(--soft-shadow-1);
}

/* ---------------------------------------------------------
   Any remaining grid boxes / flat hard edges
   --------------------------------------------------------- */
.assessment-item,
.framework-step,
.deliverable,
.outcome,
.wix-step,
.step,
.reason,
.article-item,
.testimonial-note,
.booking-card,
.feature-block,
.stat-panel{
  border-radius:16px !important;
}

.booking-card{
  border:1px solid var(--soft-border) !important;
  box-shadow:0 16px 38px rgba(7,20,38,.07);
}

.service-outcomes{
  gap:12px !important;
}

.outcome{
  border:1px solid var(--soft-border) !important;
  background:#fff;
  box-shadow:0 7px 20px rgba(7,20,38,.035);
}

.outcome:hover{
  transform:translateY(-2px);
  border-color:var(--soft-border-gold) !important;
}

/* Short gold rules instead of hard full-width accents */
.gold-rule{
  border-radius:999px;
}

/* soften section boundaries where possible */
.bg-paper,
.bg-off{
  background:#f7f6f2 !important;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:950px){
  .metric-strip{
    gap:10px !important;
  }
  .metric{
    border:1px solid var(--soft-border) !important;
  }
}

@media(max-width:620px){
  .faq details p{
    padding:0 18px 18px 18px !important;
  }
  .faq summary{
    padding:17px 18px !important;
  }
}

/* =========================================================
   V5.6 - Interaction cleanup
   Only genuinely interactive elements should react to hover.
   Remove card movement/jitter and use smooth colour feedback.
   ========================================================= */

/* Static content cards: absolutely no hover movement/effect */
.metric,
.contact-box,
.outcome,
.deliverable,
.wix-step,
.step,
.assessment-item,
.framework-step,
.insight,
.testimonial,
.testimonial-note,
.feature-block,
.stat-panel,
.booking-card,
.card:not(a):not(button),
.service-card:not(a):not(button),
.tacs-node {
  transform:none !important;
}

.metric:hover,
.contact-box:hover,
.outcome:hover,
.deliverable:hover,
.wix-step:hover,
.step:hover,
.assessment-item:hover,
.framework-step:hover,
.testimonial:hover,
.testimonial-note:hover,
.feature-block:hover,
.stat-panel:hover,
.booking-card:hover,
.card:not(a):not(button):hover,
.service-card:not(a):not(button):hover,
.tacs-node:hover {
  transform:none !important;
  box-shadow:inherit;
  border-color:inherit !important;
  background-color:inherit;
}

/* Insight cards contain a link, but the card itself is presentation.
   Keep the card stationary; only the actual link reacts. */
.insight:hover{
  transform:none !important;
  box-shadow:var(--soft-shadow-1) !important;
  border-color:var(--soft-border) !important;
}

/* Interactive controls: remove translate/lift animations.
   Feedback comes from colour, border and shadow instead. */
.btn:hover,
button[type="submit"]:hover,
a.btn:hover,
.mega-menu a:hover,
.tacs-tab:hover,
.wix-pill:hover,
.pill:hover,
.wix-card > a:hover,
.card > a:hover,
.service-card > a:hover {
  transform:none !important;
}

/* Buttons - smooth premium hover, no physical movement */
.btn,
button[type="submit"],
a.btn {
  transition:
    background-color .28s ease,
    color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    filter .28s ease !important;
}

.btn:hover,
button[type="submit"]:hover,
a.btn:hover {
  box-shadow:0 9px 22px rgba(7,20,38,.13);
}

/* Links inside cards - colour change only */
.wix-card > a,
.card > a,
.service-card > a,
.insight a {
  transition:color .25s ease, opacity .25s ease !important;
}

.wix-card > a:hover,
.card > a:hover,
.service-card > a:hover,
.insight a:hover {
  transform:none !important;
  box-shadow:none !important;
  color:#a87f24;
}

/* Dropdown choices - no jumping */
.mega-menu a {
  transition:
    background-color .25s ease,
    border-color .25s ease,
    color .25s ease,
    box-shadow .25s ease !important;
}

.mega-menu a:hover {
  transform:none !important;
  box-shadow:none !important;
}

/* TACS explorer tabs are actual controls, but stay fixed */
.tacs-tab {
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease,
    box-shadow .25s ease !important;
}

.tacs-tab:hover {
  transform:none !important;
}

/* FAQ rows are interactive accordions: subtle border only */
.faq details {
  transition:border-color .25s ease, box-shadow .25s ease !important;
}

.faq details:hover {
  transform:none !important;
}

/* Audience pills are informational, not buttons: no hover at all */
.wix-pill,
.pill {
  transition:none !important;
}

.wix-pill:hover,
.pill:hover {
  transform:none !important;
  border-color:var(--soft-border) !important;
  background:#fff !important;
  box-shadow:0 4px 14px rgba(7,20,38,.025) !important;
}

/* Inputs remain stationary; focus/hover only changes border */
input,
select,
textarea {
  transform:none !important;
  transition:border-color .22s ease, box-shadow .22s ease !important;
}

/* Avoid broad transition: all on content blocks, which caused
   the slightly jittery/static card animation. */
.metric,
.contact-box,
.outcome,
.deliverable,
.wix-step,
.step,
.assessment-item,
.framework-step,
.insight,
.testimonial,
.testimonial-note,
.feature-block,
.stat-panel,
.booking-card,
.tacs-node {
  transition:none !important;
}

/* =========================================================
   V5.7 - Smooth hover feedback
   Removes jumpy shadow/filter changes and uses only
   compositor-friendly colour/opacity transitions.
   ========================================================= */

:root{
  --hover-ease:cubic-bezier(.22,.61,.36,1);
  --hover-fast:180ms;
  --hover-med:240ms;
}

/* Global interactive timing */
a,
button,
.btn,
.tacs-tab,
.mega-menu a,
.faq summary,
input,
select,
textarea{
  transition-property:background-color,color,border-color,box-shadow,opacity;
  transition-duration:var(--hover-med);
  transition-timing-function:var(--hover-ease);
}

/* Buttons: no movement, no filter jump, very soft shadow change */
.btn,
button[type="submit"],
a.btn{
  transform:none !important;
  filter:none !important;
  box-shadow:0 5px 14px rgba(7,20,38,.08) !important;
}

.btn:hover,
button[type="submit"]:hover,
a.btn:hover{
  transform:none !important;
  filter:none !important;
  box-shadow:0 8px 20px rgba(7,20,38,.11) !important;
}

.btn:active,
button[type="submit"]:active,
a.btn:active{
  transform:none !important;
  box-shadow:0 4px 12px rgba(7,20,38,.09) !important;
}

/* Gold buttons */
.btn-primary,
.btn-gold{
  background:#c6a044 !important;
  color:#071426 !important;
}

.btn-primary:hover,
.btn-gold:hover{
  background:#d2ae56 !important;
  color:#071426 !important;
}

/* Dark buttons */
.btn-dark{
  background:#071426 !important;
  color:#fff !important;
}

.btn-dark:hover{
  background:#102238 !important;
  color:#fff !important;
}

/* Header/nav links - smooth colour only, no expanding underline */
.site-nav > a:not(.btn)::after,
.nav-links > a:not(.btn)::after,
header nav > a:not(.btn)::after{
  display:none !important;
}

.site-nav > a:not(.btn),
.nav-links > a:not(.btn),
header nav > a:not(.btn){
  transition:color var(--hover-med) var(--hover-ease), opacity var(--hover-med) var(--hover-ease) !important;
}

.site-nav > a:not(.btn):hover,
.nav-links > a:not(.btn):hover,
header nav > a:not(.btn):hover{
  color:#c6a044 !important;
  opacity:1 !important;
}

/* Mega menu options: soft fill fade, no movement/shadow snap */
.mega-menu a{
  transform:none !important;
  box-shadow:none !important;
  transition:
    background-color var(--hover-med) var(--hover-ease),
    border-color var(--hover-med) var(--hover-ease),
    color var(--hover-med) var(--hover-ease) !important;
}

.mega-menu a:hover,
.mega-menu a:focus-visible{
  transform:none !important;
  box-shadow:none !important;
  background:#f7f3e9 !important;
  border-color:rgba(198,160,68,.20) !important;
}

.mega-menu a b{
  transition:color var(--hover-med) var(--hover-ease) !important;
}

.mega-menu a:hover b{
  color:#b58a2d !important;
}

/* TACS buttons: controlled colour transition only */
.tacs-tab{
  transform:none !important;
  box-shadow:0 3px 10px rgba(7,20,38,.035) !important;
  transition:
    background-color var(--hover-med) var(--hover-ease),
    color var(--hover-med) var(--hover-ease),
    border-color var(--hover-med) var(--hover-ease),
    box-shadow var(--hover-med) var(--hover-ease) !important;
}

.tacs-tab:hover{
  transform:none !important;
  background:#faf7ef !important;
  border-color:rgba(198,160,68,.28) !important;
  box-shadow:0 5px 14px rgba(7,20,38,.045) !important;
}

.tacs-tab.active{
  background:#071426 !important;
  color:#fff !important;
  border-color:#071426 !important;
  box-shadow:0 7px 18px rgba(7,20,38,.10) !important;
}

/* Text links: smooth colour only */
.wix-card > a,
.card > a,
.service-card > a,
.insight a,
footer a{
  transform:none !important;
  box-shadow:none !important;
  transition:color var(--hover-med) var(--hover-ease), opacity var(--hover-med) var(--hover-ease) !important;
}

.wix-card > a:hover,
.card > a:hover,
.service-card > a:hover,
.insight a:hover,
footer a:hover{
  transform:none !important;
  box-shadow:none !important;
  color:#ad842c !important;
  opacity:.88;
}

/* FAQ: only a gentle border/background transition */
.faq details{
  transition:
    border-color var(--hover-med) var(--hover-ease),
    background-color var(--hover-med) var(--hover-ease),
    box-shadow var(--hover-med) var(--hover-ease) !important;
}

.faq details:hover{
  transform:none !important;
  border-color:rgba(198,160,68,.16) !important;
  background:#fffdfa !important;
  box-shadow:0 8px 22px rgba(7,20,38,.035) !important;
}

.faq summary::before{
  transition:
    background-color var(--hover-med) var(--hover-ease),
    color var(--hover-med) var(--hover-ease) !important;
}

/* Inputs: subtle border focus, no abrupt outline */
input,
select,
textarea{
  transition:
    border-color var(--hover-med) var(--hover-ease),
    box-shadow var(--hover-med) var(--hover-ease),
    background-color var(--hover-med) var(--hover-ease) !important;
}

input:hover,
select:hover,
textarea:hover{
  border-color:rgba(198,160,68,.32) !important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#c6a044 !important;
  box-shadow:0 0 0 3px rgba(198,160,68,.10) !important;
}

/* Keep all non-clickable cards entirely static */
.metric,
.contact-box,
.outcome,
.deliverable,
.wix-step,
.step,
.assessment-item,
.framework-step,
.insight,
.testimonial,
.testimonial-note,
.feature-block,
.stat-panel,
.booking-card,
.tacs-node,
.wix-pill,
.pill{
  transition:none !important;
  transform:none !important;
}

/* Prevent old hover declarations from fighting these rules */
.metric:hover,
.contact-box:hover,
.outcome:hover,
.deliverable:hover,
.wix-step:hover,
.step:hover,
.assessment-item:hover,
.framework-step:hover,
.insight:hover,
.testimonial:hover,
.testimonial-note:hover,
.feature-block:hover,
.stat-panel:hover,
.booking-card:hover,
.tacs-node:hover,
.wix-pill:hover,
.pill:hover{
  transform:none !important;
}

/* =========================================================
   V5.8 - Refined hover balance
   Restore the subtle premium lift on interactive cards only,
   with a smooth ease and very restrained colour change.
   ========================================================= */

:root{
  --lift-ease:cubic-bezier(.22,.61,.36,1);
}

/* Interactive content cards only.
   These have an obvious actionable link/CTA inside them. */
.wix-card,
.service-card,
.insight {
  transition:
    transform 220ms var(--lift-ease),
    box-shadow 220ms var(--lift-ease),
    border-color 220ms var(--lift-ease),
    background-color 220ms var(--lift-ease) !important;
  will-change:transform;
}

.wix-card:hover,
.service-card:hover,
.insight:hover {
  transform:translateY(-3px) !important;
  box-shadow:0 15px 34px rgba(7,20,38,.085) !important;
  border-color:rgba(198,160,68,.14) !important;
  background-color:#fffefa !important;
}

/* Keep the colour change deliberately subtle */
.wix-card:hover .eyebrow,
.service-card:hover .eyebrow,
.insight:hover .eyebrow {
  color:#c49a3c !important;
}

/* The actual text links can become just slightly warmer */
.wix-card > a:hover,
.service-card > a:hover,
.insight a:hover {
  color:#b48a2e !important;
  opacity:1 !important;
}

/* Deliverable/roadmap tiles: soft lift only, no obvious colour shift */
.deliverable {
  transition:
    transform 220ms var(--lift-ease),
    box-shadow 220ms var(--lift-ease),
    border-color 220ms var(--lift-ease) !important;
  will-change:transform;
}

.deliverable:hover {
  transform:translateY(-3px) !important;
  box-shadow:0 14px 30px rgba(7,20,38,.07) !important;
  border-color:rgba(198,160,68,.12) !important;
  background:inherit !important;
}

/* Same treatment for process/outcome tiles where they are presented as
   a row of selectable-looking content, but keep it extremely light. */
.outcome,
.metric {
  transition:
    transform 220ms var(--lift-ease),
    box-shadow 220ms var(--lift-ease),
    border-color 220ms var(--lift-ease) !important;
  will-change:transform;
}

.outcome:hover,
.metric:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 12px 28px rgba(7,20,38,.06) !important;
  border-color:rgba(198,160,68,.10) !important;
  background:inherit !important;
}

/* Non-interactive informational elements remain static. */
.contact-box:hover,
.wix-step:hover,
.step:hover,
.assessment-item:hover,
.framework-step:hover,
.testimonial:hover,
.testimonial-note:hover,
.feature-block:hover,
.stat-panel:hover,
.booking-card:hover,
.tacs-node:hover,
.wix-pill:hover,
.pill:hover {
  transform:none !important;
}

/* Main buttons can have the same polished micro-lift the user liked,
   but keep it smaller than cards. */
.btn,
button[type="submit"],
a.btn {
  transition:
    transform 180ms var(--lift-ease),
    background-color 220ms var(--lift-ease),
    color 220ms var(--lift-ease),
    border-color 220ms var(--lift-ease),
    box-shadow 220ms var(--lift-ease) !important;
}

.btn:hover,
button[type="submit"]:hover,
a.btn:hover {
  transform:translateY(-1px) !important;
  box-shadow:0 9px 21px rgba(7,20,38,.11) !important;
}

.btn:active,
button[type="submit"]:active,
a.btn:active {
  transform:translateY(0) !important;
}

/* Dropdown entries: no vertical jump, just quiet highlight */
.mega-menu a:hover,
.mega-menu a:focus-visible {
  transform:none !important;
  background:#f8f5ed !important;
  border-color:rgba(198,160,68,.13) !important;
}

/* TACS tabs stay fixed because the state change is already obvious */
.tacs-tab:hover {
  transform:none !important;
}

/* =========================================================
   V5.9 - Consistent premium hover + remove hard outlines
   ========================================================= */

:root{
  --card-lift: -3px;
  --card-ease: cubic-bezier(.22,.61,.36,1);
  --card-shadow: 0 10px 28px rgba(7,20,38,.055);
  --card-shadow-hover: 0 18px 38px rgba(7,20,38,.095);
}

/* Use soft shadows instead of visible outlines/borders on card-style blocks */
.wix-card,
.service-card,
.insight,
.deliverable,
.outcome,
.metric,
.card,
.assessment-item,
.framework-step,
.wix-step,
.step {
  border: 1px solid rgba(7,20,38,.055) !important;
  box-shadow: var(--card-shadow) !important;
}

/* Interactive cards: same lift everywhere, no border highlight */
.wix-card,
.service-card,
.insight,
.deliverable,
.outcome,
.metric,
.card:has(a[href]),
.assessment-item:has(a[href]),
.framework-step:has(a[href]),
.wix-step:has(a[href]),
.step:has(a[href]) {
  transition:
    transform 230ms var(--card-ease),
    box-shadow 230ms var(--card-ease),
    background-color 230ms var(--card-ease) !important;
  will-change: transform;
}

.wix-card:hover,
.service-card:hover,
.insight:hover,
.deliverable:hover,
.outcome:hover,
.metric:hover,
.card:has(a[href]):hover,
.assessment-item:has(a[href]):hover,
.framework-step:has(a[href]):hover,
.wix-step:has(a[href]):hover,
.step:has(a[href]):hover {
  transform: translateY(var(--card-lift)) !important;
  box-shadow: var(--card-shadow-hover) !important;
  border-color: rgba(7,20,38,.055) !important;
  background-color: rgba(255,255,255,.985) !important;
}

/* Remove the "selected outline" look from all the above */
.wix-card:hover,
.service-card:hover,
.insight:hover,
.deliverable:hover,
.outcome:hover,
.metric:hover,
.card:hover,
.assessment-item:hover,
.framework-step:hover,
.wix-step:hover,
.step:hover {
  outline: none !important;
}

/* Static content stays static */
.contact-box,
.testimonial,
.testimonial-note,
.feature-block,
.stat-panel,
.booking-card,
.tacs-node,
.wix-pill,
.pill {
  transform: none !important;
  transition: none !important;
}

/* TACS stage buttons ARE controls: give them the same gentle lift,
   but still show active state using fill rather than outline */
.tacs-tab {
  border: 1px solid rgba(7,20,38,.06) !important;
  box-shadow: 0 6px 18px rgba(7,20,38,.04) !important;
  transition:
    transform 210ms var(--card-ease),
    box-shadow 210ms var(--card-ease),
    background-color 210ms var(--card-ease),
    color 210ms var(--card-ease) !important;
}

.tacs-tab:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(7,20,38,.075) !important;
  border-color: rgba(7,20,38,.06) !important;
  outline: none !important;
}

.tacs-tab.active {
  transform: none !important;
  border-color: #071426 !important;
}

/* FAQ cards: no hover outline; very soft lift only on the clickable row */
.faq details {
  border: 1px solid rgba(7,20,38,.055) !important;
  box-shadow: 0 7px 20px rgba(7,20,38,.035) !important;
  transition:
    transform 210ms var(--card-ease),
    box-shadow 210ms var(--card-ease),
    background-color 210ms var(--card-ease) !important;
}

.faq details:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 26px rgba(7,20,38,.06) !important;
  border-color: rgba(7,20,38,.055) !important;
  background:#fff !important;
  outline:none !important;
}

/* Buttons keep the tiny lift, but no outline or sharp border change */
.btn,
button[type="submit"],
a.btn {
  border-color: transparent !important;
}

.btn:hover,
button[type="submit"]:hover,
a.btn:hover {
  border-color: transparent !important;
  outline: none !important;
}

/* Dropdown menu items: soft fill only, absolutely no outline */
.mega-menu a,
.mega-menu a:hover,
.mega-menu a:focus-visible {
  outline: none !important;
  border-color: transparent !important;
}

/* Keyboard focus remains accessible, but use a soft glow instead of a hard outline */
.btn:focus-visible,
button:focus-visible,
a:focus-visible,
.tacs-tab:focus-visible,
.faq summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(198,160,68,.14) !important;
}

/* =========================================================
   V5.10 - Buttons/links only react
   No informational card/panel moves or changes on hover.
   ========================================================= */

/* EVERYTHING that is presentation-only stays completely static */
.wix-card,
.service-card,
.insight,
.deliverable,
.outcome,
.metric,
.card,
.assessment-item,
.framework-step,
.wix-step,
.step,
.contact-box,
.testimonial,
.testimonial-note,
.feature-block,
.stat-panel,
.booking-card,
.tacs-node,
.wix-pill,
.pill,
.reason,
.article-item,
.service-outcomes,
.metric-strip {
  transform:none !important;
  transition:none !important;
}

/* Kill every inherited hover treatment on non-clickable blocks */
.wix-card:hover,
.service-card:hover,
.insight:hover,
.deliverable:hover,
.outcome:hover,
.metric:hover,
.card:hover,
.assessment-item:hover,
.framework-step:hover,
.wix-step:hover,
.step:hover,
.contact-box:hover,
.testimonial:hover,
.testimonial-note:hover,
.feature-block:hover,
.stat-panel:hover,
.booking-card:hover,
.tacs-node:hover,
.wix-pill:hover,
.pill:hover,
.reason:hover,
.article-item:hover {
  transform:none !important;
  box-shadow:inherit !important;
  border-color:inherit !important;
  background:inherit !important;
  background-color:inherit !important;
  color:inherit !important;
  filter:none !important;
  opacity:1 !important;
}

/* Cards remain soft visually, just not interactive */
.wix-card,
.service-card,
.insight,
.deliverable,
.outcome,
.metric,
.card,
.assessment-item,
.framework-step,
.wix-step,
.step {
  border:1px solid rgba(7,20,38,.055) !important;
  box-shadow:0 10px 28px rgba(7,20,38,.055) !important;
}

/* Only actual buttons get the premium hover lift */
.btn,
button,
button[type="submit"],
a.btn {
  transition:
    transform 180ms cubic-bezier(.22,.61,.36,1),
    background-color 220ms cubic-bezier(.22,.61,.36,1),
    color 220ms cubic-bezier(.22,.61,.36,1),
    box-shadow 220ms cubic-bezier(.22,.61,.36,1),
    opacity 220ms cubic-bezier(.22,.61,.36,1) !important;
}

.btn:hover,
button:hover,
button[type="submit"]:hover,
a.btn:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 10px 22px rgba(7,20,38,.12) !important;
}

.btn:active,
button:active,
button[type="submit"]:active,
a.btn:active {
  transform:translateY(0) !important;
}

/* Text links can change colour, but NEVER move */
a:not(.btn) {
  transform:none !important;
}

a:not(.btn):hover {
  transform:none !important;
}

/* Links inside cards: colour fade only */
.wix-card > a,
.service-card > a,
.insight a,
.card > a {
  transition:color 220ms cubic-bezier(.22,.61,.36,1), opacity 220ms cubic-bezier(.22,.61,.36,1) !important;
}

.wix-card > a:hover,
.service-card > a:hover,
.insight a:hover,
.card > a:hover {
  color:#ad842c !important;
  opacity:.9 !important;
  box-shadow:none !important;
}

/* Dropdown entries are links: soft background fade only, no movement */
.mega-menu a,
.mega-menu a:hover,
.mega-menu a:focus-visible {
  transform:none !important;
  box-shadow:none !important;
}

.mega-menu a {
  transition:
    background-color 220ms cubic-bezier(.22,.61,.36,1),
    color 220ms cubic-bezier(.22,.61,.36,1) !important;
}

/* TACS tabs are real buttons, so keep the small lift */
.tacs-tab {
  transition:
    transform 180ms cubic-bezier(.22,.61,.36,1),
    background-color 220ms cubic-bezier(.22,.61,.36,1),
    color 220ms cubic-bezier(.22,.61,.36,1),
    box-shadow 220ms cubic-bezier(.22,.61,.36,1) !important;
}

.tacs-tab:hover {
  transform:translateY(-2px) !important;
}

/* FAQ container does NOT move. Only clickable summary gets a subtle background cue. */
.faq details,
.faq details:hover {
  transform:none !important;
  transition:none !important;
  box-shadow:0 7px 20px rgba(7,20,38,.035) !important;
  border-color:rgba(7,20,38,.055) !important;
  background:#fff !important;
}

.faq summary {
  transition:background-color 220ms cubic-bezier(.22,.61,.36,1), color 220ms cubic-bezier(.22,.61,.36,1) !important;
}

.faq summary:hover {
  background:#fbfaf7 !important;
}

/* Form controls are interactive but stationary */
input,
select,
textarea {
  transform:none !important;
  transition:
    border-color 220ms cubic-bezier(.22,.61,.36,1),
    box-shadow 220ms cubic-bezier(.22,.61,.36,1) !important;
}

/* =========================================================
   V5.11 - Remove outlined-card look, keep soft premium UI
   ========================================================= */

/* STATIC CONTENT SURFACES
   No hard outline, no hover, just soft radius + light elevation. */
.wix-card,
.service-card,
.insight,
.deliverable,
.outcome,
.metric,
.card,
.assessment-item,
.framework-step,
.wix-step,
.step,
.contact-box,
.testimonial,
.testimonial-note,
.feature-block,
.stat-panel,
.booking-card,
.tacs-node,
.reason,
.article-item {
  border: none !important;
  outline: none !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(7,20,38,.055) !important;
  background-clip: padding-box;
}

/* Preserve dark surfaces without forcing them white */
.tacs-node,
.feature-block,
.stat-panel,
.tacs-panel {
  background-clip: padding-box;
}

/* Cards should not react unless the actual child control is hovered */
.wix-card:hover,
.service-card:hover,
.insight:hover,
.deliverable:hover,
.outcome:hover,
.metric:hover,
.card:hover,
.assessment-item:hover,
.framework-step:hover,
.wix-step:hover,
.step:hover,
.contact-box:hover,
.testimonial:hover,
.testimonial-note:hover,
.feature-block:hover,
.stat-panel:hover,
.booking-card:hover,
.tacs-node:hover,
.reason:hover,
.article-item:hover {
  transform: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: 0 10px 28px rgba(7,20,38,.055) !important;
  filter: none !important;
}

/* The three principle cards */
.metric-strip {
  gap: 14px !important;
  border: 0 !important;
  background: transparent !important;
}

.metric {
  background: rgba(255,255,255,.78) !important;
}

/* Health-check roadmap cards */
.deliverables {
  gap: 14px !important;
}

.deliverable {
  background: #fff !important;
}

/* TACS lifecycle: soft separated dark cards */
.tacs-system {
  border: 0 !important;
  background: transparent !important;
  gap: 12px !important;
}

.tacs-node {
  background: #0c2035 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.12) !important;
}

/* TACS interactive panel */
.tacs-panel {
  border: 0 !important;
  outline: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(7,20,38,.12) !important;
}

/* TACS buttons are actual controls; keep a very soft edge only */
.tacs-tab {
  border: 1px solid rgba(7,20,38,.06) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 16px rgba(7,20,38,.04) !important;
}

.tacs-tab:hover {
  border-color: rgba(7,20,38,.06) !important;
}

.tacs-tab.active {
  border-color: transparent !important;
}

/* FAQs: remove outlined boxes; use soft surface + shadow */
.faq details,
.faq details:hover {
  border: none !important;
  outline: none !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(7,20,38,.045) !important;
  background: #fff !important;
}

/* Contact left column now matches the main form with no outline */
.contact-box {
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(7,20,38,.055) !important;
}

/* Keep subtle gold accent on left contact boxes */
.contact-box::before {
  width: 3px !important;
  opacity: .78;
}

/* Form container: no visible outline, just shadow */
.form {
  border: none !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 38px rgba(7,20,38,.075) !important;
}

/* FORM CONTROLS still need visible boundaries for usability */
input,
select,
textarea {
  border: 1px solid rgba(7,20,38,.12) !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 11px !important;
}

input:hover,
select:hover,
textarea:hover {
  border-color: rgba(198,160,68,.30) !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(198,160,68,.62) !important;
  box-shadow: 0 0 0 3px rgba(198,160,68,.09) !important;
}

/* Who-we-help pills should read as labels, not outlined buttons */
.wix-pill,
.pill {
  border: none !important;
  outline: none !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 5px 16px rgba(7,20,38,.045) !important;
}

/* Insight cards: clean panel with no perimeter line */
.insight {
  border: none !important;
  box-shadow: 0 12px 30px rgba(7,20,38,.06) !important;
}

/* Service/core expertise cards */
.wix-card,
.service-card,
.card {
  border: none !important;
  box-shadow: 0 12px 30px rgba(7,20,38,.06) !important;
}

/* Featured card: retain only the small gold accent, no border */
.wix-card.featured,
.service-card.featured,
.card.featured {
  border: none !important;
}

/* BUTTONS ONLY:
   Smooth tiny lift and colour change, no hard border. */
.btn,
button[type="submit"],
a.btn {
  border: none !important;
  outline: none !important;
  box-shadow: 0 6px 16px rgba(7,20,38,.09) !important;
  transition:
    transform 180ms cubic-bezier(.22,.61,.36,1),
    background-color 220ms cubic-bezier(.22,.61,.36,1),
    color 220ms cubic-bezier(.22,.61,.36,1),
    box-shadow 220ms cubic-bezier(.22,.61,.36,1) !important;
}

.btn:hover,
button[type="submit"]:hover,
a.btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(7,20,38,.12) !important;
}

.btn:active,
button[type="submit"]:active,
a.btn:active {
  transform: translateY(0) !important;
}

/* Dropdown remains soft and borderless */
.mega-menu {
  border: none !important;
  box-shadow: 0 24px 58px rgba(7,20,38,.16) !important;
}

.mega-menu a,
.mega-menu a:hover,
.mega-menu a:focus-visible {
  border: none !important;
  outline: none !important;
}

/* Keyboard focus: glow only on actual controls */
.btn:focus-visible,
button:focus-visible,
.tacs-tab:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.faq summary:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(198,160,68,.13) !important;
}

/* V5.12 final sync */
.btn-primary,.btn-gold{background:#c6a044!important;color:#071426!important}
.btn-primary:hover,.btn-gold:hover{background:#d0aa4b!important}
.btn-dark{background:#071426!important;color:#fff!important}
.btn-dark:hover{background:#102238!important}
.site-header .btn,.nav-links .btn,.cta .btn,.form .btn,.booking-card .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center}



/* =========================================================
   V5.14 - Full-site motion system
   One consistent animation language across every page.
   ========================================================= */

:root{
  --motion-distance:26px;
  --motion-side:30px;
  --motion-duration:720ms;
  --motion-ease:cubic-bezier(.22,.61,.36,1);
}

/* Generic reveal */
.motion-ready [data-reveal]{
  opacity:0;
  transform:translate3d(0,var(--motion-distance),0);
  transition:
    opacity var(--motion-duration) var(--motion-ease),
    transform var(--motion-duration) var(--motion-ease);
  will-change:opacity,transform;
}

.motion-ready [data-reveal="left"]{
  transform:translate3d(calc(var(--motion-side) * -1),0,0);
}

.motion-ready [data-reveal="right"]{
  transform:translate3d(var(--motion-side),0,0);
}

.motion-ready [data-reveal="soft"]{
  transform:translate3d(0,16px,0);
}

.motion-ready [data-reveal="fade"]{
  transform:none;
}

.motion-ready [data-reveal].is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

/* Staggered groups */
.motion-ready [data-stagger] > .motion-item{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity 620ms var(--motion-ease),
    transform 620ms var(--motion-ease);
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform;
}

.motion-ready [data-stagger].is-visible > .motion-item{
  opacity:1;
  transform:translate3d(0,0,0);
}

/* Hero / page header */
.motion-ready .motion-hero{
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:
    opacity 880ms var(--motion-ease),
    transform 880ms var(--motion-ease);
}

.motion-ready .motion-hero.is-visible{
  opacity:1;
  transform:none;
}

.motion-ready .motion-visual{
  opacity:0;
  transform:translate3d(24px,0,0) scale(.994);
  transition:
    opacity 900ms var(--motion-ease),
    transform 900ms var(--motion-ease);
}

.motion-ready .motion-visual.is-visible{
  opacity:1;
  transform:none;
}

/* Avoid awkward animation clipping */
section,
.wix-section,
.section,
.section-sm,
.section-tight,
.page-hero,
.quote-band,
.process-dark,
.cta{
  overflow:clip;
}

/* Footer should enter subtly as one unit */
.motion-ready footer[data-reveal]{
  transform:translate3d(0,14px,0);
}

/* Keep very small items subtle */
.motion-ready .eyebrow[data-reveal],
.motion-ready .gold-rule[data-reveal]{
  transform:translate3d(0,10px,0);
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .motion-ready [data-reveal],
  .motion-ready [data-stagger] > .motion-item,
  .motion-ready .motion-hero,
  .motion-ready .motion-visual{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}




/* =========================================================
   V6.8 - Homepage hero wipe ONLY
   Leaves every other site animation untouched.
   ========================================================= */

@keyframes nc68HeroWipeRTL {
  from {
    clip-path: inset(0 0 0 100%);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}

body.nc68-home .hero-split {
  overflow: hidden;
}

/* Kill the old duplicated visual overlays completely. */
body.nc68-home .hero-split::before,
body.nc68-home .hero-split::after,
body.nc68-home .hero-copy-wix::before,
body.nc68-home .hero-copy-wix::after {
  content: none !important;
  display: none !important;
}

/* Animate the REAL text panel and REAL image panel only. */
body.nc68-home .hero-copy-wix,
body.nc68-home .hero-network {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip-path: inset(0 0 0 100%);
  will-change: clip-path;
}

/* Keep all hero text content fully rendered inside its panel. */
body.nc68-home .hero-copy-wix .inner,
body.nc68-home .hero-copy-wix .inner > * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Right-side image wipes in first, right → left. */
body.nc68-home.nc68-run .hero-network {
  animation: nc68HeroWipeRTL 900ms cubic-bezier(.77,0,.18,1) 80ms both;
}

/* Left-side text panel follows with the same right → left wipe. */
body.nc68-home.nc68-run .hero-copy-wix {
  /* Let the image establish itself first, then reveal the copy. */
  animation: nc68HeroWipeRTL 1000ms cubic-bezier(.77,0,.18,1) 760ms both;
}

/* Once finished, lock both panels in their normal state. */
body.nc68-home.nc68-done .hero-copy-wix,
body.nc68-home.nc68-done .hero-network {
  clip-path: inset(0 0 0 0) !important;
  animation: none !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.nc68-home .hero-copy-wix,
  body.nc68-home .hero-network {
    clip-path: none !important;
    animation: none !important;
  }
}

/* =========================================================
   V6.10 - PROFESSIONAL BUBBLE / PANEL UI RESTORATION
   Styles the V6 content classes that previously had no CSS.
   No animation JavaScript is changed.
   ========================================================= */

:root{
  --v610-navy:#071426;
  --v610-navy-soft:#0d2035;
  --v610-gold:#c6a044;
  --v610-paper:#f7f6f2;
  --v610-white:#ffffff;
  --v610-ink:#0b1522;
  --v610-muted:#5e6976;
  --v610-radius:18px;
  --v610-shadow:0 12px 34px rgba(7,20,38,.065);
  --v610-shadow-soft:0 8px 24px rgba(7,20,38,.045);
}

/* ---------- shared section intros ---------- */
.service-intro{
  max-width:850px;
  margin-bottom:42px;
}

.service-intro h2{
  margin-top:8px;
}

.section-close{
  max-width:820px;
  margin:34px auto 0;
  text-align:center;
  color:var(--v610-muted);
  font-size:1.05rem;
}

/* ---------- general two-column layouts ---------- */
.content-grid,
.service-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:72px;
  align-items:start;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:64px;
  align-items:start;
}

/* ---------- homepage problem cards ---------- */
.question-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:38px;
}

.question-card{
  background:var(--v610-white);
  border:0;
  border-radius:var(--v610-radius);
  padding:24px;
  min-height:185px;
  box-shadow:var(--v610-shadow-soft);
}

.question-card span{
  display:block;
  color:var(--v610-gold);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
}

.question-card p{
  margin:26px 0 0;
  font-weight:700;
  line-height:1.4;
  color:var(--v610-ink);
}

/* ---------- homepage services cards ---------- */
.services-five{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-top:40px;
}

.service-summary{
  background:var(--v610-white);
  border-radius:var(--v610-radius);
  padding:28px;
  min-height:340px;
  box-shadow:var(--v610-shadow);
  display:flex;
  flex-direction:column;
}

.service-index{
  display:block;
  color:var(--v610-gold);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
}

.service-summary h3{
  margin:24px 0 12px;
  font-size:1.18rem;
  line-height:1.25;
}

.service-summary p{
  color:var(--v610-muted);
  line-height:1.6;
}

.service-summary a{
  margin-top:auto;
  padding-top:22px;
  color:#a37b26;
  font-weight:800;
  text-decoration:none;
}

/* ---------- TACS homepage/page panels ---------- */
.tacs-home,
.tacs-page-flow{
  background:var(--v610-navy);
  color:#fff;
  padding:105px 0;
}

.tacs-home-head{
  max-width:900px;
}

.tacs-home .lead,
.tacs-page-flow .lead,
.tacs-home p,
.tacs-page-flow p{
  color:#c8d0d9;
}

.tacs-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:42px;
}

.tacs-stage{
  background:var(--v610-navy-soft);
  border:0;
  border-radius:18px;
  padding:28px;
  min-height:260px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.tacs-stage span{
  display:block;
  color:var(--v610-gold);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
}

.tacs-stage h3{
  color:#fff;
  margin:30px 0 12px;
  font-size:1.35rem;
}

.tacs-stage p{
  color:#c8d0d9 !important;
  line-height:1.6;
}

.tacs-note{
  max-width:900px;
  margin:26px 0 0;
  color:#b9c4cf !important;
}

/* ---------- audience pill section ---------- */
.audience-tags{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

.audience-tags span{
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:999px;
  padding:12px 17px;
  box-shadow:0 5px 16px rgba(7,20,38,.045);
  color:var(--v610-ink);
  font-weight:700;
}

/* ---------- benefits ---------- */
.benefit-list{
  display:grid;
  gap:12px;
}

.benefit-list > div{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:12px;
  align-items:start;
  background:#fff;
  border-radius:14px;
  padding:15px 17px;
  box-shadow:0 6px 18px rgba(7,20,38,.035);
}

.benefit-list span{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#f3ead5;
  color:#927020;
  display:grid;
  place-items:center;
  font-weight:900;
}

.benefit-list p{
  margin:3px 0 0;
}

/* ---------- about philosophy cards ---------- */
.philosophy-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.philosophy-grid > div{
  background:#fff;
  border-radius:var(--v610-radius);
  padding:28px;
  box-shadow:var(--v610-shadow);
}

.philosophy-grid h3{
  margin-top:0;
}

.philosophy-grid p{
  color:var(--v610-muted);
}

/* ---------- services detail page blocks ---------- */
.service-detail{
  padding:95px 0;
}

.clean-list{
  list-style:none;
  padding:0;
  margin:20px 0 0;
  display:grid;
  gap:11px;
}

.clean-list li{
  position:relative;
  padding:15px 18px 15px 46px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(7,20,38,.035);
}

.clean-list li::before{
  content:"";
  position:absolute;
  left:20px;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--v610-gold);
}

.outcome-box{
  margin-top:24px;
  background:#fff;
  border-radius:16px;
  padding:24px 26px;
  box-shadow:var(--v610-shadow);
}

.outcome-box strong{
  display:block;
  color:#a27c28;
  margin-bottom:7px;
}

.outcome-box p{
  margin:0;
  color:var(--v610-muted);
}

.text-link{
  color:#9e7725;
  font-weight:800;
  text-decoration:none;
}

/* ---------- TACS eight domain cards ---------- */
.domain-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:40px;
}

.domain-card{
  background:#fff;
  border-radius:var(--v610-radius);
  padding:28px;
  min-height:270px;
  box-shadow:var(--v610-shadow);
}

.domain-card span{
  color:var(--v610-gold);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
}

.domain-card h3{
  margin:24px 0 12px;
  font-size:1.16rem;
  line-height:1.3;
}

.domain-card p{
  color:var(--v610-muted);
  line-height:1.6;
}

/* ---------- contact details ---------- */
.contact-intro{
  padding-right:12px;
}

.contact-meta{
  display:grid;
  gap:14px;
  margin-top:28px;
}

.contact-meta > div{
  background:#fff;
  border-radius:16px;
  padding:22px 24px;
  box-shadow:var(--v610-shadow-soft);
}

.contact-meta span{
  display:block;
  color:#9e7725;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.contact-meta p{
  margin:0;
  color:var(--v610-muted);
}

/* ---------- final CTA layout ---------- */
.cta-focused{
  max-width:860px;
}

/* Ensure newer panels use the same softer visual language */
.question-card,
.service-summary,
.tacs-stage,
.domain-card,
.philosophy-grid > div,
.outcome-box,
.contact-meta > div,
.clean-list li,
.benefit-list > div{
  border:none !important;
  outline:none !important;
}

/* Informational cards do not get hover movement */
.question-card:hover,
.tacs-stage:hover,
.domain-card:hover,
.philosophy-grid > div:hover,
.outcome-box:hover,
.contact-meta > div:hover,
.clean-list li:hover,
.benefit-list > div:hover{
  transform:none !important;
}

/* Service card is a content panel; only its Learn more link reacts */
.service-summary:hover{
  transform:none !important;
}

.service-summary a{
  transition:color .24s cubic-bezier(.22,.61,.36,1);
}

.service-summary a:hover{
  color:#7f5f1c;
}

/* ---------- responsive ---------- */
@media(max-width:1200px){
  .question-grid,
  .services-five{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .domain-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:950px){
  .content-grid,
  .contact-grid,
  .service-detail-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .tacs-flow,
  .philosophy-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px){
  .question-grid,
  .services-five,
  .domain-grid,
  .tacs-flow,
  .philosophy-grid{
    grid-template-columns:1fr;
  }

  .question-card,
  .service-summary,
  .tacs-stage,
  .domain-card{
    min-height:auto;
  }

  .service-detail{
    padding:68px 0;
  }
}

/* V6.11 customer Insights */
.insight-article-section{padding:80px 0 110px;background:#f7f6f2}.insight-article{max-width:1120px;display:grid;gap:70px}.insight-article p{color:#596675;line-height:1.7}.insight-callout{margin:32px 0;padding:34px;background:#071426;border-radius:20px}.insight-callout span,.case-card>span{color:#c6a044;font-size:.76rem;font-weight:800;letter-spacing:.12em}.insight-callout h2{color:#fff;margin:10px 0 0}.insight-block h2,.leader-block h2{font-size:clamp(2rem,4vw,3.4rem);margin:8px 0 22px}.insight-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:26px 0 32px}.insight-pills span{background:#fff;border-radius:999px;padding:13px;text-align:center;font-weight:700;box-shadow:0 5px 16px #0714260a}.insight-note{background:#edeae2;padding:18px;border-radius:14px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.case-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 12px 34px #0714260e}.case-card h3{margin:10px 0 15px}.lesson{background:#f7f6f2;border-radius:14px;padding:18px;margin-top:22px}.lesson strong{color:#9d7728}.lesson p{margin:6px 0 0}.leader-block{background:#071426;color:#fff;border-radius:22px;padding:42px}.leader-block h2,.leader-block strong{color:#fff}.leader-block p{color:#c8d0d9}.leader-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.leader-grid span{background:#0d2035;border-radius:12px;padding:14px 16px}.insight-cta{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;background:#fff;border-radius:22px;padding:40px;box-shadow:0 12px 34px #0714260e}.form-status{margin-top:12px;font-weight:700}.form-status.success{color:#28704f}.form-status.error{color:#a43838}@media(max-width:800px){.insight-pills{grid-template-columns:1fr 1fr}.case-grid,.insight-cta{grid-template-columns:1fr}}@media(max-width:550px){.insight-pills,.leader-grid{grid-template-columns:1fr}}

.form-status{margin-top:14px;font-weight:700}.form-status.success{color:#28704f}.form-status.error{color:#a43838}

/* V6.16 - TACS heading alignment */
.tacs-stage-heading{
  white-space:nowrap;
  font-size:clamp(2rem,3.2vw,3.35rem);
  line-height:1.08;
  letter-spacing:-0.025em;
  max-width:none;
}

@media(max-width:900px){
  .tacs-stage-heading{
    white-space:normal;
    font-size:clamp(2rem,7vw,3rem);
  }
}
