/* Concept A editorial foundation. Load after each page's existing base CSS.
   Canonical fonts and brand colours remain in assets/design-system/tokens.css. */
:root{
  --paper:#f3f7ff;
  --ink:#06070b;
  --muted:#525d70;
  --line:#d0d8e5;
  --violet:#8a7cff;
  --cyan:#4fe3ff;
  --gold:#f4b544;
  --white:#fff;
  --deep-violet:#5946b2;
  --max:1240px}

*{
  box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:80px}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.65 Satoshi,Arial,sans-serif}
a{
  color:inherit;
  text-decoration:none}
button{
  font:inherit;
  color:inherit;
  cursor:pointer}
button,a,summary{
  -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid var(--deep-violet);
  outline-offset:5px}
img,svg{
  max-width:100%;
  display:block}
img{
  height:auto}
h1,h2,h3,h4,p,figure{
  margin:0}
h1,h2,h3,h4{
  font-family:'Clash Display',Satoshi,Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.08}
h1{
  font-size:clamp(48px,5.8vw,84px)}
h2{
  font-size:clamp(36px,4vw,56px)}
h3{
  font-size:30px}
p{
  overflow-wrap:break-word}
sup{
  font-size:.42em;
  vertical-align:super;
  line-height:0}
::selection{
  background:#c4bbff;
  color:var(--ink)}
.wrap{
  max-width:var(--max);
  width:calc(100% - 96px);
  margin-inline:auto}
.section{
  padding-block:88px}
.eyebrow{
  font-size:11px;
  letter-spacing:.16em;
  line-height:1.5;
  text-transform:uppercase;
  font-weight:700;
  color:var(--muted)}
.lede{
  font-size:21px;
  line-height:1.55;
  color:var(--muted);
  max-width:46ch}
.muted{
  color:var(--muted)}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:50px;
  margin-bottom:46px}
.section-heading>div{
  max-width:680px}
.section-heading .eyebrow{
  margin-bottom:20px}
.section-heading>p{
  max-width:35ch;
  color:var(--muted);
  font-size:16px}
.button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  min-height:48px;
  padding:13px 23px;
  background:var(--ink);
  color:var(--paper);
  border:1px solid var(--ink);
  border-radius:3px;
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  transition:background .18s,transform .18s}
.button:hover{
  background:#27334b;
  transform:translateY(-2px)}
.button-secondary{
  background:transparent;
  color:var(--ink);
  border-color:#b3bed0}
.button-secondary:hover{
  background:#e4eaf6}
.text-link{
  display:inline-flex;
  gap:26px;
  align-items:center;
  min-height:44px;
  font-size:14px;
  font-weight:700;
  border-bottom:1px solid currentColor;
  line-height:1.5;
  padding-block:7px}
.text-link:hover{
  color:var(--deep-violet)}
.button-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px}
.skip{
  position:fixed;
  left:20px;
  top:-100px;
  z-index:60;
  background:var(--ink);
  color:#fff;
  padding:12px 20px}
.skip:focus{
  top:50px}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  font-size:20px;
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1}
.brand img{
  width:36px;
  height:27px}
.brand .life{
  font-weight:400}
.page-breadcrumb{
  padding-top:24px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--muted)}
.page-breadcrumb a{
  text-decoration:underline;
  text-underline-offset:3px}
.app-help{
  display:flex;
  gap:8px 24px;
  flex-wrap:wrap;
  font-size:12px}
.app-help a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  text-decoration:underline;
  text-underline-offset:4px}
.app-help a:hover{
  color:var(--deep-violet)}
details{
  border-top:1px solid var(--line);
  padding:0}
summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  gap:24px;
  justify-content:space-between;
  align-items:center;
  min-height:70px;
  padding:20px 0;
  font-weight:500}
summary::-webkit-details-marker{
  display:none}
summary:after{
  content:'+';
  font-size:23px;
  line-height:1;
  font-weight:400;
  flex:0 0 20px}
details[open]>summary:after{
  content:'−'}
details>p,details>div{
  padding-bottom:24px;
  color:var(--muted);
  max-width:68ch}
.small-note{
  font-size:12px;
  color:var(--muted);
  line-height:1.6}
.cta-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding-block:58px;
  border-top:1px solid var(--ink)}
.cta-band h2{
  max-width:19ch}
.cta-band .button{
  flex-shrink:0}
.home-hero{
  display:grid;
  grid-template-columns:1.45fr 1fr;
  align-items:center;
  gap:65px;
  padding-block:65px 70px}
.home-hero .eyebrow{
  display:flex;
  align-items:center;
  gap:12px}
.home-hero .eyebrow:before{
  content:'';
  width:25px;
  height:1px;
  background:currentColor}
.home-hero h1{
  font-size:clamp(54px,5.9vw,84px);
  max-width:13ch;
  margin:24px 0 27px;
  line-height:1.03;
  letter-spacing:-.035em}
.home-hero h1 em{
  font-style:normal;
  position:relative;
  display:inline-block;
  padding-bottom:9px}
.home-hero h1 em:after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#3ec6e0,var(--violet),var(--gold))}
.home-hero .lede{
  font-size:19px;
  max-width:42ch}
.brand-study{
  position:relative;
  background:linear-gradient(140deg,#e0e8f6,#edf1ff 55%,#f5f7ff);
  aspect-ratio:1.07;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden}
.brand-study .mark{
  width:66%;
  z-index:1;
  filter:drop-shadow(5px 18px 20px #7363c51a)}
.study-ring{
  border:1px solid #b9c4d8;
  width:71%;
  aspect-ratio:1;
  position:absolute;
  transform:rotate(30deg);
  border-radius:1px}
.study-ring.two{
  width:53%;
  transform:rotate(52deg);
  border-color:#c9c1e4}
.study-dot{
  position:absolute;
  width:7px;
  height:7px;
  background:var(--ink);
  border-radius:50%;
  right:12%;
  bottom:15%}
.study-caption{
  display:flex;
  justify-content:space-between;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:10px;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase}
.audience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-block:1px solid var(--line);
  border-top-color:var(--ink)}
.audience-link{
  padding:28px 30px 30px 0;
  display:grid;
  grid-template-columns:1fr 38px;
  gap:10px 25px}
.audience-link+ .audience-link{
  padding-left:38px;
  border-left:1px solid var(--line)}
.audience-link h2{
  font-size:30px;
  line-height:1.13}
.audience-link .eyebrow{
  grid-column:1}
.audience-link p{
  font-size:15px;
  color:var(--muted);
  max-width:42ch}
.audience-link .arrow{
  grid-column:2;
  grid-row:1/4;
  align-self:center;
  font-size:23px;
  border:1px solid var(--line);
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  transition:background .2s}
.audience-link:hover .arrow{
  background:var(--ink);
  color:var(--paper)}
.product-feature{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  background:#e7edf8;
  gap:70px;
  padding:55px 60px;
  align-items:center}
.product-feature h3{
  font-size:52px;
  margin:16px 0 20px}
.product-feature .subhead{
  font-size:24px;
  line-height:1.3;
  margin-bottom:15px;
  color:var(--ink);
  max-width:24ch}
.product-feature p{
  max-width:41ch;
  color:var(--muted)}
.product-feature .app-help{
  margin-top:25px;
  gap:4px 16px;
  font-size:11px}
.screen-frame{
  width:207px;
  background:#fdfdff;
  padding:6px;
  border-radius:30px;
  border:1px solid #bfcadb;
  box-shadow:10px 22px 40px #31457016;
  overflow:hidden}
.screen-frame img{
  width:100%;
  border-radius:24px}
.product-visual{
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:center}
.product-visual .screen-frame{
  width:46%}
.product-visual .screen-frame:nth-child(2){
  transform:translateY(28px)}
.product-figure figcaption{
  font-size:10px;
  color:var(--muted);
  margin-top:44px;
  text-align:center}
.afos-feature{
  display:grid;
  grid-template-columns:.8fr 1.4fr;
  gap:60px;
  padding:36px 0;
  margin-top:18px;
  border-bottom:1px solid var(--line);
  align-items:center}
.afos-feature h3{
  font-size:38px;
  margin:10px 0 17px}
.afos-feature p{
  color:var(--muted);
  max-width:51ch}
.afos-copy{
  display:flex;
  gap:30px;
  align-items:center;
  justify-content:space-between}
.afos-copy>div{
  flex:1}
.afos-feature .text-link{
  white-space:nowrap}
.principles{
  background:var(--ink);
  color:var(--paper);
  padding-block:70px}
.principles-grid{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:80px}
.principles .eyebrow{
  color:#c5bddf}
.principles h2{
  margin-top:24px;
  max-width:11ch;
  font-size:52px}
.principles-list{
  list-style:none;
  margin:0;
  padding:0}
.principles-list li{
  padding:25px 0;
  border-bottom:1px solid #333c4b;
  display:grid;
  grid-template-columns:30px 1fr;
  gap:20px}
.principles-list li:first-child{
  padding-top:0}
.principles-list .number{
  font-size:11px;
  color:#b5acda;
  padding-top:8px}
.principles-list h3{
  font-size:30px;
  margin-bottom:9px}
.principles-list p{
  font-size:15px;
  color:#b6c0d2;
  max-width:49ch}
.home-services{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px}
.service-column{
  border-top:1px solid var(--ink);
  padding-top:28px}
.service-column h3{
  font-size:36px;
  margin:12px 0 18px}
.service-column p{
  color:var(--muted);
  max-width:49ch;
  margin-bottom:24px}
.service-column .small-label{
  font-size:11px;
  letter-spacing:.12em;
  color:var(--muted);
  text-transform:uppercase}
.service-options{
  list-style:none;
  padding:0;
  margin:26px 0 15px}
.service-options li{
  border-top:1px solid var(--line);
  padding:12px 0;
  font-size:14px;
  display:flex;
  justify-content:space-between;
  gap:20px}
.founder-section{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:90px;
  align-items:center;
  padding-block:75px;
  border-top:1px solid var(--line)}
.founder-photo{
  max-width:350px;
  position:relative}
.founder-photo img{
  width:100%;
  aspect-ratio:4/4.4;
  object-fit:cover;
  object-position:50% 30%;
  border-radius:2px}
.founder-photo figcaption{
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:var(--muted);
  margin-top:14px}
.founder-copy h2{
  max-width:16ch;
  margin:20px 0 24px}
.founder-copy p{
  color:var(--muted);
  max-width:48ch;
  margin-bottom:25px}
.reading-list{
  border-top:1px solid var(--line)}
.reading-row{
  display:grid;
  grid-template-columns:.35fr 1.35fr .1fr;
  gap:35px;
  padding:29px 0;
  border-bottom:1px solid var(--line);
  align-items:center}
.reading-row h3{
  font-size:27px;
  max-width:35ch}
.reading-row p{
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--muted)}
.reading-row .arrow{
  font-size:25px}
.reading-row:hover h3{
  color:var(--deep-violet)}

@media(max-width:1100px){
  .wrap{
  width:calc(100% - 64px)}
.home-hero{
  gap:40px}
.home-hero h1{
  font-size:69px}
.home-hero .button{
  padding-inline:15px}
.product-feature{
  padding:40px;
  gap:40px}
.afos-feature{
  grid-template-columns:.7fr 1.3fr;
  gap:30px}
.afos-copy{
  display:block}
.founder-section{
  gap:55px}
.principles-grid{
  gap:50px}
}

@media(max-width:900px){
  .home-hero{
  grid-template-columns:1.25fr .75fr}
.home-hero h1{
  font-size:56px}
.home-hero .lede{
  font-size:18px}
.audience-link h2{
  font-size:26px}
.product-feature{
  gap:35px;
  padding:35px}
.product-feature h3{
  font-size:45px}
.product-feature .subhead{
  font-size:22px}
.product-visual{
  gap:10px}
.afos-copy .text-link{
  margin-top:10px}
.principles h2{
  font-size:45px}
.founder-section{
  gap:40px}
.home-services{
  gap:30px}
}

@media(max-width:700px){
  html{
  scroll-padding-top:65px}
.wrap{
  width:calc(100% - 40px)}
.section{
  padding-block:58px}
.eyebrow{
  font-size:10px}
.lede{
  font-size:18px}
h1{
  font-size:clamp(39px,11vw,58px)}
h2{
  font-size:39px}
h3{
  font-size:29px}
.brand{
  font-size:18px;
  gap:8px}
.brand img{
  width:30px}
.section-heading{
  display:block;
  margin-bottom:32px}
.section-heading>p{
  margin-top:23px;
  font-size:15px}
.home-hero{
  display:block;
  padding-block:40px 35px}
.home-hero h1{
  font-size:clamp(38px,11.5vw,55px);
  max-width:14ch;
  margin:22px 0 24px}
.home-hero .lede{
  font-size:18px}
.home-hero .button-row{
  margin-top:25px;
  gap:10px}
.home-hero .button{
  font-size:12px;
  padding:11px 15px;
  gap:12px}
.home-study{
  margin-top:35px}
.brand-study{
  height:150px;
  aspect-ratio:auto}
.brand-study .mark{
  height:95px;
  width:auto}
.study-ring{
  width:170px}
.study-ring.two{
  width:120px}
.study-dot{
  right:18%;
  bottom:23%}
.study-caption{
  font-size:9px}
.audience-grid{
  grid-template-columns:1fr}
.audience-link{
  padding:22px 0}
.audience-link+ .audience-link{
  padding:22px 0;
  border-left:0;
  border-top:1px solid var(--line)}
.audience-link h2{
  font-size:28px}
.audience-link p{
  font-size:14px}
.product-feature{
  grid-template-columns:1fr;
  padding:28px 23px 35px;
  gap:33px}
.product-feature h3{
  font-size:44px}
.product-feature .subhead{
  font-size:24px}
.product-feature p{
  font-size:15px}
.product-feature .app-help{
  gap:4px 15px}
.product-visual{
  gap:14px}
.product-visual .screen-frame{
  width:44%;
  max-width:200px;
  border-radius:20px;
  padding:4px}
.product-visual .screen-frame img{
  border-radius:16px}
.product-figure figcaption{
  margin-top:41px;
  font-size:10px}
.afos-feature{
  display:block;
  padding-block:28px}
.afos-feature h3{
  font-size:36px}
.afos-copy{
  margin-top:17px}
.afos-copy p{
  font-size:15px}
.principles{
  padding-block:50px}
.principles-grid{
  grid-template-columns:1fr;
  gap:35px}
.principles h2{
  font-size:44px;
  max-width:13ch}
.principles-list li{
  gap:16px;
  padding-block:23px}
.principles-list h3{
  font-size:28px}
.principles-list p{
  font-size:14px}
.home-services{
  grid-template-columns:1fr;
  gap:40px}
.service-column h3{
  font-size:33px}
.service-column p{
  font-size:15px}
.founder-section{
  grid-template-columns:1fr;
  gap:35px;
  padding-block:50px}
.founder-photo{
  max-width:none}
.founder-photo img{
  aspect-ratio:1.35;
  object-position:50% 24%}
.founder-copy h2{
  font-size:40px}
.founder-copy p{
  font-size:15px}
.reading-row{
  grid-template-columns:1fr 24px;
  gap:12px;
  padding:25px 0}
.reading-row p{
  grid-column:1}
.reading-row h3{
  grid-column:1;
  font-size:26px}
.reading-row .arrow{
  grid-column:2;
  grid-row:1/3}
.cta-band{
  display:block;
  padding-block:42px}
.cta-band h2{
  font-size:40px;
  max-width:17ch}
.cta-band .button{
  margin-top:26px}
.page-breadcrumb{
  font-size:11px;
  padding-top:20px}
.section-heading .eyebrow{
  margin-bottom:18px}
summary{
  font-size:15px;
  line-height:1.5}
details>p,details>div{
  font-size:15px}
}

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


h2.section-heading{
  display:block}


/* Production shell: retain all generated destinations and semantic controls. */
.concept-a {
  --text: var(--ink);
  --text-muted: var(--muted);
  --text-faint: #626d80;
  --primary: var(--deep-violet);
  --border-soft: var(--line);
  --border-strong: #aab6cb;
  --glass: transparent;
  --bg: var(--paper);
}
.concept-a::before { content: none; }
.concept-a .wrap { padding-inline: 0; }
.concept-a .header, .concept-a .header.scrolled {
  background: var(--paper); box-shadow: none; border-bottom: 1px solid var(--line);
}
.concept-a .nav { height: 88px; gap: 22px; }
.concept-a .brand { font-family: var(--font-body); font-size: 20px; }
.concept-a .brand .sub { color: inherit; font-weight: 400; }
.concept-a .brand .mark { filter: none; }
.concept-a .nav-links { border: 0; background: transparent; gap: 0; padding: 0; }
.concept-a .nav-links > li > a,
.concept-a .nav-links > li > button.nav-toggle { font-size: 13px; color: var(--ink); min-height: 44px; }
.concept-a .nav-links > li > a:hover,
.concept-a .nav-links > li > button.nav-toggle:hover { background: #e4eaf6; }
.concept-a .nav-drop {
  background: var(--paper); border-color: var(--line); box-shadow: 0 15px 40px #23375422;
}
.concept-a .nav-drop a:hover { color: var(--deep-violet); background: #e4eaf6; }
/* Once the controller is ready, Escape can close a panel while focus returns
   to its trigger. Before that, retain the base keyboard focus-within fallback. */
.concept-a .header.clarity-nav-ready .nav-links > li:not(.open) .nav-drop {
  opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-50%) translateY(6px);
}
.concept-a .header.clarity-nav-ready .nav-links > li:not(.open) .nav-caret { transform: none; }
.concept-a .btn { border-radius: 3px; font-size: 13px; min-height: 44px; }
.concept-a .btn-primary { background: var(--ink); color: var(--paper); }
.concept-a .btn-ghost { color: var(--ink); border-color: #aab6cb; }
.concept-a .btn:hover { transform: none; background: #27334b; color: var(--paper); }
.concept-a .menu-btn { border-radius: 3px; }
.concept-a .mobile-menu { background: var(--paper); padding-top: 108px; }
.concept-a.menu-is-open { overflow: hidden; }
.concept-a .mobile-menu a { font-size: 19px; min-height: 36px; text-align: center; }
.concept-a .mobile-menu .mm-label { color: var(--muted); }
.concept-a .skip-link { background: var(--ink); color: var(--paper); border-radius: 3px; }
.concept-a .footer { margin-top: 0; padding-block: 42px 25px; color: var(--muted); }
.concept-a .footer > .wrap { display: block; font-family: var(--font-body); font-size: 12px; }
.concept-a .foot-nav { gap: 8px 24px; margin-top: 24px; }
.concept-a .foot-nav a { min-height: 32px; display: inline-flex; align-items: center; }
.concept-a .foot-legal { display: grid; gap: 6px; }
.concept-a .foot-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; }
.concept-a .foot-brand p { margin-block: 18px; max-width: 32ch; font-size: 14px; }
.concept-a .foot-contact { display: grid; gap: 8px; }
.concept-a .foot-social { display: flex; gap: 22px; margin-top: 22px; }
.concept-a .foot-cols { display: grid; grid-template-columns: repeat(4,1fr); gap: 25px; }
.concept-a .foot-col { display: flex; flex-direction: column; gap: 6px; }
.concept-a .foot-col a { padding-block: 5px; }
.concept-a .foot-col-label { text-transform: uppercase; letter-spacing: .1em; margin-bottom: 12px; font-size: 10px; }
.concept-a .foot-bottom { margin-top: 35px; padding-top: 22px; border-top: 1px solid var(--line); display: grid; gap: 10px; font-size: 10px; }
.concept-a .footer a:hover { color: var(--deep-violet); text-decoration: underline; }
.clarity-capture { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 55px; padding-block: 48px; border-top: 1px solid var(--line); }
.clarity-capture h2 { font-size: 36px; margin-block: 12px 20px; }
.clarity-capture h3 { font-size: 28px; margin-bottom: 18px; }
.clarity-capture p { color: var(--muted); max-width: 52ch; }
.clarity-capture .small-note { margin-top: 12px; }
.clarity-capture a:not(.button):not(.btn), .research-reference a,
.coaching-more p a { text-decoration: underline; text-underline-offset: 3px; }
.clarity-capture form { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.clarity-capture input { min-width: 0; flex: 1 1 200px; min-height: 48px; padding: 12px; font: inherit; color: var(--ink); background: #fff; border: 1px solid #8996ab; border-radius: 3px; }
.clarity-capture input:focus-visible { outline: 3px solid var(--deep-violet); outline-offset: 3px; }
.clarity-capture button { flex-shrink: 0; }
.clarity-capture button:disabled { cursor: default; opacity: .7; }
.clarity-capture .signup-msg, .clarity-capture .lc-msg { margin-top: 12px; font-size: 14px; }
.clarity-capture .err { color: #9f203c; }
.clarity-capture .ok { color: #176543; }
.community-link { padding-block: 42px 65px; border-top: 1px solid var(--line); }
.community-link h2 { font-size: 36px; margin-block: 16px; }
.research-reference { font-size: 12px; line-height: 1.7; color: var(--muted); margin-top: 26px; }
.coaching-more { padding-block: 42px; border-bottom: 1px solid var(--line); }
.coaching-more h2 { font-size: 32px; margin-bottom: 18px; }
.coaching-more > p { max-width: 72ch; color: var(--muted); }
.coaching-more .text-link { margin-top: 18px; }
.consult-audit { margin-top: 38px; border-top: 1px solid var(--line); padding-top: 25px; }
.anchor-alias { position: relative; display: block; scroll-margin-top: 110px; }
@media (max-width: 1100px) {
  .concept-a .nav { gap: 12px; }
  .concept-a .brand { font-size: 18px; }
  .concept-a .nav-links > li > a, .concept-a .nav-links > li > button.nav-toggle { padding-inline: 7px; }
}
@media (max-width: 1024px) {
  .concept-a .nav { height: 79px; }
  .concept-a .foot-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 700px) {
  .clarity-capture { grid-template-columns: 1fr; gap: 22px; padding-block: 38px; }
  .clarity-capture h2 { font-size: 32px; }
  .concept-a .foot-cols { grid-template-columns: 1fr 1fr; gap: 25px; }
  .concept-a .brand { font-size: 18px; }
  .coaching-more h2 { font-size: 29px; }
}
/* Keep the close control and keyboard loop inside the announced modal. */
.concept-a .mobile-menu { z-index: 10001; }
.concept-a .menu-close-btn {
  position: fixed; top: 20px; right: 20px; padding: 9px 16px; min-height: 44px;
  background: var(--paper); color: var(--ink); border: 1px solid var(--line);
  border-radius: 3px; font-size: 14px;
}
/* Optional-measurement controls share the editorial palette; their consent
   state, copy and event handling remain owned by measurement.js. */
.concept-a .afl-consent,
.concept-a .afl-consent-open {
  --color-text-primary: #06070b;
  --color-text-secondary: #525d70;
  --color-text-tertiary: #525d70;
  --color-action-primary: #5946b2;
  --color-status-warning: #805300;
  --color-border-soft: #d0d8e5;
  --color-border-strong: #8996ab;
  --color-border-active: #5946b2;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(6,7,11,.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.concept-a .afl-consent::before { background: var(--deep-violet); }
.concept-a .afl-consent-kicker { font-family: var(--font-body); }
.concept-a .afl-consent h2 { font-size: 20px; font-weight: 500; }
.concept-a .afl-consent-choice { background: #fff; border-radius: 3px; }
.concept-a .afl-consent-choice:is(:hover,:has(input:checked),:has(input:focus-visible)) {
  background: #e9e5f8; border-color: var(--deep-violet);
}
.concept-a .afl-consent button { border-radius: 3px; }
.concept-a .afl-consent [data-choice="save"] {
  background: var(--ink); color: var(--paper); border-color: var(--ink); box-shadow: none;
}
.concept-a .afl-consent a:hover { color: var(--ink); }
@media (forced-colors: active) {
  .concept-a .afl-consent,
  .concept-a .afl-consent-choice,
  .concept-a .afl-consent button,
  .concept-a .afl-consent-open {
    background: Canvas; color: CanvasText; border-color: ButtonText;
  }
}

/* Paradigm campaign replaces the launch-list capture. Keep supplied artwork intact. */
.product-launch { grid-template-columns: 1fr 1.15fr; gap: 44px; }
.product-launch .product-release { font-size: 13px; margin-block: 22px; }
.campaign-screens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.campaign-screens img { display: block; width: 100%; height: auto; }
.product-campaign figcaption { margin-top: 18px; font-size: 11px; }
@media (max-width: 900px) {
  .product-launch { grid-template-columns: 1fr; }
  .product-campaign { width: 100%; max-width: 520px; justify-self: center; }
}
