/* Kynara / Homepage journey 001. Real, responsive browser prototype. */
:root {
  --ink:#191524;
  --muted:#645c70;
  --cream:#f7f4ee;
  --paper:#fffcf7;
  --purple:#6e3ad3;
  --pink:#e596c8;
  --lilac:#c6a7ff;
  --line:#dcd6e1;
  --dark:#17121f;
  --font:'Outfit',Arial,sans-serif;
  --header-height:88px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:98px;
}
body {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:var(--font);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
button,a {
  -webkit-tap-highlight-color:transparent;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  cursor:pointer;
}
button:disabled {
  cursor:default;
}
button,a,summary {
  touch-action:manipulation;
}
button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid #a274ef;
  outline-offset:5px;
}
button:focus:not(:focus-visible) {
  outline:none;
}
[hidden] {
  display:none!important;
}
h1,h2,h3,h4,p,figure {
  margin:0;
}
h1,h2,h3,h4 {
  font-weight:500;
  letter-spacing:-.045em;
}
em {
  font-style:normal;
  color:var(--purple);
}
img,video {
  display:block;
  max-width:100%;
}
button {
  color:inherit;
}
::selection {
  background:var(--lilac);
  color:var(--ink);
}
.skip-link {
  position:fixed;
  top:-80px;
  left:16px;
  z-index:100;
  background:white;
  padding:16px;
}
.skip-link:focus {
  top:8px;
}
.header {
  height:var(--header-height);
  padding:0 max(4vw,24px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:rgba(247,244,238,.97);
  border-bottom:1px solid rgba(35,23,51,.09);
  position:sticky;
  top:0;
  z-index:30;
}
.brand {
  display:inline-flex;
  align-items:center;
  font-size:32px;
  letter-spacing:-1.5px;
  font-weight:650;
}
.brand-mark {
  display:inline-grid;
  place-items:center;
  background:var(--purple);
  color:white;
  width:31px;
  height:35px;
  border-radius:11px 11px 11px 3px;
  margin-right:9px;
  font-size:27px;
  font-weight:550;
  line-height:1;
}
.brand-dot {
  color:var(--purple);
}
.header nav {
  display:flex;
  gap:14px;
  font-size:14px;
  font-weight:500;
}
.header a {
  flex-shrink:0;
  white-space:nowrap;
}
.header nav a {
  padding:15px 0;
}
.header nav a:hover {
  color:var(--purple);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:58px;
  padding:17px 24px;
  border:1px solid transparent;
  border-radius:8px;
  font-size:16px;
  font-weight:550;
  transition:transform .2s,background .2s;
}
.button:hover {
  transform:translateY(-2px);
}
.button span {
  font-size:22px;
  line-height:1;
}
.button-small {
  min-height:44px;
  padding:11px 18px;
  font-size:14px;
  gap:25px;
}
.button-dark {
  background:var(--ink);
  color:white;
}
.button-purple {
  background:var(--purple);
  color:white;
  box-shadow:0 8px 25px #6e3ad31a;
}
.button-purple:hover {
  background:#5828b5;
}
.button-outline {
  border-color:#c9c0d4;
  background:transparent;
}
.button-white {
  background:white;
  color:#43226f;
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  width:44px;
  height:44px;
  padding:9px;
}
.menu-toggle span {
  height:2px;
  background:var(--ink);
  display:block;
  margin:7px 0;
}
.mobile-nav {
  position:fixed;
  top:var(--header-height);
  inset-inline:0;
  background:var(--cream);
  padding:16px 24px 24px;
  border-bottom:1px solid var(--line);
  z-index:29;
  max-height:calc(100vh - var(--header-height));
  max-height:calc(100dvh - var(--header-height));
  overflow-y:auto;
  overscroll-behavior:contain;
}
.mobile-nav a {
  display:block;
  padding:14px 0;
  font-size:22px;
}
.hero {
  max-width:1600px;
  margin:auto;
  display:grid;
  grid-template-columns:1.06fr 1fr;
  gap:5%;
  padding:60px max(4vw,24px) 40px;
  overflow:hidden;
}
.hero-copy {
  padding:40px 0 30px;
}
.eyebrow {
  font-size:11px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:.13em;
}
.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
}
.live-dot {
  width:7px;
  height:7px;
  background:var(--purple);
  border-radius:50%;
  box-shadow:0 0 0 5px #6e3ad312;
}
.hero h1 {
  font-size:clamp(54px,5.65vw,92px);
  line-height:1.035;
  letter-spacing:-.06em;
  margin:26px 0 25px;
  white-space:nowrap;
}
.hero h1 em {
  position:relative;
  z-index:0;
}
.hero h1 em:after {
  content:'';
  position:absolute;
  inset:12% -10% 0;
  border:2px solid #a479d970;
  transform:rotate(-8deg);
  border-radius:50%;
  z-index:-1;
}
.hero-description {
  font-size:17px;
  line-height:1.65;
  color:#595162;
  max-width:455px;
  margin-bottom:27px;
}
.hero-reassurance {
  font-size:12px;
  color:var(--muted);
  margin-top:13px;
}
.hero-agency-link {
  display:flex;
  gap:15px;
  align-items:center;
  margin-top:44px;
  max-width:480px;
  font-size:12px;
  line-height:1.6;
}
.hero-agency-link strong {
  font-weight:500;
  font-size:14px;
}
.hero-agency-link>span:last-child {
  margin-left:auto;
  font-size:24px;
}
.tiny-orbit {
  color:var(--purple);
  font-size:42px;
}
.hero-visual {
  position:relative;
  margin:0 0 0 20px;
  padding-bottom:75px;
}
.portrait-stage {
  position:relative;
  height:100%;
  min-height:610px;
  max-height:710px;
  border-radius:160px 8px 8px 8px;
  overflow:hidden;
  background:#26202b;
}
.portrait {
  background-image:url('/marketing/assets/img/approved-creator-composite.jpg');
  background-repeat:no-repeat;
  background-color:#302731;
}
.portrait-styled {
  background-size:200.572% 119.744%;
  background-position:98.293% 68.108%;
}
.portrait-source {
  background-size:212.103% 119.744%;
  background-position:1.619% 68.108%;
}
.hero-portrait {
  position:absolute;
  inset:0;
  background-size:auto 119.744%;
  background-position:98.3% 68.108%;
}
.hero-portrait.portrait-source {
  background-position:1.62% 68.108%;
}
.portrait-stage:after {
  content:'';
  position:absolute;
  inset:65% 0 0;
  background:linear-gradient(transparent,#140e24ac);
  pointer-events:none;
}
.portrait-topline {
  position:absolute;
  left:32px;
  right:26px;
  top:32px;
  display:flex;
  justify-content:flex-end;
  font-size:9px;
  letter-spacing:.13em;
  font-weight:500;
  color:#fff;
  text-shadow:0 1px 8px #000;
}
.portrait-caption {
  position:absolute;
  bottom:36px;
  left:35%;
  right:26px;
  z-index:2;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:26px;
  letter-spacing:-.035em;
  line-height:1.15;
}
.portrait-caption em {
  color:#dbc9fa;
}
.portrait-star {
  font-size:62px;
  color:var(--pink);
  margin-left:12px;
}
.source-card {
  position:absolute;
  left:-48px;
  bottom:65px;
  width:166px;
  transform:rotate(-7deg);
  border:7px solid var(--paper);
  border-radius:5px;
  background:var(--paper);
  box-shadow:0 8px 25px #1e13272b;
  z-index:3;
  transition:transform .25s;
}
.source-card:hover {
  transform:rotate(-2deg) translateY(-6px);
}
.source-card .portrait {
  display:block;
  height:194px;
}
.source-card-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  padding:10px 3px 4px;
  font-weight:500;
}
.source-card-label span {
  font-size:17px;
}
.hand-note {
  position:absolute;
  left:122px;
  bottom:42px;
  font-size:13px;
  color:var(--purple);
  transform:rotate(-5deg);
  font-style:italic;
}
.illustration-note {
  position:absolute;
  bottom:2px;
  right:0;
  font-size:10px;
  line-height:1.5;
  color:#675d70;
  text-align:right;
  max-width:340px;
}
.journey-ribbon {
  max-width:1600px;
  margin:auto;
  display:flex;
  gap:24px;
  justify-content:space-between;
  align-items:center;
  padding:28px max(4vw,24px);
  border-top:1px solid var(--line);
  font-size:14px;
}
.journey-ribbon b {
  font-size:10px;
  color:var(--purple);
  margin-right:14px;
  font-weight:600;
}
.ribbon-arrow {
  font-size:24px;
  color:var(--purple);
}
.section-dark {
  background:var(--dark);
  color:#f6f1fc;
}
.results {
  padding:88px max(7vw,24px) 0;
}
.section-intro {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:14px 7%;
  max-width:1250px;
  margin:auto;
}
.section-intro>.eyebrow {
  grid-column:1/-1;
  color:#b49bbf;
}
.section-intro h2,.agency h2,.plans h2,.start-section h2,.closing h2 {
  font-size:clamp(40px,4.5vw,66px);
  line-height:1.1;
}
.text-lilac {
  color:var(--lilac);
}
.section-intro>p:last-child {
  color:#c4bbc9;
  font-size:16px;
  line-height:1.75;
  align-self:end;
  max-width:340px;
}
.result-grid {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:9%;
  max-width:1100px;
  margin:48px auto 0;
  align-items:center;
}
.result-media {
  min-width:0;
}
.media-tabs {
  display:flex;
  padding:6px;
  background:#2b2335;
  border:1px solid #413447;
  border-radius:10px 10px 0 0;
  gap:5px;
}
.media-tabs button {
  background:transparent;
  color:#c4b7d2;
  border:0;
  flex:1;
  min-height:44px;
  border-radius:5px;
  font-size:13px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:center;
}
.media-tabs .is-active {
  background:#efdcf6;
  color:#382041;
}
.media-tabs button span {
  font-size:22px;
}
.media-frame {
  height:500px;
  position:relative;
  border-radius:0 0 10px 10px;
  overflow:hidden;
  background:#241d2c;
}
.media-frame>img,.media-frame>video {
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-frame>video {
  object-fit:contain;
  background:#000;
}
.media-label {
  position:absolute;
  top:19px;
  left:18px;
  max-width:calc(100% - 36px);
  font-size:9px;
  letter-spacing:.1em;
  background:#18121edb;
  color:white;
  padding:9px 12px;
  border-radius:4px;
  pointer-events:none;
}
.video-invite {
  position:absolute;
  bottom:20px;
  left:18px;
  right:18px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 17px;
  border-radius:6px;
  color:white;
  background:#241d2dee;
  border:1px solid #ffffff45;
  font-size:13px;
  min-height:56px;
  backdrop-filter:blur(12px);
}
.video-invite span:first-child {
  font-size:15px;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#ede1ff;
  color:#4c267f;
}
.video-invite span:last-child {
  margin-left:auto;
  font-size:22px;
}
.media-provenance {
  font-size:10px;
  line-height:1.5;
  color:#b6aabe;
  margin-top:12px;
}
.section-number {
  color:#34273f;
  font-size:100px;
  font-weight:500;
  letter-spacing:-.07em;
  line-height:.8;
  display:block;
  margin-bottom:25px;
}
.result-story>.eyebrow {
  color:#b79cce;
  font-size:10px;
}
.result-story h3 {
  font-size:48px;
  line-height:1.08;
  margin:18px 0 20px;
}
.result-story>p:not(.eyebrow):not(.context-label):not(.small-note) {
  font-size:16px;
  line-height:1.75;
  color:#c9becf;
  max-width:400px;
}
.format-benefits {
  list-style:none;
  padding:0;
  margin:25px 0 35px;
  font-size:13px;
  color:#e4dcea;
}
.format-benefits li {
  position:relative;
  padding:8px 0 8px 22px;
}
.format-benefits li:before {
  content:'↗';
  position:absolute;
  left:0;
  color:var(--lilac);
}
.context-label {
  font-size:9px;
  color:#b6a0c7;
  letter-spacing:.1em;
  font-weight:500;
  margin-bottom:13px;
}
.channel-pills {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.channel-pills span {
  padding:8px 11px;
  border-radius:5px;
  border:1px solid #665470;
  font-size:11px;
}
.small-note {
  font-size:11px;
  color:#b9acbf;
  margin-top:10px;
}
.text-link {
  font-size:15px;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:14px 0;
  border-bottom:1px solid #a68cbe;
  min-height:48px;
  color:#45245f;
}
.text-link span {
  font-size:24px;
  line-height:1;
}
.light-link {
  color:#e5cef7;
  border-bottom-color:#675071;
  margin-top:22px;
}
.handoff {
  display:flex;
  align-items:center;
  gap:28px;
  max-width:1100px;
  margin:58px auto 0;
  padding:35px 0;
  border-top:1px solid #49374f;
}
.handoff-symbol {
  color:var(--pink);
  font-size:60px;
}
.handoff p {
  font-size:20px;
  color:#b6a8c2;
  line-height:1.5;
}
.handoff strong {
  color:#f2e9f9;
  font-weight:450;
}
.handoff a {
  margin-left:auto;
  border:1px solid #6c557b;
  border-radius:50%;
  height:60px;
  width:60px;
  display:grid;
  place-items:center;
  font-size:30px;
  color:var(--lilac);
}
.agency {
  background:#eee6f4;
  padding:80px max(7vw,24px) 0;
}
.agency-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  max-width:1250px;
  margin:0 auto 25px;
}
.agency-heading .eyebrow {
  color:#694f7d;
}
.included-badge {
  font-size:9px;
  padding:9px 12px;
  border:1px solid #bba3ce;
  border-radius:30px;
  font-weight:550;
  letter-spacing:.05em;
}
.agency-intro {
  max-width:1250px;
  margin:auto;
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:7%;
  align-items:end;
}
.agency-intro h2 {
  font-size:clamp(36px,4.1vw,60px);
}
.agency-intro h2 em {
  color:#774291;
}
.agency-intro>div {
  font-size:15px;
  line-height:1.7;
  color:#68546e;
  max-width:370px;
}
.semantic-line {
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #c9b5d3;
}
.semantic-line strong {
  font-weight:600;
  color:#4a3159;
}
.agency-lab {
  max-width:1250px;
  margin:48px auto 0;
  background:#fffdf9;
  border:1px solid #d1c1d8;
  border-radius:12px;
  padding:34px;
}
.lab-top {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:28px;
}
.lab-top .eyebrow {
  font-size:9px;
  color:#825098;
  margin-bottom:10px;
}
.lab-top h3 {
  font-size:28px;
  line-height:1.15;
}
.persona-tabs {
  display:flex;
  background:#f0eaf4;
  border:1px solid #e4d9ec;
  padding:5px;
  gap:4px;
  border-radius:7px;
}
.persona-tabs button {
  padding:10px 16px;
  min-height:44px;
  font-size:12px;
  background:transparent;
  border:0;
  border-radius:4px;
  color:#66566e;
  white-space:nowrap;
}
.persona-tabs .is-active {
  background:#57306f;
  color:white;
  box-shadow:0 2px 4px #30173a12;
}
.lab-body {
  display:grid;
  grid-template-columns:1fr 50px 1.15fr;
  align-items:center;
}
.knowledge-panel {
  padding:30px;
  background:#f3eee8;
  border-radius:7px;
  min-height:337px;
}
.panel-kicker {
  font-size:10px;
  letter-spacing:.08em;
  font-weight:500;
  display:flex;
  gap:9px;
  align-items:center;
  color:#67516c;
}
.panel-icon {
  color:#9667aa;
  font-size:23px;
  line-height:.7;
}
.knowledge-panel blockquote {
  font-size:23px;
  line-height:1.4;
  font-weight:450;
  letter-spacing:-.025em;
  margin:23px 0;
}
.knowledge-detail {
  display:grid;
  grid-template-columns:85px 1fr;
  gap:12px;
  margin-top:13px;
}
.knowledge-detail span {
  font-size:8px;
  letter-spacing:.07em;
  line-height:1.6;
  color:#706476;
  padding-top:2px;
}
.knowledge-detail p {
  font-size:12px;
  line-height:1.6;
}
.confirmed-label {
  font-size:10px;
  color:#715d7b;
  display:block;
  margin-top:23px;
}
.confirmed-label span {
  color:#654372;
  margin-right:6px;
}
.lab-connector {
  font-size:28px;
  color:#925faf;
  text-align:center;
}
.opportunity-panel {
  border-radius:8px;
  border:1px solid #755384;
  background:#34203f;
  color:#f5eafa;
  padding:30px;
  min-height:337px;
  box-shadow:0 12px 20px #41254c12;
}
.opportunity-panel .panel-kicker {
  color:#c3aaca;
}
.post-type {
  display:inline-block;
  padding:7px 9px;
  font-size:8px;
  letter-spacing:.07em;
  color:#e7cdf3;
  border:1px solid #755581;
  border-radius:4px;
  margin-top:21px;
}
.opportunity-panel h4 {
  font-size:28px;
  line-height:1.15;
  margin:14px 0;
}
.opportunity-panel>p:not(.panel-kicker) {
  font-size:13px;
  line-height:1.65;
  color:#d9c6e2;
}
.opportunity-why {
  display:flex;
  gap:9px;
  margin-top:19px;
  padding-top:15px;
  border-top:1px solid #63456e;
  color:#c3aaca;
  font-size:11px;
  line-height:1.5;
}
.opportunity-why>span {
  font-size:23px;
  color:#d4afe5;
}
.opportunity-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:19px;
  color:#e3c7ef;
  font-size:10px;
}
.post-arrow {
  font-size:24px;
}
.lab-disclosure {
  margin-top:20px;
  color:#6b5a72;
  font-size:10px;
  line-height:1.6;
}
.agency-workflow {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:14%;
  max-width:1120px;
  margin:64px auto;
}
.workflow-heading h3 {
  font-size:42px;
  line-height:1.12;
  margin:14px 0 20px;
}
.workflow-heading>p:not(.eyebrow) {
  font-size:15px;
  line-height:1.75;
  color:#6b5775;
}
.workflow-heading .text-link {
  margin-top:20px;
}
.workflow-steps {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:25px;
}
.workflow-steps li {
  display:flex;
  gap:22px;
  position:relative;
}
.workflow-steps li>span {
  font-size:11px;
  color:#81589a;
  background:#e0d0eb;
  border:1px solid #cbb3dc;
  border-radius:50%;
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  position:relative;
  z-index:1;
}
.workflow-steps li:not(:last-child):after {
  content:'';
  width:1px;
  background:#c9b3d6;
  position:absolute;
  top:35px;
  bottom:-27px;
  left:17px;
}
.workflow-steps h4 {
  font-size:19px;
  letter-spacing:-.02em;
  margin:4px 0 7px;
}
.workflow-steps p {
  font-size:12px;
  line-height:1.75;
  color:#6b5775;
  max-width:340px;
}
.human-moment {
  max-width:1250px;
  margin:auto;
  padding:27px 0 32px;
  border-top:1px solid #cab8d3;
  display:flex;
  align-items:center;
  gap:25px;
}
.human-mark {
  font-size:50px;
  color:#81589a;
}
.human-moment p:first-of-type {
  font-size:22px;
  line-height:1.25;
  flex-shrink:0;
}
.human-moment strong {
  font-weight:450;
}
.human-moment p:last-child {
  margin-left:auto;
  max-width:580px;
  font-size:13px;
  line-height:1.7;
  color:#6b5775;
}
.start-section {
  padding:75px max(7vw,24px);
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:12%;
  max-width:1550px;
  margin:auto;
}
.start-title .eyebrow {
  color:#775989;
  margin-bottom:20px;
}
.start-section h2 {
  font-size:clamp(35px,4vw,56px);
}
.start-options {
  display:flex;
  flex-direction:column;
  gap:27px;
}
.start-options>div {
  position:relative;
  padding-left:63px;
}
.start-count {
  position:absolute;
  top:-5px;
  left:0;
  font-size:34px;
  letter-spacing:-.05em;
  color:#9378a2;
}
.start-options h3 {
  font-size:22px;
  margin-bottom:9px;
  letter-spacing:-.025em;
}
.start-options p {
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
}
.plans {
  padding:80px max(7vw,24px);
  background:#e9e1f0;
}
.plans-heading {
  max-width:1250px;
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:end;
  margin:auto auto 43px;
}
.plans-heading .eyebrow {
  font-size:10px;
  color:#775389;
  margin-bottom:17px;
}
.plans h2 {
  font-size:clamp(36px,4vw,56px);
}
.plans h2 em {
  color:#78518d;
}
.plans-heading>p {
  font-size:14px;
  line-height:1.75;
  color:#735f80;
  max-width:290px;
  margin-bottom:4px;
}
.pricing-grid {
  display:grid;
  grid-template-columns:.94fr 1.12fr .94fr;
  gap:20px;
  max-width:1250px;
  margin:auto;
  align-items:stretch;
}
.plan {
  padding:32px 28px;
  background:#f8f4fa;
  border:1px solid #cbbbD5;
  border-radius:9px;
  display:flex;
  flex-direction:column;
  position:relative;
}
.plan-top {
  min-height:119px;
}
.plan-eyebrow {
  font-size:8px;
  letter-spacing:.11em;
  color:#816590;
  font-weight:600;
}
.plan h3 {
  font-size:33px;
  margin:12px 0 7px;
}
.plan-description {
  font-size:12px;
  line-height:1.55;
  color:#73637d;
}
.price {
  font-size:42px;
  font-weight:500;
  letter-spacing:-.04em;
}
.price span {
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  margin-left:7px;
}
.credit-line {
  font-size:11px;
  color:#806c8a;
  margin:9px 0 21px;
  padding-bottom:21px;
  border-bottom:1px solid #dacde2;
}
.plan ul {
  padding:0;
  list-style:none;
  margin:0 0 17px;
  font-size:12px;
  line-height:1.6;
  flex:1;
}
.plan li {
  position:relative;
  padding:0 0 12px 20px;
}
.plan li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:#986ba8;
}
.plan li strong {
  font-weight:550;
}
.plan-limit {
  font-size:11px;
  line-height:1.6;
  color:#7b628a;
  margin-bottom:19px;
}
.plan .button {
  font-size:13px;
  min-height:50px;
  padding:13px 17px;
  gap:10px;
}
.plan-creator {
  background:#62399a;
  color:#fff8ff;
  border-color:#62399a;
  box-shadow:0 12px 25px #5c2f8718;
}
.plan-badge {
  position:absolute;
  top:-13px;
  left:22px;
  background:#e4b0d6;
  color:#482253;
  border:4px solid #e9e1f0;
  border-radius:20px;
  font-size:8px;
  font-weight:550;
  letter-spacing:.065em;
  padding:6px 13px;
}
.plan-creator .plan-eyebrow,.plan-creator .plan-description,.plan-creator .credit-line {
  color:#ddcceb;
}
.plan-creator .credit-line {
  border-color:#9165b6;
}
.plan-creator li:before {
  color:#e0b6ef;
}
.pricing-note {
  max-width:1250px;
  margin:22px auto 0;
  font-size:11px;
  line-height:1.7;
  color:#796485;
  text-align:center;
}
.pricing-note a {
  text-decoration:underline;
  text-underline-offset:3px;
  white-space:nowrap;
}
.faq {
  max-width:1550px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:10%;
  padding:80px max(7vw,24px);
}
.faq .eyebrow {
  color:#826094;
  margin-bottom:19px;
}
.faq h2 {
  font-size:46px;
  line-height:1.13;
}
.faq-list {
  border-top:1px solid #d9cfe0;
}
.faq details {
  border-bottom:1px solid #d9cfe0;
}
.faq summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  font-size:16px;
  padding:22px 0;
  cursor:pointer;
  list-style:none;
  min-height:64px;
}
.faq summary::-webkit-details-marker {
  display:none;
}
.faq summary span {
  color:#9670ad;
  font-size:24px;
}
.faq details[open] summary span {
  transform:rotate(45deg);
}
.faq details p {
  font-size:13px;
  line-height:1.8;
  color:#74647e;
  padding-bottom:22px;
  max-width:530px;
}
/* Continuous, lightweight starlight around the two personal ellipses. */
.hero-copy {position:relative;}
.personal-sparkles {
  position:absolute;
  inset:0;
  pointer-events:none;
  color:#a78abd;
  transition:transform .3s ease-out;
}
.personal-sparkles>span {
  position:absolute;
  width:14px;
  height:14px;
  background:currentColor;
  clip-path:polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
  opacity:.42;
  transform:scale(.9);
}
.personal-sparkles>span:nth-child(1) {left:0;top:35%;}
.personal-sparkles>span:nth-child(2) {right:5%;top:0;width:10px;height:10px;--time:7s;--phase:-2s;}
.personal-sparkles>span:nth-child(3) {right:0;bottom:7%;width:12px;height:12px;--time:8s;--phase:-4s;}
.personal-sparkles>span:nth-child(4) {left:20%;bottom:0;width:7px;height:7px;--time:9s;--phase:-1s;}
.personal-sparkles>span:nth-child(n+5) {width:4px;height:4px;--time:7.5s;}
.personal-sparkles>span:nth-child(5) {left:42%;top:-6%;--phase:-3s;}
.personal-sparkles>span:nth-child(6) {right:-5%;top:16%;--phase:-5s;}
.personal-sparkles>span:nth-child(7) {right:-9%;bottom:13%;--phase:-1.5s;}
.personal-sparkles>span:nth-child(8) {right:12%;bottom:-7%;--phase:-6s;}
.hero h1 em .personal-sparkles {
  inset:-8% -17% -12%;
  transform:translate(var(--stars-x,0px),var(--stars-y,0px));
}
.hero h1 em .personal-sparkles>span:nth-child(1) {left:17%;top:6%;width:16px;height:16px;}
.hero h1 em .personal-sparkles>span:nth-child(4) {left:auto;right:-8%;bottom:45%;}
.hero h1 em:after {
  transform:translate(var(--orbit-x,0px),var(--orbit-y,0px)) rotate(-8deg);
  transition:transform .3s ease-out;
}
.closing>.personal-sparkles {
  inset:25px auto auto 50%;
  width:min(600px,calc(100% - 48px));
  height:400px;
  transform:translate(calc(-50% + var(--stars-x,0px)),var(--stars-y,0px));
}
.closing>.personal-sparkles>span:nth-child(1) {left:7%;top:32%;width:18px;height:18px;}
.closing>.personal-sparkles>span:nth-child(2) {right:8%;top:10%;}
.closing>.personal-sparkles>span:nth-child(3) {right:6%;bottom:27%;width:14px;height:14px;}
.closing>.personal-sparkles>span:nth-child(4) {left:20%;bottom:4%;}
.closing>.personal-sparkles>span:nth-child(5) {left:29%;top:8%;}
.closing>.personal-sparkles>span:nth-child(6) {right:2%;top:35%;}
.closing>.personal-sparkles>span:nth-child(7) {right:19%;bottom:4%;}
.closing>.personal-sparkles>span:nth-child(8) {left:9%;bottom:21%;}
.sparkles-seen .personal-sparkles>span {
  animation:personal-glimmer var(--time,6s) ease-in-out var(--phase,0s) infinite alternate;
  animation-play-state:paused;
}
.sparkles-active .personal-sparkles>span {animation-play-state:running;}
@keyframes personal-glimmer {
  0% {opacity:.28;transform:translate(2px,-3px) scale(.75);}
  50% {opacity:.88;transform:translate(-2px,2px) scale(1.2);}
  100% {opacity:.42;transform:translate(3px,-1px) scale(.9);}
}
.motion-toggle {
  position:absolute;
  top:0;
  right:0;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #c9b6da;
  border-radius:50%;
  background:var(--cream);
  color:#725088;
  font:12px var(--font);
  cursor:pointer;
}
.motion-toggle:hover,.motion-toggle:focus-visible {border-color:var(--purple);color:var(--purple);}
.closing>.motion-toggle {top:24px;right:24px;}
@media (max-width:800px) {.hero .motion-toggle {top:-27px;}}
@media (forced-colors:active), print {
  .personal-sparkles,.motion-toggle {display:none;}
}

.closing {
  text-align:center;
  padding:50px 24px 80px;
  position:relative;
  overflow:hidden;
  max-width:1450px;
  margin:auto;
}
.closing:before {
  content:'';
  position:absolute;
  width:540px;
  height:370px;
  border:1px solid #dacee5;
  border-radius:50%;
  left:calc(50% - 270px);
  top:45px;
  transform:translate(var(--orbit-x,0px),var(--orbit-y,0px)) rotate(-18deg);
  transition:transform .3s ease-out;
  z-index:-1;
}
.closing-star {
  color:#b79acd;
  font-size:60px;
}
.closing>p {
  font-size:9px;
  letter-spacing:.12em;
  color:#8b699f;
  margin-top:20px;
}
.closing h2 {
  font-size:clamp(42px,5vw,70px);
  margin:20px 0 29px;
}
.closing h2 em {
  color:#725088;
}
.closing-free {
  display:block;
  width:fit-content;
  margin:18px auto 0;
  font-size:12px;
  color:#765c86;
  padding:8px;
}
footer {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:25px;
  padding:30px max(4vw,24px);
  border-top:1px solid var(--line);
  background:#f2eee8;
}
footer .brand {
  font-size:24px;
}
footer .brand-mark {
  width:24px;
  height:28px;
  font-size:22px;
  border-radius:8px 8px 8px 2px;
}
footer>p {
  font-size:11px;
  color:var(--muted);
}
footer>div {
  display:flex;
  gap:25px;
  margin-left:auto;
  font-size:11px;
  color:#74617e;
}
footer>div a {
  padding:12px 0;
}
footer>span {
  font-size:10px;
  color:#97869e;
}
@media(min-width:1600px) {
  .hero {
    padding-inline:64px;
  }
  .header {
    padding-inline:calc((100vw - 1472px)/2);
  }
  .hero-portrait {
    background-size:200.572% 119.744%;
  }
}
/* Keep every website destination accessible before the full menu gets tight. */
@media(max-width:1280px) {
  .header nav {
    display:none;
  }
  .header .button {
    margin-left:auto;
  }
  .menu-toggle {
    display:block;
    flex-shrink:0;
  }
}
@media(max-width:1100px) {
  .hero {
    gap:3%;
    padding-top:35px;
  }
  .hero-copy {
    padding-top:28px;
  }
  .hero h1 {
    font-size:60px;
  }
  .hero-description {
    font-size:15px;
  }
  .hero-visual {
    margin-left:12px;
  }
  .portrait-stage {
    min-height:590px;
  }
  .hero-agency-link {
    margin-top:28px;
  }
  .portrait-caption {
    left:33%;
    font-size:21px;
  }
  .portrait-star {
    font-size:40px;
  }
  .source-card {
    left:-28px;
    width:143px;
  }
  .source-card .portrait {
    height:168px;
  }
  .hand-note {
    left:118px;
    bottom:44px;
  }
  .results,.agency,.plans {
    padding-inline:5vw;
  }
  .result-grid {
    gap:7%;
  }
  .result-story h3 {
    font-size:40px;
  }
  .section-number {
    font-size:70px;
  }
  .media-frame {
    height:460px;
  }
  .section-intro {
    gap:25px;
  }
  .agency-intro {
    gap:5%;
  }
  .agency-lab {
    padding:25px;
  }
  .knowledge-panel,.opportunity-panel {
    padding:23px;
    min-height:360px;
  }
  .knowledge-panel blockquote {
    font-size:21px;
  }
  .agency-workflow {
    gap:8%;
  }
  .human-moment p:last-child {
    max-width:440px;
  }
  .pricing-grid {
    gap:12px;
  }
  .plan {
    padding:28px 22px;
  }
  .plan-top {
    min-height:135px;
  }
  .plan-badge {
    left:12px;
    font-size:7px;
  }
  .faq,.start-section {
    padding-inline:5vw;
    gap:7%;
  }
}
@media(max-width:800px) {
  :root {
    --header-height:72px;
  }
  html {
    scroll-padding-top:85px;
  }
  .header {
    padding-inline:22px;
    gap:15px;
  }
  .header .brand {
    font-size:29px;
  }
  .header .button {
    margin-left:auto;
    font-size:12px;
    padding:10px 13px;
    gap:15px;
    min-height:42px;
  }
  .hero {
    padding:30px 24px 28px;
    grid-template-columns:1fr;
    gap:27px;
    max-width:620px;
  }
  .hero-copy {
    padding:0;
  }
  .hero .eyebrow {
    font-size:9px;
    letter-spacing:.08em;
  }
  .hero h1 {
    font-size:clamp(54px,9.2vw,77px);
    white-space:normal;
    margin:25px 0 19px;
    line-height:1.02;
  }
  .hero-description {
    font-size:15px;
    line-height:1.65;
    max-width:460px;
    margin-bottom:23px;
  }
  .desktop-break {
    display:none;
  }
  .hero .button {
    font-size:14px;
    min-height:54px;
    padding:16px 20px;
    gap:25px;
  }
  .hero-reassurance {
    font-size:11px;
  }
  .hero-agency-link {
    margin-top:23px;
    max-width:460px;
  }
  .hero-agency-link strong {
    font-size:12px;
  }
  .hero-agency-link>span:first-child {
    font-size:31px;
  }
  .hero-agency-link>span:last-child {
    font-size:20px;
  }
  .hero-visual {
    margin:0 0 0 22px;
    padding-bottom:74px;
    max-width:480px;
  }
  .portrait-stage {
    min-height:0;
    height:auto;
    aspect-ratio:.76;
    border-radius:105px 6px 6px 6px;
  }
  .hero-portrait {
    background-size:200.572% 119.744%;
  }
  .hero-portrait.portrait-source {
    background-size:212.103% 119.744%;
  }
  .portrait-topline {
    top:22px;
    left:22px;
    right:20px;
    font-size:8px;
  }
  .portrait-caption {
    left:38%;
    bottom:25px;
    font-size:22px;
    right:18px;
  }
  .portrait-star {
    font-size:34px;
  }
  .source-card {
    left:-21px;
    bottom:65px;
    width:135px;
    border-width:6px;
  }
  .source-card .portrait {
    height:162px;
  }
  .source-card-label {
    font-size:9px;
    padding:8px 1px 3px;
  }
  .source-card-label span {
    font-size:14px;
  }
  .hand-note {
    left:120px;
    bottom:48px;
    font-size:11px;
  }
  .illustration-note {
    font-size:9px;
    max-width:280px;
    bottom:3px;
  }
  .journey-ribbon {
    padding:22px 24px;
    gap:15px;
    overflow-x:auto;
    scrollbar-width:thin;
    font-size:11px;
    white-space:nowrap;
  }
  .journey-ribbon b {
    margin-right:8px;
    font-size:9px;
  }
  .ribbon-arrow {
    font-size:20px;
  }
  .results {
    padding:55px 24px 0;
  }
  .section-intro {
    grid-template-columns:1fr;
    gap:15px;
    max-width:570px;
  }
  .section-intro>.eyebrow {
    font-size:9px;
  }
  .section-intro h2 {
    font-size:43px;
  }
  .section-intro>p:last-child {
    font-size:14px;
    line-height:1.7;
    max-width:450px;
  }
  .result-grid {
    grid-template-columns:1fr;
    margin-top:27px;
    gap:34px;
    max-width:570px;
  }
  .result-media {
    max-width:470px;
    width:100%;
    margin:auto;
  }
  .media-frame {
    height:auto;
    aspect-ratio:.9;
  }
  .media-tabs button {
    font-size:12px;
  }
  .media-provenance {
    font-size:9px;
  }
  .result-story {
    position:relative;
    max-width:470px;
    margin:auto;
    width:100%;
  }
  .section-number {
    position:absolute;
    right:0;
    top:15px;
    font-size:90px;
    margin:0;
    z-index:0;
  }
  .result-story>p,.result-story h3,.result-story ul,.result-story .channel-pills,.result-story>a {
    position:relative;
    z-index:1;
  }
  .result-story h3 {
    font-size:37px;
    margin:14px 0 16px;
  }
  .result-story>p:not(.eyebrow):not(.context-label):not(.small-note) {
    font-size:14px;
    max-width:340px;
  }
  .format-benefits {
    margin:17px 0 23px;
    font-size:12px;
  }
  .format-benefits li {
    padding-block:6px;
  }
  .light-link {
    margin-top:13px;
  }
  .handoff {
    margin-top:37px;
    padding:24px 0;
    gap:18px;
    max-width:570px;
  }
  .handoff-symbol {
    font-size:40px;
  }
  .handoff p {
    font-size:15px;
  }
  .handoff a {
    width:44px;
    height:44px;
    font-size:24px;
    flex-shrink:0;
  }
  .agency {
    padding:50px 24px 0;
  }
  .agency-heading {
    flex-wrap:wrap;
    gap:12px;
    max-width:570px;
    margin-bottom:21px;
  }
  .agency-heading>.eyebrow {
    font-size:9px;
  }
  .included-badge {
    font-size:8px;
    padding:7px 10px;
  }
  .agency-intro {
    grid-template-columns:1fr;
    gap:23px;
    max-width:570px;
  }
  .agency-intro h2 {
    font-size:40px;
    line-height:1.12;
  }
  .agency-intro>div {
    font-size:14px;
    max-width:500px;
  }
  .semantic-line {
    margin-top:12px;
    padding-top:12px;
  }
  .agency-lab {
    margin-top:28px;
    padding:22px 17px;
    max-width:570px;
  }
  .lab-top {
    flex-direction:column;
    align-items:start;
    gap:19px;
    margin-bottom:22px;
  }
  .lab-top h3 {
    font-size:27px;
  }
  .persona-tabs {
    width:100%;
    padding:4px;
    gap:2px;
  }
  .persona-tabs button {
    padding:9px 12px;
    flex:1;
    font-size:11px;
    min-height:44px;
  }
  .lab-body {
    grid-template-columns:1fr;
  }
  .knowledge-panel,.opportunity-panel {
    min-height:0;
    padding:23px;
  }
  .knowledge-panel blockquote {
    font-size:22px;
    margin:19px 0;
  }
  .knowledge-detail {
    grid-template-columns:78px 1fr;
    gap:9px;
  }
  .confirmed-label {
    margin-top:18px;
    font-size:9px;
  }
  .lab-connector {
    transform:rotate(45deg);
    font-size:25px;
    padding:5px;
  }
  .opportunity-panel h4 {
    font-size:28px;
  }
  .opportunity-panel>p:not(.panel-kicker) {
    font-size:12px;
  }
  .opportunity-panel .post-type {
    margin-top:18px;
  }
  .lab-disclosure {
    font-size:9px;
    line-height:1.7;
    margin-top:17px;
  }
  .agency-workflow {
    grid-template-columns:1fr;
    gap:32px;
    margin:42px auto;
    max-width:570px;
  }
  .workflow-heading h3 {
    font-size:35px;
  }
  .workflow-heading>p:not(.eyebrow) {
    font-size:14px;
    max-width:450px;
  }
  .workflow-heading .text-link {
    margin-top:10px;
  }
  .workflow-steps {
    gap:22px;
  }
  .workflow-steps h4 {
    font-size:18px;
  }
  .workflow-steps p {
    max-width:none;
  }
  .human-moment {
    display:grid;
    grid-template-columns:38px 1fr;
    gap:15px;
    max-width:570px;
  }
  .human-mark {
    font-size:35px;
  }
  .human-moment p:first-of-type {
    font-size:21px;
  }
  .human-moment p:last-child {
    grid-column:2;
    margin:0;
    max-width:none;
    font-size:12px;
  }
  .start-section {
    padding:50px 24px;
    grid-template-columns:1fr;
    gap:30px;
    max-width:620px;
  }
  .start-section h2 {
    font-size:40px;
  }
  .start-options {
    gap:25px;
  }
  .start-options p {
    max-width:400px;
  }
  .plans {
    padding:50px 24px;
  }
  .plans-heading {
    display:block;
    max-width:570px;
    margin-bottom:32px;
  }
  .plans h2 {
    font-size:38px;
  }
  .plans-heading>p {
    font-size:13px;
    max-width:400px;
    margin-top:22px;
  }
  .pricing-grid {
    grid-template-columns:1fr;
    gap:20px;
    max-width:470px;
  }
  .plan {
    padding:26px;
  }
  .plan-top {
    min-height:0;
  }
  .plan-description {
    margin-bottom:18px;
  }
  .plan h3 {
    font-size:31px;
  }
  .price {
    font-size:39px;
  }
  .credit-line {
    padding-bottom:17px;
    margin-bottom:17px;
  }
  .plan-creator {
    order:-1;
    padding-top:33px;
  }
  .plan-badge {
    left:20px;
    font-size:8px;
  }
  .plan .button {
    margin-top:4px;
  }
  .plan ul {
    margin-bottom:5px;
  }
  .plan li {
    font-size:12px;
    padding-bottom:10px;
  }
  .plan-limit {
    margin-bottom:15px;
  }
  .pricing-note {
    font-size:10px;
    max-width:450px;
    text-align:left;
  }
  .faq {
    padding:50px 24px;
    grid-template-columns:1fr;
    gap:26px;
    max-width:620px;
  }
  .faq h2 {
    font-size:38px;
  }
  .faq h2 br {
    display:none;
  }
  .faq summary {
    font-size:15px;
    padding:19px 0;
    gap:18px;
  }
  .faq details p {
    font-size:12px;
  }
  .closing {
    padding:27px 24px 57px;
  }
  .closing h2 {
    font-size:43px;
  }
  .closing-star {
    font-size:48px;
  }
  .closing .button {
    font-size:14px;
    padding:17px 20px;
    gap:25px;
  }
  .closing-free {
    font-size:11px;
  }
  .closing:before {
    width:370px;
    height:300px;
    left:calc(50% - 185px);
    top:38px;
  }
  footer {
    gap:18px;
    padding:25px 24px;
  }
  footer>p {
    flex:1;
    font-size:10px;
  }
  footer>div {
    margin:0;
    gap:22px;
    width:100%;
  }
  footer>span {
    margin-top:0;
  }
}
@media(max-width:374px) {
  .header {
    padding-inline:16px;
    gap:8px;
  }
  .header .brand {
    font-size:24px;
  }
  .header .brand-mark {
    width:27px;
    height:31px;
    font-size:24px;
  }
  .header .button {
    padding-inline:11px;
    gap:8px;
  }
  /* Preserve the full label and 44px menu target on narrow screens. */
  .header .button span {
    display:none;
  }
  .hero,.results,.agency,.start-section,.plans,.faq {
    padding-inline:18px;
  }
  .hero h1 {
    font-size:50px;
  }
  .hero-visual {
    margin-left:15px;
  }
  .portrait-caption {
    font-size:20px;
    left:41%;
  }
  .portrait-star {
    display:none;
  }
  .source-card {
    width:118px;
    left:-15px;
  }
  .source-card .portrait {
    height:142px;
  }
  .hand-note {
    left:110px;
    font-size:10px;
  }
  .section-intro h2,.agency-intro h2,.start-section h2 {
    font-size:36px;
  }
  .plans h2 {
    font-size:34px;
  }
  .persona-tabs button {
    padding-inline:8px;
    font-size:10px;
  }
  .agency-lab {
    padding-inline:13px;
  }
  .knowledge-panel,.opportunity-panel {
    padding:20px;
  }
  .lab-top h3 {
    font-size:25px;
  }
  .knowledge-panel blockquote {
    font-size:20px;
  }
  .closing h2 {
    font-size:38px;
  }
  .closing .button {
    font-size:13px;
    gap:15px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }
}
/* Preserve the approved portrait proportions; never stretch the face. */
.hero-visual {
  align-self:start;
  max-width:550px;
}
.portrait-stage {
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:699/937;
}
.hero-portrait {
  background-size:200.572% 119.744%;
}
.hero-portrait.portrait-source {
  background-size:212.103% 119.744%;
}
.source-card .portrait {
  height:auto;
  aspect-ratio:661/937;
}
/* Disclosures and offer conditions stay readable, including on small screens. */
.illustration-note,.media-provenance,.lab-disclosure,.small-note,.confirmed-label,.plan-eyebrow,.plan-badge,.plan-limit,.credit-line,.pricing-note,.source-card-label,.knowledge-detail span,.panel-kicker,.post-type,.context-label,.included-badge,.opportunity-bottom {
  font-size:11px;
}
.portrait-topline {
  font-size:10px;
}
.hero-visual {
  padding-bottom:90px;
}
.source-card {
  bottom:84px;
}
.hand-note {
  bottom:58px;
}
.portrait-topline span:last-child {
  text-align:right;
}
.plan-badge {
  letter-spacing:0;
  font-size:10px;
}
.knowledge-detail {
  grid-template-columns:93px 1fr;
}
.plan-eyebrow {
  letter-spacing:.055em;
}
.post-type {
  letter-spacing:.03em;
}
.media-label {
  font-size:10px;
}
@media(max-width:800px) {
  .hero-visual {
    padding-bottom:95px;
  }
  .source-card {
    bottom:91px;
  }
  .hand-note {
    bottom:65px;
  }
  .illustration-note {
    font-size:11px;
    max-width:300px;
  }
  .included-badge {
    font-size:10px;
  }
  .knowledge-detail {
    grid-template-columns:1fr;
    gap:3px;
  }
  .knowledge-detail span {
    font-size:10px;
  }
  .source-card-label {
    font-size:10px;
  }
  .hero .eyebrow {
    font-size:10px;
  }
  .agency-heading>.eyebrow,.section-intro>.eyebrow,.lab-top .eyebrow,.workflow-heading .eyebrow,.start-title .eyebrow,.plans-heading .eyebrow,.faq .eyebrow,.closing>p {
    font-size:10px;
  }
  .lab-disclosure {
    font-size:11px;
  }
  .portrait-topline {
    font-size:9px;
  }
  .plan-badge {
    font-size:10px;
  }
  .plan-description {
    font-size:13px;
  }
  .pricing-note {
    font-size:11px;
  }
}

/* Production integration: existing routes and live offer catalog. */
.results { position:relative; }
.legacy-anchor { position:absolute; scroll-margin-top:98px; }
.catalog-status,.catalog-error,.catalog-loading { max-width:1250px; margin:0 auto 28px; color:#66516f; font-size:13px; line-height:1.7; }
.catalog-loading,.catalog-error { grid-column:1 / -1; width:100%; padding:35px 0; }
.catalog-error a { text-decoration:underline; text-underline-offset:4px; }
.pricing-retry { margin:0 0 24px; }
.pricing-retry[aria-disabled="true"] { opacity:.65; cursor:progress; }
.agency-runtime-status { max-width:1250px; margin:0 auto 25px; color:#725b7d; font-size:12px; line-height:1.65; }
.market-note { margin-top:16px; font-size:12px; color:#765c86; }
footer.site-footer { display:block; padding:36px max(7vw,24px) 25px; }
.site-footer .footer-lead { display:flex; align-items:center; gap:22px; margin:0 0 32px; padding-bottom:25px; border-bottom:1px solid #dcd6e1; }
.footer-lead .brand img { margin-right:9px; }
.footer-lead p { color:#74617e; font-size:12px; }
.footer-lead .footer-login { margin-left:auto; font-size:12px; }
.site-footer .footer-directory { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin:0; }
.footer-directory h3 { font-size:14px; letter-spacing:-.01em; margin-bottom:14px; }
.footer-directory ul { padding:0; margin:0; list-style:none; }
.footer-directory a { display:block; padding:7px 0; color:#74617e; font-size:12px; line-height:1.4; }
.footer-directory a:hover,.footer-more a:hover { color:#6e3ad3; text-decoration:underline; text-underline-offset:4px; }
.footer-more { border-top:1px solid #dcd6e1; margin-top:25px; padding-top:8px; }
.footer-more summary { cursor:pointer; font-size:12px; color:#74617e; display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:48px; list-style:none; }
.footer-more summary::-webkit-details-marker { display:none; }
.footer-more summary span { font-size:22px; }
.footer-more[open] summary span { transform:rotate(45deg); }
.footer-more>div { display:flex; gap:15px 25px; flex-wrap:wrap; padding:15px 0; }
.footer-more a { font-size:12px; color:#74617e; padding-block:8px; }
.site-footer .footer-bottom { display:flex; justify-content:space-between; gap:20px; margin:20px 0 0; padding-top:20px; border-top:1px solid #dcd6e1; color:#74617e; font-size:11px; }
@media(max-width:800px) {
  .legacy-anchor { scroll-margin-top:85px; }
  .site-footer .footer-lead { flex-wrap:wrap; gap:16px; }
  .footer-lead .footer-login { margin:0; }
  .site-footer .footer-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; }
  .footer-directory a { min-height:38px; padding-block:10px; }
  .site-footer .footer-bottom { flex-wrap:wrap; gap:10px; }
}


/* Readable description when decorative portrait imagery is unavailable. */
.portrait-fallback {
  position:absolute;
  inset:20% 12% 25%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  margin:0;
  color:#fff;
  text-align:center;
  font-size:24px;
  line-height:1.4;
}
.portrait-fallback span {
  font-size:16px;
}
.hero-portrait {
  background-color:transparent;
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
@media print, (forced-colors:active) {
  .hero-portrait {
    background-image:none;
  }
  .portrait-stage::after,
  .portrait-topline,
  .portrait-caption {
    display:none;
  }
  .portrait-stage {
    background:Canvas;
    border:1px solid CanvasText;
  }
  .portrait-fallback {
    color:CanvasText;
  }
}
