/* Shared editorial scale and workflow grammar. Brand tokens remain in styles.css. */
:root{--story-ease:cubic-bezier(.22,1,.36,1);--story-line:color-mix(in srgb,var(--canvas-accent-1) 22%,var(--canvas-tile-border))}
.journey-intro{padding-block:84px 88px;gap:44px}
.journey-intro .intro-kicker{font-size:28px;line-height:1.4;letter-spacing:0;max-width:430px;margin-bottom:26px}
.journey-intro h1{font-size:clamp(52px,5.3vw,78px);line-height:1.09;letter-spacing:-.055em;margin-bottom:36px;text-wrap:balance}
.journey-intro .intro-description{font-size:24px;line-height:1.6;max-width:480px}
.journey-intro .orbit-illustration{width:100%;margin:0}
.intro-actions{gap:22px;margin-top:30px}.intro-actions .button{font-size:19px;min-height:54px;padding:16px 20px}.journey-intro .journey-start{font-size:19px;gap:12px}.journey-start>span{width:36px;height:36px}
.header nav{font-size:18px;gap:24px}.header .button-small{font-size:17px;min-height:44px}.journey-page .header .brand-logo{width:145px}
.workflow-section{padding-block:80px;gap:52px;position:relative}
.workflow-heading{width:100%}.workflow-label{font-size:22px;letter-spacing:.025em;gap:10px}.workflow-label>span{width:40px;height:40px;font-size:17px;flex-shrink:0;background:var(--canvas-tile-surface)}
.workflow-heading h2{font-size:clamp(42px,3.8vw,54px);line-height:1.14;margin:22px 0 20px;text-wrap:balance}
.workflow-heading p{font-size:23px;line-height:1.6;max-width:440px}
.story-steps{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0;max-width:390px}
.story-steps li{position:relative;display:flex;align-items:center;gap:13px;padding:0 0 21px;color:var(--canvas-text-secondary)}
.story-steps li:last-child{padding-bottom:0}
.story-steps li:not(:last-child):before{content:'';position:absolute;left:16px;top:33px;bottom:0;width:1px;background:var(--story-line)}
.story-node{position:relative;display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:var(--radius-full);border:1px solid var(--story-line);font-size:13px;background:var(--canvas-shell);color:var(--canvas-accent-1);transition:background .35s,color .35s,border-color .35s}
.story-steps strong{display:block;font-weight:500;font-size:18px;line-height:1.6;color:var(--canvas-text-secondary);transition:color .35s}

.story-steps [data-state=current] .story-node,.story-steps [data-state=done] .story-node{background:var(--canvas-accent-1);color:var(--canvas-button-text);border-color:var(--canvas-accent-1)}
.story-steps [data-state=current] strong{color:var(--canvas-primary)}
.workflow-art,.profile-section .profile-art{min-width:0;margin-block:0}

.record-heading{font:500 23px Poppins,sans-serif;fill:var(--canvas-primary)}.record-name{font:400 20px Poppins,sans-serif;fill:var(--canvas-accent-1)}.record-label,.record-value{font:400 17px Poppins,sans-serif;fill:var(--canvas-text-secondary)}.record-value{fill:var(--canvas-primary)}.record-status-label{font:400 14px Poppins,sans-serif;fill:var(--canvas-accent-1)}
.journey-page .section-heading .eyebrow,.manifesto .eyebrow,.faq .eyebrow,.closing .eyebrow{font-size:20px;letter-spacing:.04em}
.journey-page .section-heading h2,.faq h2{font-size:clamp(40px,4vw,56px);text-wrap:balance}
.journey-page .section-heading>p,.faq-intro p{font-size:23px}
.journey-page .team-text .eyebrow{font-size:18px;letter-spacing:.06em}.journey-page .team-text h3{font-size:30px;margin-top:14px}.journey-page .team-text p{font-size:21px;line-height:1.7}.journey-page .team-text{padding:28px}
.journey-page .team-card{border-radius:var(--radius-lg);border:1px solid var(--canvas-tile-border);box-shadow:none;overflow:hidden}.journey-page .team-illustration{height:220px}
.manifesto h2{font-size:clamp(34px,4vw,56px);max-width:800px;text-wrap:balance}.manifesto p{font-size:24px;max-width:670px}.faq-list summary{font-size:22px}.faq-list details p{font-size:21px}.closing h2{font-size:clamp(34px,4.5vw,60px)}.closing .button{font-size:19px}.footer-top>p,.footer nav,.footer-bottom{font-size:18px}.footer-top>p{max-width:260px}
@media(min-width:1051px){.workflow-section{grid-template-columns:minmax(280px,.48fr) minmax(0,1fr)}.profile-section .profile-art{max-width:740px}.workflow-heading{align-self:center}}
@media(max-width:1050px){.journey-intro{padding:56px 6%;gap:32px}.journey-intro-copy{max-width:650px}.journey-intro .orbit-illustration{max-width:560px;margin:auto}.workflow-section{padding:64px 6%}.workflow-heading>div{width:100%}.workflow-heading p{max-width:600px}.story-steps{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:18px;margin:28px 0 32px}.story-steps li{display:block;padding-bottom:0}.story-steps li:not(:last-child):before{left:34px;right:-18px;top:16px;width:auto;height:1px}.story-node{margin-bottom:10px}.story-steps strong{font-size:18px}.workflow-art{max-width:800px;margin-inline:auto;width:100%}}
@media(max-width:760px){
 .journey-intro{padding:42px 24px 40px;gap:25px}.journey-intro .intro-kicker{font-size:24px;line-height:1.4;max-width:330px;margin-bottom:20px}.journey-intro h1{font-size:clamp(44px,11vw,62px);margin-bottom:31px}.journey-intro .intro-description{font-size:22px;line-height:1.65}.intro-actions{gap:16px;margin-top:24px}.journey-intro .journey-start{font-size:18px}.intro-actions .button{font-size:18px;min-height:50px}.journey-intro .orbit-illustration{width:100%;margin:0}.orbit-card-title{display:block;font-size:40px}
 .workflow-section{padding:48px 22px 42px}.workflow-label{font-size:20px;line-height:1.5;gap:9px}.workflow-label>span{width:36px;height:36px;font-size:16px}.workflow-heading h2{font-size:40px;margin:19px 0 17px}.workflow-heading p{font-size:21px;line-height:1.6}.story-steps{grid-template-columns:1fr;gap:0;margin-block:28px 32px}.story-steps li{display:flex;gap:14px;padding-bottom:20px}.story-steps li:last-child{padding-bottom:0}.story-node{margin-bottom:0}.story-steps li:not(:last-child):before{left:16px;right:auto;top:33px;bottom:0;width:1px;height:auto}.story-steps strong{font-size:17px;line-height:1.55}.story-node{font-size:13px}.workflow-art{margin-top:0;width:100%;margin-inline:0}.workflow-svg{min-height:0}.profile-section .profile-art{margin-top:0}
 .journey-page .teams{padding-block:60px}.journey-page .section-heading>p,.faq-intro p{font-size:21px}.journey-page .team-text p{font-size:20px}.journey-page .team-text h3{font-size:30px}.journey-page .team-illustration{height:200px}.manifesto p{font-size:22px}.faq-list summary{font-size:20px}.faq-list details p{font-size:20px}.footer-top>p,.footer nav,.footer-bottom{font-size:17px}.closing-inner{padding:32px 24px}
}
@media(prefers-reduced-motion:reduce){.story-node,.story-steps strong{transition:none}.button:hover{transform:none}}

/* Scheduling shares the profiles' initials, discipline tags and paper cards. */
.schedule-initials{font:500 30px Poppins,sans-serif;letter-spacing:-.5px}
.schedule-discipline-label{font:500 23px Poppins,sans-serif;fill:var(--canvas-button-text)}
#scheduling .schedule-visit-title{font-size:24px;fill:var(--canvas-primary)}
#scheduling .schedule-visit-detail{font:400 17px Poppins,sans-serif;fill:var(--canvas-text-secondary)}
#scheduling .appointment-time{fill:var(--canvas-text-secondary)}

/* Separated lavender chapters add variety without changing the brand palette. */
.workflow-section.chapter-lavender{background:var(--canvas-accent-3-light)}
.chapter-lavender .art-wash{fill:var(--canvas-shell)}
.chapter-lavender .profile-art:before{background-color:var(--canvas-shell)}
