:root{
  --ink:#101c33; --ink-soft:#38465c; --ink-faint:#687386;
  --rule:#d9dde5; --paper:#fdfcf8; --card:#ffffff;
  --blue-light:#274caa; --blue-dark:#172e68; --blue-soft:#f0f3fb;
  --gold-light:#a9853d; --gold-dark:#6f5423; --gold-soft:#f5f1e8;
  --accent:var(--blue-light); --accent-soft:var(--blue-soft);
  --blue-gradient:linear-gradient(135deg,var(--blue-light),var(--blue-dark));
  --gold-gradient:linear-gradient(90deg,var(--gold-light),var(--gold-dark));
  --measure:44rem;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Iowan Old Style",Palatino,"Palatino Linotype",Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--paper); color:var(--ink); font:400 1.0625rem/1.62 var(--sans)}
.cgc-wrap{max-width:var(--measure); margin:0 auto; padding:1.25rem 1.35rem 5rem}
.cgc-wrap--wide{max-width:40rem}
.cgc-brand{padding-bottom:.7rem; margin-bottom:1.1rem; border-bottom:1px solid var(--rule)}
.cgc-logo{display:block; width:280px; max-width:100%; height:auto}
.cgc-brand--compact{margin-bottom:1.5rem}
.cgc-eyebrow{
  color:var(--blue-dark); font:800 .85rem/1.4 var(--sans);
  letter-spacing:.14em; text-transform:uppercase; margin:0 0 .6rem;
}
h1.cgc-result{font:650 2.1rem/1.15 var(--serif); margin:0 0 1.6rem; letter-spacing:-.01em}
h1.cgc-title{font:650 clamp(2.25rem,5vw,3rem)/1.08 var(--serif); margin:0 0 1.3rem; letter-spacing:-.025em; color:var(--blue-dark)}
h2.cgc-sub{font:400 1.15rem/1.35 var(--serif); margin:0 0 2.5rem; color:var(--ink-soft)}
.cgc-header{
  color:var(--ink-soft); font:800 .85rem/1.4 var(--sans);
  letter-spacing:.14em; text-transform:uppercase; margin:2.75rem 0 .85rem;
  padding-top:1.6rem; border-top:1px solid var(--rule);
}
p{margin:0 0 1.15rem}
.cgc-quote{margin:0 0 1.5rem; padding:1.15rem 1.3rem; background:var(--gold-soft); border-left:3px solid var(--gold-light); font-style:italic; color:var(--ink)}
.cgc-quote p{margin:0}
h2.cgc-subhead{font:650 1.2rem/1.35 var(--serif); margin:2.75rem 0 .9rem}
.cgc-section{margin:0 0 .5rem}
.cgc-bridge{margin-top:2.5rem; padding-top:1.6rem; border-top:1px solid var(--rule)}
.cgc-util{font-size:.9rem; color:var(--ink-faint); font-style:italic}
.cgc-closing{font-size:.95rem; color:var(--ink-soft)}
.cgc-cta{margin:2rem 0 1.25rem; text-align:center}
.cgc-btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:3.35rem;
  padding:1rem 2.15rem; border:0; border-radius:4px; cursor:pointer;
  color:#fff; background:var(--blue-gradient); box-shadow:0 10px 24px rgba(23,46,104,.2);
  font:800 .82rem/1 var(--sans); letter-spacing:.11em; text-decoration:none; text-transform:uppercase;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.cgc-btn:hover{background:var(--blue-dark); box-shadow:0 13px 28px rgba(23,46,104,.26); transform:translateY(-1px)}
.cgc-btn:focus-visible,.cgc-opt:focus-visible,.cgc-back:focus-visible{outline:3px solid rgba(39,76,170,.3); outline-offset:3px}
.cgc-btn[disabled]{opacity:.45; cursor:default; transform:none}
.cgc-btn--ghost{background:transparent; color:var(--blue-dark); border:1px solid var(--rule); box-shadow:none}
.cgc-btn--ghost:hover{background:var(--blue-soft)}
.cgc-state{padding:2.5rem 0}
.cgc-foot{margin-top:4rem; padding-top:1.5rem; border-top:1px solid var(--rule); font-size:.8rem; color:var(--ink-faint)}

/* Assessment opening, questions, and gate */
.cgc-assessment-page{min-height:100vh; background:var(--paper)}
.cgc-assessment-shell{max-width:48rem; padding-top:clamp(1rem,3vw,2.25rem)}
.cgc-screen{
  position:relative; overflow:hidden; padding:clamp(1.6rem,5vw,3.75rem);
  background:rgba(255,255,255,.82); border:1px solid rgba(23,46,104,.12);
  border-radius:6px; box-shadow:0 24px 70px rgba(19,34,68,.09);
}
.cgc-screen::before{content:""; position:absolute; inset:0 0 auto; height:5px; background:var(--blue-gradient)}
.cgc-screen--opening::after,.cgc-screen--gate::after{
  content:""; position:absolute; z-index:0; right:-8rem; bottom:-10rem; width:22rem; height:22rem;
  border:1.35rem solid rgba(39,76,170,.035); border-radius:50%; pointer-events:none;
}
.cgc-screen > *{position:relative; z-index:1}
.cgc-screen-lead{max-width:36rem; margin-bottom:1.35rem; color:#273a59; font:600 1.45rem/1.42 var(--serif)}
.cgc-duration{
  display:inline-flex; margin:.4rem 0 .2rem; padding:.7rem .9rem;
  background:var(--blue-soft); border-left:4px solid var(--gold-light);
  color:var(--blue-dark); font-size:.95rem; font-weight:750;
}
.cgc-privacy{display:flex; align-items:flex-start; gap:.55rem; margin-top:1.6rem; color:var(--ink-faint); font-size:.9rem}
.cgc-privacy::before{content:"✓"; color:var(--gold-dark); font-weight:900}
.cgc-progress{height:6px; overflow:hidden; margin-bottom:1.7rem; background:#e7eaf0; border-radius:999px}
.cgc-progress i{display:block; width:0; height:100%; background:var(--gold-gradient); border-radius:inherit; transition:width .3s ease}
.cgc-part{
  margin:0 0 1.05rem; padding-left:.75rem; border-left:3px solid var(--gold-light);
  color:var(--blue-dark); font:800 .78rem/1.45 var(--sans); letter-spacing:.08em; text-transform:uppercase;
}
.cgc-stem{margin:0 0 1.75rem; color:var(--ink); font:650 1.72rem/1.35 var(--serif); letter-spacing:-.01em}
.cgc-opts{display:grid; gap:.8rem; list-style:none; margin:0; padding:0}
.cgc-opt{
  display:block; width:100%; min-height:3.75rem; padding:1rem 1.15rem; margin:0;
  text-align:left; color:var(--ink); background:var(--card); border:1px solid var(--rule);
  border-radius:7px; cursor:pointer; box-shadow:0 5px 16px rgba(23,46,104,.045);
  font:500 1.03rem/1.5 var(--sans); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.cgc-opt:hover{border-color:var(--blue-light); background:#fff; box-shadow:0 8px 20px rgba(23,46,104,.09); transform:translateY(-1px)}
.cgc-opt[aria-pressed="true"]{border-color:var(--blue-light); background:var(--blue-soft); box-shadow:0 0 0 1px var(--blue-light)}
.cgc-opt:disabled{cursor:default}
.cgc-nav{display:flex; align-items:center; gap:1rem; margin-top:1.5rem; min-height:2.5rem}
.cgc-back{padding:.55rem 0; color:var(--blue-dark); background:none; border:0; cursor:pointer; font:700 .86rem/1 var(--sans)}
.cgc-back::before{content:"←"; margin-right:.45rem}
.cgc-back:hover{color:var(--blue-light)}
.cgc-note{font-size:.88rem; color:var(--ink-faint); margin-top:2rem}
#cgc-gate-embed{
  position:relative; margin-top:2rem; padding:.8rem .8rem 0; overflow:hidden;
  background:#fff; border:1px solid var(--rule); border-radius:5px;
  box-shadow:0 14px 34px rgba(23,46,104,.08);
}
#cgc-gate-embed::before{content:""; position:absolute; z-index:2; inset:0 0 auto; height:4px; background:var(--gold-gradient)}
.cgc-gate-frame,#cgc-gate-embed iframe{display:block; width:100%; min-height:480px; border:0; border-radius:3px}

/* Findings / Quick Glimpse */
.cgc-findings-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 100% 0,rgba(39,76,170,.07),transparent 34rem),
    var(--paper);
}
.cgc-findings-wrap{max-width:56rem}
.cgc-findings{
  overflow:hidden; background:rgba(255,255,255,.84);
  border:1px solid rgba(23,46,104,.13); border-radius:7px;
  box-shadow:0 24px 70px rgba(19,34,68,.09);
}
.cgc-findings-hero{
  position:relative; padding:clamp(1.5rem,4vw,2.5rem) clamp(2rem,6vw,4.5rem);
  background:linear-gradient(145deg,#fff 0%,#f7f8fc 100%);
  border-bottom:1px solid var(--rule);
}
.cgc-findings-hero::before{content:""; position:absolute; inset:0 0 auto; height:5px; background:var(--blue-gradient)}
.cgc-findings-hero::after{
  content:""; position:absolute; right:-6.5rem; bottom:-8rem; width:18rem; height:18rem;
  border:1.1rem solid rgba(39,76,170,.04); border-radius:50%; pointer-events:none;
}
.cgc-findings-hero > *{position:relative; z-index:1}
.cgc-findings-hero h1{max-width:42rem; margin-bottom:0; color:var(--blue-dark); font-size:clamp(2.45rem,6vw,4rem)}
.cgc-finding-section{padding:0 clamp(2rem,6vw,4.5rem)}
.cgc-finding-section .cgc-header{margin-top:0; padding-top:1.6rem}
.cgc-finding-section--movement{background:var(--blue-soft); padding-bottom:2.35rem}
.cgc-finding-section--movement .cgc-header{border-top:0}
.cgc-movement{max-width:42rem; margin:0; color:var(--blue-dark); font:650 1.35rem/1.45 var(--serif)}
.cgc-evidence-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem}
.cgc-findings .cgc-quote{height:100%; margin:0; padding:1.35rem 1.45rem; background:var(--gold-soft); font-style:normal}
.cgc-findings .cgc-quote figcaption{
  margin-bottom:.65rem; color:var(--gold-dark); font:800 .7rem/1.4 var(--sans);
  letter-spacing:.11em; text-transform:uppercase;
}
.cgc-findings .cgc-quote blockquote{margin:0; color:var(--ink); font:italic 1.05rem/1.6 var(--serif)}
.cgc-finding-section--indicates{padding-bottom:clamp(1.75rem,4vw,2.75rem)}
.cgc-finding-summary{max-width:44rem; margin:0; color:var(--ink); font:500 1.35rem/1.55 var(--serif)}
.cgc-finding-closer{max-width:44rem; margin:1.6rem 0 0; color:var(--blue-dark); font:650 clamp(1.7rem,4vw,2.25rem)/1.15 var(--serif); letter-spacing:-.01em}
.cgc-panel{
  display:grid; grid-template-columns:minmax(0,1fr) 38%; align-items:center; gap:clamp(1.25rem,3vw,2rem);
  min-height:300px; padding:clamp(1.75rem,4vw,2.25rem) clamp(1.5rem,4vw,2.5rem);
  background:linear-gradient(145deg,#f4f6fc 0%,#e9eef9 100%);
  border-top:4px solid var(--blue-light);
}
.cgc-panel-body{min-width:0}
.cgc-panel-headline{margin:0 0 .8rem; color:var(--blue-dark); font:650 clamp(2rem,5vw,2.75rem)/1.12 var(--serif); letter-spacing:-.01em}
.cgc-panel-instruction{max-width:34rem; margin:0 0 1rem; color:var(--ink); font-size:1rem; line-height:1.5}
.cgc-panel-copy{display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:0 0 .8rem}
.cgc-copy-btn{
  min-height:2.75rem; padding:.7rem 1.4rem; border:0; border-radius:4px; cursor:pointer;
  color:#fff; background:var(--blue-gradient); box-shadow:0 8px 20px rgba(23,46,104,.18);
  font:800 .82rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase;
}
.cgc-copy-btn:hover{background:var(--blue-dark)}
.cgc-copy-btn:focus-visible,.cgc-mail-links a:focus-visible{outline:3px solid rgba(39,76,170,.35); outline-offset:3px}
.cgc-copied{min-width:4rem; color:var(--blue-dark); font:700 .9rem/1.2 var(--sans)}
.cgc-mail-links{display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; padding:0; list-style:none}
.cgc-mail-links a{
  display:inline-flex; align-items:center; min-height:2.5rem; padding:.55rem .9rem;
  color:var(--blue-dark); background:#fff; border:1px solid rgba(23,46,104,.28); border-radius:4px;
  font:750 .86rem/1 var(--sans); text-decoration:none;
}
.cgc-mail-links a:hover{background:var(--blue-soft); border-color:var(--blue-light)}
.cgc-panel-fallback{max-width:34rem; margin:0; color:var(--ink-soft); font-size:.9rem; line-height:1.5}
.cgc-panel-mockup{display:block; width:100%; height:auto}
[hidden]{display:none!important}
@media (max-width:600px){
  .cgc-wrap{padding:1rem .8rem 3rem}
  .cgc-screen{padding:1.65rem 1.2rem 2rem; border-radius:4px}
  .cgc-brand{margin-bottom:.9rem; padding-bottom:.6rem}
  .cgc-logo{width:220px}
  h1.cgc-title{font-size:2.05rem}
  .cgc-screen-lead{font-size:1.24rem}
  .cgc-stem{font-size:1.45rem}
  .cgc-opt{padding:.95rem 1rem; font-size:1rem}
  .cgc-btn{width:100%}
  #cgc-gate-embed{margin-inline:-.35rem; padding:.55rem .35rem 0}
  .cgc-gate-frame,#cgc-gate-embed iframe{min-height:430px}
  .cgc-findings-wrap{padding:1rem .8rem 3rem}
  .cgc-findings-hero,.cgc-finding-section{padding-right:1.35rem; padding-left:1.35rem}
  .cgc-findings-hero h1{font-size:2.35rem}
  .cgc-movement,.cgc-finding-summary{font-size:1.18rem}
  .cgc-panel{grid-template-columns:1fr; min-height:0; padding:1.75rem 1.35rem}
  .cgc-panel-mockup{order:2; margin-top:.5rem}
}
@media print{
  body{background:#fff}
  .cgc-cta,.cgc-foot{display:none}
  .cgc-wrap{max-width:none; padding:0}
  .cgc-screen{box-shadow:none}
}
