
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Sans+Condensed:wght@400;500;600&display=swap');

:root{
  --color-cobalt:#0047AB;
  --color-cobalt-soft:#2364AA;
  --color-orange:#FE5A1D;
  --color-orange-dark:#E04A10;
  --color-purple:#800080;
  --color-black:#1A1A1A;
  --color-text:#243244;
  --color-muted:#5A6878;
  --color-white:#FFFFFF;
  --color-paper:#FCFCFD;
  --color-surface:#F7F8FA;
  --color-surface-alt:#F1F4F8;
  --color-border:#DCE3EB;
  --color-border-strong:#C5D0DC;

  --font-sans:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-condensed:'IBM Plex Sans Condensed', 'IBM Plex Sans', sans-serif;

  --text-xs:0.75rem;
  --text-sm:0.889rem;
  --text-base:1rem;
  --text-lg:1.111rem;
  --text-xl:1.333rem;
  --text-2xl:1.667rem;
  --text-3xl:2.111rem;
  --text-4xl:2.778rem;
  --text-5xl:3.667rem;

  --space-2:0.5rem;
  --space-3:0.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-20:5rem;
  --space-24:6rem;

  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:16px;
  --radius-xl:24px;

  --shadow-sm:0 8px 24px rgba(22,34,51,0.04);
  --shadow-md:0 18px 40px rgba(22,34,51,0.06);
  --max-wide:1240px;
  --max-standard:1100px;
  --max-narrow:720px;
}

*,
*::before,
*::after { box-sizing:border-box; }

html{
  font-size:18px;
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--color-paper);
  color:var(--color-text);
  font-family:var(--font-sans);
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden; /* Prevent horizontal scrolling */
}

main{ overflow:hidden; }

img,svg{ display:block; max-width:100%; }

a{
  color:var(--color-cobalt-soft);
  text-decoration:none;
  transition:all 160ms ease;
}
a:hover{ color:var(--color-cobalt); }

p{
  margin:0 0 var(--space-4);
  color:var(--color-text);
  text-align:left;
}

h1,h2,h3,h4{
  margin:0 0 var(--space-4);
  font-family:var(--font-sans);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-0.02em;
  color:var(--color-black);
}

h1{ font-size:clamp(2.6rem, 5.5vw, 4.4rem); max-width:12ch; }
h2{ font-size:clamp(2rem, 4vw, 3rem); max-width:14ch; }
h3{ font-size:1.45rem; }
h4{ font-size:1.15rem; font-weight:600; }

small,.meta{
  font-size:var(--text-sm);
  color:var(--color-muted);
}

.container{
  width:min(calc(100% - 40px), var(--max-standard));
  margin:0 auto;
}
.container--wide{ width:min(calc(100% - 40px), var(--max-wide)); }
.container--narrow{ width:min(calc(100% - 40px), var(--max-narrow)); }

.section{
  padding:var(--space-24) 0;
}
.section--compact{
  padding:var(--space-16) 0;
}
.section--surface{
  background:var(--color-surface);
  border-top:1px solid rgba(0,71,171,0.05);
  border-bottom:1px solid rgba(0,71,171,0.05);
}
.section--surface-alt{
  background:var(--color-surface-alt);
  border-top:1px solid rgba(0,71,171,0.05);
  border-bottom:1px solid rgba(0,71,171,0.05);
}

.eyebrow{
  display:inline-block;
  margin-bottom:var(--space-4);
  font-family:var(--font-condensed);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--color-cobalt);
}

.hero{
  padding:var(--space-24) 0 var(--space-20);
}
.hero-grid,
.grid-2,
.grid-3,
.grid-4,
.grid-6,
.form-grid{
  display:grid;
  gap:var(--space-6);
}
.hero-grid{
  grid-template-columns: minmax(0,1.02fr) minmax(320px,0.98fr);
  align-items:center;
  gap:var(--space-8);
}
.grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.grid-6{ grid-template-columns:repeat(3,minmax(0,1fr)); }

.hero-subhead,
.section-intro p,
.lead{
  font-size:clamp(1.05rem,1.8vw,1.33rem);
  color:#213245;
  max-width:34ch;
}

.hero-audience{
  margin-top:var(--space-5);
  font-size:var(--text-sm);
  color:var(--color-muted);
}

.btn-group{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-4);
  margin-top:var(--space-8);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 1.2rem;
  border-radius:999px;
  border:1px solid transparent;
  font-size:var(--text-sm);
  font-weight:600;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
}
.btn--primary{
  background:var(--color-orange);
  color:var(--color-white);
  border-color:var(--color-orange);
  box-shadow:0 10px 22px rgba(254,90,29,0.16);
}
.btn--primary:hover{
  background:var(--color-orange-dark);
  border-color:var(--color-orange-dark);
  color:var(--color-white);
  transform:translateY(-1px);
}
.btn--secondary{
  background:var(--color-white);
  color:var(--color-cobalt);
  border-color:rgba(0,71,171,0.18);
}
.btn--secondary:hover{
  background:#F8FBFF;
  border-color:rgba(0,71,171,0.32);
}
.btn--ghost{
  padding-left:0;
  padding-right:0;
  background:transparent;
  border:0;
  color:var(--color-cobalt);
}

.section-intro{
  max-width:660px;
  margin-bottom:var(--space-10);
}

.accent-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:var(--space-6);
}
.accent-kicker::before{
  content:"";
  width:36px;
  height:2px;
  background:linear-gradient(90deg, var(--color-cobalt), rgba(128,0,128,0.75));
}
.accent-kicker span{
  font-family:var(--font-condensed);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--color-muted);
}

.card,
.panel,
.article-card,
.callout,
.form-panel,
.metric-card,
.stage-card,
.product-card{
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}

.card,
.panel,
.article-card,
.callout,
.form-panel,
.metric-card,
.product-card{
  padding:var(--space-8);
}

.card h3, .panel h3, .article-card h3, .product-card h3, .stage-card h4{
  margin-bottom:var(--space-3);
}

.card-accent{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-condensed);
  font-size:0.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.11em;
  color:var(--color-muted);
  margin-bottom:var(--space-4);
}
.card-accent::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--color-cobalt);
  box-shadow:0 0 0 6px rgba(0,71,171,0.08);
}

.hero-panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,250,253,0.98));
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-md);
  padding:var(--space-10);
}

.hero-framework-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:var(--space-6);
  font-family:var(--font-condensed);
  font-size:0.78rem;
  color:var(--color-muted);
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.hero-framework-title::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--color-cobalt);
  box-shadow:0 0 0 6px rgba(0,71,171,0.08);
}

.framework-list{
  display:grid;
  gap:14px;
}
.framework-item{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:linear-gradient(180deg, #fff, #fbfcfe);
}
.framework-item strong{
  display:block;
  font-size:0.8rem;
  color:var(--color-cobalt);
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:6px;
}
.stage-number{
  width:48px;
  height:48px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F5F9FF;
  border:1px solid rgba(0,71,171,0.14);
  color:var(--color-cobalt);
  font-weight:700;
}

.signal-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:var(--space-6);
}
.signal-chip{
  padding:14px 16px;
  border-radius:14px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid rgba(0,71,171,0.12);
  box-shadow:var(--shadow-sm);
}
.signal-chip strong{
  display:block;
  margin-bottom:6px;
  color:var(--color-black);
  font-size:var(--text-sm);
}

.pull-quote{
  padding-left:var(--space-6);
  border-left:3px solid var(--color-cobalt);
  color:var(--color-purple);
  font-size:1.25rem;
  font-weight:500;
  line-height:1.45;
  margin:var(--space-8) 0;
}

.checklist{
  display:grid;
  gap:14px;
  padding:0;
  margin:0;
  list-style:none;
}
.checklist li{
  position:relative;
  padding-left:28px;
  margin:0;
  color:var(--color-text);
}
.checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--color-cobalt);
  box-shadow:0 0 0 6px rgba(0,71,171,0.10);
}

.metric-card{
  padding:var(--space-6);
}
.metric-number{
  font-size:1.9rem;
  font-weight:700;
  line-height:1;
  color:var(--color-cobalt);
  margin-bottom:var(--space-4);
}

.stage-card{
  padding:var(--space-8);
}
.stage-label{
  display:inline-block;
  margin-bottom:var(--space-4);
  font-family:var(--font-condensed);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.11em;
  text-transform:uppercase;
  color:var(--color-cobalt);
}

.callout{
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color:rgba(0,71,171,0.16);
  border-left:3px solid var(--color-cobalt);
}
.callout h3{
  color:var(--color-black);
}

.product-card{
  display:flex;
  flex-direction:column;
  gap:var(--space-5);
  height:100%;
}
.product-tag,
.article-tag{
  display:inline-flex;
  width:fit-content;
  padding:7px 12px;
  border-radius:999px;
  background:#F5F9FF;
  border:1px solid rgba(0,71,171,0.12);
  color:var(--color-cobalt);
  font-family:var(--font-condensed);
  font-size:0.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.09em;
}

.value-panel{
  padding:var(--space-8);
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid rgba(0,71,171,0.14);
  border-left:3px solid rgba(128,0,128,0.85);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}

.article-featured{
  display:grid;
  grid-template-columns:minmax(240px,0.85fr) minmax(0,1.15fr);
  gap:var(--space-8);
  align-items:stretch;
}
.article-featured-media{
  border-radius:var(--radius-lg);
  border:1px solid var(--color-border);
  background:
    radial-gradient(circle at top left, rgba(0,71,171,0.08), transparent 52%),
    radial-gradient(circle at bottom right, rgba(128,0,128,0.07), transparent 40%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
  min-height:280px;
  padding:var(--space-8);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  font-family:var(--font-condensed);
  font-size:0.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.09em;
  color:var(--color-muted);
  margin-bottom:var(--space-4);
}
.article-card a{
  color:inherit;
}
.article-card:hover{
  transform:translateY(-2px);
  transition:transform 160ms ease;
}
.read-more{
  display:inline-flex;
  margin-top:var(--space-4);
  color:var(--color-cobalt);
  font-weight:600;
  min-height:44px; /* Ensure touch target size */
  align-items:center;
}

.form-wrap{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:var(--space-8);
}
label{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-condensed);
  font-size:0.72rem;
  font-weight:600;
  color:var(--color-cobalt);
  letter-spacing:0.1em;
  text-transform:uppercase;
}
input, textarea{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(0,71,171,0.14);
  background:#fff;
  font:inherit;
  color:var(--color-black);
}
textarea{ min-height:150px; resize:vertical; }
.form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.form-grid .full{ grid-column:1 / -1; }

.inline-note{
  padding:18px 20px;
  border-radius:14px;
  border:1px solid rgba(0,71,171,0.09);
  background:#FAFCFF;
}

.cta-panel{
  padding:var(--space-10);
  border-radius:var(--radius-xl);
  border:1px solid rgba(0,71,171,0.12);
  border-left:3px solid var(--color-cobalt);
  background:
    radial-gradient(circle at top right, rgba(0,71,171,0.08), transparent 35%),
    radial-gradient(circle at bottom left, rgba(128,0,128,0.06), transparent 35%),
    linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow:var(--shadow-md);
}

.text-link-list{
  display:grid;
  gap:14px;
}
.text-link-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px;
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:14px;
}
.text-link-item::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--color-cobalt), rgba(128,0,128,0.85));
  margin-top:8px;
  flex-shrink:0;
}

.article-body p{
  max-width:64ch;
}
.article-body .callout{
  margin:var(--space-8) 0;
}

@media (max-width: 1080px){
  .hero-grid,
  .grid-2,
  .article-featured,
  .form-wrap{ grid-template-columns:1fr; }
  .grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .signal-row{ grid-template-columns:1fr; }
}

@media (max-width: 760px){
  html{ font-size:17px; }
  .section{ padding:var(--space-16) 0; }
  .hero{ padding:var(--space-20) 0 var(--space-16); }
  .container,
  .container--wide,
  .container--narrow{ width:min(calc(100% - 28px), var(--max-wide)); }
  .grid-3, .grid-4, .grid-6, .form-grid{ grid-template-columns:1fr; }
  .btn-group{ flex-direction:column; align-items:stretch; }
  .btn{ width:100%; }
}

/* Add medium breakpoint for phones */
@media (max-width: 600px){
  .form-wrap{ grid-template-columns:1fr; }
  .signal-row{ grid-template-columns:1fr; }
  .hero-grid{ gap:var(--space-4); }
  input, textarea{ padding:12px 14px; }
  .section-intro{ margin-bottom:var(--space-8); }
  .hero-panel{ padding:var(--space-8); }
  .cta-panel{ padding:var(--space-8); }
}

/* Add small phone breakpoint */
@media (max-width: 380px){
  html{ font-size:16px; }
  .container{ width:calc(100% - 20px); }
  h1{ font-size:clamp(1.8rem, 5vw, 3rem); }
  h2{ font-size:clamp(1.4rem, 3.5vw, 2.2rem); }
  .section{ padding:var(--space-12) 0; }
  .hero{ padding:var(--space-16) 0 var(--space-12); }
  .card,
  .panel,
  .article-card,
  .callout,
  .form-panel,
  .metric-card,
  .stage-card,
  .product-card,
  .hero-panel,
  .cta-panel,
  .text-link-item{ padding:var(--space-6); }
  .btn{ min-height:48px; padding:0 1rem; }
  .framework-item,
  .hero-phase{ padding:12px; }
  .signal-chip{ padding:12px 14px; }
  .text-link-item{ padding:12px; gap:12px; }
  .company-details{ padding:var(--space-6); }
  .company-details__row{ padding:10px 0; }
}



/* Added site shell */
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(252,252,253,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,71,171,0.08);
}
.site-header__inner{
  width:min(calc(100% - 40px), var(--max-wide));
  margin:0 auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.brand__name{
  font-family:var(--font-sans);
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  color:var(--color-black);
}
.brand__tag{
  font-family:var(--font-condensed);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--color-muted);
  line-height:1.2;
}
.site-nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.site-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  color:var(--color-text);
  font-size:var(--text-sm);
  font-weight:500;
}
.site-nav a:hover{
  background:#fff;
  color:var(--color-cobalt);
}
.site-nav a.is-current{
  background:#fff;
  border:1px solid rgba(0,71,171,0.1);
  color:var(--color-cobalt);
}
.site-footer{
  margin-top:var(--space-16);
  background:var(--color-surface);
  border-top:1px solid rgba(0,71,171,0.08);
}
.site-footer__inner{
  width:min(calc(100% - 40px), var(--max-wide));
  margin:0 auto;
  padding:var(--space-12) 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.25fr 0.8fr 0.8fr 0.8fr 1fr;
  gap:var(--space-8);
}
.footer-title{
  margin:0 0 var(--space-3);
  font-family:var(--font-condensed);
  font-size:0.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--color-muted);
}
.footer-links{
  display:grid;
  gap:10px;
}
.footer-links a{
  color:var(--color-text);
  font-size:var(--text-sm);
}
.footer-links a:hover{
  color:var(--color-cobalt);
}
.footer-note{
  margin-top:var(--space-8);
  padding-top:var(--space-6);
  border-top:1px solid rgba(0,71,171,0.08);
  font-size:var(--text-sm);
  color:var(--color-muted);
}

@media (max-width: 980px){
  .site-header__inner{
    min-height:auto;
    padding:14px 0;
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 760px){
  .site-nav{
    width:100%;
    gap:8px;
  }
  .site-nav a{
    min-height:40px;
    padding:0 12px;
  }
  .footer-grid{
    grid-template-columns:1fr;
  }
}


/* Refresh: simpler hero system panel */
.hero-panel--simple{
  padding: var(--space-8);
}
.hero-panel--simple .hero-framework-title{
  margin-bottom: var(--space-5);
}
.hero-summary{
  display:grid;
  gap:14px;
}
.hero-summary p{
  margin:0;
}
.hero-phase-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:var(--space-4);
}
.hero-phase{
  padding:14px 16px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
}
.hero-phase strong{
  display:block;
  margin-bottom:4px;
  font-size:0.82rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--color-cobalt);
}
@media (max-width:760px){
  .hero-phase-list{ grid-template-columns:1fr; }
}


/* Final alignment refinements */
.product-card .btn{
  margin-top:auto;
}
.product-card p{
  flex-grow:1;
}


/* Interaction refinements inspired by uploaded layout */
.card,
.panel,
.article-card,
.callout,
.form-panel,
.metric-card,
.stage-card,
.product-card,
.hero-panel,
.cta-panel,
.text-link-item{
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.card:hover,
.panel:hover,
.article-card:hover,
.callout:hover,
.metric-card:hover,
.stage-card:hover,
.product-card:hover,
.hero-panel:hover,
.text-link-item:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 36px rgba(22,34,51,0.08);
  border-color: var(--color-border-strong);
}

/* Company details format */
.company-details{
  padding: var(--space-8);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: var(--shadow-sm);
}
.company-details__row{
  display:grid;
  grid-template-columns: 160px 1fr;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,71,171,0.08);
}
.company-details__row:last-child{
  border-bottom: 0;
}
.company-details__label{
  font-family: var(--font-condensed);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-muted);
}
.company-details__value{
  color: var(--color-text);
}
@media (max-width: 760px){
  .company-details__row{
    grid-template-columns: 1fr;
    gap: 6px;
  }
}


/* Small-card hover behaviour for Home and ApexIQ */
.framework-item,
.hero-phase{
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.framework-item:hover,
.hero-phase:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 36px rgba(22,34,51,0.08);
  border-color: var(--color-border-strong);
}


/* 2026 visual refinement pass */
:root{
  --shadow-lg:0 24px 52px rgba(22,34,51,0.10);
}

body{
  background:
    radial-gradient(circle at top, rgba(0,71,171,0.025), transparent 38%),
    var(--color-paper);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:2px solid rgba(0,71,171,0.25);
  outline-offset:3px;
}

.btn{
  position:relative;
  overflow:hidden;
  transition:transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}
.btn--primary{
  box-shadow:0 12px 24px rgba(254,90,29,0.14);
}
.btn--secondary,
.btn--ghost{
  box-shadow:none;
}
.btn--secondary:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,71,171,0.08);
}
.btn--ghost:hover{
  transform:translateX(2px);
}

.hero-panel,
.card,
.panel,
.article-card,
.callout,
.form-panel,
.metric-card,
.stage-card,
.product-card,
.text-link-item,
.company-details,
.framework-item,
.hero-phase{
  position:relative;
}

.hero-panel::after,
.card::after,
.panel::after,
.article-card::after,
.callout::after,
.form-panel::after,
.metric-card::after,
.stage-card::after,
.product-card::after,
.text-link-item::after,
.company-details::after{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:100%;
  height:0;
  border-bottom-left-radius:inherit;
  border-bottom-right-radius:inherit;
  background:linear-gradient(90deg, rgba(0,71,171,0.16), rgba(128,0,128,0.12));
  transition:height 180ms ease, opacity 180ms ease;
  opacity:0;
  pointer-events:none;
}

.card:hover::after,
.panel:hover::after,
.article-card:hover::after,
.callout:hover::after,
.form-panel:hover::after,
.metric-card:hover::after,
.stage-card:hover::after,
.product-card:hover::after,
.hero-panel:hover::after,
.text-link-item:hover::after,
.company-details:hover::after{
  height:3px;
  opacity:1;
}

.card:hover h3,
.panel:hover h3,
.article-card:hover h3,
.metric-card:hover h3,
.stage-card:hover h4,
.product-card:hover h3{
  color:var(--color-cobalt);
}

.hero{
  position:relative;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,71,171,0.14), transparent);
}

.hero-subhead,
.section-intro p,
.lead{
  max-width:38ch;
}

.section-intro h2{
  text-wrap:balance;
}

.callout .checklist,
.value-panel .checklist,
.panel .checklist{
  margin-top:var(--space-4);
}

.inline-note{
  border-left:3px solid var(--color-cobalt);
  background:linear-gradient(180deg, #fbfdff 0%, #ffffff 100%);
}

input, textarea{
  transition:border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
input:hover, textarea:hover{
  border-color:rgba(0,71,171,0.24);
}
input:focus, textarea:focus{
  border-color:rgba(0,71,171,0.38);
  box-shadow:0 0 0 4px rgba(0,71,171,0.08);
  outline:none;
}

.hero.hero--compact{
  padding:var(--space-20) 0 var(--space-12);
}

details.panel{
  overflow:hidden;
}

details.panel summary{
  list-style:none;
}
details.panel summary::-webkit-details-marker{
  display:none;
}

/* WinScore Preview disclosure redesign */
.disclosure-grid{
  align-items:start;
}
.disclosure-card{
  padding:0;
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.disclosure-card summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:var(--space-8);
  cursor:pointer;
  font-size:1.05rem;
  font-weight:600;
  color:var(--color-black);
}
.disclosure-card summary strong{
  font-size:inherit;
}
.disclosure-card summary::after{
  content:"+";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(0,71,171,0.16);
  background:#f8fbff;
  color:var(--color-cobalt);
  font-size:1.25rem;
  line-height:1;
  flex-shrink:0;
  transition:transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.disclosure-card[open] summary::after{
  content:"–";
  transform:rotate(180deg);
}
.disclosure-card summary:hover::after{
  background:#ffffff;
  border-color:rgba(0,71,171,0.28);
}
.disclosure-card > div{
  padding:0 var(--space-8) var(--space-8);
  border-top:1px solid rgba(0,71,171,0.08);
}
.disclosure-card ul.checklist{
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px 20px;
}
.disclosure-card .checklist li{
  margin:0;
}
.disclosure-card .checklist li::before{
  top:9px;
}

@media (max-width: 760px){
  .disclosure-card summary{
    padding:var(--space-6);
  }
  .disclosure-card > div{
    padding:0 var(--space-6) var(--space-6);
  }
  .disclosure-card ul.checklist{
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior:auto;
  }
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
}
