:root {
  --butterfly: #5e4b8b;
  --glacier: #6d9dc5;
  --texas: #ffb84d;
  --bittersweet: #ff6e61;
  --amaranth: #da1b61;
  --ink: #003d57;
  --surface: #ffffff;
  --surface-mint: #c2dfda;
  --space-2: 8px;
  --space-4: 16px;
  --space-6: 24px;
  --space-10: 40px;
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-pill: 999px;
}
@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/quicksand-700.woff2") format("woff2"); }
@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/quicksand-500.woff2") format("woff2"); }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 800; font-display: swap; src: url("assets/fonts/league-spartan-800.woff2") format("woff2"); }
@font-face { font-family: "League Spartan"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/league-spartan-700.woff2") format("woff2"); }

body{margin:0}
a{color:var(--ink)}a:hover{color:var(--ink);text-decoration-thickness:2px}
.pe{container-type:inline-size;font-family:Quicksand,system-ui,sans-serif;font-weight:500;color:var(--ink);background:var(--surface);font-size:17px;line-height:1.6}
.pe *{box-sizing:border-box}
.pe h1,.pe h2,.pe h3{font-family:"League Spartan",system-ui,sans-serif;font-weight:700;margin:0;letter-spacing:-0.015em}
.pe p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.sec{padding:64px 0}
.h2{font-size:34px;line-height:1.05;max-width:22ch}
.lead{font-size:18px;max-width:60ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border-radius:999px;background:var(--bittersweet);color:var(--ink);font-weight:700;font-size:20px;line-height:1.2;text-decoration:none;text-align:center}
.btn:hover{background:#ff8378;color:var(--ink)}
.btn:focus-visible,.pe a:focus-visible,.pe summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.dark .btn:focus-visible,.dark a:focus-visible{outline-color:var(--texas)}
.nav-links{display:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.hero-h{font-size:48px;line-height:.98;letter-spacing:-0.03em}
.routine{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:40px;border-left:3px solid var(--butterfly);padding-left:24px}
.routine li{list-style:none;position:relative;padding:0 0 28px}
.routine li::before{content:"";position:absolute;left:-33px;top:6px;width:15px;height:15px;border-radius:999px;background:var(--surface);border:3px solid var(--butterfly)}
.routine li:last-child::before{background:var(--amaranth);border-color:var(--amaranth)}
.cmp{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:40px}
.dots{display:grid;grid-template-columns:repeat(10,16px);gap:8px;margin:20px 0 24px}
.dot{width:16px;height:16px;border-radius:999px}
.big{font-family:"League Spartan",system-ui,sans-serif;font-weight:800;letter-spacing:-0.04em;line-height:.9;font-size:64px}
.phasebar{display:flex;height:56px;border-radius:12px;overflow:hidden;margin:40px 0 8px}
.phases{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:32px}
.phases ul,.checks{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.phases li{padding-left:20px;position:relative}
.phases li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:2px;background:currentColor}
.stats{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px}
.stat .big{font-size:96px;color:var(--texas)}
.quote{margin:56px 0 0;padding:32px 24px;border-radius:12px;background:var(--surface);color:var(--ink)}
.fit{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
.plans{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:40px;align-items:stretch}
.plan{border-radius:12px;padding:32px 24px;display:flex;flex-direction:column;gap:20px}
.about{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
.faq details{border-top:2px solid var(--ink);padding:4px 0}
.faq details:last-child{border-bottom:2px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-family:"League Spartan",system-ui,sans-serif;font-weight:700;font-size:21px;line-height:1.2}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:30px;line-height:1;color:var(--butterfly)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 24px;max-width:62ch}
.sticky{position:fixed;bottom:0;left:0;right:0;z-index:5;padding:12px 16px;background:var(--surface);border-top:2px solid var(--surface-mint)}
.sticky .btn{width:100%}
@media (min-width: 760px){
  .wrap{padding:0 40px}
  .sec{padding:96px 0}
  .h2{font-size:48px}
  .nav-links{display:flex;gap:28px;align-items:center}
  .hero-h{font-size:72px}
  .cmp,.phases,.stats,.plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sticky{display:none}
  .big{font-size:88px}
  .quote{padding:48px}
}
@media (min-width: 1100px){
  .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}
  .hero-h{font-size:92px}
  .routine{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;border-left:0;border-top:3px solid var(--butterfly);padding:32px 0 0}
  .routine li::before{left:0;top:-42px}
  .phases,.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fit{grid-template-columns:repeat(4,minmax(0,1fr))}
  .about{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}
  .big{font-size:120px}
  .stat .big{font-size:128px}
}

/* Approved reference component styles. */
.pe .brand-band { background: var(--butterfly); color: var(--surface); }
.pe .header-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.pe .wordmark { font-family: 'League Spartan', system-ui, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -0.02em; color: var(--surface); text-decoration: none; }
.pe .nav-link { color: var(--surface); text-decoration: none; }
.pe .btn-small { min-height: 44px; font-size: 19px; padding: 8px 20px; }
.pe .hero { background: var(--butterfly); color: var(--surface); padding: 40px 0 88px; }
.pe .hero-copy { display: flex; flex-direction: column; gap: 28px; }
.pe .hero-lead { font-size: 20px; }
.pe .agenda { justify-self: center; width: 100%; max-width: 420px; transform: rotate(2deg); }
.pe .lanyard { width: 64px; height: 120px; margin: -40px auto 0; border-left: 10px solid var(--texas); border-right: 10px solid var(--texas); border-radius: 0 0 8px 8px; }
.pe .agenda-card { background: var(--ink); color: var(--surface); border-radius: 16px; padding: 28px 28px 24px; box-shadow: 0 24px 48px rgba(0, 30, 45, 0.35); }
.pe .badge-slot { width: 72px; height: 14px; border-radius: 999px; background: var(--butterfly); margin: -8px auto 24px; }
.pe .caption-mint { font-size: 15px; color: var(--surface-mint); }
.pe .agenda-title { font-family: 'League Spartan', system-ui, sans-serif; font-weight: 700; font-size: 32px; line-height: 1.05; color: var(--texas); margin-top: 4px; }
.pe .agenda-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid rgba(194, 223, 218, 0.35); margin-top: 0; }
.pe .agenda-time { font-weight: 700; color: var(--texas); }
.pe .agenda-footer { margin-top: 12px; padding-top: 16px; border-top: 1px solid rgba(194, 223, 218, 0.35); font-size: 15px; color: var(--surface-mint); }
.pe .proof { padding: 40px 0; border-bottom: 2px solid var(--surface-mint); }
.pe .stack-24 { display: flex; flex-direction: column; gap: 24px; }
.pe .logo-row { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px; }
.pe .proof-label { font-size: 15px; width: 100%; max-width: 180px; }
.pe .client-logo { display: block; flex: none; }
.pe .event-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; }
.pe .event-name { font-weight: 700; font-size: 17px; color: var(--ink); white-space: nowrap; }
.pe .mt-20 { margin-top: 20px; }
.pe .mb-0 { margin-bottom: 0; }
.pe .routine-label { font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.pe .routine-last { font-weight: 700; color: var(--amaranth); margin-bottom: 6px; }
.pe .mint { background: var(--surface-mint); }
.pe .heading-24 { max-width: 24ch; }
.pe .comparison-panel { background: var(--surface); border-radius: 12px; padding: 32px 28px; }
.pe .card-title { font-size: 24px; }
.pe .dot-ink { background: var(--ink); }
.pe .dot-empty { border: 2px solid rgba(0, 61, 87, 0.3); }
.pe .bold { font-weight: 700; }
.pe .mt-16 { margin-top: 16px; }
.pe .mt-8 { margin-top: 8px; }
.pe .comparison-featured { background: var(--butterfly); color: var(--surface); border-radius: 12px; padding: 32px 28px; }
.pe .dot-texas { background: var(--texas); }
.pe .cost-featured { margin-top: 16px; color: var(--texas); }
.pe .comparison-note { margin-top: 32px; font-weight: 700; }
.pe .phase-outreach { flex: 8 1 0; background: var(--butterfly); }
.pe .phase-event { flex: 0 0 56px; background: var(--bittersweet); }
.pe .phase-followup { flex: 4 1 0; background: var(--glacier); }
.pe .phase-label { display: flex; gap: 10px; align-items: center; }
.pe .phase-key-outreach { width: 18px; height: 18px; border-radius: 4px; background: var(--butterfly); }
.pe .phase-title { font-size: 26px; margin-top: 8px; }
.pe .ink { color: var(--ink); }
.pe .phase-key-event { width: 18px; height: 18px; border-radius: 4px; background: var(--bittersweet); }
.pe .phase-key-followup { width: 18px; height: 18px; border-radius: 4px; background: var(--glacier); }
.pe .stat-label { margin-top: 12px; font-size: 19px; max-width: 24ch; }
.pe .testimonial-text { margin: 0; font-size: 21px; line-height: 1.55; max-width: 64ch; }
.pe .testimonial-attribution { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.pe .testimonial-name { font-family: 'League Spartan', system-ui, sans-serif; font-weight: 700; font-size: 20px; }
.pe .heading-26 { max-width: 26ch; }
.pe .list-reset { padding: 0; list-style: none; }
.pe .fit-item { background: var(--surface); border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.pe .plan-outline { border: 2px solid var(--ink); }
.pe .plan-title { font-size: 28px; }
.pe .mt-6 { margin-top: 6px; }
.pe .price { font-size: 64px; }
.pe .caption { font-size: 15px; }
.pe .plan-action { margin-top: auto; }
.pe .plan-heading { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.pe .recommended { background: var(--amaranth); color: var(--surface); font-weight: 700; font-size: 14px; padding: 4px 12px; border-radius: 999px; }
.pe .price-featured { font-size: 64px; color: var(--texas); }
.pe .mt-28 { margin-top: 28px; }
.pe .no-top-padding { padding-top: 0; }
.pe .portrait-frame { position: relative; padding: 0 24px 24px 0; max-width: 460px; }
.pe .portrait-backdrop { position: absolute; right: 0; bottom: 0; width: 82%; height: 82%; background: var(--glacier); border-radius: 12px; }
.pe .portrait { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 35%; border-radius: 12px; }
.pe .stack-20 { display: flex; flex-direction: column; gap: 20px; }
.pe .faq-wrap { max-width: 920px; }
.pe .mt-32 { margin-top: 32px; }
.pe .closing { background: var(--ink); color: var(--surface); }
.pe .closing-title { color: var(--texas); max-width: 18ch; }
.pe .contact-row { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(194, 223, 218, 0.35); }
.pe .white { color: var(--surface); }

/* Production accessibility and small-screen adjustments. */
html { scroll-padding-top: 24px; }
.pe { container-type: normal; }
.pe main { display: block; }
a { text-underline-offset: .2em; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 10; transform: translateY(-160%); padding: 12px 20px; background: var(--surface); color: var(--ink); font-weight: 700; border-radius: var(--radius-sm); }
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--ink); outline-offset: 3px; }
.hero-grid > *, .plans > *, .about > * { min-width: 0; }
.hero { overflow: clip; }
.pe .agenda { width: calc(100% - 16px); }
.routine-label { color: var(--ink); }
.agenda-time { color: var(--texas); }
.phase-label > span { flex: none; }
.portrait { height: auto; }
.contact-row .caption-mint { flex-basis: 100%; margin-top: 12px; }
.sticky { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
.pe { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
.big { font-variant-numeric: lining-nums tabular-nums; }
.pe .comparison-panel .big, .pe .comparison-featured .big { font-size: clamp(54px, 15.5vw, 64px); }
@media (min-width: 760px) {
  .pe { padding-bottom: 0; }
  .pe .comparison-panel .big, .pe .comparison-featured .big { font-size: clamp(64px, 8.3vw, 88px); }
}
@media (min-width: 760px) and (max-width: 1099px) {
  .pe .header-row { flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; gap: 16px; }
  .nav-links { width: 100%; justify-content: space-between; gap: 16px; }
}
@media (min-width: 1100px) {
  .pe .comparison-panel .big, .pe .comparison-featured .big { font-size: 120px; }
}
@media (max-width: 359px) {
  .pe .agenda-card { padding-right: 20px; padding-left: 20px; }
  .pe .agenda-row { grid-template-columns: 54px minmax(0,1fr); gap: 8px; }
  .pe .price, .pe .price-featured { font-size: 56px; }
  .dots { grid-template-columns: repeat(10,14px); gap: 7px; }
  .dot { width: 14px; height: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  .sticky, .nav-links, .skip-link { display: none; }
  .pe { padding-bottom: 0; }
  .sec { break-inside: avoid; }
}
