/* Second refinement: a shorter narrative and a choice-led, accessible journey. */
.hero-v2 { height: auto; min-height: 850px; max-height: none; padding-bottom: 135px; }
.hero-v2 .hero-content { max-width: 1320px; padding-top: clamp(170px,18vh,210px); }
.hero-v2 h1 { font-feature-settings: "palt"; line-height: 1.6; }
.hero-v2 h1>span { width: fit-content; }
.hero-v2 .hero-lead { max-width: 40em; }
.hero-v2 .hero-mosaic img { min-width: 0; min-height: 0; }
.hero-v2 .hero-mosaic img:nth-child(2) { object-position: 50% 27%; }
.hero-v2 .hero-buttons { animation-delay: 1.35s; }
.hero-v2 .hero-proof { animation-delay: 1.55s; }
.hero-v2 .hero-lead { animation-delay: 1.1s; }
.hero-v2 .hero-caption { max-height: 40%; }
.viewpoint { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 8%; }
.viewpoint figure { margin: 0; position: relative; }
.viewpoint figure:after { content: ''; position: absolute; inset: 20px -16px 36px 20px; border: 1px solid #ad8e5b80; border-radius: 0 100px 0 0; pointer-events: none; }
.viewpoint img { aspect-ratio: 1.1; object-fit: cover; border-radius: 0 100px 0 0; }
.viewpoint figcaption { font-size: 10px; margin-top: 10px; color: #666c60; }
.viewpoint p { line-height: 2; }
.viewpoint details { max-width: 440px; margin: 20px 0; border-block: 1px solid #beb69f; }
.viewpoint summary { display: flex; justify-content: space-between; gap: 15px; padding: 16px 0; font-size: 12px; cursor: pointer; list-style: none; }
.viewpoint summary i { font-style: normal; }
.viewpoint details[open] summary i { rotate: 45deg; }
.viewpoint details p { font-size: 13px; }
.viewpoint .text-link { font-size: 12px; }
#result-focus { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 20px; }
#result-focus button { min-height: 44px; padding: 9px 16px; border: 1px solid #ad9c73; border-radius: 2px 2px 15px 2px; font: 13px var(--serif); background: linear-gradient(130deg,#304f40,#182f26); color: #f6e6c6; box-shadow: 0 3px 0 #10251b; }
#result-focus button[aria-pressed=true] { color: #233b2d; background: linear-gradient(125deg,#f4e8c7,#cdb078); border-color: #efdbaf; box-shadow: 0 3px 0 #9e7f49; }
#result-paths { margin: 18px 0 24px; }
#result-paths>.result-path { background: linear-gradient(110deg,#ffffff0d,#e7c89605); }
#result-paths details { border-top: 1px solid #d6c49642; }
#result-paths summary { cursor: pointer; font-size: 12px; padding: 15px 0; list-style-position: inside; }
#result-paths details .result-path { margin-top: 10px; }
#result-paths details h4 { font-size: 16px; }
#experience-title { max-width: 20em; }
#experience-scene { max-width: 42em; }
.reflection-options button { padding-right: 44px; line-height: 1.65; }
.reflection #reflection-answer { min-height: 110px; }
.reflection #reflection-answer h4 { text-wrap: pretty; }
.reflection #reflection-answer a { line-height: 1.8; }
.course-conditions { margin: 22px 0; padding: 18px 20px; border: 1px solid #e0c6953b; background: linear-gradient(125deg,#ffffff08,#ddbb7b0e); }
.course-conditions>p { font: 16px var(--serif); margin-bottom: 12px; color: #ebd4a8; }
.course-conditions ul { margin: 0; padding-left: 1.2em; font-size: 12px; line-height: 2; }
.course-conditions small { font-size: 10px; margin-top: 10px; }
.reveal.visible img { animation: image-settle 1.2s cubic-bezier(.2,.65,.3,1) both; }
.reveal.visible h2 { animation-delay: .12s; }
button,a,summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline: 3px solid #c89340; outline-offset: 5px; }
.button.is-down { transform: none; }
:where(button,a,summary).is-rebounding { animation-duration: .4s; }
@keyframes image-settle { from { filter: saturate(.35) brightness(.85); clip-path: inset(5% 0 0); } to { filter: saturate(.8) brightness(1); clip-path: inset(0); } }
@media (min-width: 701px) and (max-width: 1000px) {
 .hero-v2 h1 { font-size: clamp(33px,4.3vw,43px); }
 .viewpoint { gap: 6%; }
 .viewpoint h2 { font-size: 34px; }
}
@media (max-width: 700px) {
 .hero-v2 { min-height: 690px; padding-bottom: 108px; }
 .hero-v2 .hero-content { padding-top: 135px; }
 .hero-v2 h1 { font-size: clamp(22px,6.1vw,38px); line-height: 1.85; letter-spacing: 0; }
 .hero-v2 .hero-mosaic { grid-template-columns: 46% 54%; grid-template-rows: 49% 51%; }
 .hero-v2 .hero-mosaic img:nth-child(2) { object-position: 52% 18%; }
 .hero-v2 .hero-shade { background: linear-gradient(90deg,#112d26eb,#19372bb3 64%,#19372b35),linear-gradient(0deg,#102c28f2,transparent 85%); }
 .hero-v2 .hero-lead { font-size: 12px; max-width: 27em; line-height: 1.95; }
 .hero-v2 .hero-proof { margin-top: 25px; gap: 10px; }
 .hero-v2 .hero-buttons { flex-wrap: wrap; gap: 19px; }
 .hero-v2 .hero-caption { bottom: 65px; max-height: none; }
 .hero-v2 .hero-bottom>span { font-size: 9px; }
 .hero-v2 .hero-bottom a { font-size: 10px; }
 .viewpoint { grid-template-columns: 1fr; gap: 32px; }
 .viewpoint img { aspect-ratio: 1.5; border-radius: 0 65px 0 0; }
 .viewpoint figure:after { inset: 14px -9px 32px 14px; border-radius: 0 65px 0 0; }
 .viewpoint h2 { font-size: 29px; }
 .viewpoint p { font-size: 13px; }
 .situation p { font-size: 12px; }
 .situation .text-link { font-size: 11px; min-height: 44px; }
 #result-focus { gap: 8px; }
 #result-focus button { padding-inline: 14px; }
 .result-actions .button { font-size: 12px; min-height: 52px; }
 .result-path p { font-size: 12px; }
 .result-path a { font-size: 12px; padding-block: 10px; }
 .check-intro>p:not(.eyebrow) { font-size: 12px; }
 .check-intro>small { font-size: 11px; }
 .check-intro .bloom { top: 155px; }
 .experience-heading h2 { font-size: 27px; }
 .reflection #reflection-answer { min-height: 100px; }
 .reflection-options button { font-size: 14px; }
 .reflection>small { font-size: 10px; }
 .decision-grid p { font-size: 13px; }
 .review-grid details p { font-size: 14px; }
 .faq-tools button { min-height: 44px; font-size: 11px; }
}
@media (max-width: 360px) {
 .hero-v2 h1 { font-size: 21px; }
 .hero-v2 .hero-content { padding-top: 122px; }
 .hero-v2 .hero-proof { gap: 8px; }
 .hero-v2 .hero-proof>span { padding-right: 8px; }
 .check-intro .bloom { position: relative; top: auto; right: auto; margin: 22px auto; }
 .check-intro>p:not(.eyebrow),.check-intro>small { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .reveal.visible img,.reveal.visible h2,.tactile.is-rebounding { animation: none !important; }
 .tactile,.tactile.is-down { transition: none; scale: 1; translate: none; }
 .hero-v2 .hero-buttons,.hero-v2 .hero-proof,.hero-v2 .hero-lead { animation: none; }
}

/* Third refinement: founder-led imagery, scene-specific color and a clear hand-off. */
.hero-v2 .hero-mosaic { grid-template-columns: 57% 43%; grid-template-rows: 66% 34%; }
.hero-v2 .hero-mosaic img:nth-child(2) { object-position: center 28%; filter: saturate(.8); }
.hero-v2 .hero-mosaic img:nth-child(4) { object-position: center 48%; }
.hero-v2 .hero-shade { background: linear-gradient(90deg,#102c26f0 0%,#173a2fdd 37%,#173a2f66 61%,#173a2f10 85%),linear-gradient(0deg,#102c28ed,transparent 65%); }
.hero-v2 h1 { font-size: clamp(32px,3.5vw,55px); }
.hero-v2 h1>span { white-space: nowrap; }
.hero-v2 .hero-content { padding-top: clamp(170px,17vh,210px); }
.hero-v2 .hero-caption { writing-mode: horizontal-tb; bottom: 91px; right: 7%; max-width: 37%; font-size: 10px; text-align: right; line-height: 1.7; }
.founder-quote { position: relative; color: #e6d4b2; background: linear-gradient(110deg,#1c3028,#2b4637); padding: 35px 0; border-block: 1px solid #c1a16e55; }
.founder-quote>.wrap { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.founder-quote blockquote { margin: 0; font: 19px/1.9 var(--serif); text-wrap: balance; }
.founder-quote a { flex-shrink: 0; font-size: 11px; border-bottom: 1px solid #bd9d6a; padding: 12px 0; }
.only-small { display: none; }
.scene-photo { transition: none; }
.experience { --scene-accent: #e3bd82; background: radial-gradient(ellipse at 88% 30%,var(--scene-accent),transparent 75%),#eee7da; transition: background-color .6s; }
.experience-photo { overflow: hidden; }
.experience-photo .scene-photo { aspect-ratio: 1.15; object-fit: cover; width: 100%; }
.experience-photo figcaption { display: flex; flex-direction: column; gap: 5px; opacity: 1; color: #51584b; font-size: 12px; }
.experience-photo figcaption small { font-size: 10px; }
.scene-emblem { position: absolute; right: 15px; bottom: 75px; display: grid; place-items: center; width: 100px; height: 100px; border-radius: 50%; background: radial-gradient(circle,#193d30ed,#193d30b8); border: 1px solid #f1e2bc66; color: var(--scene-accent); box-shadow: 0 10px 35px #182d2840; transition: scale .7s,rotate .7s,box-shadow .7s; }
.scene-emblem .petal-mark { width: 65px; height: 65px; }
.scene-emblem ellipse { fill: transparent; transition: fill .7s; }
.has-reflection .scene-emblem { scale: 1.13; rotate: 18deg; box-shadow: 0 0 0 12px #f5e3ba18,0 0 50px #f8d99575; }
.has-reflection .scene-emblem ellipse { fill: #efdbab1a; }
#reflection-answer a { min-height: 44px; align-items: center; }
#experience-title { scroll-margin-top: 100px; }
#experience-title:focus { outline: none; }
#effects .spark { background: linear-gradient(#fff5d3,var(--scene-accent,#d4ae6f)); }
.course-purpose { position: relative; isolation: isolate; overflow: hidden; color: #f7edd8; }
.course-purpose>.purpose-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.course-purpose:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#15372bed,#19382dd9 50%,#163b30c9); }
.course-purpose>.wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
.course-purpose .eyebrow { color: #e2c590; }
.course-purpose h2 { font-size: clamp(32px,3.2vw,48px); }
.purpose-lead p:not(.eyebrow) { font-size: 14px; }
.purpose-details details { border-bottom: 1px solid #d5c49866; }
.purpose-details summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; padding: 24px 0; cursor: pointer; font: 19px/1.6 var(--serif); }
.purpose-details details[open] summary span { rotate: 45deg; }
.purpose-details details p { font-size: 13px; line-height: 2; padding-right: 18px; }
.purpose-details>small { margin-top: 18px; color: #ded6c3; font-size: 10px; }
.course-conditions .text-link { font-size: 12px; margin-top: 15px; min-height: 44px; color: #efddba; }
.inquiry-desk { display: grid; grid-template-columns: 1fr 1.15fr; gap: 7%; align-items: start; }
.inquiry-heading h2 { font-size: clamp(30px,3vw,44px); }
.inquiry-heading p { font-size: 14px; }
.inquiry-steps { margin: 25px 0 0; padding: 0; list-style: none; counter-reset: inquire; }
.inquiry-steps li { counter-increment: inquire; display: flex; align-items: center; gap: 15px; font-size: 13px; padding: 12px 0; }
.inquiry-steps li:before { content: '0' counter(inquire); color: #8b7045; font: 24px var(--en); }
.inquiry-paper { position: relative; background: linear-gradient(135deg,#fffdf7,#eee3cc); padding: 32px; border: 1px solid #b4a481; border-radius: 2px 2px 35px 2px; box-shadow: 8px 8px 0 #d6ccb744,0 20px 60px #4b3b2220; }
.inquiry-paper label { display: block; color: #554d3d; font-size: 12px; margin-bottom: 17px; }
.inquiry-paper textarea { display: block; resize: vertical; width: 100%; min-height: 200px; padding: 14px 16px; border: 1px solid #c8ba9b; border-radius: 3px; background: #fffdf5; font: 14px/1.95 var(--sans); color: #26392f; }
.inquiry-paper textarea:focus-visible { outline: 3px solid #ac8542; outline-offset: 3px; }
.inquiry-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px; }
.inquiry-actions .button { min-height: 50px; padding: 12px 18px; font-size: 12px; gap: 20px; }
.inquiry-paper .text-link { font-size: 12px; min-height: 44px; }
#copy-status { font-size: 12px; line-height: 1.8; margin: 18px 0 3px; min-height: 3.6em; }
.inquiry-paper>small { margin-top: 12px; font-size: 10px; color: #66604f; }
.company details { font-size: 10px; }
.company details summary { cursor: pointer; padding: 10px 0; }
.company details p { max-width: 250px; font-size: 11px; }
.bloom-finale { width: 100%; height: 100svh; max-width: none; max-height: none; border: 0; margin: 0; padding: 30px 6%; overflow-y: auto; pointer-events: auto; color: #f6e6bd; background: radial-gradient(ellipse at center,#355d43,#0e291f 80%); animation: finale-arrive .45s ease-out both; }
.bloom-finale::backdrop { background: #10291eeb; }
.bloom-finale .finale-flower { position: relative; flex-shrink: 0; width: min(30vh,250px); height: min(30vh,250px); margin: 20px 0 30px; }
.bloom-finale .finale-flower:before,.bloom-finale .finale-flower:after { content: ''; position: absolute; inset: -15%; border: 1px solid #f6d49b66; border-radius: 50%; animation: finale-ripple 2.4s ease-out both; pointer-events: none; }
.bloom-finale .finale-flower:after { animation-delay: .4s; }
.bloom-finale .eyebrow { font: 11px var(--sans); letter-spacing: .1em; margin: 0 0 16px; color: #dac08b; }
.bloom-finale h2 { font: clamp(25px,3vw,40px)/1.6 var(--serif); margin: 0 0 15px; text-align: center; }
.bloom-finale #finale-description { font: 14px/1.9 var(--sans); letter-spacing: 0; text-align: center; max-width: 34em; margin: 0 0 25px; }
.bloom-finale>small { font-size: 11px; text-align: center; margin-top: 25px; max-width: 32em; line-height: 1.8; }
.bloom-finale .finale-close { position: absolute; right: 5%; top: 24px; color: #f2dfb8; padding: 12px 18px; min-height: 44px; background: #ffffff0c; border: 1px solid #d7c29566; font-size: 12px; }
.bloom-finale .button { flex-shrink: 0; }
.bloom-finale .tactile.action-enter { opacity: 1; translate: none; animation: none; }
@keyframes finale-arrive { from { opacity: 0; } to { opacity: 1; } }
@keyframes finale-ripple { 0% { scale: .5; opacity: 0; } 35% { opacity: 1; } 100% { scale: 1.8; opacity: 0; } }
@media (max-width: 1000px) {
 .founder-quote>.wrap { align-items: flex-start; flex-direction: column; gap: 12px; }
 .founder-quote blockquote { font-size: 19px; }
 .inquiry-desk { gap: 5%; }
 .inquiry-paper { padding: 25px; }
 .purpose-details summary { font-size: 17px; }
}
@media (max-width: 700px) {
 .hero-v2 { min-height: 0; padding-bottom: 110px; }
 .hero-v2 .hero-content { padding-top: 255px; }
 .hero-v2 .hero-mosaic { grid-template-columns: 42% 58%; grid-template-rows: 43% 57%; }
 .hero-v2 .hero-mosaic img:nth-child(2) { object-position: center 15%; }
 .hero-v2 .hero-shade { background: linear-gradient(0deg,#102d26fa 4%,#183a2fe8 46%,#183a2f90 65%,#183a2f12 88%),linear-gradient(90deg,#16392bc2,transparent 75%); }
 .hero-v2 h1 { font-size: clamp(23px,6vw,36px); line-height: 1.7; }
 .hero-v2 .hero-caption { left: 6%; right: 6%; max-width: none; bottom: 65px; font-size: 9px; text-align: left; }
 .hero-v2 .hero-lead { font-size: 12px; }
 .hero-v2 .hero-proof { margin-top: 22px; }
 .founder-quote { padding: 27px 0; }
 .founder-quote blockquote { font-size: 17px; line-height: 1.9; }
 .founder-quote a { font-size: 11px; }
 .only-small { display: initial; }
 .experience-photo .scene-photo { aspect-ratio: 1.5; }
 .scene-emblem { width: 75px; height: 75px; right: 12px; bottom: 65px; }
 .scene-emblem .petal-mark { width: 48px; height: 48px; }
 .course-purpose>.wrap { grid-template-columns: 1fr; gap: 20px; }
 .course-purpose h2 { font-size: 31px; }
 .purpose-details summary { padding: 20px 0; font-size: 17px; }
 .inquiry-desk { grid-template-columns: 1fr; gap: 30px; }
 .inquiry-paper { padding: 23px 18px; }
 .inquiry-paper textarea { font-size: 16px; line-height: 1.8; padding: 12px; min-height: 225px; }
 .inquiry-steps { margin-top: 15px; }
 .inquiry-steps li { font-size: 12px; }
 .bloom-finale { padding: 70px 7% 35px; }
 .bloom-finale h2 { font-size: 26px; }
 .bloom-finale #finale-description { font-size: 13px; }
 .bloom-finale .finale-close { top: 18px; }
 .bloom-finale>small { font-size: 10px; }
}
@media (max-width: 360px) {
 .hero-v2 .hero-content { padding-top: 225px; }
 .hero-v2 h1 { font-size: 21px; }
 .hero-v2 .hero-proof { font-size: 10px; }
 .hero-v2 .hero-buttons .button { padding-inline: 18px; }
 .founder-quote blockquote { font-size: 16px; }
}
@media (max-height: 600px) {
 .bloom-finale { justify-content: flex-start; }
 .bloom-finale .finale-flower { width: 100px; height: 100px; margin: 10px 0 20px; }
}
@media (prefers-reduced-motion: reduce) {
 .experience,.scene-emblem,.scene-emblem ellipse { transition: none; }
 .has-reflection .scene-emblem { scale: 1; rotate: none; }
}
