/* Spacing + background refinement pass: closer teal background and consistent panel spacing. */

/* ============================
   Consciousness Mechanics
   Core site stylesheet
   ============================ */

:root{
  --bg-deep:#27595b;
  --bg-mid:#008080;

  --panel:#ffffff;
  --ink:#142127;
  --muted:#5a6b73;

  --teal:#008080;
  --teal-2:#006d6d;
  --orange:#e69838;
  --orange-dark:#c57d22;
  --ring:rgba(230,152,56,.35);

  --radius:16px;
  --shadow:0 20px 60px rgba(0,0,0,.22);
  --shadow-soft:0 10px 25px rgba(0,0,0,.11);

  --max:900px;
  --gutter:16px;

  --header-logo:62px;
  --header-nav-size:12px;

  --rhythm:12px;
  --section-pad:14px;
  --stack-gap:14px;

  --ccm-icon-h:1.05em;
  --ccm-icon-w:2.05em;
  --ccm-icon-gap:.45em;
  --ccm-icon-opacity:.65;
}

*{ box-sizing:border-box; }

html, body{ min-height:100%; }
html{ scroll-behavior:smooth; }
:target{ scroll-margin-top:90px; }

body{
  margin:0;
  font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  overflow-x:clip;
  background:linear-gradient(180deg, #0a7273 0%, #096a6b 100%);
}

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

.container{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}

/* ---------- Header ---------- */

[data-include="header"]{
  display:contents;
}

.site-header{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:1000;
  padding-top:5px;
  padding-bottom:3px;
  background:#0a7676;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:11px;
}

.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  text-decoration:none;
}

.brand-logo{
  width:var(--header-logo);
  height:var(--header-logo);
  object-fit:contain;
  flex:0 0 auto;
}

.site-header .brand-logo{
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.22));
}

.brand-name{
  color:#eaf6f7;
  font-weight:900;
  letter-spacing:.015em;
  font-size:18px;
  line-height:1.05;
  white-space:nowrap;
}

.brand-name-lite{
  font-weight:750;
  opacity:.95;
}

.nav{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0;
  padding:0;
}

.nav-link{
  color:rgba(234,246,247,.9);
  text-decoration:none;
  font-size:var(--header-nav-size);
  font-weight:700;
  letter-spacing:.01em;
  padding:5px 2px;
  border-bottom:2px solid transparent;
  transition:.18s ease;
  white-space:nowrap;
  opacity:.92;
}

.nav-link:hover{
  color:rgba(234,246,247,1);
  border-bottom-color:rgba(245,155,0,.75);
  opacity:1;
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(234,246,247,.92);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nav-toggle:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  transform:translateY(-1px);
}

.nav-toggle:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(245,155,0,.28);
  border-color:rgba(245,155,0,.55);
}

.nav-toggle-bars{
  position:relative;
  width:20px;
  height:14px;
  display:block;
}

.nav-toggle-bars::before,
.nav-toggle-bars::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:999px;
  background:rgba(234,246,247,.92);
  transition:transform .18s ease, top .18s ease, opacity .18s ease;
}

.nav-toggle-bars::before{
  top:0;
  box-shadow:0 6px 0 rgba(234,246,247,.92);
}

.nav-toggle-bars::after{
  top:12px;
}

.site-header.is-nav-open .nav-toggle-bars::before{
  top:6px;
  box-shadow:none;
  transform:rotate(45deg);
}

.site-header.is-nav-open .nav-toggle-bars::after{
  top:6px;
  transform:rotate(-45deg);
}

/* ---------- Main ---------- */

.main{
  padding-top:var(--stack-gap);
  padding-bottom:28px;
}

.main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}

.main-grid > *,
.below .container > *{
  min-width:0;
}

.main-grid-stretch{
  align-items:stretch;
}

.main-grid-stretch > .hero,
.main-grid-stretch > .panel{
  height:100%;
}

.index-hero-grid{
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}

.index-hero-grid > *{
  height:100%;
  align-self:stretch;
}

/* ---------- Hero ---------- */

.hero{
  width:100%;
  background:linear-gradient(180deg, #0b8787 0%, #047d7d 100%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:21px;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
}

.hero > *{ position:relative; }

.hero-title{
  margin:8px 0 8px;
  line-height:1.05;
  font-size:clamp(26px, 3.1vw, 42px);
  letter-spacing:-.03em;
  color:rgba(255,255,255,.94);
}

.hero-title-sm{
  margin:0;
  font-size:clamp(22px, 2.7vw, 36px);
}

.hero-sub{
  max-width:56ch;
  margin:0 0 14px;
  color:rgba(244,251,251,.92);
  font-size:12px;
  line-height:1.45;
}

.hero-sub-tight{ margin-bottom:0; }

.hero-compact{
  min-height:auto;
  padding:20px;
}

.hero-inline-hero{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  justify-content:flex-start;
  gap:16px;
  flex-wrap:wrap;
  text-align:left;
}

.hero-inline-hero .hero-title{
  margin:0;
  flex:0 0 auto;
}

.hero-inline{
  flex:1 1 480px;
  min-width:0;
  max-width:84ch;
  margin:0;
  opacity:.92;
}

.hero-actions{
  margin-left:auto;
  display:flex;
  gap:10px;
  align-items:center;
}

.index-hero-grid > .hero .hero-title{
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.02;
  margin:10px 0 10px;
}

.index-hero-grid > .hero .hero-sub{
  font-size:16px;
  line-height:1.5;
}

.index-hero-grid > .hero{
  justify-content:flex-start;
}

.cm-hero-sub{
  max-width:none;
}

/* ---------- Panels ---------- */

.panel{
  width:100%;
  max-width:100%;
  background:var(--panel);
  border-radius:var(--radius);
  padding:17px;
  border:1px solid rgba(20,33,39,.06);
  box-shadow:
    0 6px 16px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.panel-title{
  margin:6px 0 10px;
  font-size:16px;
  letter-spacing:-.015em;
}

.panel-text{
  margin:0 0 8px;
  color:rgba(14,23,27,.78);
  line-height:1.45;
  font-size:12px;
}

.panel-text:last-child{ margin-bottom:0; }

.panel-text a{
  color:var(--orange);
  font-weight:850;
  text-decoration:none;
  border-bottom:2px solid rgba(245,155,0,.55);
}

.panel-text a:hover{
  border-bottom-color:rgba(245,155,0,.95);
}

.wide-panel{
  width:100%;
  margin-top:0;
}

/* ---------- Sections ---------- */

.below{ padding:0; }
.below + .below{ margin-top:var(--stack-gap); }
.below .container > * + *{ margin-top:var(--stack-gap); }

/* ---------- Section titles ---------- */

.section-title{
  display:inline-flex;
  align-items:center;
  gap:var(--ccm-icon-gap);
  margin:0 0 12px;
  padding-left:0;
}

.section-title::before{
  content:"";
  display:inline-block;
  width:var(--ccm-icon-w);
  height:var(--ccm-icon-h);
  flex:0 0 auto;
  background-image:url("/assets/logo/cm-logo.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:var(--ccm-icon-opacity);
  transform:translateY(.06em);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.35));
}

.kicker{
  margin:0 0 6px;
  font-weight:800;
  letter-spacing:.2px;
  color:rgba(14,23,27,.92);
}

.section-divider{
  height:1px;
  margin:12px 0;
  opacity:.12;
  background:linear-gradient(90deg, transparent, rgba(20,33,39,.35), transparent);
}

.chunk-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:8px;
}

.orange-points{
  list-style:none;
  padding-left:0;
  margin:8px 0 0;
  display:grid;
  gap:8px;
}

.orange-points li{
  display:grid;
  grid-template-columns:14px 1fr;
  align-items:start;
  column-gap:10px;
}

.orange-points li::before{
  content:"";
  width:10px;
  height:10px;
  margin-top:6px;
  border-radius:999px;
  background:var(--orange);
  box-shadow:0 0 0 3px rgba(245,155,0,.18);
}

  .ccm-page .orange-points li span{
    font-size:12px;
    line-height:1.45;
    color:rgba(14,23,27,.78);
  }

/* ---------- Utilities ---------- */

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ---------- Forms ---------- */

.form-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:stretch;
}

.field{ flex:1 1 220px; }

input[type="email"]{
  width:100%;
  padding:11px;
  border-radius:12px;
  border:1px solid rgba(20,33,39,.18);
  outline:none;
  font-size:12px;
  transition:.15s ease;
}

input[type="email"]:focus{
  border-color:rgba(245,155,0,.85);
  box-shadow:0 0 0 5px var(--ring);
}

.btn-submit{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:var(--orange);
  color:#162126;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
  flex:0 0 auto;
}

.btn-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(245,155,0,.18);
}

.fine{
  margin-top:8px;
  font-size:12.5px;
  color:rgba(20,33,39,.72);
  line-height:1.45;
}

.status{
  display:none;
  margin-top:8px;
  font-size:12.5px;
  line-height:1.45;
}

/* ---------- Buttondown ---------- */

#notify .embeddable-buttondown-form{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}

#notify .embeddable-buttondown-form label{ font-weight:600; }

#notify .embeddable-buttondown-form input[type="email"]{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.18);
  background:rgba(255,255,255,.85);
  color:#111;
  outline:none;
}

#notify .embeddable-buttondown-form input[type="email"]:focus{
  border-color:rgba(47,143,139,.85);
  box-shadow:0 0 0 4px rgba(47,143,139,.18);
}

#notify .embeddable-buttondown-form input[type="submit"]{
  width:156px;
  padding:8px 12px;
  border-radius:10px;
  border:0;
  background:var(--orange);
  color:#111;
  font-weight:700;
  cursor:pointer;
}

#notify .embeddable-buttondown-form input[type="submit"]:hover{
  filter:brightness(.95);
}

#notify .embeddable-buttondown-form input[type="submit"]:active{
  transform:translateY(1px);
}

#notify .cm-signals-msg{
  margin-top:12px;
  padding:8px 12px;
  font-size:.95rem;
  font-weight:600;
  border-radius:8px;
}

#notify .cm-signals-msg.is-ok{
  color:#1e6d69;
  background:rgba(47,143,139,.12);
  border:1px solid rgba(47,143,139,.35);
}

#notify .cm-signals-msg.is-error{
  color:#8b1f1f;
  background:rgba(176,0,32,.08);
  border:1px solid rgba(176,0,32,.35);
}

#notify .cm-signals-msg:empty,
#notify .status:empty{
  display:none;
}

#notify form.embeddable-buttondown-form p > a[href*="buttondown.com/refer"]{
  display:none !important;
}

.notify-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:6px;
}

.notify-row input[type="submit"]{ flex:0 0 auto; }
.notify-row .fine{ margin:0; }

/* ---------- Features ---------- */

.features{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  align-items:stretch;
  margin:0;
}

.feature-card{
  border-radius:var(--radius);
  padding:16px;
  background:#008080;
  border:1px solid rgba(255,255,255,.16);
  color:rgba(234,246,247,.9);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease;
  display:grid;
  grid-template-columns:40px 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:4px;
  align-content:start;
}

.feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}

.feature-badge{
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(245,155,0,.28);
  background:var(--orange);
  color:#162126;
  font-weight:850;
  opacity:.92;
  grid-column:1;
  grid-row:1 / span 2;
  flex-shrink:0;
}

.feature-card h3{
  margin:0;
  font-size:12px;
  letter-spacing:-.01em;
  grid-column:2;
}

.feature-card p{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:rgba(234,246,247,.82);
  grid-column:2;
}

.feature-link{
  display:flex;
  align-items:flex-start;
  gap:12px;
  text-decoration:none;
  color:#fff;
  transition:all .18s ease;
}

.feature-link:hover{ transform:translateY(-2px); }
.feature-link h3{ color:#fff; }
.feature-link p{ color:rgba(255,255,255,.85); }
.feature-link:hover h3{ color:var(--orange); }

/* ---------- Updates ---------- */

.updates-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.updates-link{
  font-size:12px;
  font-weight:800;
  color:rgba(20,33,39,.70);
  white-space:nowrap;
}

.updates-link a{
  color:var(--orange);
  font-weight:850;
  text-decoration:none;
  border-bottom:2px solid rgba(245,155,0,.55);
}

.updates-link a:hover{
  border-bottom-color:rgba(245,155,0,.95);
}

.updates,
.updates-panel,
.updates-list,
.updates-items,
.updates-item,
.update-item,
.updates-card{
  max-width:100%;
}

.updates-item *,
.update-item *,
.updates-card *{
  min-width:0;
}

.updates-item a,
.update-item a,
.updates-card a,
.updates-item h3,
.update-item h3,
.updates-card h3{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* ---------- Signals ---------- */

.signals-list{
  display:grid;
  gap:12px;
}

.signal-card{
  border:1px solid rgba(11,127,132,.28);
  border-radius:14px;
  padding:10px 12px;
  background:linear-gradient(180deg, rgba(11,127,132,.24), rgba(11,127,132,.12));
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  transition:border-color .18s ease;
}

.signal-card:hover{
  border-color:rgba(11,127,132,.40);
}

.signal-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.signal-main{
  min-width:0;
  flex:1 1 auto;
}

.signal-card-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}

.signal-card-copy{ min-width:0; }

.signal-title{
  font-weight:850;
  letter-spacing:-.01em;
  color:rgba(14,23,27,.92);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.signal-text{
  margin-top:4px;
  font-size:12.5px;
  line-height:1.45;
  color:rgba(14,23,27,.78);
}

.signal-text a,
.signal-detail a{
  color:var(--orange);
  font-weight:850;
  text-decoration:none;
  border-bottom:2px solid rgba(245,155,0,.55);
}

.signal-text a:hover,
.signal-detail a:hover{
  border-bottom-color:rgba(245,155,0,.95);
}

.signal-date{
  font-size:12.5px;
  color:rgba(20,33,39,.60);
  white-space:nowrap;
}

.signal-chip{
  font-size:12px;
  font-weight:850;
  padding:4px 10px;
  border-radius:999px;
  color:rgba(20,33,39,.92);
  white-space:nowrap;
  margin-top:1px;
  flex:0 0 auto;
}

.signal-chip.is-video{
  background:rgba(245,155,0,.20);
  border:1px solid rgba(245,155,0,.38);
}

.signal-chip.is-site{
  background:rgba(11,127,132,.18);
  border:1px solid rgba(11,127,132,.30);
}

.signal-chip.is-doc{
  background:rgba(20,33,39,.09);
  border:1px solid rgba(20,33,39,.14);
}

.signal-chip.is-model{
  background:rgba(42,94,116,.18);
  border:1px solid rgba(42,94,116,.34);
}

/* ---------- Drawer / model nav ---------- */

.model-main-grid{
  grid-template-columns:minmax(0, 3fr) minmax(320px, 2fr);
  align-items:stretch;
}

.model-main-grid > .hero,
.model-main-grid > .model-side-panel{
  height:100%;
}

.model-main-grid .hero{
  min-height:0;
}

.model-side-panel{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
}

.model-side-panel .panel-title{
  margin-top:0;
  margin-bottom:8px;
  font-size:16px;
  letter-spacing:-.015em;
}

.model-side-panel .panel-text{
  margin-bottom:0;
  font-size:12px;
  line-height:1.45;
  color:rgba(14,23,27,.78);
}

.model-side-seq-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:auto;
}

.model-side-navbtn{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid rgba(245,155,0,.34);
  background:rgba(245,155,0,.10);
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.model-side-navbtn:hover{
  transform:translateY(-1px);
  background:rgba(245,155,0,.16);
  border-color:rgba(245,155,0,.48);
  box-shadow:0 10px 18px rgba(0,0,0,.06);
}

.model-side-navbtn:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(245,155,0,.22);
}

.model-side-navlabel{
  font-size:11px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(20,33,39,.58);
}

.model-side-navtitle{
  font-size:12px;
  font-weight:850;
  color:var(--orange);
  white-space:nowrap;
}

.model-side-navbtn.is-next{ text-align:right; }

.model-path-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(20,33,39,.10);
  background:rgba(11,127,132,.04);
}

.model-path-left,
.model-path-right{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.model-path-right{
  gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(20,33,39,.14);
}

.model-path-cta-title,
.model-mini-title{
  font-size:12px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(20,33,39,.56);
}

.model-path-cta-row{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:12px;
}

.model-path-cta-text{
  margin:0;
  color:rgba(14,23,27,.72);
  font-size:12px;
  line-height:1.4;
}

/* Make button tighter horizontally */
.model-map-open-compact{
  min-height:42px;
  padding:10px 14px;
  white-space:nowrap;
}

/* Current path stacked vertically */
/* Horizontal breadcrumb with vertical indicators */
.model-current-path{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

/* Each level */
.model-current-step{
  display:flex;
  align-items:center;
  gap:8px;
}

/* Arrow between levels */
.model-current-sep{
  color:rgba(20,33,39,.42);
  font-weight:850;
  font-size:12px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.model-current-link,
.model-current-node{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
  line-height:1;
  border:1px solid transparent;
}

.model-current-link{
  color:var(--orange-dark);
  background:rgba(245,155,0,.10);
  border-color:rgba(245,155,0,.30);
  transition:background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}

.model-current-link:hover{
  background:rgba(245,155,0,.16);
  border-color:rgba(245,155,0,.46);
  transform:translateY(-1px);
}

.model-current-node{
  color:rgba(20,33,39,.96);
  background:rgba(11,127,132,.12);
  border-color:rgba(11,127,132,.30);
}

.model-map-open{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 14px;
  border-radius:12px;
  border:1px solid rgba(245,155,0,.34);
  background:rgba(245,155,0,.12);
  color:rgba(20,33,39,.94);
  font-weight:850;
  font-size:12px;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.model-map-open:hover{
  transform:translateY(-1px);
  background:rgba(245,155,0,.18);
  border-color:rgba(245,155,0,.48);
  box-shadow:0 10px 18px rgba(0,0,0,.08);
}

.model-map-open:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(245,155,0,.22);
}


@media (max-width: 980px){
  .model-path-card{
    grid-template-columns:1fr;
  }

  .model-path-right{
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(20,33,39,.14);
    padding-top:12px;
  }
}

.model-mini-tree{
  display:grid;
  gap:10px;
  margin-top:8px;
}

.model-mini-branch{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:18px;
}

.model-mini-branch-deeper{
  margin-left:36px;
}

.model-mini-arrow{
  color:rgba(20,33,39,.42);
  font-weight:800;
  font-size:12px;
  line-height:1;
  flex:0 0 auto;
}

.model-mini-node{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height:40px;
  padding:8px 14px;
  border-radius:999px;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
  line-height:1;
  border:1px solid transparent;
  transition:background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}

.model-mini-node.is-action{
  color:var(--orange-dark);
  background:rgba(245,155,0,.10);
  border-color:rgba(245,155,0,.30);
}

.model-mini-node.is-action:hover{
  background:rgba(245,155,0,.16);
  border-color:rgba(245,155,0,.46);
  transform:translateY(-1px);
}

.model-mini-node.is-current,
.model-mini-node[aria-current="page"]{
  color:rgba(20,33,39,.96);
  background:rgba(11,127,132,.12);
  border-color:rgba(11,127,132,.30);
}

.model-map-open:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(245,155,0,.22);
}

.model-seq-nav{
  padding-top:16px;
  padding-bottom:16px;
}

.model-seq-row{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.model-seq-link{
  flex:1 1 280px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid rgba(245,155,0,.34);
  background:rgba(245,155,0,.08);
  transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.model-seq-link:hover{
  background:rgba(245,155,0,.14);
  border-color:rgba(245,155,0,.48);
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(0,0,0,.06);
}

.model-seq-label{
  font-size:11px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(20,33,39,.56);
}

.model-seq-title{
  font-size:12px;
  font-weight:850;
  color:var(--orange);
}

.model-seq-link.is-next{ text-align:right; }

/* Shared disabled state for model navigation items */

.model-link.is-disabled,
.model-side-navbtn.is-disabled,
.model-seq-link.is-disabled{
  color:#8a8f98;
  opacity:.65;
  cursor:default;
  pointer-events:none;
  text-decoration:none;
  border-color:rgba(20,33,39,.14);
  background:rgba(20,33,39,.04);
  box-shadow:none;
  transform:none;
}

.model-link.is-disabled:hover,
.model-link.is-disabled:focus,
.model-side-navbtn.is-disabled:hover,
.model-side-navbtn.is-disabled:focus,
.model-seq-link.is-disabled:hover,
.model-seq-link.is-disabled:focus{
  color:#8a8f98;
  text-decoration:none;
  border-color:rgba(20,33,39,.14);
  background:rgba(20,33,39,.04);
  box-shadow:none;
  transform:none;
}

.model-side-navbtn.is-disabled .model-side-navlabel,
.model-side-navbtn.is-disabled .model-side-navtitle,
.model-seq-link.is-disabled .model-seq-label,
.model-seq-link.is-disabled .model-seq-title{
  color:#8a8f98;
}

.model-drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:1390;
  background:rgba(10,18,22,.34);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.model-drawer-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.model-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:1400;
  width:min(430px, calc(100vw - 20px));
  height:100vh;
  height:100dvh;
  padding:20px 18px 22px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#f7f8f8;
  border-left:1px solid rgba(20,33,39,.08);
  box-shadow:-20px 0 40px rgba(0,0,0,.16);
  transform:translateX(105%);
  transition:transform .20s ease;
}

.model-drawer[aria-hidden="false"]{
  transform:translateX(0);
}

body.is-model-drawer-open{ overflow:hidden; }

.model-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}

.model-drawer-close{
  min-width:44px;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(20,33,39,.10);
  background:rgba(20,33,39,.04);
  color:rgba(20,33,39,.88);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.model-drawer-close:hover{
  background:rgba(245,155,0,.12);
  border-color:rgba(245,155,0,.34);
  transform:translateY(-1px);
}

.model-drawer-close:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(245,155,0,.22);
}

.model-branch + .model-branch{ margin-top:2px; }

.model-list{
  display:grid;
  gap:8px;
  margin-top:8px;
}

.model-link{
  display:block;
  padding:8px 11px;
  border-radius:11px;
  text-decoration:none;
  color:var(--orange);
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  border:1px solid rgba(245,155,0,.34);
  background:rgba(245,155,0,.10);
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.model-link:hover{
  background:rgba(245,155,0,.18);
  border-color:rgba(245,155,0,.52);
  color:var(--orange-dark);
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(0,0,0,.05);
}

.model-link.is-current,
.model-link[aria-current="page"]{
  color:rgba(20,33,39,.96);
  background:rgba(11,127,132,.12);
  border-color:rgba(11,127,132,.30);
  font-weight:800;
}

/* ---------- Origins timeline ---------- */

.timeline{
  position:relative;
  display:grid;
  gap:12px;
  margin:12px 0;
}

.timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:18px;
  width:2px;
  background:linear-gradient(
    180deg,
    rgba(245,155,0,.28),
    rgba(11,127,132,.22)
  );
  opacity:.9;
}

.timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:44px 1fr;
  column-gap:12px;
  align-items:start;
}

.timeline-dot{
  position:relative;
  z-index:1;
  width:14px;
  height:14px;
  margin-top:18px;
  margin-left:11px;
  border-radius:999px;
  background:var(--orange);
  box-shadow:
    0 0 0 4px rgba(245,155,0,.18),
    0 4px 10px rgba(0,0,0,.10);
}

.timeline-card{
  min-width:0;
}

.timeline-title{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.25;
  letter-spacing:-.01em;
  color:rgba(14,23,27,.94);
}

/* ---------- Signals controls / expansion ---------- */

.signals-filters{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:2px 0 10px;
}

.signals-pills{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.signals-pill,
.signals-ctl,
.signal-more{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(245,155,0,.34);
  background:rgba(245,155,0,.10);
  color:var(--orange);
  font:inherit;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.signals-pill{
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
}

.signals-pill:hover,
.signals-ctl:hover,
.signal-more:hover{
  background:rgba(245,155,0,.16);
  border-color:rgba(245,155,0,.48);
  color:var(--orange-dark);
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(0,0,0,.05);
}

.signals-pill.is-active{
  color:rgba(20,33,39,.96);
  background:rgba(11,127,132,.12);
  border-color:rgba(11,127,132,.30);
  box-shadow:none;
}

.signals-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.signals-ctl{
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
}

.signal-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12.5px;
  vertical-align:middle;
}

.signal-more .chev{
  font-size:11px;
  line-height:1;
  transition:transform .18s ease;
}

.signal-more[aria-expanded="true"] .chev{
  transform:rotate(180deg);
}

.signal-detail{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(20,33,39,.10);
}

.signal-detail-p{
  margin:0 0 8px;
  font-size:12.5px;
  line-height:1.45;
  color:rgba(14,23,27,.78);
}

.signal-detail-p:last-child{
  margin-bottom:0;
}

.signal-card[hidden]{
  display:none !important;
}

/* ---------- CCM ---------- */

.ccm-hero{ align-items:stretch; }

.ccm-hero-copy{
  display:block;
  width:100%;
}

.ccm-hero .hero-title{ margin:0 0 8px; }

.ccm-hero .hero-inline{
  flex:0 0 auto;
  max-width:100%;
}

.ccm-info-panel .panel-text:not(.ccm-glance-intro),
.ccm-side-block .panel-text{
  max-width:78ch;
}

.ccm-info-panel .ccm-glance-intro{
  max-width:none;
  width:100%;
}

.ccm-cube-feature,
.ccm-full-figure{
  margin:0;
  padding:16px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(11,127,132,.05), rgba(245,155,0,.04));
  border:1px solid rgba(20,33,39,.08);
}

.ccm-cube-feature img{
  width:100%;
  max-width:760px;
  margin:0 auto;
  border-radius:12px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}

.ccm-full-figure img{
  width:100%;
  border-radius:12px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}

.ccm-figure-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}

.ccm-figure-actions .model-side-navbtn{
  flex:1 1 220px;
  text-decoration:none;
}

.ccm-glance-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(260px, .65fr);
  grid-template-areas:
    "intro intro"
    "cube side"
    "bottom bottom";
  gap:18px 24px;
  align-items:start;
  margin-top:10px;
}

.ccm-glance-intro{
  grid-area:intro;
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  margin-bottom:0;
}

.ccm-cube-feature-compact{
  grid-area:cube;
  margin:0;
  padding:14px;
}

.ccm-cube-feature-compact img{
  width:100%;
  max-width:none;
  margin:0;
  display:block;
}

.ccm-glance-side{
  grid-area:side;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.ccm-side-block{
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(11,127,132,.05), rgba(245,155,0,.03));
  border:1px solid rgba(20,33,39,.08);
}

.ccm-side-title{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.01em;
  color:rgba(20,33,39,.96);
}

.ccm-side-block .panel-text{ margin-bottom:0; }

.ccm-glance-bottom{
  grid-area:bottom;
  grid-column:1 / -1;
  width:100%;
  max-width:none;
}

.ccm-glance-bottom .panel-text{
  margin-bottom:0;
  max-width:none;
}

.ccm-diagram-note{
  margin-top:6px;
  font-size:12.5px;
  color:rgba(20,33,39,.55);
  line-height:1.4;
}

.cm-life-scale{
  margin-top:8px;
  margin-bottom:0;
  opacity:0.5;
}

.cm-life-scale img{
  width:100%;
  height:auto;
  display:block;
}

.cm-life-scale{
  mask-image: linear-gradient(to top, transparent 0%, black 25%);
}

.ccm-glance-layout-branch{
  display:grid;
  grid-template-columns:minmax(0, 2.15fr) minmax(235px, .62fr);
  gap:18px;
  align-items:stretch;
}

.ccm-glance-layout-branch .ccm-cube-feature,
.ccm-glance-layout-branch .ccm-glance-side{
  height:100%;
}

.ccm-glance-side-branch{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  min-width:0;
}

.ccm-glance-side-branch .ccm-side-block{
  flex:0 0 auto;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

@media (max-width: 900px){
  .ccm-glance-layout-branch{
    grid-template-columns:1fr;
  }

  .ccm-glance-side-branch{
    display:grid;
    grid-template-rows:auto;
  }
}

/* ---------- Misc ---------- */

.panel-link{
  display:inline-block;
  margin-top:4px;
  font-weight:600;
  color:var(--orange);
  text-decoration:none;
}

.panel-link:hover{
  color:var(--orange-dark);
  text-decoration:underline;
}

.btn{
  display:inline-block;
  padding:10px 18px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  font-size:12px;
  line-height:1.2;
  transition:all .18s ease;
}

.btn-orange{
  background:var(--orange);
  color:#162126;
  border:1px solid rgba(0,0,0,.10);
}

.btn-orange:hover{
  background:#d98900;
  color:#162126;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(245,155,0,.18);
}

.nav-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:12px 18px;
  background:#efe6d8;
  border:1px solid #e3c79a;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;
  color:#d98a1e;
  transition:all .18s ease;
}

.nav-btn:hover{
  background:#f5ead8;
  color:#c67608;
  transform:translateY(-1px);
}

.site-footer{
  padding-top:18px;
  padding-bottom:28px;
  margin-top:14px;
  color:rgba(234,246,247,.72);
  font-size:12px;
  border-top:1px solid rgba(255,255,255,.10);
}

.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.site-footer a{
  color:rgba(234,246,247,.85);
  text-decoration:none;
  border-bottom:1px solid rgba(245,155,0,.35);
}

.site-footer a:hover{
  border-bottom-color:rgba(245,155,0,.75);
}

.to-top{
  position:fixed;
  z-index:1200;
  left:50%;
  bottom:calc(14px + env(safe-area-inset-bottom));
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:var(--orange);
  color:#162126;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0,0,0,.22);
  opacity:0;
  transform:translate(-50%, 10px);
  pointer-events:none;
  transition:.18s ease;
}

.to-top.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}

.to-top:hover{
  transform:translate(-50%, -2px);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}

/* ---------- Responsive ---------- */

@media (max-width: 940px){
  .main-grid{ grid-template-columns:1fr; }
  .features{ grid-template-columns:1fr; }
  .chunk-grid{ grid-template-columns:1fr; }

  .header-inner{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    min-height:56px;
  }

  .nav{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:12px;
    padding-bottom:3px;
  }

  .nav::-webkit-scrollbar{ height:0; }

  .model-main-grid{
    grid-template-columns:1fr;
    align-items:start;
  }

  .model-main-grid > .hero,
  .model-main-grid > .model-side-panel{
    height:auto;
  }

  .model-side-panel{ order:2; }

  .ccm-glance-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "intro"
      "cube"
      "side"
      "bottom";
  }

  .coming-layout{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto auto !important;
  }

  .coming-layout .section-title{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  .coming-media{
    grid-column:1 !important;
    grid-row:2 !important;
  }

  .coming-content{
    grid-column:1 !important;
    grid-row:3 !important;
    min-width:0;
  }

  .coming-media img{
    height:auto;
    max-height:220px;
    margin:0 auto;
    width:auto;
  }
}

@media (max-width: 720px){
  :root{ --gutter:16px; }

  body{
    padding-top:70px;
    background-attachment:scroll, scroll, scroll;
  }

  .site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    padding-top:2px;
    padding-bottom:1px;
  }

  .header-inner{
    flex-direction:column;
    gap:4px;
    min-height:0;
  }

  .header-top{
    gap:8px;
    align-items:center;
  }

  .brand{ gap:8px; }

  .brand-logo{
    width:56px;
    height:56px;
  }

  .brand-name{
    font-size:12px;
    line-height:1;
  }

  .nav-toggle{
    display:inline-flex;
    width:44px;
    height:44px;
  }

  .nav{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    overflow:hidden;
    max-height:0;
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
    gap:0;
    padding:0;
    margin:0;
    border-top:0;
    transition:max-height .22s ease, opacity .18s ease, transform .18s ease;
  }

  .nav.is-open{
    max-height:420px;
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
    padding-top:10px;
    padding-bottom:6px;
    margin-top:8px;
    border-top:1px solid rgba(255,255,255,.10);
  }

  .nav-link{
    display:block;
    padding:14px;
    border-bottom:0;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
  }

  .nav-link + .nav-link{ margin-top:8px; }

  .nav-link:hover{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.14);
  }

  .nav-link[aria-current="page"],
  .nav-link.is-current{
    background:rgba(245,155,0,.14);
    border-color:rgba(245,155,0,.38);
  }

  .main{ padding-top:0; }

  .hero{
    min-height:auto;
    height:auto;
    padding:16px;
  }

  .hero-inline-hero{
    flex-direction:column;
    gap:10px;
  }

  .hero-inline{
    flex:1 1 auto;
    max-width:100%;
  }

  .hero-title{
    font-size:2.1rem;
    line-height:1.08;
    letter-spacing:-.02em;
    margin-bottom:10px;
  }

  .hero-sub{
    font-size:1rem;
    line-height:1.45;
    max-width:60ch;
    margin-bottom:14px;
  }

  .hero-actions{ margin-left:0; }

  .panel{
    padding:16px;
    border-radius:18px;
  }

  .form-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .btn-submit{ width:100%; }

  .notify-row{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .signal-top{
    flex-direction:column;
    align-items:stretch;
  }

  .signal-date{ align-self:flex-end; }

  .signals-pill,
  .signals-ctl{ padding:8px 12px; }

  .signal-more{
    position:relative;
  }
  .signal-more::after{
    content:'';
    position:absolute;
    inset:-10px 0;
  }
  .signal-title{ white-space:normal; }

  .signals-filters{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .signals-pills{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
    margin-right:-16px;
    padding-right:16px;
  }

  .signals-pills::-webkit-scrollbar{ height:0; }

  .signals-pill{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .signals-controls{
    width:100%;
    flex-wrap:nowrap;
  }

  .signals-ctl{
    flex:1 1 0;
    min-width:0;
    white-space:nowrap;
    text-align:center;
  }

  .timeline::before{ left:14px; }

  .timeline-item{
    grid-template-columns:36px 1fr;
    column-gap:12px;
  }

  .timeline-dot{ margin-left:8px; }

  .model-side-seq-buttons{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .model-seq-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .model-seq-link{
    flex:unset;
    min-height:44px;
    padding:10px 12px;
  }

  .model-side-navbtn{
    min-height:44px;
    padding:10px 12px;
  }

  .model-side-navlabel,
  .model-seq-label{
    font-size:11px;
  }

  .model-side-navtitle,
  .model-seq-title{
    font-size:12px;
  }

  .model-side-navbtn.is-next,
  .model-seq-link.is-next{
    text-align:right;
  }

  .model-path-card{ grid-template-columns:1fr; }

  .model-path-right{
    border-left:0;
    border-top:1px solid rgba(20,33,39,.08);
    padding-left:0;
    padding-top:10px;
  }

  .model-map-open{
    width:100%;
    justify-content:space-between;
  }

  .model-drawer{
    width:100%;
    max-width:100%;
    padding:16px 14px 20px;
  }

  .ccm-cube-feature,
  .ccm-full-figure{
    padding:12px;
  }

  .ccm-figure-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .ccm-figure-actions .model-side-navbtn{
    flex:unset;
    min-height:44px;
    padding:10px 12px;
  }

  .ccm-figure-actions .model-side-navlabel{
    font-size:11px;
  }

  .ccm-figure-actions .model-side-navtitle{
    font-size:12px;
    white-space:normal;
  }

  .updates-item,
  .update-item,
  .updates-card{
    flex-wrap:wrap;
  }
}

/* ---------- Home content summary ---------- */

.coming-layout{
  display:grid;
  grid-template-columns:320px 1fr;
  grid-template-rows:auto 1fr;
  column-gap:28px;
  row-gap:12px;
  align-items:start;
}

.coming-layout .section-title{
  grid-column:1 / -1;
  grid-row:1;
  margin-bottom:0;
}

.coming-media{
  grid-column:1;
  grid-row:2;
  display:flex;
  align-items:center;
  justify-content:center;
}

.coming-media img{
  height:260px;
  width:100%;
  object-fit:contain;
  display:block;
}

.coming-content{
  grid-column:2;
  grid-row:2;
}


.ccm-side-note-block{
  margin-top:auto;
}

.ccm-side-note-block .kicker{
  font-size:12px;
  margin-bottom:6px;
}

.ccm-side-note-block .panel-text{
  font-size:11.5px;
  line-height:1.45;
  color:rgba(20,33,39,.60);
  margin-bottom:0;
}

.model-side-navbtn .model-side-navtitle{
  white-space:normal;
  overflow-wrap:anywhere;
}

.model-list-tree{
  gap:8px;
  margin-top:10px;
}

.model-link-branch{
  display:block;
  font-weight:850;
}

.model-link-child{
  margin-left:18px;
  width:calc(100% - 18px);
}

.model-link-child::before{
  content:"↳";
  margin-right:8px;
  color:rgba(20,33,39,.42);
  font-weight:800;
}

.ccm-full-figure a img{
  display:block;
  transition:transform 0.2s ease, opacity 0.2s ease;
}

.ccm-full-figure a:hover img{
  transform:scale(1.02);
  opacity:0.9;
}

.visual-frame{
  height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:14px;
  background:rgba(255,255,255,0.02);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.05);
}

.visual-frame-inner{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.visual-frame-inner img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.visual-frame-inner-aoe{
  padding:20px 16px 28px;
}

.overview-top{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:12px;
}

.overview-cta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.cm-definition-block{
  background:linear-gradient(180deg, #0a7f7f 0%, #006f6f 100%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:20px 24px;
  margin:10px 0 18px;
  text-align:center;
  box-shadow:
    0 8px 18px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.cm-definition{
  margin:0 auto;
  max-width:860px;
  font-size:1.55rem;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-0.015em;
  color:#f4f3ef;
}

@media (max-width: 900px){
  .cm-definition-block{
    padding:22px 20px;
  }

  .cm-definition{
    font-size:1.16rem;
  }
}

/* ---------- Global size + flat colour tune ---------- */

.overview-top{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:12px;
}
.overview-cta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.nav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  min-height:42px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
}
@media (max-width: 980px){
  .container{
    padding-left:16px;
    padding-right:16px;
  }
  .main-grid,
  .index-hero-grid,
  .chunk-grid,
  .features{
    grid-template-columns:1fr;
  }
  .overview-top{
    grid-template-columns:1fr;
  }
  .overview-cta{
    justify-content:flex-start;
  }
  .brand-name{
    font-size:18px;
  }
  .hero{
    padding:20px;
  }
  .hero-title{
    font-size:clamp(28px, 7vw, 42px);
  }
}


/* ---------- Consistent page spacing ---------- */

/* Give the hero row the same top and bottom breathing room as the rest of the page rhythm */
.main > .container.main-grid{
  margin-bottom:var(--stack-gap);
}

/* The homepage panels currently carry inline margin-bottom values.
   Override them so the site-wide stack gap controls the spacing consistently. */
.below .wide-panel[style*="margin-bottom"]{
  margin-bottom:0 !important;
}
