:root {
  --raw-wine: #8f1f2e;
  --raw-wine-dark: #5d101c;
  --raw-wine-deep: #2b080e;
  --raw-black: #11100f;
  --raw-ink: #1d1b1a;
  --raw-cream: #f7f0e8;
  --raw-paper: #fffaf4;
  --raw-gold: #d6a653;
  --raw-muted: #736c66;
  --raw-border: rgba(29, 27, 26, .13);
  --raw-shadow: 0 26px 70px rgba(28, 12, 10, .16);
  --raw-radius: 24px;
}

html { scroll-behavior: smooth; }
body.raw-ai-full-width-page { margin: 0; overflow-x: hidden; }
body.raw-ai-full-width-page > *:not(.raw-site):not(script):not(style) { max-width: none; }
.raw-site, .raw-site * { box-sizing: border-box; }
.raw-site { color: var(--raw-ink); background: var(--raw-paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; overflow: hidden; }
.raw-site h1, .raw-site h2, .raw-site h3, .raw-site p { margin-top: 0; }
.raw-site h1, .raw-site h2 { letter-spacing: -.045em; line-height: .98; }
.raw-site h1 { font-size: clamp(3.5rem, 7.5vw, 8rem); font-weight: 900; }
.raw-site h2 { font-size: clamp(2.7rem, 5vw, 5.5rem); font-weight: 850; }
.raw-site h3 { font-size: 1.35rem; }
.raw-site a { color: inherit; text-decoration: none; }
.raw-site button, .raw-site input, .raw-site select, .raw-site textarea { font: inherit; }
.raw-shell { width: min(1240px, calc(100% - 44px)); margin: 0 auto; }
.raw-skip-link { position: fixed; left: 16px; top: -100px; z-index: 99999; background: #fff; padding: 12px 16px; border-radius: 8px; }
.raw-skip-link:focus { top: 16px; }
.screen-reader-text { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }

.raw-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 250, 244, .92); border-bottom: 1px solid var(--raw-border); backdrop-filter: blur(18px); }
.raw-header__inner { height: 82px; display: flex; align-items: center; gap: 30px; }
.raw-brand { display: inline-flex; align-items: center; gap: 12px; margin-right: auto; }
.raw-brand__mark { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--raw-wine); color: #fff; font-weight: 900; letter-spacing: -.08em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.raw-brand__text { display: flex; flex-direction: column; line-height: 1; }
.raw-brand__text strong { font-size: .98rem; letter-spacing: .12em; }
.raw-brand__text small { margin-top: 5px; font-size: .68rem; letter-spacing: .33em; color: var(--raw-wine); }
.raw-nav { display: flex; gap: 26px; font-size: .9rem; font-weight: 700; }
.raw-nav a { position: relative; }
.raw-nav a:after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--raw-wine); transition: right .25s ease; }
.raw-nav a:hover:after { right: 0; }
.raw-menu-button { display: none; width: 44px; height: 44px; background: none; border: 0; padding: 10px; }
.raw-menu-button span { height: 2px; background: var(--raw-ink); display: block; margin: 5px 0; }

.raw-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; border: 1px solid var(--raw-wine); border-radius: 999px; background: var(--raw-wine); color: #fff!important; padding: 14px 25px; font-weight: 800; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.raw-button:hover { transform: translateY(-2px); background: var(--raw-wine-dark); box-shadow: 0 12px 30px rgba(143,31,46,.24); }
.raw-button--small { min-height: 44px; padding: 10px 20px; font-size: .88rem; }
.raw-button--ghost { color: var(--raw-wine)!important; background: transparent; }
.raw-button--light { background: var(--raw-paper); border-color: var(--raw-paper); color: var(--raw-wine-deep)!important; }
.raw-button--outline-light { background: transparent; border-color: rgba(255,255,255,.65); color: #fff!important; }

.raw-hero { position: relative; background: radial-gradient(circle at 70% 26%, rgba(214,166,83,.17), transparent 28%), linear-gradient(135deg, #fffaf4 0%, #f4e7dc 100%); min-height: 760px; display: flex; align-items: center; }
.raw-hero__mesh { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(93,16,28,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(93,16,28,.08) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to right, black, transparent 88%); }
.raw-hero__grid { position: relative; display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: center; padding: 90px 0 80px; }
.raw-eyebrow, .raw-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: .77rem; font-weight: 850; letter-spacing: .18em; color: var(--raw-wine); }
.raw-eyebrow span { width: 34px; height: 2px; background: var(--raw-wine); }
.raw-hero h1 { margin: 22px 0 26px; max-width: 820px; }
.raw-hero h1 em { color: var(--raw-wine); font-style: normal; }
.raw-hero__lead { max-width: 720px; font-size: clamp(1.08rem, 1.6vw, 1.32rem); color: #514a45; }
.raw-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 34px 0 45px; }
.raw-proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--raw-border); padding-top: 26px; max-width: 730px; }
.raw-proof-strip > div { display: flex; align-items: center; gap: 12px; padding-right: 18px; }
.raw-proof-strip > div + div { border-left: 1px solid var(--raw-border); padding-left: 22px; }
.raw-proof-strip strong { font-size: 1.6rem; color: var(--raw-wine); }
.raw-proof-strip span { font-size: .77rem; line-height: 1.25; font-weight: 700; color: #5b5550; }
.raw-hero__visual { position: relative; min-height: 600px; display: grid; place-items: center; }
.raw-coach-card { position: relative; z-index: 2; width: min(415px, 92%); border: 1px solid rgba(93,16,28,.16); border-radius: 36px; background: #fff; box-shadow: var(--raw-shadow); padding: 18px 18px 24px; transform: rotate(1.5deg); }
.raw-coach-card__top { display: flex; align-items: center; gap: 9px; font-size: .72rem; letter-spacing: .14em; font-weight: 850; padding: 6px 5px 14px; }
.raw-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #3ec66c; box-shadow: 0 0 0 5px rgba(62,198,108,.12); }
.raw-coach-card img { width: 100%; height: 455px; object-fit: cover; object-position: top center; border-radius: 24px; background: #fff; }
.raw-speech { position: relative; margin: -22px 12px 0; padding: 18px 20px; background: var(--raw-wine-deep); color: #fff; border-radius: 18px; font-weight: 700; line-height: 1.38; box-shadow: 0 15px 28px rgba(43,8,14,.24); }
.raw-floating-card { position: absolute; z-index: 3; background: rgba(255,255,255,.94); border: 1px solid rgba(93,16,28,.13); box-shadow: 0 18px 40px rgba(40,14,12,.13); border-radius: 16px; padding: 14px 17px; display: flex; flex-direction: column; line-height: 1.2; backdrop-filter: blur(10px); }
.raw-floating-card strong { color: var(--raw-wine); font-size: .88rem; }
.raw-floating-card span { font-size: .72rem; margin-top: 4px; color: #6b625c; }
.raw-floating-card--top { right: -20px; top: 90px; max-width: 230px; }
.raw-floating-card--bottom { left: -20px; bottom: 90px; }
.raw-orbit { position: absolute; border: 1px solid rgba(143,31,46,.16); border-radius: 50%; }
.raw-orbit--one { width: 540px; height: 540px; }
.raw-orbit--two { width: 670px; height: 670px; border-style: dashed; animation: raw-spin 30s linear infinite; }
@keyframes raw-spin { to { transform: rotate(360deg); } }

.raw-marquee { overflow: hidden; background: var(--raw-wine); color: #fff; padding: 14px 0; }
.raw-marquee__track { display: flex; align-items: center; gap: 24px; width: max-content; animation: raw-marquee 28s linear infinite; font-size: .8rem; font-weight: 900; letter-spacing: .2em; }
.raw-marquee__track i { color: var(--raw-gold); }
@keyframes raw-marquee { to { transform: translateX(-50%); } }

.raw-section { padding: 120px 0; }
.raw-section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; margin-bottom: 62px; }
.raw-section-heading h2 { margin: 16px 0 0; }
.raw-section-heading > p { font-size: 1.05rem; color: var(--raw-muted); margin-bottom: 8px; }
.raw-programs { background: var(--raw-paper); }
.raw-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.raw-program-card { position: relative; min-height: 355px; border: 1px solid var(--raw-border); border-radius: var(--raw-radius); padding: 28px; background: #fff; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease, border .25s ease; }
.raw-program-card:hover { transform: translateY(-7px); box-shadow: var(--raw-shadow); border-color: rgba(143,31,46,.35); }
.raw-program-card > span { position: absolute; top: 24px; right: 25px; font-size: .72rem; letter-spacing: .16em; color: #9a918a; }
.raw-program-card .raw-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: var(--raw-cream); color: var(--raw-wine); font-weight: 900; font-size: 1.25rem; margin-bottom: 26px; }
.raw-program-card h3 { margin-bottom: 12px; font-size: 1.45rem; }
.raw-program-card p { color: var(--raw-muted); }
.raw-program-card a { color: var(--raw-wine); font-weight: 800; margin-top: auto; }
.raw-program-card--featured { background: linear-gradient(145deg, var(--raw-wine), var(--raw-wine-dark)); color: #fff; }
.raw-program-card--featured p, .raw-program-card--featured > span { color: rgba(255,255,255,.72); }
.raw-program-card--featured a { color: #fff; }
.raw-program-card--featured .raw-icon { background: rgba(255,255,255,.14); color: #fff; }

.raw-ai-section { background: radial-gradient(circle at 12% 18%, rgba(214,166,83,.16), transparent 25%), var(--raw-wine-deep); color: #fff; }
.raw-ai-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 68px; align-items: center; }
.raw-kicker--light { color: #f0c477; }
.raw-ai-copy h2 { margin: 16px 0 23px; }
.raw-ai-copy > p { color: rgba(255,255,255,.72); max-width: 560px; }
.raw-agent-list { display: grid; gap: 9px; margin-top: 35px; }
.raw-agent { width: 100%; display: flex; gap: 16px; align-items: center; text-align: left; color: #fff; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.11); padding: 15px 17px; border-radius: 15px; cursor: pointer; transition: .2s ease; }
.raw-agent:hover, .raw-agent.is-active { background: rgba(255,255,255,.12); border-color: rgba(240,196,119,.56); transform: translateX(5px); }
.raw-agent > span { color: #f0c477; font-size: .72rem; letter-spacing: .12em; }
.raw-agent div { display: flex; flex-direction: column; }
.raw-agent strong { font-size: .93rem; }
.raw-agent small { color: rgba(255,255,255,.58); font-size: .72rem; margin-top: 3px; }
.raw-chat { background: #fff; color: var(--raw-ink); border-radius: 28px; box-shadow: 0 35px 90px rgba(0,0,0,.3); overflow: hidden; min-height: 650px; display: flex; flex-direction: column; }
.raw-chat__header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; border-bottom: 1px solid var(--raw-border); background: #fffaf6; }
.raw-chat__header > div { display: flex; align-items: center; gap: 12px; }
.raw-chat__header > div > div { display: flex; flex-direction: column; }
.raw-chat__header small { color: var(--raw-muted); margin-top: 4px; }
.raw-chat__header small .raw-live-dot { width: 6px; height: 6px; margin-right: 5px; box-shadow: none; }
.raw-chat-avatar { width: 44px; height: 44px; border-radius: 14px; background: var(--raw-wine); color: #fff; display: grid; place-items: center; font-weight: 900; }
.raw-chat-reset { border: 0; background: transparent; font-size: 1.5rem; cursor: pointer; color: var(--raw-muted); }
.raw-chat__messages { flex: 1; min-height: 365px; max-height: 440px; overflow: auto; padding: 22px; background: linear-gradient(#fff, #fffaf6); }
.raw-message { display: flex; margin-bottom: 15px; }
.raw-message--user { justify-content: flex-end; }
.raw-message__bubble { max-width: 82%; padding: 14px 16px; border-radius: 17px 17px 17px 5px; background: var(--raw-cream); font-size: .91rem; }
.raw-message--user .raw-message__bubble { background: var(--raw-wine); color: #fff; border-radius: 17px 17px 5px 17px; }
.raw-message__bubble h3, .raw-message__bubble h4 { margin: 10px 0 6px; font-size: 1rem; letter-spacing: normal; line-height: 1.3; }
.raw-message__bubble ul { margin: 7px 0; padding-left: 20px; }
.raw-chat__starters { display: flex; flex-wrap: wrap; gap: 7px; padding: 11px 17px 6px; background: #fff; }
.raw-chat__starters button { border: 1px solid var(--raw-border); background: #fff; color: var(--raw-wine); border-radius: 999px; padding: 7px 11px; font-size: .72rem; cursor: pointer; }
.raw-chat__form { display: flex; gap: 9px; align-items: flex-end; padding: 12px 16px; }
.raw-chat__form textarea { flex: 1; resize: none; max-height: 150px; min-height: 48px; border: 1px solid var(--raw-border); border-radius: 16px; padding: 12px 14px; outline: none; }
.raw-chat__form textarea:focus { border-color: var(--raw-wine); box-shadow: 0 0 0 3px rgba(143,31,46,.09); }
.raw-chat__form button { width: 48px; height: 48px; border: 0; border-radius: 15px; background: var(--raw-wine); color: #fff; cursor: pointer; }
.raw-chat__form button:disabled { opacity: .5; cursor: wait; }
.raw-chat__disclaimer { padding: 0 18px 15px; color: #8a817a; font-size: .67rem; text-align: center; }
.raw-typing { display: flex; gap: 4px; align-items: center; }
.raw-typing i { width: 6px; height: 6px; background: #8c827b; border-radius: 50%; animation: raw-bounce 1s infinite; }
.raw-typing i:nth-child(2) { animation-delay: .14s; }
.raw-typing i:nth-child(3) { animation-delay: .28s; }
@keyframes raw-bounce { 50% { transform: translateY(-4px); } }

.raw-calculator-section { background: #efe5db; }
.raw-calculator { display: grid; grid-template-columns: .9fr 1.1fr; background: #fff; border-radius: 30px; overflow: hidden; box-shadow: var(--raw-shadow); }
.raw-calculator__form { padding: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.raw-field { display: flex; flex-direction: column; gap: 7px; }
.raw-field label { font-size: .75rem; font-weight: 850; letter-spacing: .04em; color: #4d4540; }
.raw-field input, .raw-field select, .raw-field textarea { width: 100%; border: 1px solid rgba(29,27,26,.17); background: #fff; border-radius: 12px; padding: 13px 14px; color: var(--raw-ink); outline: none; }
.raw-field textarea { min-height: 104px; resize: vertical; }
.raw-field input:focus, .raw-field select:focus, .raw-field textarea:focus { border-color: var(--raw-wine); box-shadow: 0 0 0 3px rgba(143,31,46,.08); }
.raw-field small { color: var(--raw-muted); font-size: .72rem; }
.raw-field--wide { grid-column: 1 / -1; }
.raw-results { padding: 40px; background: linear-gradient(145deg, var(--raw-wine), var(--raw-wine-deep)); color: #fff; }
.raw-results__hero { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; padding-bottom: 25px; border-bottom: 1px solid rgba(255,255,255,.17); }
.raw-results__hero span { width: 100%; color: #f0c477; font-size: .72rem; letter-spacing: .16em; font-weight: 900; }
.raw-results__hero strong { font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: 1; letter-spacing: -.06em; }
.raw-results__hero small { color: rgba(255,255,255,.62); }
.raw-macro-row { display: grid; grid-template-columns: repeat(3, 1fr); margin: 27px 0; }
.raw-macro-row > div { display: flex; flex-direction: column; }
.raw-macro-row > div + div { border-left: 1px solid rgba(255,255,255,.17); padding-left: 24px; }
.raw-macro-row span, .raw-energy-grid span { color: rgba(255,255,255,.56); font-size: .67rem; letter-spacing: .13em; font-weight: 800; }
.raw-macro-row strong { font-size: 1.45rem; margin-top: 3px; }
.raw-energy-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 24px; }
.raw-energy-grid > div { padding: 12px 10px; border-radius: 12px; background: rgba(255,255,255,.08); display: flex; flex-direction: column; }
.raw-energy-grid strong { margin: 4px 0 1px; }
.raw-energy-grid small { color: rgba(255,255,255,.54); font-size: .62rem; }
.raw-results > p { font-size: .72rem; color: rgba(255,255,255,.59); margin-bottom: 0; }

.raw-about { background: #fff; }
.raw-about__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; }
.raw-about__visual { min-height: 550px; position: relative; border-radius: 34px; background: radial-gradient(circle at 76% 20%, rgba(214,166,83,.28), transparent 25%), linear-gradient(145deg, var(--raw-wine-dark), var(--raw-wine-deep)); color: #fff; padding: 48px; overflow: hidden; }
.raw-about__number { position: absolute; top: -30px; right: -8px; font-size: 17rem; font-weight: 950; line-height: 1; color: rgba(255,255,255,.07); letter-spacing: -.12em; }
.raw-about__years { position: relative; font-size: clamp(3rem, 7vw, 6rem); font-weight: 950; line-height: .9; letter-spacing: -.06em; }
.raw-about__quote { position: absolute; left: 48px; right: 48px; bottom: 48px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.25); font-size: 1.13rem; line-height: 1.45; color: rgba(255,255,255,.82); }
.raw-about__copy h2 { margin: 14px 0 10px; }
.raw-about__copy h3 { color: var(--raw-wine); max-width: 750px; font-size: 1.05rem; }
.raw-about__copy p { color: var(--raw-muted); font-size: 1.02rem; }
.raw-values { margin-top: 32px; display: grid; gap: 10px; }
.raw-values > div { display: grid; grid-template-columns: 200px 1fr; gap: 20px; padding: 15px 0; border-top: 1px solid var(--raw-border); }
.raw-values strong { font-size: .78rem; color: var(--raw-wine); letter-spacing: .08em; }
.raw-values span { color: var(--raw-muted); }

.raw-assessment { background: var(--raw-wine-deep); color: #fff; }
.raw-assessment__heading { max-width: 860px; margin-bottom: 48px; }
.raw-assessment__heading h2 { margin: 15px 0 20px; }
.raw-assessment__heading p { color: rgba(255,255,255,.7); font-size: 1.1rem; }
.raw-intake { background: #fff; color: var(--raw-ink); border-radius: 28px; padding: clamp(25px, 5vw, 54px); }
.raw-form-step { display: flex; gap: 14px; align-items: center; margin: 35px 0 20px; padding-top: 28px; border-top: 1px solid var(--raw-border); }
.raw-form-step:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.raw-form-step > span { width: 38px; height: 38px; border-radius: 12px; background: var(--raw-wine); color: #fff; display: grid; place-items: center; font-size: .72rem; font-weight: 900; }
.raw-form-step > div { display: flex; flex-direction: column; }
.raw-form-step strong { font-size: 1.02rem; }
.raw-form-step small { color: var(--raw-muted); }
.raw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.raw-form-grid--four { grid-template-columns: repeat(4, 1fr); }
.raw-photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.raw-photo-grid label { min-height: 150px; border: 1px dashed rgba(29,27,26,.28); border-radius: 16px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; padding: 12px; text-align: center; background: #fffaf6; }
.raw-photo-grid label span { font-weight: 850; }
.raw-photo-grid input { max-width: 100%; font-size: .72rem; }
.raw-consent { display: flex; gap: 10px; align-items: flex-start; margin: 24px 0; font-size: .82rem; color: var(--raw-muted); }
.raw-consent input { margin-top: 4px; }
.raw-intake .raw-button--light { background: var(--raw-wine); color: #fff!important; border-color: var(--raw-wine); width: 100%; }
.raw-form-status { margin-top: 16px; padding: 0; border-radius: 12px; font-weight: 700; }
.raw-form-status.is-error, .raw-form-status.is-success { padding: 14px 16px; }
.raw-form-status.is-error { background: #fde8e8; color: #8e1717; }
.raw-form-status.is-success { background: #e5f7ea; color: #17682d; }

.raw-process { background: var(--raw-cream); }
.raw-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.raw-process-item { padding: 30px 28px; border-left: 1px solid rgba(29,27,26,.16); }
.raw-process-item:last-child { border-right: 1px solid rgba(29,27,26,.16); }
.raw-process-item > span { color: var(--raw-wine); font-size: .75rem; font-weight: 900; letter-spacing: .15em; }
.raw-process-item h3 { font-size: 1.5rem; margin: 60px 0 12px; }
.raw-process-item p { color: var(--raw-muted); }
.raw-cta { background: var(--raw-wine); color: #fff; padding: 80px 0; }
.raw-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.raw-cta span { color: #f0c477; font-size: .74rem; font-weight: 900; letter-spacing: .16em; }
.raw-cta h2 { margin: 14px 0 0; }
.raw-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.raw-footer { background: var(--raw-black); color: #fff; padding: 70px 0 25px; }
.raw-footer__grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 50px; }
.raw-brand--footer .raw-brand__text small { color: #f0c477; }
.raw-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.raw-footer__grid > div:first-child p { max-width: 360px; color: rgba(255,255,255,.55); margin-top: 12px; }
.raw-footer__grid > div > strong { color: #f0c477; font-size: .72rem; letter-spacing: .15em; margin-bottom: 10px; }
.raw-footer__grid a:not(.raw-brand) { color: rgba(255,255,255,.68); font-size: .88rem; }
.raw-footer__grid a:hover { color: #fff; }
.raw-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.42); font-size: .72rem; }

.raw-dashboard-page { min-height: 100vh; background: #f2e8de; }
.raw-dashboard-main { padding: 70px 0 110px; min-height: calc(100vh - 82px); }
.raw-login-card { max-width: 560px; margin: 40px auto; padding: 45px; border-radius: 28px; background: #fff; box-shadow: var(--raw-shadow); }
.raw-login-card h1 { font-size: 3rem; margin: 15px 0; }
.raw-login-card p { color: var(--raw-muted); }
.raw-login-card form p { margin-bottom: 15px; }
.raw-login-card label { display: block; font-size: .77rem; font-weight: 800; margin-bottom: 6px; }
.raw-login-card input[type="text"], .raw-login-card input[type="password"] { width: 100%; border: 1px solid var(--raw-border); border-radius: 12px; padding: 13px; }
.raw-login-card input[type="submit"] { border: 0; border-radius: 999px; background: var(--raw-wine); color: #fff; padding: 12px 22px; font-weight: 800; cursor: pointer; }
.raw-login-help a { color: var(--raw-wine); font-weight: 800; }
.raw-dashboard-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 40px; }
.raw-dashboard-heading h1 { font-size: clamp(3rem, 6vw, 5.5rem); margin: 13px 0; }
.raw-dashboard-heading p { color: var(--raw-muted); }
.raw-dashboard-stats { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.raw-dashboard-stat { min-height: 150px; background: #fff; border-radius: 19px; padding: 21px; display: flex; flex-direction: column; justify-content: flex-end; }
.raw-dashboard-stat span { color: var(--raw-muted); font-size: .67rem; letter-spacing: .12em; font-weight: 900; }
.raw-dashboard-stat strong { font-size: 2.2rem; line-height: 1; margin: 9px 0 3px; }
.raw-dashboard-stat small { color: var(--raw-muted); }
.raw-dashboard-stat--primary { background: linear-gradient(145deg, var(--raw-wine), var(--raw-wine-deep)); color: #fff; }
.raw-dashboard-stat--primary span, .raw-dashboard-stat--primary small { color: rgba(255,255,255,.64); }
.raw-dashboard-stat--primary strong { font-size: 3.4rem; }
.raw-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.raw-dashboard-card { background: #fff; border-radius: 22px; padding: 28px; }
.raw-dashboard-card--wide { grid-column: 1 / -1; }
.raw-dashboard-card h2 { font-size: 1.6rem; letter-spacing: -.03em; }
.raw-dashboard-card dl { margin: 0; }
.raw-dashboard-card dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 11px 0; border-top: 1px solid var(--raw-border); }
.raw-dashboard-card dt { color: var(--raw-muted); }
.raw-dashboard-card dd { margin: 0; font-weight: 800; text-align: right; }
.raw-card-note { color: var(--raw-muted); font-size: .76rem; }
.raw-food-grid, .raw-considerations { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.raw-food-grid > div, .raw-considerations > div { background: var(--raw-cream); border-radius: 14px; padding: 17px; }
.raw-food-grid strong, .raw-considerations strong { color: var(--raw-wine); font-size: .7rem; letter-spacing: .1em; }
.raw-food-grid p, .raw-considerations p { margin: 8px 0 0; color: var(--raw-muted); }
.raw-considerations { grid-template-columns: repeat(3, 1fr); }
.raw-dashboard-actions { display: flex; gap: 12px; margin-top: 25px; }
.raw-dashboard-empty { background: #fff; border-radius: 24px; padding: 40px; }
.raw-dashboard-empty h2 { font-size: 2.4rem; }

/* Personal training pricing */
.raw-training-section { position: relative; background: linear-gradient(180deg, #f3e7dc 0%, var(--raw-paper) 100%); border-top: 1px solid var(--raw-border); border-bottom: 1px solid var(--raw-border); }
.raw-training-section:before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35; background-image: radial-gradient(circle at 20% 20%, rgba(143,31,46,.11), transparent 26%), linear-gradient(rgba(93,16,28,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(93,16,28,.05) 1px, transparent 1px); background-size: auto, 70px 70px, 70px 70px; }
.raw-training-section .raw-shell { position: relative; }
.raw-training-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }
.raw-training-card { position: relative; overflow: hidden; min-height: 610px; display: flex; flex-direction: column; padding: 30px 27px 27px; border: 1px solid rgba(29,27,26,.14); border-radius: 26px; background: rgba(255,255,255,.92); box-shadow: 0 15px 42px rgba(50,25,18,.08); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.raw-training-card:hover { transform: translateY(-8px); border-color: rgba(143,31,46,.34); box-shadow: var(--raw-shadow); }
.raw-training-card--featured { color: #fff; background: radial-gradient(circle at 85% 5%, rgba(214,166,83,.22), transparent 30%), linear-gradient(150deg, var(--raw-wine), var(--raw-wine-deep)); border-color: transparent; transform: translateY(-12px); }
.raw-training-card--featured:hover { transform: translateY(-17px); }
.raw-training-card__popular { position: absolute; right: -38px; top: 26px; width: 165px; padding: 7px 0; text-align: center; transform: rotate(38deg); background: var(--raw-gold); color: var(--raw-wine-deep); font-size: .62rem; font-weight: 950; letter-spacing: .12em; }
.raw-training-card__frequency { display: flex; align-items: center; gap: 12px; min-height: 80px; margin-bottom: 24px; }
.raw-training-card__frequency strong { font-size: 4.6rem; line-height: .8; letter-spacing: -.08em; color: var(--raw-wine); }
.raw-training-card__frequency span { font-size: .7rem; line-height: 1.25; font-weight: 900; letter-spacing: .14em; color: var(--raw-muted); }
.raw-training-card--featured .raw-training-card__frequency strong { color: #fff; }
.raw-training-card--featured .raw-training-card__frequency span { color: rgba(255,255,255,.65); }
.raw-training-card h3 { margin: 0 0 12px; font-size: 1.55rem; }
.raw-training-card__description { min-height: 112px; color: var(--raw-muted); }
.raw-training-card--featured .raw-training-card__description { color: rgba(255,255,255,.7); }
.raw-training-card__price { min-height: 92px; display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 4px; padding: 18px 0; margin: 8px 0 15px; border-top: 1px solid var(--raw-border); border-bottom: 1px solid var(--raw-border); }
.raw-training-card__price > span { align-self: flex-start; margin-top: 6px; color: var(--raw-wine); font-size: 1.15rem; font-weight: 900; }
.raw-training-card__price > strong { font-size: 3.25rem; line-height: 1; letter-spacing: -.055em; }
.raw-training-card__price > small { flex-basis: 100%; margin-top: 6px; color: var(--raw-muted); font-size: .72rem; font-weight: 750; }
.raw-training-card__price .raw-training-card__contact { font-size: 1.35rem; line-height: 1.2; letter-spacing: -.02em; }
.raw-training-card--featured .raw-training-card__price { border-color: rgba(255,255,255,.18); }
.raw-training-card--featured .raw-training-card__price > span, .raw-training-card--featured .raw-training-card__price > small { color: rgba(255,255,255,.65); }
.raw-training-card ul { list-style: none; padding: 0; margin: 0 0 25px; display: grid; gap: 10px; }
.raw-training-card li { position: relative; padding-left: 25px; color: #5e5651; font-size: .87rem; }
.raw-training-card li:before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--raw-wine); font-weight: 950; }
.raw-training-card--featured li { color: rgba(255,255,255,.78); }
.raw-training-card--featured li:before { color: #f1c675; }
.raw-training-card .raw-button { width: 100%; margin-top: auto; }
.raw-training-note { display: flex; align-items: center; gap: 20px; margin-top: 24px; padding: 18px 22px; border: 1px solid rgba(143,31,46,.18); border-radius: 16px; background: rgba(255,255,255,.72); }
.raw-training-note span { color: var(--raw-wine); font-size: .69rem; font-weight: 900; letter-spacing: .14em; white-space: nowrap; }
.raw-training-note p { margin: 0; color: var(--raw-muted); }
.raw-training-note a { margin-left: auto; color: var(--raw-wine); font-weight: 850; white-space: nowrap; }

.raw-reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.raw-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .raw-nav { display: none; }
  .raw-menu-button { display: block; }
  .raw-header .raw-button--small { display: none; }
  .raw-nav.is-open { display: flex; position: absolute; left: 0; right: 0; top: 82px; flex-direction: column; padding: 22px; background: #fffaf4; border-bottom: 1px solid var(--raw-border); }
  .raw-hero__grid, .raw-ai-grid, .raw-about__grid { grid-template-columns: 1fr; }
  .raw-hero__copy { position: relative; z-index: 3; }
  .raw-hero__visual { min-height: 580px; }
  .raw-program-grid { grid-template-columns: 1fr 1fr; }
  .raw-training-grid { grid-template-columns: 1fr 1fr; }
  .raw-training-card--featured { transform: none; }
  .raw-training-card--featured:hover { transform: translateY(-7px); }
  .raw-calculator { grid-template-columns: 1fr; }
  .raw-form-grid--four { grid-template-columns: 1fr 1fr; }
  .raw-process-grid { grid-template-columns: 1fr 1fr; }
  .raw-process-item:nth-child(3) { border-top: 1px solid rgba(29,27,26,.16); }
  .raw-process-item:nth-child(4) { border-top: 1px solid rgba(29,27,26,.16); }
  .raw-footer__grid { grid-template-columns: 2fr 1fr 1fr; }
  .raw-footer__grid > div:last-child { grid-column: 2 / 3; }
  .raw-dashboard-stats { grid-template-columns: 1fr 1fr 1fr; }
  .raw-dashboard-stat--primary { grid-column: span 2; }
}

@media (max-width: 760px) {
  .raw-shell { width: min(100% - 28px, 1240px); }
  .raw-header__inner { height: 72px; }
  .raw-nav.is-open { top: 72px; }
  .raw-brand__text { display: none; }
  .raw-section { padding: 82px 0; }
  .raw-hero { min-height: auto; }
  .raw-hero__grid { padding: 70px 0 60px; gap: 35px; }
  .raw-hero h1 { font-size: clamp(3.25rem, 15vw, 5.5rem); }
  .raw-hero__lead { font-size: 1rem; }
  .raw-proof-strip { grid-template-columns: 1fr; gap: 13px; }
  .raw-proof-strip > div + div { border-left: 0; padding-left: 0; }
  .raw-proof-strip > div { border-bottom: 1px solid var(--raw-border); padding-bottom: 12px; }
  .raw-hero__visual { min-height: 520px; }
  .raw-coach-card { width: 88%; }
  .raw-coach-card img { height: 365px; }
  .raw-floating-card--top { right: 0; top: 35px; }
  .raw-floating-card--bottom { left: 0; bottom: 35px; }
  .raw-orbit--one { width: 430px; height: 430px; }
  .raw-orbit--two { width: 520px; height: 520px; }
  .raw-section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .raw-section-heading h2, .raw-ai-copy h2, .raw-about__copy h2, .raw-assessment__heading h2 { font-size: clamp(2.7rem, 12vw, 4.3rem); }
  .raw-program-grid, .raw-training-grid, .raw-form-grid, .raw-form-grid--four { grid-template-columns: 1fr; }
  .raw-training-card { min-height: auto; }
  .raw-training-card__description { min-height: auto; }
  .raw-training-note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .raw-training-note a { margin-left: 0; }
  .raw-program-card { min-height: 315px; }
  .raw-chat { min-height: 600px; }
  .raw-calculator__form, .raw-results { padding: 25px; }
  .raw-calculator__form { grid-template-columns: 1fr; }
  .raw-field--wide { grid-column: auto; }
  .raw-macro-row { gap: 12px; }
  .raw-macro-row > div + div { padding-left: 10px; }
  .raw-energy-grid { grid-template-columns: 1fr 1fr; }
  .raw-about__visual { min-height: 470px; padding: 28px; }
  .raw-about__quote { left: 28px; right: 28px; bottom: 28px; }
  .raw-values > div { grid-template-columns: 1fr; gap: 4px; }
  .raw-photo-grid { grid-template-columns: 1fr 1fr; }
  .raw-process-grid { grid-template-columns: 1fr; }
  .raw-process-item { border-right: 1px solid rgba(29,27,26,.16); border-top: 1px solid rgba(29,27,26,.16); }
  .raw-process-item h3 { margin-top: 35px; }
  .raw-cta__inner, .raw-dashboard-heading { flex-direction: column; align-items: flex-start; }
  .raw-cta__actions { justify-content: flex-start; }
  .raw-footer__grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .raw-footer__grid > div:first-child { grid-column: 1 / -1; }
  .raw-footer__grid > div:last-child { grid-column: auto; }
  .raw-footer__bottom { flex-direction: column; }
  .raw-dashboard-stats { grid-template-columns: 1fr 1fr; }
  .raw-dashboard-stat--primary { grid-column: 1 / -1; }
  .raw-dashboard-grid { grid-template-columns: 1fr; }
  .raw-dashboard-card--wide { grid-column: auto; }
  .raw-food-grid, .raw-considerations { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .raw-hero__actions, .raw-dashboard-actions { flex-direction: column; }
  .raw-hero__actions .raw-button, .raw-dashboard-actions .raw-button { width: 100%; }
  .raw-chat__messages { padding: 14px; }
  .raw-chat__starters { overflow-x: auto; flex-wrap: nowrap; }
  .raw-chat__starters button { white-space: nowrap; }
  .raw-photo-grid, .raw-food-grid, .raw-considerations, .raw-footer__grid { grid-template-columns: 1fr; }
  .raw-footer__grid > div:first-child { grid-column: auto; }
  .raw-dashboard-stats { grid-template-columns: 1fr; }
  .raw-dashboard-stat--primary { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .raw-marquee__track, .raw-orbit--two, .raw-typing i { animation: none!important; }
  .raw-reveal { opacity: 1; transform: none; transition: none; }
}


/* Stripe subscriptions — v1.4.0 */
.raw-system-notice{position:relative;z-index:50;margin:18px auto;max-width:1180px;padding:16px 20px;border-radius:14px;background:#eef8f1;border:1px solid #add9ba;color:#173d24;font-family:inherit;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.raw-system-notice--error{background:#fff0f0;border-color:#efb2b2;color:#7b171d}.raw-system-notice--info{background:#f2f5fb;border-color:#c8d4e9;color:#253653}
.raw-subscribe-form{margin:0;width:100%}.raw-subscribe-form button{width:100%;cursor:pointer;border:0;font:inherit}.raw-program-subscribe{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 18px;border:1px solid #a01f32;border-radius:999px;background:#a01f32;color:#fff!important;font-weight:800;cursor:pointer;transition:.2s}.raw-program-subscribe:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(160,31,50,.22)}
.raw-program-price{display:flex;align-items:baseline;gap:8px;margin:16px 0 14px;padding-top:14px;border-top:1px solid rgba(22,20,19,.12)}.raw-program-price strong{font-size:1.35rem;color:#9d1f31}.raw-program-price small{color:#756b66}
.raw-training-card .raw-subscribe-form{margin-top:auto}.raw-training-card .raw-subscribe-form .raw-button{margin-top:0}
.raw-client-subscriptions{margin:28px 0 34px}.raw-client-subscriptions__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.raw-client-subscriptions__heading h2{margin:3px 0 0;font-size:2rem}.raw-client-subscriptions__heading>a{color:#9d1f31;font-weight:800}
.raw-client-subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.raw-client-subscription-card{background:#fff;border:1px solid rgba(40,31,27,.1);border-radius:22px;padding:24px;box-shadow:0 15px 45px rgba(31,22,18,.06)}.raw-client-subscription-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.raw-client-subscription-card__top span:first-child{font-size:.72rem;letter-spacing:.14em;color:#9d1f31;font-weight:900}.raw-client-subscription-card h3{margin:6px 0 0;font-size:1.35rem}.raw-client-subscription-card__details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.raw-client-subscription-card__details div{padding:14px;border-radius:14px;background:#f8f3ee}.raw-client-subscription-card__details small{display:block;color:#756b66;margin-bottom:4px}.raw-client-subscription-card__details strong{font-size:.95rem}.raw-cancel-subscription{width:100%;padding:13px 16px;border:1px solid #a01f32;border-radius:999px;background:#fff;color:#a01f32;font-weight:900;cursor:pointer}.raw-cancel-subscription:hover{background:#a01f32;color:#fff}.raw-cancel-note{display:block;margin-top:9px;text-align:center;color:#776e69}.raw-cancelled-note{margin:14px 0 0;padding:12px;border-radius:12px;background:#f1f5f1;color:#31573a;font-weight:700}.raw-dashboard-empty--compact{padding:24px}.raw-dashboard-empty--compact h3{margin-top:0}
.raw-status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#edf1ed;color:#34513b;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.raw-status-badge--past_due,.raw-status-badge--unpaid,.raw-status-badge--incomplete{background:#fff1d8;color:#81520b}.raw-status-badge--canceled{background:#f2eeee;color:#74585b}.raw-status-badge--trialing{background:#e8f2ff;color:#285e91}
@media(max-width:780px){.raw-client-subscription-grid{grid-template-columns:1fr}.raw-client-subscriptions__heading{align-items:flex-start;flex-direction:column}.raw-client-subscription-card__details{grid-template-columns:1fr}}

/* Production hardening — v1.4.0 */
.raw-registration-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.raw-turnstile-wrap{margin:18px 0;min-height:65px}.raw-manage-billing-form{margin:10px 0}.raw-manage-billing-form .raw-button{width:100%;justify-content:center}.raw-client-cancel-form{display:grid;gap:10px}.raw-client-cancel-form label{display:grid;gap:6px}.raw-client-cancel-form label span{font-size:.78rem;font-weight:800;color:#5f5651}.raw-client-cancel-form select{width:100%;padding:11px 13px;border:1px solid rgba(40,31,27,.18);border-radius:10px;background:#fff}.raw-status-badge--paused{background:#fff1d8!important;color:#81520b!important}.raw-private-photo-card{margin-top:22px}.raw-private-photo-card__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.raw-private-photo-card__heading h2{margin:4px 0 0}.raw-private-photo-card__heading small{max-width:360px;color:#756b66}.raw-private-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.raw-private-photo-grid figure{margin:0}.raw-private-photo-grid a{display:block;overflow:hidden;border-radius:16px;background:#eee}.raw-private-photo-grid img{display:block;width:100%;height:240px;object-fit:cover}.raw-private-photo-grid figcaption{margin-top:8px;text-align:center;font-weight:800;color:#5f5651}
@media(max-width:900px){.raw-private-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-private-photo-card__heading{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.raw-private-photo-grid{grid-template-columns:1fr}.raw-private-photo-grid img{height:320px}}
.raw-subscription-account-note{display:block;margin-top:8px;color:#756b66;font-size:.76rem;line-height:1.35;text-align:center}
