/* Homepage art direction. Scoped to avoid changing role workspaces. */
.home-page { --home-ink:#251a38; --home-purple:#35204e; --home-lime:#e5f4a6; background:#faf9f6; color:var(--home-ink); }
.home-page .container { max-width:1240px; }
.home-page .navbar { background:#faf9f6; border-color:#e8e4e0; backdrop-filter:none; -webkit-backdrop-filter:none; transform:none; }
.home-page .navbar .navbar-inner { height:100%; }
.home-page .navbar .btn-primary { background:var(--home-purple); border-color:var(--home-purple); border-radius:9px; }
.home-page .navbar .nav-links { gap:25px; }
.home-page .navbar .home-sign-in { margin-left:20px; }
.home-page .market-hero { padding:143px 0 0; background:radial-gradient(ellipse at 85% 10%,#533764 0,transparent 60%),#2d1d40; color:#fffaf1; position:relative; }
.home-page .market-hero-grid { grid-template-columns:1.1fr 1fr; gap:70px; }
.home-page .market-kicker { color:#ddd0ee; letter-spacing:.13em; font-size:.65rem; }
.home-page .market-kicker > span { background:var(--home-lime); box-shadow:0 0 0 4px #e5f4a614; }
.home-page .market-hero h1 { font-size:clamp(3.6rem,6.2vw,6rem); line-height:1.04; letter-spacing:-.06em; font-weight:500; margin:26px 0; }
.home-page .market-hero h1 em { color:var(--home-lime); font-weight:400; letter-spacing:-.05em; white-space:nowrap; }
.home-page .market-hero p { color:#d4ccdc; font-size:1rem; max-width:440px; line-height:1.8; }
.home-page .market-hero p strong { color:#fff; font-weight:500; }
.home-page .market-actions { gap:27px; margin:30px 0; }
.home-page .market-hero .btn-primary,.home-page .market-final .btn-primary { background:var(--home-lime); border-color:var(--home-lime); color:#29213b; border-radius:9px; font-weight:700; box-shadow:none; }
.home-page .market-hero .btn-primary:hover,.home-page .market-final .btn-primary:hover { background:#f1ffbf; transform:translateY(-3px); }
.home-page .market-actions .btn span { margin-left:22px; font-size:1.4rem; }
.home-page .market-hero .text-link { color:#eee6f8; font-size:.8rem; }
.home-page .market-assurance { color:#bfb2cd; font-size:.63rem; gap:22px; text-transform:uppercase; letter-spacing:.08em; }
.possibility-art { position:relative; min-width:0; height:540px; margin:14px 0 55px; isolation:isolate; }
.hero-photo-frame { position:absolute; inset:22px 6px 4px 8px; overflow:hidden; border-radius:160px 160px 20px 20px; transform:rotate(3deg); box-shadow:0 28px 65px #170c2844; }
.hero-photo-frame img { width:100%; height:100%; object-fit:cover; object-position:center 52%; transform:scale(1.025) rotate(-3deg); }
.map-caption { position:absolute; top:-11px; left:15px; letter-spacing:.13em; font-size:.58rem; color:#d5c6e5; }
.photo-flower { position:absolute; top:-11px; right:-26px; font-size:110px; line-height:1; color:var(--home-lime); transform:rotate(16deg); text-shadow:0 4px 10px #2a203326; }
.map-tag { position:absolute; display:flex; align-items:center; gap:10px; background:#f4edff; color:#4d3665; padding:13px 18px; border-radius:8px; font-size:.78rem; box-shadow:0 9px 30px #1e103730; }
.tag-curiosity { left:-33px; bottom:99px; transform:rotate(-7deg); }
.map-tag > span { font-size:1.3rem; }
.map-note { position:absolute; bottom:-25px; right:-14px; padding:19px 25px; border-radius:10px; background:#e5f4a6; color:#313729; display:flex; align-items:center; gap:16px; font-size:.8rem; line-height:1.7; transform:rotate(3deg); box-shadow:0 10px 30px #20133040; }
.note-arrow { font-size:2.7rem; font-weight:300; }
.hero-bottom { border-top:1px solid #ffffff26; padding-top:22px; padding-bottom:23px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.hero-bottom > span { font-size:.55rem; color:#c0b2ce; letter-spacing:.13em; }
.hero-bottom a { color:#efe5f8; font-size:.72rem; }
.hero-bottom a span { margin-left:16px; }
.home-page .market-values { background:var(--home-lime); border:0; padding:21px 0; }
.home-page .market-values .container { display:flex; justify-content:space-between; gap:25px; }
.home-page .market-values span { color:#374027; font-size:.7rem; letter-spacing:.09em; display:flex; align-items:center; gap:38px; }
.home-page .market-values b { font-size:1.5rem; font-weight:400; line-height:1; }
.home-page h2 { letter-spacing:-.05em; }
.home-page h2 em { font-family:Georgia,serif; font-weight:400; color:#765397; }
.home-page .market-section-heading h2,.human-copy h2 { font-size:clamp(2.5rem,4vw,3.6rem); line-height:1.13; margin:20px 0; }
.home-page .eyebrow { color:#756081; letter-spacing:.13em; font-size:.62rem; }
.starting-point { padding-top:110px; padding-bottom:100px; display:grid; grid-template-columns:.8fr 1.5fr; gap:90px; }
.starting-point .market-section-heading { margin:0; }
.starting-point .market-section-heading p { font-size:.94rem; max-width:300px; }
.conversation-picker { border:1px solid #e3dde9; border-radius:18px; overflow:hidden; background:#fff; }
.conversation-choices { display:flex; border-bottom:1px solid #e3dde9; background:#f0edf4; }
.conversation-choices button { flex:1; min-width:0; background:transparent; color:#6a6075; padding:20px 15px; border:0; border-right:1px solid #e3dde9; font:inherit; font-size:.73rem; text-align:left; cursor:pointer; line-height:1.5; transition:background .2s,color .2s; }
.conversation-choices button:last-child { border-right:0; }
.conversation-choices button > span:first-child { display:block; margin-bottom:12px; opacity:.7; font-size:.65rem; }
.conversation-choices button > span:last-child { margin-left:4px; }
.conversation-choices button[aria-pressed="true"] { background:var(--home-purple); color:#fff; }
.conversation-content { padding:32px 34px; }
.conversation-panel[hidden] { display:none; }
.conversation-panel h3 { font-size:1.65rem; font-weight:500; letter-spacing:-.035em; line-height:1.3; margin:14px 0; }
.conversation-panel p { font-size:.86rem; line-height:1.7; color:#736a7a; margin-bottom:22px; max-width:450px; }
.question-label { font-size:.56rem; letter-spacing:.13em; color:#84758d; }
.conversation-panel blockquote { font:italic 1.13rem/1.6 Georgia,serif; margin:9px 0 22px; color:#6d4a8a; }
.home-page #features { padding-top:80px; border-top:1px solid #e4dfe7; }
.home-page #features .market-section-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:100px; }
.home-page #features .market-section-heading .eyebrow { grid-column:1/-1; }
.home-page #features .market-section-heading p { align-self:center; font-size:.95rem; }
.home-page .market-benefits { gap:24px; }
.home-page .market-benefits article { background:#fff; border:1px solid #e7e1eb; padding:16px 16px 27px; border-radius:16px; transition:transform .25s,box-shadow .25s; }
.home-page .market-benefits article:hover { transform:translateY(-5px); box-shadow:0 16px 40px #33204e09; }
.home-page .market-benefits h3,.home-page .market-benefits p { margin-left:14px; margin-right:14px; }
.home-page .market-benefits h3 { font-size:1.2rem; margin-top:25px; }
.home-page .market-benefits p { font-size:.85rem; }
.benefit-art { height:195px; border-radius:10px; position:relative; overflow:hidden; }
.benefit-path { background:#e8e1f4; }
.benefit-path > span { position:absolute; width:220px; height:220px; border:25px solid #b5a3d0; border-radius:50%; top:40px; left:34px; }
.benefit-path > b { position:absolute; background:#fff; padding:8px 15px; font-size:.6rem; left:32px; bottom:42px; border-radius:20px; border:1px solid #c6b3df; }
.benefit-path > i { position:absolute; color:#5c3d79; font-size:140px; font-style:normal; line-height:1; right:50px; top:-5px; }
.benefit-talk { background:#edf0df; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.benefit-talk span,.benefit-talk b { border-radius:15px 15px 15px 0; padding:14px 23px; background:#fff; font:italic 1.3rem Georgia,serif; transform:translateX(-30px) rotate(-6deg); box-shadow:0 8px 15px #2b2d2810; }
.benefit-talk b { background:#3d4930; color:#fff; font-weight:400; border-radius:15px 15px 0 15px; transform:translate(24px,-2px) rotate(4deg); }
.benefit-talk i { position:absolute; top:22px; right:24px; font-size:2rem; font-style:normal; color:#758854; }
.benefit-plan { background:#f2e5da; padding:30px 24px; transform:rotate(0); display:flex; flex-direction:column; gap:14px; }
.benefit-plan span { font-size:.55rem; letter-spacing:.14em; color:#8b6656; margin-bottom:5px; }
.benefit-plan b { font-size:.72rem; font-weight:500; color:#5b4641; padding-bottom:7px; border-bottom:1px solid #dfc7b8; }
.human-guidance { display:grid; grid-template-columns:1.1fr 1fr; gap:85px; align-items:center; padding-bottom:110px; padding-top:20px; }
.guidance-photo { margin:0; position:relative; }
.guidance-photo img { width:100%; aspect-ratio:1.15; height:auto; object-fit:cover; border-radius:18px 100px 18px 18px; }
.guidance-photo figcaption { position:absolute; left:22px; right:22px; bottom:22px; color:#fff; font:italic 1.3rem Georgia,serif; padding:18px; background:#2b263ac9; backdrop-filter:blur(8px); border-radius:9px; }
.human-copy p { font-size:.94rem; line-height:1.8; color:#736a7a; }
.human-copy ul { list-style:none; padding:0; margin:24px 0; }
.human-copy li { padding:11px 0; border-bottom:1px solid #e5dfe8; font-size:.79rem; color:#62516b; }
.human-copy li::before { content:'↗'; margin-right:12px; color:#87639e; }
.home-page .market-process { background:#eae5f1; border:0; padding:85px 0; }
.home-page .market-steps { gap:40px; margin-top:45px; }
.home-page .market-steps article { border-top:1px solid #bdb0cb; padding-top:24px; }
.home-page .market-steps h3 { font-size:1.3rem; }
.home-page .price-note { background:#fff9; border:1px solid #d2c8de; border-radius:12px; margin-top:45px; padding:25px; }
.home-page .market-expert { background:#fff; border:1px solid #e6e0e9; padding:0 24px 26px; border-radius:14px; overflow:hidden; }
.expert-portrait { background:#e7e1ed; height:160px; margin:0 -24px 25px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.home-page .expert-monogram { margin:0; width:85px; height:85px; font:italic 3.4rem Georgia,serif; border-radius:50%; color:#795892; background:#f8f5fb; z-index:1; }
.expert-orbit { position:absolute; width:200px; height:200px; border:1px solid #c7b6d9; border-radius:50%; transform:translate(20px,45px); }
.expert-flower { position:absolute; font-size:75px; right:10px; top:-6px; color:#c2aed3; }
.home-page .market-expert:nth-child(2n) .expert-portrait { background:#e6ebda; }
.home-page .market-expert:nth-child(2n) .expert-monogram { color:#65754c; background:#f4f7ef; }
.home-page .market-expert:nth-child(2n) .expert-flower { color:#b8c5a0; }
.home-page .market-expert h3 { font-size:1.08rem; }
.home-page .market-expert p { font-size:.8rem; }
.home-page .market-faq { padding-top:20px; }
.home-page .market-faq h2 { font-size:2.8rem; }
.home-page .market-final { position:relative; overflow:hidden; background:var(--home-purple); border-radius:22px; color:#fff; padding:80px 50px; margin-bottom:25px; }
.home-page .market-final h2 { font-size:clamp(3rem,5vw,4.8rem); position:relative; line-height:1.06; }
.home-page .market-final h2 em { color:var(--home-lime); }
.home-page .market-final .eyebrow,.home-page .market-final p { color:#cfc0de; position:relative; }
.final-star { position:absolute; right:-30px; top:-65px; font-size:330px; line-height:1; color:#80629344; transform:rotate(14deg); }
.home-photo-note { text-align:center; color:#7d7286; font-size:.62rem; padding-bottom:30px; }
@media (max-width:1100px) {
 .home-page .market-hero-grid { gap:40px; }
 .home-page .market-actions { gap:18px; }
 .home-page .market-actions .btn { padding:16px 19px; }
 .possibility-art { height:470px; }
 .home-page .market-values span { gap:20px; font-size:.6rem; }
 .starting-point { gap:45px; }
 .human-guidance { gap:45px; }
}
@media (max-width:760px) {
 .home-page .navbar .nav-links { background:#faf9f6; gap:18px; }
 .home-page .navbar .home-sign-in { margin-left:0; }
 .home-page .market-hero { padding-top:120px; }
 .home-page .market-hero-grid { grid-template-columns:1fr; gap:40px; }
 .home-page .market-hero h1 { font-size:clamp(3.1rem,11.9vw,5rem); margin:25px 0; }
 .home-page .market-hero p { font-size:.92rem; max-width:460px; }
 .home-page .market-kicker { font-size:.56rem; }
 .home-page .market-actions { flex-wrap:wrap; margin:25px 0; gap:20px; }
 .home-page .market-assurance { font-size:.56rem; gap:15px; }
 .possibility-art { width:100%; max-width:460px; height:480px; margin:15px auto 55px; }
 .hero-photo-frame { inset:15px 15px 0; }
 .photo-flower { font-size:86px; right:0; }
 .tag-curiosity { left:0; bottom:105px; font-size:.68rem; }
 .map-note { right:0; bottom:-27px; padding:15px 20px; font-size:.72rem; }
 .map-caption { font-size:.5rem; }
 .hero-bottom { align-items:flex-start; flex-direction:column; gap:12px; }
 .hero-bottom > span { font-size:.48rem; line-height:1.7; }
 .home-page .market-values .container { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
 .home-page .market-values span { justify-content:space-between; font-size:.53rem; letter-spacing:.04em; gap:8px; }
 .home-page .market-values b { font-size:1.1rem; }
 .starting-point { padding-top:65px; padding-bottom:60px; grid-template-columns:1fr; gap:27px; }
 .starting-point .market-section-heading h2 br { display:none; }
 .starting-point .market-section-heading p { max-width:none; }
 .conversation-content { padding:26px 22px; }
 .conversation-choices button { font-size:.65rem; padding:15px 12px; }
 .conversation-panel h3 { font-size:1.45rem; }
 .home-page #features { padding-top:50px; }
 .home-page #features .market-section-heading { display:block; }
 .home-page .market-benefits { grid-template-columns:1fr; gap:18px; }
 .benefit-art { height:200px; }
 .human-guidance { grid-template-columns:1fr; gap:35px; padding-top:0; padding-bottom:65px; }
 .guidance-photo img { aspect-ratio:1.2; border-top-right-radius:65px; }
 .guidance-photo figcaption { font-size:1.1rem; left:15px; right:15px; bottom:15px; padding:15px; }
 .home-page .market-process { padding:55px 0; }
 .home-page .market-steps { gap:28px; }
 .home-page .market-steps h3 { font-size:1.25rem; }
 .home-page .market-final { padding:55px 22px; border-radius:15px; width:calc(100% - 36px); }
 .home-page .market-final .eyebrow { font-size:.52rem; line-height:1.7; }
 .home-page .market-final h2 { font-size:2.9rem; }
 .home-page .market-faq h2 { font-size:2.5rem; }
 .home-photo-note { line-height:1.7; }
}
@media (prefers-reduced-motion:reduce) {
 .home-page .market-benefits article,.home-page .market-hero .btn-primary,.home-page .market-final .btn-primary { transition:none; transform:none; }
}
/* Expert cards use a column flex layout in the shared stylesheet. */
.home-page .expert-portrait { width:calc(100% + 48px); flex-shrink:0; }
@media (max-width:760px) {
 .home-page .market-hero-grid { grid-template-columns:minmax(0,1fr); }
 .home-hero-copy { min-width:0; }
 .home-page .market-hero h1 { font-size:clamp(2.4rem,11.9vw,5rem); }
 .home-page .market-assurance { flex-wrap:wrap; row-gap:8px; }
}
/* Cinematic photo carousel: progressive enhancement preserves the first slide. */
.home-slider { margin-top:88px; background:#24172f; color:#fff; position:relative; overflow:hidden; }
.hero-stage { display:grid; }
.hero-slide { grid-area:1/1; position:relative; overflow:hidden; opacity:0; visibility:hidden; transition:opacity .85s ease,visibility .85s; background:#2d1d40; }
.hero-slide[hidden] { display:none; }
.hero-slide.is-active { opacity:1; visibility:visible; z-index:1; }
.slide-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 47%; transform:scale(1.065); transition:transform 7.5s ease-out; }
.is-active .slide-photo { transform:scale(1); }
.slide-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(28,17,39,.96) 0%,rgba(28,17,39,.88) 24%,rgba(28,17,39,.64) 42%,rgba(28,17,39,.07) 70%),linear-gradient(0deg,rgba(28,17,39,.45),transparent 40%); }
.slide-inner { position:relative; z-index:2; min-height:660px; display:flex; align-items:center; padding-top:65px; padding-bottom:70px; }
.slide-copy { width:580px; max-width:53%; }
.slide-kicker { display:flex; align-items:center; gap:10px; font-size:.57rem; letter-spacing:.14em; color:#e4d7ed; line-height:1.7; }
.slide-kicker > span { width:6px; height:6px; border-radius:50%; background:#e5f4a6; flex-shrink:0; box-shadow:0 0 0 4px #e5f4a61a; }
.home-page .slide-copy h1,.home-page .slide-copy h2 { font-size:clamp(3.4rem,5.1vw,5rem); font-weight:500; line-height:1.045; letter-spacing:-.055em; margin:26px 0 25px; color:#fffaf4; }
.home-page .slide-copy h1 em,.home-page .slide-copy h2 em { font-family:Georgia,serif; font-weight:400; color:#e5f4a6; letter-spacing:-.05em; white-space:nowrap; }
.slide-copy p { font-size:.97rem; line-height:1.8; color:#e4dce8; max-width:390px; }
.slide-actions { display:flex; align-items:center; gap:25px; margin:28px 0 30px; }
.home-page .slide-actions .btn-primary { background:#e5f4a6; color:#2c2238; border:1px solid #e5f4a6; border-radius:8px; box-shadow:none; font-size:.83rem; font-weight:700; padding:18px 24px; }
.home-page .slide-actions .btn-primary:hover { background:#f1ffc2; transform:translateY(-2px); }
.slide-actions .btn span { margin-left:22px; font-size:1.4rem; }
.slide-actions > a:not(.btn) { color:#eee4f4; font-size:.74rem; font-weight:600; }
.slide-actions > a:not(.btn) span { margin-left:10px; }
.slide-footnote { color:#d2c2dc; font-size:.52rem; letter-spacing:.12em; line-height:1.7; }
.slide-stamp { position:absolute; bottom:40px; right:40px; z-index:2; color:#e5f4a6; display:flex; align-items:center; gap:15px; font-size:62px; line-height:1; }
.slide-stamp small { font:500 .56rem/1.8 Inter,sans-serif; letter-spacing:.12em; color:#fff; text-shadow:0 1px 5px #000; }
.slide-students .slide-photo { left:43%; width:57%; object-position:center 40%; }
.slide-students .slide-shade { background:linear-gradient(90deg,#2d1d40 0%,#2d1d40 34%,#2d1d40dd 44%,#2d1d4020 67%),linear-gradient(0deg,#2d1d4070,transparent 35%); }
.slide-guidance .slide-shade { background:linear-gradient(90deg,#24172ff5 0%,#24172fe3 25%,#24172fb5 43%,#24172f20 75%),linear-gradient(0deg,#24172f60,transparent 35%); }
.slider-navigation { background:#24172f; position:relative; z-index:3; border-top:1px solid #ffffff25; }
.slider-navigation[hidden] { display:none; }
.slider-controls { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.slide-selectors { display:flex; flex:1; max-width:850px; gap:35px; }
.slide-selectors button { position:relative; text-align:left; flex:1; border:0; border-top:2px solid transparent; color:#b8a8c4; background:transparent; padding:25px 0; font:inherit; display:flex; align-items:center; gap:14px; cursor:pointer; }
.slide-selectors button > span { font-size:.61rem; opacity:.7; }
.slide-selectors strong { font-size:.77rem; font-weight:500; }
.slide-selectors button[aria-current="true"] { color:#e5f4a6; border-top-color:#e5f4a6; }
.slide-selectors button i { position:absolute; top:-2px; height:2px; left:0; background:#e5f4a6; width:0; }
.home-slider.is-playing .slide-selectors button[aria-current="true"] { border-top-color:#ffffff25; }
.home-slider.is-playing .slide-selectors button[aria-current="true"] i { animation:slide-progress 7s linear forwards; }
.slide-arrows { display:flex; gap:10px; }
.slide-arrows button { width:39px; height:39px; border-radius:50%; border:1px solid #ffffff36; background:transparent; color:#fff; cursor:pointer; font-size:1.05rem; display:grid; place-items:center; }
.slide-arrows button:hover { background:#ffffff18; border-color:#e5f4a6; }
.slide-arrows [data-slider-pause] { font-size:.78rem; }
@keyframes slide-progress { from {width:0;} to {width:100%;} }
@media (max-width:1100px) and (min-width:761px) {
 .slide-copy { max-width:59%; }
 .slide-inner { min-height:620px; }
 .home-page .slide-copy h1,.home-page .slide-copy h2 { font-size:clamp(3rem,5.3vw,4.5rem); }
 .slide-stamp { right:25px; }
 .slide-selectors { gap:25px; }
 .slider-controls { gap:30px; }
}
@media (max-width:760px) {
 .home-slider { margin-top:76px; }
 .hero-slide { display:flex; flex-direction:column; }
 .slide-photo,.slide-students .slide-photo { position:relative; inset:auto; width:100%; height:280px; object-position:center; transform:none; transition:opacity .7s; flex-shrink:0; }
 .slide-school .slide-photo { object-position:65% center; }
 .slide-students .slide-photo { object-position:center 41%; }
 .slide-shade,.slide-students .slide-shade,.slide-guidance .slide-shade { height:281px; bottom:auto; background:linear-gradient(0deg,#2d1d40 0%,transparent 32%); pointer-events:none; }
 .slide-inner { padding-top:18px; padding-bottom:30px; min-height:0; flex:1; align-items:flex-start; }
 .slide-copy { width:100%; max-width:none; }
 .slide-kicker { font-size:.48rem; letter-spacing:.08em; }
 .home-page .slide-copy h1,.home-page .slide-copy h2 { font-size:clamp(2.25rem,9.7vw,4.4rem); margin:19px 0; line-height:1.07; }
 .slide-copy p { font-size:.86rem; margin-bottom:0; }
 .slide-actions { gap:18px; margin:23px 0; flex-wrap:wrap; }
 .home-page .slide-actions .btn-primary { padding:14px 18px; font-size:.75rem; }
 .slide-actions .btn span { margin-left:14px; }
 .slide-actions > a:not(.btn) { font-size:.68rem; }
 .slide-footnote { font-size:.45rem; letter-spacing:.08em; }
 .slide-stamp { display:none; }
 .slider-controls { flex-wrap:wrap; gap:0; padding-bottom:13px; }
 .slide-selectors { width:100%; flex:none; gap:17px; }
 .slide-selectors button { align-items:flex-start; flex-direction:column; gap:8px; padding:17px 0; }
 .slide-selectors strong { font-size:.61rem; line-height:1.5; }
 .slide-arrows { margin-left:auto; gap:8px; }
 .slide-arrows button { width:34px; height:34px; }
}
@media (prefers-reduced-motion:reduce) {
 .hero-slide,.slide-photo { transition:none; transform:none; }
 .home-slider.is-playing .slide-selectors button[aria-current="true"] i { animation:none; width:100%; }
}
