/*
  Family "expansion-commerce" (G6): /about-the-guild, /how-it-works, /results, /security-and-trust, /contact,
  /mission-received (design source site-expansion/) and /catalog, /checkout, /login, /athena/crm-handoff
  (design source commerce-flow/). Figma page 12, frames "<route> · Dark" / "· Light".

  The prototype palette is mapped by role onto the R2.1 tokens:
    bg→bg/primary · bg2→bg/secondary · panel→bg/card · panel2→bg/card-hover · text→text/primary
    muted→text/secondary · soft→text/muted · line→border/line · line2 (blue rule)→accent/energy 18%
    gold→accent/gold · blue (text)→text/energy · blue (fills, rings)→accent/energy · ok→state/success
    danger→state/danger · shadow→shadow/panel
  Source type at 8–10px is raised to 11–12px (README decision 6). Every class is prefixed xc-.
*/

/* =====================================================================
   Shared language
   ===================================================================== */

.xc-eyebrow {
  display: block;
  font: 700 11px/1.4 var(--aw-font-display);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--aw-accent-gold);
}
.xc-display {
  font: 700 clamp(40px, 5vw, 77px)/1.03 var(--aw-font-display);
  letter-spacing: -0.025em;
  color: var(--aw-text-primary);
}
.xc-display em,
.xc-hero h1 em {
  font-family: var(--aw-font-literary);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0;
  color: var(--aw-accent-gold);
}
.xc-lead {
  font: italic 400 clamp(19px, 1.65vw, 25px)/1.5 var(--aw-font-literary);
  color: var(--aw-text-secondary);
}
.xc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.xc-actions--center { justify-content: center; }
.xc-actions .btn { justify-content: center; }

.xc-section { padding-block: 82px; border-bottom: 1px solid var(--aw-border-line); }
.xc-section--alt { background: var(--aw-bg-secondary); }
.xc-section--raised { background: var(--aw-bg-card-hover); }
.xc-section--wide { padding-block: 92px; }

/* Section head (about / catalog): heading left, note right */
.xc-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 34px;
}
.xc-head > div { flex: 1 1 0; min-width: 0; max-width: 800px; }
.xc-head h2 {
  margin-top: 12px;
  font: 700 clamp(32px, 3.6vw, 54px)/1.12 var(--aw-font-display);
  color: var(--aw-text-primary);
}
.xc-head--sm h2 { margin-top: 7px; font-size: clamp(28px, 2.9vw, 44px); line-height: 1.15; }
.xc-head > p { flex: 0 1 560px; color: var(--aw-text-secondary); font-size: 16px; line-height: 1.5; }

/* Section title (how-it-works / results / trust / contact): Crimson note */
.xc-title {
  display: grid;
  grid-template-columns: 1fr 0.78fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 38px;
}
.xc-title h2 {
  margin-top: 8px;
  font: 700 clamp(34px, 3.65vw, 56px)/1.08 var(--aw-font-display);
  color: var(--aw-text-primary);
}
.xc-title > p { font: italic 400 19px/1.58 var(--aw-font-literary); color: var(--aw-text-secondary); }

/* Hero pills */
.xc-points { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.xc-points li {
  padding: 9px 13px;
  border: 1px solid var(--aw-border-line);
  border-radius: var(--aw-radius-full);
  background: color-mix(in srgb, var(--aw-bg-card) 90%, transparent);
  color: var(--aw-text-energy);
  font: 400 11px/1.4 var(--aw-font-body);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Generic card surface */
.xc-card {
  position: relative;
  background: var(--aw-bg-card);
  border: 1px solid var(--aw-border-line);
  border-radius: 11px;
}

/* Icon artwork (the guild icon set, raster) */
.xc-art { display: block; object-fit: contain; }

/* =====================================================================
   Screen hero (how-it-works, results, trust, contact)
   ===================================================================== */
.xc-hero {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--aw-border-line);
  isolation: isolate;
}
.xc-hero__art { position: absolute; inset: 0; z-index: -2; }
.xc-hero__art img { width: 100%; height: 100%; object-fit: cover; object-position: 82% center; }
.xc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--aw-accent-energy) 20%, transparent), transparent 30%),
    linear-gradient(115deg, var(--aw-bg-primary) 42%, color-mix(in srgb, var(--aw-bg-primary) 52%, transparent));
}
:root[data-theme="light"] .xc-hero::before {
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--aw-accent-energy) 12%, transparent), transparent 30%),
    linear-gradient(115deg, var(--aw-bg-primary) 42%, color-mix(in srgb, var(--aw-bg-primary) 30%, transparent));
}
.xc-hero > .wrap { padding-block: var(--aw-space-16); }
.xc-hero__copy { max-width: 800px; }
.xc-hero h1 {
  margin: 20px 0 22px;
  font: 700 clamp(44px, 5.6vw, 86px)/0.98 var(--aw-font-display);
  color: var(--aw-text-primary);
}
.xc-hero h1 em { display: block; }
.xc-hero--long h1 { font-size: clamp(40px, 4.7vw, 72px); }
.xc-hero__copy > p { max-width: 650px; font: italic 400 22px/1.55 var(--aw-font-literary); color: var(--aw-text-secondary); }

/* Closing CTA panel (site-expansion screens) */
.xc-cta {
  padding: 95px var(--aw-gutter);
  text-align: center;
  background: linear-gradient(180deg, var(--aw-bg-card-hover), var(--aw-bg-primary));
}
.xc-cta__mark { width: 92px; height: 92px; margin: 0 auto 4px; }
.xc-cta h2 {
  max-width: 950px;
  margin: 18px auto;
  font: 700 clamp(30px, 3.13vw, 48px)/1.5 var(--aw-font-display);
  color: var(--aw-text-primary);
}
.xc-cta p { font: italic 400 19px/1.55 var(--aw-font-literary); color: var(--aw-text-secondary); }
.xc-cta .xc-actions { justify-content: center; margin-top: 27px; gap: 12px; }

/* Closing band (about-the-guild, catalog) */
.xc-band {
  padding-block: 82px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, color-mix(in srgb, var(--aw-accent-energy) 14%, transparent), transparent 54%),
    var(--aw-bg-secondary);
}
.xc-band__mark { width: 105px; height: 105px; margin: 0 auto 8px; }
.xc-band h2 {
  max-width: 900px;
  margin: 13px auto 15px;
  font: 700 clamp(31px, 3.5vw, 54px)/1.5 var(--aw-font-display);
  color: var(--aw-text-primary);
}
.xc-band p { max-width: 700px; margin-inline: auto; font: italic 400 20px/1.5 var(--aw-font-literary); color: var(--aw-text-secondary); }
.xc-band .xc-actions { justify-content: center; }

/* Numbered step / control cards (how-it-works, trust) */
.xc-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.xc-step { padding: 28px; overflow: hidden; }
.xc-step__icon { width: 76px; height: 76px; margin: 12px 0 14px -4px; }
.xc-step__index { font: 400 11px/1.4 var(--aw-font-display); letter-spacing: 0.12em; color: var(--aw-accent-gold); }
.xc-step h3 { margin: 22px 0 12px; font: 700 19px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-step p { font-size: 13px; line-height: 1.6; color: var(--aw-text-secondary); }
.xc-step__evidence { display: block; margin-top: 15px; font: 700 11px/1.4 var(--aw-font-body); color: var(--aw-text-energy); }

/* Citadel banner (how-it-works, trust) */
.xc-banner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
  align-items: center;
  padding: 38px;
  border: 1px solid var(--aw-border-line);
  border-radius: 12px;
  background: linear-gradient(110deg, var(--aw-bg-card), color-mix(in srgb, var(--aw-accent-energy) 12%, var(--aw-bg-card)));
}
.xc-banner__title { margin: 26px 0 24px; font: 700 clamp(30px, 2.6vw, 40px)/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-banner p { color: var(--aw-text-secondary); font-size: 16px; line-height: 1.5; }
.xc-banner .btn { margin-top: 16px; }
.xc-banner > * { min-width: 0; }
.xc-banner__art { width: 190px; height: 190px; margin: auto; filter: drop-shadow(0 0 35px color-mix(in srgb, var(--aw-accent-energy) 22%, transparent)); }
.xc-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0; }
.xc-controls li { padding: 17px; border: 1px solid var(--aw-border-line); border-radius: var(--aw-radius-md); background: var(--aw-bg-card); }
.xc-controls b { display: block; font: 700 12px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-controls span { display: block; margin-top: 5px; font-size: 12px; color: var(--aw-text-secondary); }

/* =====================================================================
   /about-the-guild
   ===================================================================== */
.xc-ag-hero {
  position: relative;
  min-height: 830px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--aw-border-line);
  isolation: isolate;
}
.xc-ag-hero__art { position: absolute; inset: 0; z-index: -2; }
.xc-ag-hero__art img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.xc-ag-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, var(--aw-bg-primary) 3%, color-mix(in srgb, var(--aw-bg-primary) 88%, transparent) 42%, color-mix(in srgb, var(--aw-bg-primary) 30%, transparent) 72%, var(--aw-bg-primary) 100%),
    linear-gradient(0deg, var(--aw-bg-primary), transparent 30%);
}
.xc-ag-hero > .wrap { padding-block: 129px 160px; }
.xc-ag-hero h1 { max-width: 790px; margin: 18px 0 25px; font-size: clamp(40px, 5vw, 77px); line-height: 1.03; }
.xc-ag-hero h1 > * { display: block; }
.xc-ag-hero .xc-lead { max-width: 650px; }
.xc-ag-stats {
  position: absolute;
  left: 0; right: 0; bottom: 0;
}
.xc-ag-stats ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--aw-border-line);
  border-bottom: 0;
  background: color-mix(in srgb, var(--aw-bg-card) 90%, transparent);
}
.xc-ag-stats li { padding: 26px 25px 20px; border-right: 1px solid var(--aw-border-line); }
.xc-ag-stats li:last-child { border-right: 0; }
.xc-ag-stats b { display: block; font: 700 12px/1.5 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-ag-stats span { display: block; margin-top: 6px; font-size: 11px; line-height: 1.5; color: var(--aw-text-secondary); }

.xc-story { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px; align-items: start; }
.xc-story h2 { margin-top: 12px; font: 700 clamp(32px, 3.6vw, 54px)/1.12 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-story p { font: italic 400 22px/1.6 var(--aw-font-literary); color: var(--aw-text-secondary); }
.xc-story p + p { margin-top: 22px; }

.xc-council { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 20px; }
.xc-portrait {
  position: relative;
  min-height: 760px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 35px;
  overflow: hidden;
  border: 1px solid var(--aw-border-line);
  border-radius: 12px;
  isolation: isolate;
}
.xc-portrait__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.xc-portrait::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, var(--aw-bg-card), transparent 70%); }
.xc-portrait__mark { position: absolute; top: 28px; left: 28px; width: 95px; height: 95px; }
.xc-portrait h3 { margin: 10px 0 16px; font: 700 27px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-portrait p { font-size: 16px; line-height: 1.5; color: var(--aw-text-secondary); }

.xc-humans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.xc-human { padding: 28px 24px 24px; border-radius: 10px; }
.xc-rank {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--aw-border-line);
  border-radius: var(--aw-radius-full);
  font: 400 11px/1.2 var(--aw-font-display);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.xc-rank--archmage { color: var(--aw-accent-gold); border-color: var(--aw-accent-gold); }
.xc-rank--master { color: var(--aw-text-energy); border-color: color-mix(in srgb, var(--aw-accent-energy) 45%, transparent); }
.xc-rank--wizard { color: var(--aw-state-success); border-color: color-mix(in srgb, var(--aw-state-success) 45%, transparent); }
.xc-rank--sentinel { color: var(--aw-state-danger); border-color: color-mix(in srgb, var(--aw-state-danger) 45%, transparent); }
.xc-human h3 { margin: 7px 0 12px; font: 700 16px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-human > p { font-size: 12px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-human dl { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--aw-border-line); }
.xc-human dt { margin-top: 9px; font: 500 11px/1.3 var(--aw-font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--aw-accent-gold); }
.xc-human dd { margin: 2px 0 0; font-size: 12px; line-height: 1.45; color: var(--aw-text-secondary); }

.xc-degrees { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.xc-degrees::before {
  content: "";
  position: absolute;
  left: 10%; right: 10%; top: 45px;
  height: 1px;
  background: linear-gradient(90deg, var(--aw-accent-gold), var(--aw-accent-energy), var(--aw-accent-gold));
}
.xc-degrees li { position: relative; padding: 0 18px; text-align: center; }
.xc-seal {
  width: 90px; height: 90px;
  display: grid; place-items: center;
  margin: 0 auto 28px;
  border: 1px solid var(--aw-accent-gold);
  border-radius: 50%;
  background: var(--aw-bg-primary);
  box-shadow: 0 0 0 7px var(--aw-bg-primary), 0 0 0 8px var(--aw-border-line), 0 0 30px color-mix(in srgb, var(--aw-accent-energy) 15%, transparent);
  font: 400 25px/1 var(--aw-font-display);
  color: var(--aw-accent-gold);
}
.xc-degrees h3 { margin: 17px 0 15px; font: 700 15px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-degrees p { font-size: 13px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-degrees b { display: block; margin-top: 21px; font: 700 11px/1.4 var(--aw-font-body); color: var(--aw-text-energy); }

.xc-agents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; list-style: none; margin: 0; padding: 0; }
.xc-agent { display: flex; gap: 16px; align-items: flex-start; padding: 18px; border-radius: 10px; }
.xc-agent .xc-art { width: 82px; height: 82px; flex: none; }
.xc-agent__role { font: 500 11px/1.4 var(--aw-font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--aw-text-energy); }
.xc-agent h3 { margin: 4px 0; font: 700 18px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-agent p { margin-bottom: 9px; font-size: 12px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-agent b { display: block; font: 700 11px/1.4 var(--aw-font-body); color: var(--aw-accent-gold); }

.xc-collab-section { background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--aw-accent-energy) 8%, transparent), transparent 45%), var(--aw-bg-primary); }
.xc-collab { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 14px; align-items: center; list-style: none; margin: 0; padding: 0; }
.xc-collab__step { min-height: 175px; padding: 20px; border-radius: 9px; }
.xc-collab__step span { font: 400 11px/1.4 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-collab__step b { display: block; margin: 15px 0 8px; font: 700 16px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-collab__step p { font-size: 12px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-collab__sep { color: var(--aw-accent-energy); }
.xc-collab__sep .icon { width: 14px; height: 14px; }

/* =====================================================================
   /results
   ===================================================================== */
.xc-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.xc-chip {
  padding: 8px 13px;
  border: 1px solid var(--aw-border-line);
  border-radius: var(--aw-radius-full);
  background: var(--aw-bg-card);
  color: var(--aw-text-secondary);
  font: 400 11px/1.3 var(--aw-font-body);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}
.xc-chip:hover { border-color: var(--aw-accent-gold); color: var(--aw-text-primary); }
.xc-chip[aria-pressed="true"] { background: var(--aw-accent-gold-light); border-color: var(--aw-accent-gold-light); color: var(--aw-bg-primary); }

.xc-case { display: grid; grid-template-columns: 1.1fr 0.9fr; margin-bottom: 16px; overflow: hidden; border-radius: 12px; }
.xc-case__img { position: relative; min-height: 430px; }
.xc-case__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.xc-case__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, color-mix(in srgb, var(--aw-overlay-scrim) 45%, transparent), transparent); }
.xc-case__copy { padding: 45px; }
.xc-case__copy h3 { margin: 30px 0 24px; font: 700 clamp(24px, 2vw, 31px)/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-case__copy p { font-size: 16px; line-height: 1.65; color: var(--aw-text-secondary); }
.xc-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 28px; list-style: none; padding: 0; }
.xc-metrics li { padding-top: 14px; border-top: 1px solid var(--aw-border-line); }
.xc-metrics b { display: block; font: 700 24px/1.5 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-metrics span { display: block; font-size: 11px; color: var(--aw-text-secondary); }
.xc-proof { display: flex; flex-direction: column; min-height: 290px; padding: 27px; overflow: hidden; }
.xc-proof__cat { font: 400 11px/1.4 var(--aw-font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--aw-accent-gold); }
.xc-proof h3 { margin: 5px 0 12px; font: 700 18px/1.55 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-proof p { font-size: 13px; line-height: 1.6; color: var(--aw-text-secondary); }
.xc-proof__metric { margin: auto 0 14px; padding-top: 18px; font: 400 clamp(32px, 2.9vw, 45px)/1.5 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-proof__label { font: 700 11px/1.4 var(--aw-font-display); color: var(--aw-text-energy); }
[data-category][hidden] { display: none !important; }
.xc-filter-empty { padding: 28px; text-align: center; color: var(--aw-text-secondary); }

/* =====================================================================
   /contact
   ===================================================================== */
.xc-contact { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 30px; align-items: stretch; }
.xc-contact__aside {
  padding: 35px;
  border: 1px solid var(--aw-border-line);
  border-radius: 11px;
  background: linear-gradient(160deg, var(--aw-bg-card), color-mix(in srgb, var(--aw-accent-energy) 10%, var(--aw-bg-card)));
}
.xc-contact__aside .xc-art { width: 100px; height: 100px; margin: 0 0 16px -4px; }
.xc-contact__aside h2 { margin: 22px 0 20px; font: 700 clamp(26px, 2.2vw, 34px)/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-contact__aside > p { font-size: 16px; line-height: 1.6; color: var(--aw-text-secondary); }
.xc-contact__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; list-style: none; padding: 0; }
.xc-contact__notes li { padding: 22px 26px; border: 1px solid var(--aw-border-line); border-radius: 11px; background: var(--aw-bg-card); }
.xc-contact__notes h3 { margin-bottom: 10px; font: 700 17px/1.4 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-contact__notes p { font-size: 13px; line-height: 1.55; color: var(--aw-text-secondary); }

.xc-form-panel { padding: 35px; border: 1px solid var(--aw-border-line); border-radius: 11px; background: var(--aw-bg-card); }
.xc-form-panel > h2 { margin: 18px 0 18px; font: 700 clamp(22px, 1.7vw, 26px)/1.4 var(--aw-font-display); color: var(--aw-text-primary); }

/* Form controls (contact, checkout, login, CRM handoff) */
.xc-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.xc-field { display: grid; gap: 7px; align-content: start; min-width: 0; }
.xc-field--wide { grid-column: 1 / -1; }
.xc-field > label,
.xc-field legend,
.xc-label {
  font: 500 11px/1.4 var(--aw-font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--aw-accent-gold);
}
.xc-label--muted, .xc-field--muted > label { color: var(--aw-text-secondary); }
.xc-field .xc-optional { color: var(--aw-text-muted); letter-spacing: 0.04em; text-transform: none; }
.xc-input,
.xc-field input:not([type="checkbox"]):not([type="radio"]),
.xc-field select,
.xc-field textarea {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--aw-border-line);
  border-radius: 5px;
  background: var(--aw-bg-primary);
  color: var(--aw-text-primary);
  font: 400 15px/1.4 var(--aw-font-body);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.xc-field textarea { min-height: 100px; resize: vertical; }
.xc-field select { appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--aw-text-secondary) 50%), linear-gradient(135deg, var(--aw-text-secondary) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.xc-field ::placeholder, .xc-input::placeholder { color: var(--aw-text-muted); opacity: 1; }
.xc-input:hover, .xc-field input:hover, .xc-field select:hover, .xc-field textarea:hover { border-color: var(--aw-border-gold); }
.xc-input:focus, .xc-field input:focus, .xc-field select:focus, .xc-field textarea:focus {
  outline: none;
  border-color: var(--aw-accent-gold-light);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--aw-accent-gold-light) 22%, transparent);
}
.xc-field input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]),
.xc-field select[aria-invalid="true"],
.xc-field textarea[aria-invalid="true"] { border-color: var(--aw-state-danger); }
.xc-error { display: flex; gap: 6px; align-items: center; font-size: 12px; line-height: 1.4; color: var(--aw-state-danger); }
.xc-error:empty { display: none; }
.xc-error .icon { width: 14px; height: 14px; }

/* Segmented radio group (contact timeline) */
.xc-segments { border: 0; margin: 0; padding: 0; min-width: 0; }
.xc-segments legend { padding: 0; margin-bottom: 7px; }
.xc-segments__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 46px; border: 1px solid var(--aw-border-line); border-radius: 5px; background: var(--aw-bg-primary); overflow: hidden; }
.xc-segments label { position: relative; display: grid; place-items: center; padding: 8px 6px; border-right: 1px solid var(--aw-border-line); color: var(--aw-text-secondary); font-size: 14px; text-align: center; cursor: pointer; }
.xc-segments label:last-child { border-right: 0; }
.xc-segments input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.xc-segments label:has(input:checked) { background: color-mix(in srgb, var(--aw-accent-gold-light) 16%, transparent); color: var(--aw-text-primary); }
.xc-segments label:has(input:focus-visible) { outline: 2px solid var(--aw-accent-gold-light); outline-offset: -2px; }

/* Consent / checkbox row */
.xc-check {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin: 18px 0;
  padding: 12px 14px;
  border: 1px solid var(--aw-border-line);
  border-radius: 7px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--aw-text-secondary);
  cursor: pointer;
}
.xc-check input { width: 18px; height: 18px; flex: none; margin: 1px 0 0; accent-color: var(--aw-accent-gold-light); cursor: pointer; }
.xc-check:has([aria-invalid="true"]) { border-color: var(--aw-state-danger); }
.xc-check + .xc-error { margin: -10px 0 14px; }
.xc-submit { width: 100%; justify-content: center; }
button.btn { cursor: pointer; }

/* =====================================================================
   /mission-received
   ===================================================================== */
.xc-confirm {
  display: grid;
  place-items: center;
  min-height: 900px;
  padding: 100px 0;
  text-align: center;
  background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--aw-accent-energy) 16%, transparent), transparent 28%);
}
.xc-confirm__art { width: 150px; height: 150px; margin: 0 auto 4px; filter: drop-shadow(0 0 35px color-mix(in srgb, var(--aw-accent-energy) 28%, transparent)); }
.xc-confirm h1 { max-width: 900px; margin: 18px auto; font: 700 clamp(36px, 3.9vw, 60px)/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-confirm__lead { max-width: 720px; margin: auto; font: italic 400 22px/1.5 var(--aw-font-literary); color: var(--aw-text-secondary); }
.xc-next { max-width: 850px; margin: 44px auto 0; padding: 28px; border-radius: 10px; text-align: left; }
.xc-next ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 22px 0 18px; padding: 0; list-style: none; counter-reset: xc-steps; }
.xc-next li { counter-increment: xc-steps; font-size: 13px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-next li::before { content: counter(xc-steps, decimal-leading-zero); display: block; margin-bottom: 8px; font: 400 13px/1.2 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-confirm .xc-actions { justify-content: center; margin-top: 27px; gap: 12px; }

/* =====================================================================
   Commerce: page hero (checkout, CRM handoff)
   ===================================================================== */
.xc-page-hero { padding: 64px 0 42px; border-bottom: 1px solid var(--aw-border-line); }
.xc-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; font: 500 11px/1.4 var(--aw-font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--aw-text-secondary); }
.xc-crumbs li + li::before { content: "\00b7"; margin-right: 6px; }
.xc-crumbs li:first-child, .xc-crumbs a { color: var(--aw-accent-gold); font-weight: 700; }
.xc-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.xc-page-hero h1 { margin: 12px 0 24px; font: 700 clamp(35px, 3.8vw, 58px)/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-page-hero .xc-lead { max-width: 770px; }

/* =====================================================================
   /catalog
   ===================================================================== */
.xc-cat-hero { position: relative; padding: 88px 0 64px; overflow: hidden; border-bottom: 1px solid var(--aw-border-line); }
.xc-cat-hero::before {
  content: "";
  position: absolute;
  right: -120px; top: -50px;
  width: 680px; height: 680px;
  border: 1px solid var(--aw-border-line);
  border-radius: 50%;
  box-shadow: 0 0 0 130px color-mix(in srgb, var(--aw-accent-gold) 2.5%, transparent), 0 0 0 260px color-mix(in srgb, var(--aw-accent-energy) 1.8%, transparent);
  pointer-events: none;
}
.xc-cat-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 55px; align-items: center; }
.xc-cat-hero h1 { max-width: 920px; margin: 18px 0 25px; }
.xc-cat-hero .xc-lead { max-width: 770px; }
.xc-proofs { display: flex; flex-wrap: wrap; gap: 14px 28px; margin: 32px 0 0; padding: 0; list-style: none; }
.xc-proofs b { display: block; font: 700 19px/1.5 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-proofs span { display: block; font-size: 11px; line-height: 1.5; letter-spacing: 0.13em; text-transform: uppercase; color: var(--aw-text-muted); }

.xc-orbit {
  position: relative;
  aspect-ratio: 1;
  border: 1px solid var(--aw-border-line);
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--aw-accent-energy) 12%, transparent), transparent 48%);
}
.xc-orbit::before { content: ""; position: absolute; inset: 17%; border: 1px solid color-mix(in srgb, var(--aw-accent-energy) 34%, transparent); border-radius: 50%; }
.xc-orbit::after { content: ""; position: absolute; inset: 35%; border: 1px solid var(--aw-border-line); border-radius: 50%; box-shadow: 0 0 30px color-mix(in srgb, var(--aw-accent-energy) 15%, transparent); }
.xc-orbit img { position: absolute; z-index: 1; width: 78px; height: 78px; filter: drop-shadow(0 0 12px color-mix(in srgb, var(--aw-accent-energy) 30%, transparent)); }
.xc-orbit .xc-orbit__center { width: 122px; height: 122px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.xc-orbit .xc-orbit__n { top: -7px; left: 50%; transform: translateX(-50%); }
.xc-orbit .xc-orbit__e { right: -8px; top: 50%; transform: translateY(-50%); }
.xc-orbit .xc-orbit__s { bottom: -8px; left: 50%; transform: translateX(-50%); }
.xc-orbit .xc-orbit__w { left: -8px; top: 50%; transform: translateY(-50%); }

.xc-cat-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.xc-filter {
  padding: 9px 15px;
  border: 1px solid var(--aw-border-line);
  border-radius: var(--aw-radius-full);
  background: var(--aw-bg-card);
  color: var(--aw-text-secondary);
  font: 400 13px/1.3 var(--aw-font-body);
  white-space: nowrap;
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}
.xc-filter:hover, .xc-filter[aria-pressed="true"] {
  border-color: var(--aw-accent-gold);
  color: var(--aw-accent-gold-light);
  background: color-mix(in srgb, var(--aw-accent-gold) 9%, var(--aw-bg-card));
}
.xc-results-note { margin: -14px 0 16px; font-size: 13px; color: var(--aw-text-secondary); }

.xc-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 14px; list-style: none; margin: 0; padding: 0; }
.xc-product {
  display: flex;
  flex-direction: column;
  min-height: 350px;
  padding: 22px;
  overflow: hidden;
  border-radius: 10px;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.xc-product::after {
  content: "";
  position: absolute;
  width: 150px; height: 150px;
  right: -85px; top: -85px;
  border: 1px solid color-mix(in srgb, var(--aw-accent-energy) 22%, transparent);
  border-radius: 50%;
  pointer-events: none;
}
.xc-product:hover { border-color: color-mix(in srgb, var(--aw-accent-gold) 55%, transparent); transform: translateY(-3px); box-shadow: var(--aw-shadow-panel); }
.xc-product[hidden] { display: none; }
.xc-product .xc-art { width: 72px; height: 72px; margin: 0 0 13px; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--aw-accent-energy) 13%, transparent)); }
.xc-product__family { font: 700 11px/1.4 var(--aw-font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--aw-text-energy); }
.xc-product h3 { margin: 8px 0 9px; font: 700 17px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-product__desc { margin-bottom: 14px; font-size: 13px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 16px; padding: 0; list-style: none; }
.xc-tags li { padding: 3px 7px; border-radius: var(--aw-radius-sm); background: var(--aw-bg-card-hover); color: var(--aw-text-muted); font-size: 11px; line-height: 1.4; white-space: nowrap; }
.xc-product__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--aw-border-line); }
.xc-price strong { display: block; font: 700 18px/1.5 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-price span { display: block; margin-top: 2px; font-size: 11px; line-height: 1.4; color: var(--aw-text-muted); }
.xc-add {
  position: relative;
  z-index: 1;
  width: 40px; height: 40px;
  flex: none;
  display: grid; place-items: center;
  border: 1px solid var(--aw-border-line);
  border-radius: 50%;
  background: var(--aw-bg-card-hover);
  color: var(--aw-accent-gold-light);
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.xc-add .icon { width: 18px; height: 18px; }
.xc-add .icon--check { display: none; }
.xc-add[aria-pressed="true"] .icon--plus { display: none; }
.xc-add[aria-pressed="true"] .icon--check { display: block; }
.xc-add:hover, .xc-add[aria-pressed="true"] { background: var(--aw-accent-gold-light); border-color: var(--aw-accent-gold-light); color: var(--aw-bg-primary); }
.xc-product--featured { grid-column: span 2; display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: 10px; min-height: 285px; align-content: start; }
.xc-product--featured > .xc-art { grid-row: 1 / 7; width: 105px; height: 105px; }
.xc-product--featured > :not(.xc-art) { grid-column: 2; }
.xc-product--featured .xc-product__desc { max-width: 560px; font-size: 15px; }
.xc-product--featured .xc-product__foot { margin-top: 18px; }

/* Compare tiers */
.xc-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.xc-tier { display: flex; flex-direction: column; padding: 26px; border-radius: 10px; }
.xc-tier--pop { border-color: var(--aw-accent-gold); box-shadow: 0 0 50px color-mix(in srgb, var(--aw-accent-gold) 9%, transparent); }
.xc-ribbon {
  position: absolute;
  top: 0; right: 22px;
  transform: translateY(-50%);
  padding: 5px 11px;
  border-radius: var(--aw-radius-full);
  background: var(--aw-accent-gold-light);
  color: var(--aw-bg-primary);
  font: 800 11px/1.2 var(--aw-font-body);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.xc-tier .xc-art { width: 66px; height: 66px; margin-bottom: 12px; }
.xc-tier h3 { margin: 11px 0 2px; font: 700 19px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-big-price { margin: 11px 0; font: 400 29px/1.45 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-big-price small { margin-left: 4px; font: 400 12px/1.4 var(--aw-font-body); color: var(--aw-text-secondary); white-space: nowrap; }
.xc-tier ul { flex: 1 1 auto; margin: 0; padding: 12px 0 18px; list-style: none; border-top: 1px solid var(--aw-border-line); }
.xc-tier li { position: relative; padding: 6px 0 6px 17px; font-size: 13px; line-height: 1.4; color: var(--aw-text-secondary); }
.xc-tier li::before { content: ""; position: absolute; left: 1px; top: 12px; width: 6px; height: 6px; background: var(--aw-accent-energy); transform: rotate(45deg); }
.xc-tier .btn { width: 100%; justify-content: center; }

/* Bundles */
.xc-bundles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.xc-bundle {
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--aw-border-line);
  border-radius: 10px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--aw-accent-gold) 7%, var(--aw-bg-card)), var(--aw-bg-card) 48%);
}
.xc-bundle__top { display: flex; align-items: center; gap: 13px; }
.xc-bundle__top .xc-art { width: 64px; height: 64px; flex: none; }
.xc-bundle h3 { margin-top: 4px; font: 700 19px/1.4 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-bundle > p { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-bundle__price { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--aw-border-line); }
.xc-bundle > p + .xc-bundle__price { margin-top: 19px; }
.xc-bundle__price b { font: 700 16px/1.4 var(--aw-font-display); color: var(--aw-accent-gold); }
.xc-btn-sm { padding: 10px 14px; font-size: 11px; }
.xc-btn-sm .icon { width: 14px; height: 14px; }

/* Floating cart button */
.xc-cart-fab {
  position: fixed;
  right: 24px; bottom: 24px;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px 11px 16px;
  border: 1px solid var(--aw-accent-gold);
  border-radius: var(--aw-radius-full);
  background: var(--aw-bg-card);
  box-shadow: var(--aw-shadow-panel);
  color: var(--aw-text-primary);
  font: 600 13px/1.2 var(--aw-font-body);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.xc-cart-fab .icon { width: 18px; height: 18px; color: var(--aw-accent-gold-light); }
.xc-count {
  min-width: 22px; height: 22px;
  display: inline-grid; place-items: center;
  padding: 0 6px;
  border-radius: var(--aw-radius-full);
  background: var(--aw-accent-gold-light);
  color: var(--aw-bg-primary);
  font: 700 12px/1 var(--aw-font-body);
  letter-spacing: 0;
}

/* Cart drawer */
.xc-scrim {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: color-mix(in srgb, var(--aw-overlay-scrim) 78%, transparent);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.xc-scrim.is-open { opacity: 1; }
.xc-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  z-index: 70;
  width: min(480px, 100%);
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--aw-border-line);
  background: var(--aw-bg-secondary);
  box-shadow: var(--aw-shadow-panel);
  transform: translateX(100%);
  transition: transform 0.35s ease;
}
.xc-drawer.is-open { transform: none; }
.xc-drawer[hidden], .xc-scrim[hidden] { display: none; }
.xc-drawer:focus { outline: none; }
.xc-drawer__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 24px; }
.xc-drawer__head h2 { margin-top: 6px; font: 700 22px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-drawer__close {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  flex: none;
  border: 1px solid var(--aw-border-line);
  border-radius: 50%;
  background: var(--aw-bg-card);
  color: var(--aw-text-primary);
}
.xc-drawer__close .icon { width: 16px; height: 16px; }
.xc-drawer__body { flex: 1 1 auto; overflow: auto; padding: 20px 24px; }
.xc-drawer__foot { padding: 21px 24px 26px; border-top: 1px solid var(--aw-border-line); }
.xc-drawer__foot .btn { width: 100%; justify-content: center; margin-top: 8px; }

.xc-lines { list-style: none; margin: 0; padding: 0; }
.xc-line { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--aw-border-line); }
.xc-line .xc-art { width: 52px; height: 52px; }
.xc-line b { display: block; font: 700 13px/1.4 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-line span { display: block; margin-top: 3px; font-size: 12px; line-height: 1.4; color: var(--aw-text-secondary); }
.xc-remove { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--aw-text-muted); }
.xc-remove:hover { color: var(--aw-text-primary); background: var(--aw-bg-card); }
.xc-remove .icon { width: 16px; height: 16px; }
.xc-empty { padding: 60px 12px; text-align: center; color: var(--aw-text-secondary); }
.xc-empty .xc-art { width: 100px; height: 100px; margin: 0 auto 10px; opacity: 0.8; }
.xc-empty h3 { margin-bottom: 8px; font: 700 17px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-empty p { font-size: 14px; }
.xc-empty .btn { margin-top: 18px; }

.xc-sums { margin: 0; }
.xc-sum { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 13px; color: var(--aw-text-secondary); }
.xc-sum dd { margin: 0; font-weight: 700; }
.xc-sum--total { padding: 10px 0; font-size: 15px; font-weight: 700; color: var(--aw-text-primary); }
.xc-sum--total dd { font-weight: 900; }

/* Toast */
.xc-toast {
  position: fixed;
  left: 50%; bottom: 24px;
  z-index: 100;
  max-width: calc(100% - 32px);
  padding: 11px 18px;
  border-radius: var(--aw-radius-full);
  background: var(--aw-text-primary);
  color: var(--aw-bg-primary);
  font-size: 13px;
  opacity: 0;
  transform: translate(-50%, 20px);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.xc-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* =====================================================================
   /checkout
   ===================================================================== */
.xc-checkout { padding: 52px 0 84px; }
.xc-checkout__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr); gap: 28px; align-items: start; }
.xc-panel { padding: 26px; border: 1px solid var(--aw-border-line); border-radius: 10px; background: var(--aw-bg-card); }
.xc-panel > h2 { margin-bottom: 20px; font: 700 19px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-panel__sub { margin: 26px 0 12px; font: 700 12px/1.4 var(--aw-font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--aw-accent-gold); }
.xc-fields--tight { gap: 12px; }
.xc-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border: 0; margin: 26px 0 0; padding: 0; min-width: 0; }
.xc-choices legend { padding: 0; margin: 0 0 12px; }
.xc-choice { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--aw-border-line); border-radius: var(--aw-radius-md); font-size: 13px; line-height: 1.5; color: var(--aw-text-secondary); cursor: pointer; }
.xc-choice:has(input:checked) { border-color: var(--aw-accent-gold); background: color-mix(in srgb, var(--aw-accent-gold) 7%, transparent); }
.xc-choice input { width: 18px; height: 18px; flex: none; margin: 1px 0 0; accent-color: var(--aw-accent-gold-light); }
.xc-choice b { display: block; margin-bottom: 3px; color: var(--aw-text-primary); }
.xc-assurances { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--aw-text-secondary); }
.xc-assurances li { display: inline-flex; align-items: center; gap: 6px; }
.xc-assurances .icon { width: 12px; height: 12px; color: var(--aw-accent-gold); }

.xc-summary .xc-line { grid-template-columns: 46px minmax(0, 1fr) auto; padding: 13px 0; }
.xc-summary .xc-line .xc-art { width: 46px; height: 46px; }
.xc-summary .xc-line b { font: 600 13px/1.4 var(--aw-font-body); }
.xc-line strong { font: 700 13px/1.4 var(--aw-font-display); color: var(--aw-accent-gold); white-space: nowrap; text-align: right; }
.xc-totals { padding: 18px 0; }
.xc-note { padding: 12px 14px; border-left: 2px solid var(--aw-accent-energy); background: color-mix(in srgb, var(--aw-accent-energy) 8%, transparent); font-size: 12px; line-height: 1.55; color: var(--aw-text-secondary); }
.xc-second {
  display: flex;
  gap: 13px;
  margin-top: 14px;
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--aw-accent-energy) 35%, transparent);
  border-radius: var(--aw-radius-md);
  background: color-mix(in srgb, var(--aw-accent-energy) 6%, transparent);
}
.xc-second .xc-art { width: 52px; height: 52px; flex: none; }
.xc-second b { font: 700 12px/1.4 var(--aw-font-display); color: var(--aw-text-energy); }
.xc-second p { margin: 4px 0 12px; font-size: 12px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-summary__edit { display: inline-flex; gap: 6px; align-items: center; margin-top: 12px; font-size: 13px; color: var(--aw-accent-gold-light); }
.xc-summary__edit:hover { text-decoration: underline; text-underline-offset: 3px; }
.xc-summary__edit .icon { width: 14px; height: 14px; }

/* =====================================================================
   /login
   ===================================================================== */
.xc-login { display: grid; grid-template-columns: 1.05fr 0.95fr; min-height: 900px; }
.xc-login__art {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  padding: 100px clamp(35px, 6vw, 92px) 60px;
  overflow: hidden;
  background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--aw-accent-energy) 18%, transparent), transparent 33%), var(--aw-overlay-scrim);
  color: var(--aw-text-on-image);
}
.xc-login__orbit::before,
.xc-login__orbit::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.xc-login__orbit::before { width: 620px; height: 620px; border: 1px solid color-mix(in srgb, var(--aw-accent-on-image) 18%, transparent); }
.xc-login__orbit::after { width: 390px; height: 390px; border: 1px solid color-mix(in srgb, var(--aw-accent-energy) 30%, transparent); }
.xc-login__art > * { position: relative; z-index: 1; }
.xc-login__art .xc-eyebrow { color: var(--aw-accent-on-image); }
.xc-login__art h1 { margin: 14px 0; font: 700 clamp(40px, 4.7vw, 72px)/1.05 var(--aw-font-display); }
.xc-login__art p { max-width: 580px; font: italic 400 21px/1.5 var(--aw-font-literary); color: color-mix(in srgb, var(--aw-text-on-image) 72%, var(--aw-overlay-scrim)); }
.xc-login__orbit { position: relative; z-index: 0; display: grid; place-items: center; height: 260px; }
.xc-login__orbit img { position: relative; z-index: 1; }
.xc-login__orbit img { width: 210px; height: 210px; filter: drop-shadow(0 0 28px color-mix(in srgb, var(--aw-accent-energy) 40%, transparent)); }
.xc-login__points { display: flex; flex-wrap: wrap; gap: 16px 28px; margin: 0; padding: 0; list-style: none; }
.xc-login__points b { display: block; font: 700 12px/1.4 var(--aw-font-display); color: var(--aw-accent-on-image); }
.xc-login__points span { display: block; margin-top: 3px; font-size: 12px; color: color-mix(in srgb, var(--aw-text-on-image) 65%, var(--aw-overlay-scrim)); }
.xc-login__form-wrap { display: grid; place-items: center; padding: 60px 40px; background: var(--aw-bg-secondary); }
.xc-login__form { width: min(430px, 100%); }
.xc-login__mark { width: 82px; height: 82px; margin-bottom: 18px; }
.xc-login__form h2 { margin: 12px 0 7px; font: 700 30px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-login__intro { margin-bottom: 25px; font-size: 14px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-login__form .xc-field { margin-bottom: 14px; }
.xc-login__form .xc-check { margin: 4px 0 10px; }
.xc-login__form .xc-submit { margin-top: 8px; }
.xc-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.xc-link { font-size: 12px; color: var(--aw-accent-gold-light); }
.xc-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.xc-divider { display: flex; align-items: center; gap: 10px; margin: 20px 0; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--aw-text-muted); }
.xc-divider::before, .xc-divider::after { content: ""; flex: 1; height: 1px; background: var(--aw-border-line); }
.xc-sso { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.xc-sso .btn { justify-content: center; padding-inline: 12px; }
.xc-secure { display: flex; gap: 10px; align-items: center; margin-top: 24px; padding: 11px 13px; border: 1px solid var(--aw-border-line); border-radius: 6px; font-size: 12px; line-height: 1.45; color: var(--aw-text-secondary); }
.xc-secure .xc-art { width: 34px; height: 34px; flex: none; }
.xc-login__meta { margin-top: 20px; text-align: center; font-size: 13px; line-height: 2; color: var(--aw-text-secondary); }
.xc-login__meta a { color: var(--aw-accent-gold-light); }
.xc-login__meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
.xc-login__meta .icon { width: 14px; height: 14px; display: inline-block; vertical-align: -2px; }

/* =====================================================================
   /athena/crm-handoff
   ===================================================================== */
.xc-athena { padding: 52px 0 82px; }
.xc-athena__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr); gap: 18px; align-items: stretch; }
.xc-chat, .xc-crm { display: flex; flex-direction: column; overflow: hidden; border-radius: 12px; }
.xc-chat__head, .xc-crm__head { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--aw-border-line); }
.xc-chat__head .xc-art, .xc-crm__head .xc-art { width: 49px; height: 49px; flex: none; }
.xc-chat__head h2, .xc-crm__head h2 { font: 700 15px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-chat__head p, .xc-crm__head p { margin-top: 3px; font-size: 12px; color: var(--aw-text-secondary); }
.xc-status { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; font-size: 12px; color: var(--aw-text-secondary); }
.xc-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--aw-state-success); box-shadow: 0 0 12px var(--aw-state-success); }
.xc-messages { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; min-height: 660px; margin: 0; padding: 22px; list-style: none; }
.xc-msg { max-width: 82%; padding: 12px 14px; border-radius: 10px; font-size: 13px; line-height: 1.55; color: var(--aw-text-primary); }
.xc-msg--ai { align-self: flex-start; background: var(--aw-bg-card-hover); border: 1px solid color-mix(in srgb, var(--aw-accent-energy) 22%, transparent); }
.xc-msg--user { align-self: flex-end; background: color-mix(in srgb, var(--aw-accent-gold) 10%, transparent); border: 1px solid var(--aw-border-line); }
.xc-msg__who { display: block; margin-bottom: 4px; font: 400 11px/1.3 var(--aw-font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--aw-accent-gold); }
.xc-quick { align-self: flex-start; display: flex; flex-wrap: wrap; gap: 6px; }
.xc-quick .xc-chip { text-transform: none; letter-spacing: 0; font-size: 12px; background: transparent; }
.xc-quick .xc-chip[aria-pressed="true"] { background: color-mix(in srgb, var(--aw-accent-gold) 14%, transparent); border-color: var(--aw-accent-gold); color: var(--aw-text-primary); }
.xc-compose { display: flex; gap: 8px; padding: 14px; border-top: 1px solid var(--aw-border-line); }
.xc-compose .xc-input { flex: 1; min-width: 0; background: var(--aw-bg-secondary); }
.xc-compose .btn { flex: none; }

.xc-crm__body { padding: 22px; }
.xc-score {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px;
  border: 1px solid var(--aw-border-line);
  border-radius: 9px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--aw-accent-energy) 10%, transparent), color-mix(in srgb, var(--aw-accent-gold) 8%, transparent));
}
.xc-score__ring {
  width: 75px; height: 75px;
  flex: none;
  display: grid; place-items: center;
  border: 5px solid var(--aw-accent-energy);
  border-radius: 50%;
  box-shadow: 0 0 30px color-mix(in srgb, var(--aw-accent-energy) 15%, transparent);
  font: 400 22px/1 var(--aw-font-display);
  color: var(--aw-text-energy);
}
.xc-score h3 { font: 700 18px/1.5 var(--aw-font-display); color: var(--aw-text-primary); }
.xc-score p { margin-top: 4px; font-size: 12px; line-height: 1.5; color: var(--aw-text-secondary); }
.xc-crm__section { margin-top: 21px; }
.xc-crm__section > h3 { margin-bottom: 10px; font: 700 11px/1.4 var(--aw-font-display); letter-spacing: 0.13em; text-transform: uppercase; color: var(--aw-accent-gold); }
.xc-record { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.xc-record__item { display: flex; flex-direction: column; gap: 3px; padding: 10px; border: 1px solid var(--aw-border-line); border-radius: 6px; background: var(--aw-bg-secondary); }
.xc-record__item label { font-size: 11px; line-height: 1.3; letter-spacing: 0.1em; text-transform: uppercase; color: var(--aw-text-muted); }
.xc-record__item textarea {
  display: block;
  width: calc(100% + 8px);
  margin: 0 -4px;
  padding: 2px 4px;
  border: 1px solid transparent;
  border-radius: var(--aw-radius-xs);
  background: transparent;
  color: var(--aw-text-primary);
  font: 700 13px/1.4 var(--aw-font-body);
  resize: none;
  overflow: hidden;
  field-sizing: content;
  min-height: 0;
}
.xc-record__item textarea[readonly] { cursor: default; }
.xc-record__item textarea:not([readonly]) { border-color: var(--aw-border-line); background: var(--aw-bg-primary); }
.xc-record__item textarea:focus { outline: none; border-color: var(--aw-accent-gold-light); }
.xc-record__item textarea[aria-invalid="true"] { border-color: var(--aw-state-danger); }
.xc-record__item:focus-within { border-color: var(--aw-border-gold); }
.xc-crm .xc-line { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; padding: 9px 0; }
.xc-crm .xc-line .xc-art { width: 40px; height: 40px; }
.xc-crm .xc-line b { font: 600 13px/1.4 var(--aw-font-body); }
.xc-crm .xc-line span { font-size: 11px; }
.xc-routing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.xc-routing li { padding: 10px; border: 1px solid var(--aw-border-line); border-radius: 6px; }
.xc-routing b { font: 700 12px/1.4 var(--aw-font-display); color: var(--aw-text-energy); }
.xc-routing span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.45; color: var(--aw-text-secondary); }
.xc-crm__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.xc-crm__actions .btn { justify-content: center; padding-inline: var(--aw-space-4); letter-spacing: 0.08em; white-space: normal; text-align: center; }

/* =====================================================================
   Responsive — restructured, not scaled
   ===================================================================== */
@media (max-width: 1279px) {
  .xc-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .xc-agents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xc-cat-hero__grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; }
  .xc-orbit img { width: 64px; height: 64px; }
  .xc-orbit .xc-orbit__center { width: 100px; height: 100px; }
  .xc-collab { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xc-collab__sep { display: none; }
  .xc-council { grid-template-columns: 340px minmax(0, 1fr); }
  .xc-messages { min-height: 0; }
}

@media (max-width: 1023px) {
  .xc-section, .xc-band { padding-block: var(--aw-space-16); }
  .xc-section--wide { padding-block: var(--aw-space-16); }
  .xc-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .xc-head > p { flex: none; }
  .xc-title { grid-template-columns: 1fr; gap: 14px; }
  .xc-hero { min-height: 640px; }
  .xc-hero::before, :root[data-theme="light"] .xc-hero::before {
    background: linear-gradient(90deg, var(--aw-bg-primary) 20%, color-mix(in srgb, var(--aw-bg-primary) 70%, transparent)), linear-gradient(0deg, var(--aw-bg-primary), transparent 40%);
  }
  .xc-ag-hero { flex-direction: column; align-items: stretch; min-height: 0; }
  .xc-ag-hero > .wrap { padding-block: var(--aw-space-20) var(--aw-space-10); }
  .xc-ag-hero::before { background: linear-gradient(90deg, var(--aw-bg-primary) 10%, color-mix(in srgb, var(--aw-bg-primary) 72%, transparent)), linear-gradient(0deg, var(--aw-bg-primary), transparent 40%); }
  .xc-ag-stats { position: relative; }
  .xc-story { grid-template-columns: 1fr; gap: 24px; }
  .xc-council { grid-template-columns: 1fr; }
  .xc-portrait { min-height: 520px; }
  .xc-agents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xc-degrees { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 45px 0; }
  .xc-degrees::before { display: none; }
  .xc-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xc-banner { grid-template-columns: 1fr; }
  .xc-banner__art { order: -1; width: 140px; height: 140px; margin: 0; }
  .xc-case { grid-template-columns: 1fr; }
  .xc-case__img { min-height: 300px; }
  .xc-contact { grid-template-columns: 1fr; }
  .xc-cat-hero__grid { grid-template-columns: 1fr; }
  .xc-orbit { width: min(380px, 80vw); margin: 0 auto; }
  .xc-products, .xc-tiers, .xc-bundles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xc-tiers > :last-child, .xc-bundles > :last-child { grid-column: 1 / -1; }
  .xc-login { grid-template-columns: 1fr; }
  .xc-athena__grid, .xc-checkout__grid { grid-template-columns: minmax(0, 1fr); }
  .xc-login__art { min-height: 0; padding-top: var(--aw-space-16); }
}

@media (max-width: 767px) {
  .xc-ag-stats ul { grid-template-columns: 1fr; }
  .xc-ag-stats li { padding: 14px 20px; border-right: 0; border-bottom: 1px solid var(--aw-border-line); }
  .xc-ag-stats li:last-child { border-bottom: 0; }
  .xc-humans, .xc-agents, .xc-grid-3, .xc-collab, .xc-degrees { grid-template-columns: 1fr; }
  .xc-products, .xc-tiers, .xc-bundles { grid-template-columns: 1fr; }
  .xc-product--featured { grid-column: auto; display: flex; min-height: 0; }
  .xc-product--featured > .xc-art { width: 72px; height: 72px; }
  .xc-product--featured .xc-product__desc { font-size: 13px; }
  .xc-product { min-height: 0; }
  .xc-metrics, .xc-controls, .xc-next ol, .xc-routing, .xc-record { grid-template-columns: 1fr; }
  .xc-fields, .xc-choices, .xc-contact__notes { grid-template-columns: 1fr; }
  .xc-crm__actions { grid-template-columns: 1fr; }
  .xc-case__copy, .xc-contact__aside, .xc-form-panel, .xc-banner { padding: 24px; }
  .xc-confirm { min-height: 0; padding: var(--aw-space-16) 0; }
  .xc-hero > .wrap { padding-block: var(--aw-space-16) var(--aw-space-14); }
  .xc-hero__copy > p { font-size: 19px; }
  .xc-messages { padding: 16px; }
  .xc-msg { max-width: 92%; }
  .xc-cta { padding-block: var(--aw-space-16); }
  .xc-login__art { padding-inline: var(--aw-gutter); }
  .xc-login__form-wrap { padding: var(--aw-space-12) var(--aw-gutter); }
  .xc-login__points { flex-direction: column; gap: 12px; }
  .xc-login__orbit { display: none; }
  .xc-login__orbit::before { width: 420px; height: 420px; }
  .xc-login__orbit::after { width: 260px; height: 260px; }
  .xc-cat-hero::before { width: 420px; height: 420px; right: -200px; }
  .xc-cart-fab { right: 16px; bottom: 16px; }
  .xc-cart-fab__label { display: none; }
  .xc-actions .btn { flex: 1 1 100%; }
  .xc-actions .btn, .xc-banner .btn, .xc-submit, .xc-drawer__foot .btn, .xc-crm__actions .btn { white-space: normal; text-align: center; }
  .xc-confirm > .wrap { min-width: 0; }
  .xc-form-panel > .btn[type="submit"] { width: 100%; justify-content: center; }
  .xc-chat__head { flex-wrap: wrap; }
  .xc-compose .btn { padding-inline: var(--aw-space-5); }
  .xc-login__art { gap: var(--aw-space-8); padding-block: var(--aw-space-12); }
}

@media (max-width: 479px) {
  .xc-sso { grid-template-columns: 1fr; }
  .xc-segments__row { grid-template-columns: 1fr; }
  .xc-segments label { border-right: 0; border-bottom: 1px solid var(--aw-border-line); }
  .xc-segments label:last-child { border-bottom: 0; }
  .xc-line { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
  .xc-line .xc-art { width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .xc-drawer, .xc-scrim, .xc-toast, .xc-product { transition: none; }
}

/* Toggle labels inside pressed buttons (tier "Add to guild plan" / "Added to plan") */
.xc-when-on { display: none; align-items: center; gap: var(--aw-space-3); }
[aria-pressed="true"] > .xc-when-off { display: none; }
[aria-pressed="true"] > .xc-when-on { display: inline-flex; }
