@import url("styles/mother-base.css");
/* Ensemble for teams — the mother (Chorix 919) stylesheet is imported unchanged above (byte copy of
   C:\ChorixDrop\out\licensing-revision-20260824\website\styles.css, sha1 01b43c3b…). Ruled 2026-09-25 (R6):
   one stylesheet in line with 919. Everything below is Ensemble's own layer: the page rules the mother keeps
   inline in its index.html, plus the marks and frames this site needs. Nothing here overrides a mother token. */

/* ---- the mother's own inline page rules (index.html <style>), carried verbatim so the pages match ---- */
.hero .hero-tagline{margin:23px 0 24px;max-width:680px;font-size:clamp(54px,5.15vw,78px);line-height:.99;letter-spacing:-.03em;font-weight:500}
.hero .hero-tagline span{background:linear-gradient(100deg,#E8FFEC 2%,#39FF6B 34%,#0DC94B 64%,#f5a83c 97%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1.hero-seo{margin:-6px 0 18px;max-width:620px;font-size:21px;line-height:1.4;letter-spacing:-.014em;font-weight:400;color:#9db4d8}
@media(max-width:1050px){.hero .hero-tagline{max-width:none}}
@media(max-width:700px){.hero .hero-tagline{font-size:clamp(48px,14vw,65px)}.hero h1.hero-seo{font-size:18px}}
.hero-visual .screen-frame-wide{aspect-ratio:4/3;padding:clamp(16px,2.2vw,30px) clamp(12px,1.6vw,22px)}
@media(max-width:720px){.hero-visual .screen-frame-wide{aspect-ratio:auto;padding:14px}}
html{scroll-padding-top:96px}
.tier-grid{align-items:stretch}
.tier-card{display:grid;grid-row:span 8;grid-template-rows:subgrid;row-gap:0;align-content:start}
.tier-card>*{align-self:start}
.tier-card>.button{align-self:end}
@supports not (grid-template-rows:subgrid){.tier-card{display:flex;flex-direction:column}.tier-card>.button{margin-top:auto!important}}

/* ---- Ensemble's own layer ---- */
/* The review banner: review copy only (data-review-only is stripped at publish, with data-mother-section). */
.review-banner{position:relative;z-index:1;margin:78px 0 0;padding:12px 20px;border-bottom:1px dashed #c79a2e;background:rgba(253,233,176,.08);color:var(--text);font-size:.9rem;line-height:1.5;text-align:center}
.review-banner b{color:#fde9b0}
.review-banner i{font-style:normal;color:#fde9b0}
.review-banner a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.scorecard-gate{font-size:.88rem;color:var(--muted-2)}
.scorecard-gate b{color:var(--text)}

/* Seven stops on the flow rail (the mother has six; SC keeps seven on one row the same way). */
.flow-rail{grid-template-columns:repeat(7,1fr)}
@media(max-width:1050px){.flow-rail{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.flow-rail{grid-template-columns:repeat(2,1fr)}}

/* Three price bands where the mother has two cards. */
.tier-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px}
@media(max-width:980px){.tier-grid.three-up{grid-template-columns:1fr;max-width:560px}}
.tier-price{margin:18px 0 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tier-price .now{font:700 30px system-ui;color:var(--text);letter-spacing:-.02em}
.tier-price .was{font:500 15px system-ui;color:var(--muted);text-decoration:line-through}
.tier-price .eb{font:700 9.5px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#39FF6B;border:1px solid rgba(57,255,107,.4);background:rgba(57,255,107,.08);border-radius:999px;padding:3px 8px}
.tier-card p.fine{margin:0 0 4px;font-size:.86rem;color:var(--muted)}
.tier-card p.fine2{margin:6px 0 0;font-size:.8rem;color:var(--muted)}
.tier-card .button{margin:14px 0 4px;width:100%;justify-content:center}

/* Captured surfaces beside copy: the mother's frame, a caption under it, and a full-size link so a phone reader
   can read the app's own text. */
.capture{margin:0;min-width:0}
.capture .screen-frame{aspect-ratio:auto}
.capture .screen-frame img{height:auto;object-fit:contain}
.capture figcaption{margin:12px 4px 0;font-size:.86rem;line-height:1.55;color:var(--muted-2)}
.capture figcaption strong{color:var(--text)}
.capture figcaption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* A labelled placeholder names the surface that has not been captured yet. Nothing invented. */
.placeholder{display:grid;place-items:center;min-height:260px;padding:28px;border:2px dashed rgba(143,177,232,.35);border-radius:28px;background:#050812;color:var(--muted);font:600 14px/1.5 var(--mono);text-align:center}
.placeholder small{display:block;margin-top:8px;font:400 12px/1.5 system-ui;color:var(--muted-2)}

/* The adherence board: a To-build row reads amber in the review copy. */
.score-row.reach strong{color:#fde9b0}

/* The Act Record on the evidence page: the app's JSON, byte for byte, in a readable block. */
.record-block{margin:0 0 26px}
.record-block pre{margin:0;padding:22px 24px;border:1px solid var(--line-bright);border-radius:var(--radius-sm);background:var(--panel-solid);color:var(--text);font:13px/1.55 var(--mono);overflow:auto;white-space:pre}
.record-block figcaption{margin:12px 4px 0;font-size:.86rem;line-height:1.55;color:var(--muted-2)}
.record-block code{font:600 .9em var(--mono);color:var(--amber)}

/* Sub-pages: a single column of copy under the header. */
.page-main{padding:60px 0 20px}
.page-main .section-heading{max-width:860px;margin-bottom:34px}
.page-main .prose{max-width:860px}
.page-main .prose p{color:var(--muted);line-height:1.7}
.page-main .prose p a{color:var(--text)}

.tiers-problem b{color:var(--text)}
.assurances .as-tag{color:#2fdd63}
.contact-line{margin:.9rem 0 0;font-size:1rem;color:var(--text)}
.contact-line b{font-family:var(--mono);font-weight:600;letter-spacing:.02em}

/* The board at the end of the page (review copy; data-review-only is stripped at publish). */
.board-section{padding-top:40px}
.board-section .section-heading{max-width:980px}
.board-section .section-heading p{color:var(--muted);line-height:1.7}
.board-section .section-heading b{color:var(--text)}
.board-section code{font:600 .9em var(--mono);color:var(--amber)}
.table-scroll{overflow-x:auto;border:1px solid var(--line-bright);border-radius:var(--radius-sm);background:var(--panel-solid)}
table.board{width:100%;min-width:980px;border-collapse:collapse;font-size:.84rem;line-height:1.5}
table.board th{position:sticky;top:0;text-align:left;padding:12px 14px;color:#2fdd63;font:600 11px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;background:var(--panel-solid);border-bottom:1px solid var(--line-bright)}
table.board td{padding:11px 14px;vertical-align:top;color:var(--muted);border-bottom:1px solid var(--line)}
table.board td:first-child{font:600 12px/1.5 var(--mono);color:var(--text);white-space:nowrap}
table.board td:nth-child(2){color:var(--text);min-width:260px}
table.board td.status{white-space:nowrap;font:700 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
table.board td.s-complete{color:#39FF6B}
table.board td.s-embodiment{color:#fde9b0}
table.board td.s-build{color:#FF6A4D}
.board-note{margin:18px 4px 0;font-size:.86rem;line-height:1.6;color:var(--muted-2)}
@media print{table.board td.s-complete,table.board td.s-embodiment,table.board td.s-build{color:#000}}

/* Ensemble's copy columns run longer than the mother's; the capture stays in view beside them instead of sitting
   centred in a tall row. */
.mechanic-layout > .capture{align-self:start;position:sticky;top:110px}
@media(max-width:1050px){.mechanic-layout > .capture{position:static}}
/* the way back to SPEKTX: the house's mark at the top-left of the header, before the product's own, on every page of every SPEKTX site;
   the same place the SPEKTX logo has on spektx.com (2026-10-09) */
.spektx-home{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:#000;border:1px solid rgba(255,255,255,.22);margin-right:-10px;opacity:.9;transition:opacity .15s}
.spektx-home:hover,.spektx-home:focus-visible{opacity:1}
.spektx-home img{width:26px;height:26px;display:block;border-radius:6px}
.spektx-home + .brand{margin-right:auto}
