/* MARVELOUS ASCENT — welcome-first narrative layer.
   Kept separate from brand.css to preserve existing service layouts. */
.warm-home, .warm-story-page, .warm-intake-page {font-family:'DM Sans',sans-serif;letter-spacing:-.008em}
.warm-home p,.warm-story-page p,.warm-intake-page p{line-height:1.75}
.warm-home h1,.warm-home h2,.warm-home h3,.warm-story-page h1,.warm-story-page h2,.warm-story-page h3,.warm-intake-page h1,.warm-intake-page h2,.warm-intake-page h3{font-family:var(--f-display);line-height:1.16;letter-spacing:-.035em}
.warm-skip{position:fixed;top:-100px;left:16px;background:var(--bg-card);color:var(--text);padding:12px 18px;border-radius:9px;z-index:99999}
.warm-skip:focus{top:12px}
.warm-home .site-header{backdrop-filter:blur(16px);background:var(--bg-glass);border-bottom:1px solid var(--border-dim)}
.warm-home .logo-wordmark{font-family:var(--f-display)}
.warm-home .nav-link--cta{background:var(--green-10);border:1px solid var(--border);padding:9px 15px;border-radius:999px;color:var(--green)}
.warm-eyebrow{font-size:12px!important;text-transform:uppercase;letter-spacing:.16em!important;color:var(--green)!important;font-weight:700!important;margin-bottom:14px}
.warm-spark{margin-right:5px;font-size:17px}
.warm-gradient{background-image:linear-gradient(110deg,#E1CCFF 0%,#BC8CFF 55%,#A77CFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="light"] .warm-gradient{background-image:linear-gradient(110deg,#4338CA,#087F78)}
.warm-home .warm-hero{padding:clamp(64px,9vw,118px) 0 clamp(55px,8vw,100px);background:radial-gradient(ellipse at 84% 20%,rgba(167,124,255,.17),transparent 58%),radial-gradient(ellipse at 8% 100%,rgba(20,184,166,.06),transparent 45%);position:relative}
.warm-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.86fr);align-items:center;gap:clamp(34px,6vw,95px)}
.warm-headline{font-size:clamp(2.55rem,5.3vw,5rem)!important;line-height:1.09!important;font-weight:800;max-width:720px;letter-spacing:-.055em!important}
.warm-lead{max-width:650px;font-size:clamp(16px,1.9vw,19px);color:var(--text-dim);margin:22px 0 26px}
.warm-hero-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.warm-btn{padding:15px 22px!important;border-radius:11px!important;font-family:'DM Sans',sans-serif!important;font-weight:700!important}
.warm-btn-soft{border:1px solid var(--border)!important;border-radius:11px!important;padding:15px 22px!important}
.warm-reassurance{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--text-muted);font-size:12px;margin-top:23px!important}
.warm-reassurance span{color:var(--green);font-weight:700}
.warm-welcome-card{position:relative;overflow:hidden;padding:clamp(26px,3.5vw,42px);background:linear-gradient(154deg,var(--bg-card),var(--bg-card-alt));border:1px solid var(--border);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.16)}
.warm-welcome-card:after{content:'';position:absolute;width:230px;height:230px;border-radius:50%;border:1px solid var(--border);top:-145px;right:-105px;box-shadow:0 0 0 20px var(--green-10),0 0 0 42px rgba(188,140,255,.025);pointer-events:none}
.warm-card-overline{font-size:11px;color:var(--green);font-weight:700;letter-spacing:.035em}
.warm-orbit{font-size:20px;margin-right:9px}
.warm-welcome-card h2{font-size:clamp(1.6rem,2.4vw,2.25rem);margin:25px 0 26px}
.warm-welcome-card h2 em{color:var(--green);font-style:normal}
.warm-mini-timeline{display:grid;gap:0}
.warm-mini-step{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--border-dim)}
.warm-mini-step>span{font-family:var(--f-mono);font-weight:700;color:var(--green);font-size:13px}
.warm-mini-step strong{font-family:var(--f-display);color:var(--text);font-size:15px}
.warm-mini-step p{font-size:13px;margin-top:2px;color:var(--text-muted)}
.warm-card-bottom{font-size:12px;padding-top:22px;color:var(--text-dim);display:flex;align-items:center;gap:10px}
.warm-indicator{width:8px;height:8px;background:var(--green);border-radius:50%;display:block;flex:none}
.warm-promise-strip{border-block:1px solid var(--border-dim);background:var(--bg-card)}
.warm-promise-items{display:flex;justify-content:space-between;gap:14px 35px;flex-wrap:wrap;padding-block:20px;color:var(--text-dim);font-size:13px}
.warm-promise-items strong{color:var(--text)}
.warm-problem-section,.warm-proof-section,.warm-process-section{padding:clamp(68px,8vw,110px) 0}
.warm-section-lead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.7fr);gap:35px;align-items:end;margin-bottom:34px}
.warm-section-lead h2,.warm-process-layout h2{font-size:clamp(2rem,3.8vw,3.5rem);margin:0}
.warm-section-lead>p,.warm-process-layout>div>p:not(.warm-eyebrow){font-size:16px;color:var(--text-dim)}
.warm-problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.warm-problem-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:22px;padding:clamp(25px,3vw,36px);display:flex;flex-direction:column;align-items:flex-start;gap:16px;transition:border-color .18s,transform .18s}
.warm-problem-card:hover,.warm-problem-card:focus-visible{border-color:var(--green);transform:translateY(-3px)}
.warm-problem-icon{font-size:25px;color:var(--green);display:flex;width:55px;height:55px;align-items:center;justify-content:center;border-radius:14px;background:var(--green-10)}
.warm-problem-card h3{font-size:clamp(1.3rem,2vw,1.7rem);max-width:400px}
.warm-problem-card p{font-size:14px;color:var(--text-dim);max-width:440px;flex:1}
.warm-card-arrow,.warm-text-link{font-size:13px;font-weight:700;color:var(--green);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}
.warm-problem-card:hover .warm-card-arrow,.warm-text-link:hover{text-decoration-color:currentColor}
.warm-home .services-section{background:var(--bg-card-alt);border-block:1px solid var(--border-dim)}
.warm-home .svc-card{border-radius:18px}
.warm-service-intro{max-width:730px;margin:10px 0 30px;font-size:16px;color:var(--text-dim)}
.warm-proof-section{background:radial-gradient(ellipse at 50% 0%,rgba(188,140,255,.065),transparent 52%)}
.warm-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.warm-proof-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.warm-proof-card:hover{border-color:var(--border)}
.warm-proof-art{min-height:230px;background:radial-gradient(ellipse at 74% 18%,rgba(188,140,255,.2),transparent 48%),#181321;padding:26px;position:relative;display:flex;justify-content:center;align-items:center}
.warm-proof-card--data .warm-proof-art{background:radial-gradient(ellipse at 70% 20%,rgba(20,184,166,.17),transparent 56%),#111621}
.warm-art-eyebrow{position:absolute;left:24px;top:21px;color:#DDC6F8;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em}
.warm-art-frame{position:relative;width:min(70%,270px);height:125px;display:flex;align-items:center;justify-content:center;border:1px solid #B69DE0;border-radius:80px 80px 12px 12px;overflow:hidden;background:linear-gradient(135deg,#311B4F,#734E9E);box-shadow:0 18px 55px rgba(0,0,0,.25)}
.warm-art-frame>span:nth-child(2){position:relative;z-index:1;color:#fff;line-height:.9;text-align:center;font-size:40px;font-weight:800;font-family:var(--f-display);letter-spacing:.12em}
.warm-art-sun{position:absolute;border-radius:50%;background:#DEB79B;width:90px;height:90px;right:-10px;top:-50px}
.warm-art-frame i{position:absolute;width:150px;height:150px;left:-65px;bottom:-130px;transform:rotate(30deg);background:#755CA7}
.warm-mini-dashboard{width:min(80%,350px);padding:20px;background:#1A2630;border:1px solid #5B7886;border-radius:12px;box-shadow:0 16px 60px rgba(0,0,0,.3);display:grid;gap:17px}
.warm-mini-dashboard>div{display:flex;gap:8px}
.warm-mini-dashboard b{height:32px;background:#314653;flex:1;border-radius:5px}
.warm-mini-dashboard b:first-child{background:#426D7B}
.warm-mini-dashboard i{height:45px;background:#285C66;flex:1;clip-path:polygon(0 100%,0 55%,100% 16%,100% 100%)}
.warm-mini-dashboard i:nth-child(2){background:#457D83}
.warm-mini-dashboard i:nth-child(3){background:#4A8C7C}
.warm-mini-dashboard>div:last-child span{height:7px;border-radius:4px;flex:1;background:#426170}
.warm-proof-content{padding:clamp(26px,3.5vw,39px);flex:1;display:flex;flex-direction:column;gap:12px}
.warm-proof-type{color:var(--green)!important;font-size:12px!important;font-weight:700}
.warm-proof-content h3{font-size:clamp(1.6rem,2.4vw,2rem)}
.warm-proof-content>p:not(.warm-proof-type){font-size:14px;color:var(--text-dim);flex:1}
.warm-proof-note{color:var(--text-muted);font-size:12px;margin-top:20px}
.warm-inline-actions{display:flex;gap:23px;flex-wrap:wrap;align-items:center;margin-top:20px}
.warm-process-section{background:var(--bg-card-alt);border-block:1px solid var(--border-dim)}
.warm-process-layout{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(40px,8vw,100px)}
.warm-process-layout>div>p:not(.warm-eyebrow){margin:22px 0 28px}
.warm-process-list{list-style:none;padding:0}
.warm-process-list li{display:grid;grid-template-columns:48px 1fr;gap:17px;padding:23px 0;border-bottom:1px solid var(--border-dim)}
.warm-process-list li:first-child{padding-top:0}
.warm-process-list li>span{color:var(--green);font-size:17px;font-weight:700}
.warm-process-list h3{font-size:18px;margin:0 0 6px}
.warm-process-list p{color:var(--text-dim);font-size:14px}
.warm-home .contact-section{background:radial-gradient(ellipse at 10% 60%,var(--green-10),transparent 52%)}
.warm-contact-prompt{margin-top:18px}
.warm-home .contact-form{border-radius:24px}
.warm-home .newsletter-card{border-radius:24px;box-shadow:none}
.warm-story-page .ma-header,.warm-intake-page .ma-header{background:var(--bg-glass)}
.warm-story-page .ma-hero,.warm-intake-page .ma-hero{background:radial-gradient(ellipse at 75% 20%,var(--green-10),transparent 52%)}
.warm-story-kicker{display:inline-flex;gap:10px;align-items:center;color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.warm-story-title{max-width:940px;font-size:clamp(2.5rem,5vw,4.6rem)!important;margin:20px 0!important}
.warm-story-deck{max-width:790px;font-size:clamp(16px,2vw,20px)}
.warm-story-hero{padding:clamp(64px,8vw,115px) 0 68px;background:radial-gradient(ellipse at 85% 20%,var(--green-10),transparent 55%)}
.warm-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.warm-story-tile{padding:clamp(25px,3vw,38px);border-radius:20px;border:1px solid var(--border-dim);background:var(--bg-card)}
.warm-story-tile>span{font-size:12px;letter-spacing:.12em;color:var(--green);font-weight:700}
.warm-story-tile h2{font-size:clamp(1.3rem,2vw,1.9rem);margin:17px 0}
.warm-story-tile p{font-size:14px}
.warm-story-tile ul{list-style:disc;padding-left:20px;color:var(--text-dim);display:grid;gap:9px}
.warm-story-wide{grid-column:1/-1}
.warm-story-band{border-block:1px solid var(--border-dim);background:var(--bg-card-alt);padding:70px 0}
.warm-story-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.warm-story-cases>a{padding:38px;border-radius:20px;background:var(--bg-card);border:1px solid var(--border-dim);display:flex;flex-direction:column;gap:17px}
.warm-story-cases>a:hover{border-color:var(--green)}
.warm-story-cases h2{font-size:clamp(1.6rem,2.4vw,2rem)}
.warm-story-cases p{font-size:14px;color:var(--text-dim)}
.warm-story-cases strong{font-size:12px;color:var(--green)}
.warm-data-diagram{border:1px solid var(--border);border-radius:16px;padding:25px;background:var(--bg-card);display:flex;align-items:center;justify-content:space-around;gap:10px;flex-wrap:wrap;margin-top:18px}
.warm-data-diagram span{padding:16px;border-radius:9px;background:var(--green-10);color:var(--text);text-align:center;font-weight:700;font-size:13px}
.warm-data-diagram b{color:var(--green)}
.warm-disclosure{font-size:12px;color:var(--text-muted);margin-top:15px}
.warm-intake-card{max-width:820px;margin:0 auto 85px;padding:clamp(24px,5vw,50px);border:1px solid var(--border);border-radius:25px;background:var(--bg-card)}
.warm-intake-progress{display:flex;gap:9px;align-items:center;margin-bottom:28px}
.warm-progress-dot{height:6px;flex:1;border-radius:99px;background:var(--border-dim)}
.warm-progress-dot.is-active{background:var(--green)}
.warm-intake-step[hidden]{display:none!important}
.warm-intake-step h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 8px}
.warm-intake-step>p{font-size:14px;color:var(--text-dim);margin-bottom:25px}
.warm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.warm-form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.warm-form-field label{font-size:13px;font-weight:700;color:var(--text)}
.warm-form-field input,.warm-form-field select,.warm-form-field textarea{width:100%;padding:13px 15px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--bg-card-alt);font:inherit}
.warm-form-field select option{background:var(--bg-card)}
.warm-form-field textarea{min-height:145px;resize:vertical}
.warm-form-field small{color:var(--text-muted);font-size:12px}
.warm-form-field :is(input,select,textarea):focus{outline:2px solid var(--green);outline-offset:2px}
.warm-intake-buttons{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
.warm-intake-buttons button{border:1px solid var(--border);border-radius:10px;padding:12px 20px;font:inherit;font-weight:700}
.warm-intake-buttons button.warm-next,.warm-intake-buttons button.warm-send{background:var(--green);color:var(--bg)}
[data-theme="light"] .warm-intake-buttons button.warm-next,[data-theme="light"] .warm-intake-buttons button.warm-send{color:#fff}
.warm-intake-review{display:grid;gap:13px;margin:24px 0}
.warm-intake-review div{padding:13px 17px;border:1px solid var(--border-dim);border-radius:9px;overflow-wrap:anywhere}
.warm-intake-review dt{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.warm-intake-review dd{color:var(--text);white-space:pre-wrap}
.warm-intake-note{padding:15px 18px;background:var(--green-10);border-radius:10px;color:var(--text-dim);font-size:13px}
.warm-form-error{color:#FF9999;font-size:13px;min-height:20px}
[data-theme="light"] .warm-form-error{color:#9B1C1C}
@media(max-width:850px){.warm-hero-grid,.warm-section-lead,.warm-process-layout{grid-template-columns:1fr}.warm-welcome-card{max-width:610px}.warm-section-lead{gap:12px}}
@media(max-width:650px){.warm-problem-grid,.warm-proof-grid,.warm-story-grid,.warm-story-cases,.warm-form-grid{grid-template-columns:1fr}.warm-promise-items{flex-direction:column;gap:6px}.warm-story-wide{grid-column:auto}.warm-hero-actions .btn{width:100%;justify-content:center}.warm-proof-art{min-height:190px}}
@media(prefers-reduced-motion:reduce){.warm-problem-card{transition:none}}

/* Hero fit: control line length and visual rhythm before raising type scale.
   The prior 5.3vw / 5rem headline wrapped into 6–8 lines at desktop widths. */
.warm-home .warm-hero{padding:clamp(42px,4vw,64px) 0 clamp(43px,4.3vw,66px)}
.warm-home .warm-hero-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:clamp(24px,3.2vw,54px)}
.warm-home .warm-hero-copy{min-width:0}
.warm-home .warm-headline{font-size:clamp(2.15rem,2.9vw,2.75rem)!important;line-height:1.09!important;letter-spacing:-.045em!important;max-width:700px;margin:0;overflow-wrap:normal;word-break:normal}
.warm-home .warm-headline-line{display:block}
.warm-home .warm-lead{max-width:580px;font-size:clamp(15px,1.15vw,17px);line-height:1.65;margin:19px 0 23px}
.warm-home .warm-reassurance{margin-top:19px!important}
.warm-home .warm-welcome-card{padding:clamp(24px,2.5vw,34px);border-radius:23px}
.warm-home .warm-welcome-card h2{font-size:clamp(1.5rem,1.75vw,1.88rem);line-height:1.2;margin:18px 0 19px}
.warm-home .warm-mini-step{padding:12px 0}
.warm-home .warm-card-bottom{padding-top:17px}
@media(max-width:900px){
 .warm-home .warm-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .warm-home .warm-headline{font-size:clamp(2.15rem,5.5vw,3.3rem)!important;max-width:740px}
 .warm-home .warm-welcome-card{max-width:640px;width:100%}
}
@media(max-width:520px){
 .warm-home .warm-hero{padding:43px 0 52px}
 .warm-home .warm-headline{font-size:clamp(1.95rem,8vw,2.5rem)!important;line-height:1.13!important;letter-spacing:-.04em!important}
 .warm-home .warm-lead{font-size:15px}
 .warm-home .warm-welcome-card{padding:22px}
 .warm-home .warm-welcome-card h2{font-size:1.45rem}
 .warm-home .warm-reassurance{font-size:11px}
}
