/* Seoha's visit: existing photography, quiet transitions and explicit choices. */
@media screen {
  .arrival-promise { margin:14px 0 0; color:#c4d8d3; font:12px/1.8 var(--sans); text-align:center }
  .arrival-immersive .arrival-welcome { margin:12px 0 19px }
  body[data-view="welcome"] .site-header,body[data-view="welcome"] .site-footer { display:none }
  body[data-view="welcome"] .study-sound-controls .arrival-sound-toggle { top:72px }
  .welcome-scene { min-height:100svh; position:relative; isolation:isolate; display:flex; align-items:flex-end; padding:28px; overflow:hidden }
  .welcome-backdrop,.welcome-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2 }
  .welcome-backdrop { object-position:center 35%; animation:welcome-reveal 1.4s ease-out both }
  .welcome-shade { z-index:-1; background:linear-gradient(180deg,#07121720 15%,#07121745 35%,#071217dd 65%,#071217 100%) }
  .welcome-back,.welcome-skip { position:absolute; top:20px; border:0; background:#07121785; color:#ecf5ed; min-height:44px; border-radius:24px; padding:10px 15px; font-size:12px; cursor:pointer }
  .welcome-back { left:20px; width:44px; font-size:20px }
  .welcome-skip { right:20px }
  .welcome-letter { width:100%; padding-top:280px }
  .journey-eyebrow { color:#a6d8cd; font:11px/1.8 var(--sans); letter-spacing:.11em; margin:0 0 15px }
  .welcome-letter h1 { font:400 clamp(27px,7.5vw,36px)/1.5 var(--serif); letter-spacing:-.04em; margin:0 0 16px; color:#f3f5e9 }
  .welcome-letter > p:not(.journey-eyebrow) { color:#d0dcd3; font-size:14px; line-height:1.9; margin:0 }
  .visit-path { list-style:none; display:flex; gap:12px; padding:22px 0; margin:18px 0; border-top:1px solid #b9d7c930; border-bottom:1px solid #b9d7c930 }
  .visit-path li { flex:1; font-size:11px; color:#bdccc5; line-height:1.8 }
  .visit-path span { display:block; color:#bde7d8; font-size:10px; letter-spacing:.12em; margin-bottom:4px }
  .welcome-letter .button,.flow-continue,.journey-offer .button,.checkout-experience { width:100%; min-height:54px; justify-content:space-between }
  .welcome-letter > small { display:block; color:#a6beb9; font-size:11px; text-align:center; margin:15px 0 4px; line-height:1.8 }
  .flow-guided .flow-scene img { height:58svh; min-height:360px; max-height:520px; filter:none; opacity:.9; transform:none; object-position:center top }
  .flow-guided .flow-scene > span { background:linear-gradient(180deg,#07121720,#07121700 18%,#071217b0 36%,#071217 53%) }
  .flow-guided .flow-step { margin-top:0; padding-top:clamp(275px,38svh,330px); padding-bottom:10px }
  .flow-guided .flow-question { font-size:clamp(25px,6.8vw,30px); line-height:1.5 }
  .flow-guided .flow-speaker { font-size:11px; margin-bottom:10px }
  .flow-guided .flow-form { margin-top:22px }
  .flow-guided .flow-description { font-size:13px; color:#b2c8c7 }
  .flow-stage { display:flex; align-items:center; gap:14px; position:absolute; top:12px; left:65px; right:58px; font-size:11px; color:#d7e8df }
  .flow-stage b { margin-left:auto; font-weight:400; color:#aedcce; white-space:nowrap }
  .flow-guided .flow-skip { display:block; min-height:44px; margin:-8px 0 10px; padding:10px 0; background:none; border:0; color:#bed4ce; font-size:12px; text-decoration:underline; text-underline-offset:4px; cursor:pointer }
  .flow-guided .flow-option { font-size:15px; min-height:52px }
  .flow-guided .flow-calendar { flex-wrap:wrap; gap:7px; margin-bottom:20px }
  .flow-guided .flow-calendar .flow-option { font-size:12px; min-height:44px; padding:8px 12px }
  .flow-guided .flow-date-grid { grid-template-columns:1.5fr 1fr 1fr; gap:8px }
  .flow-guided .flow-date-part { min-width:0 }
  .flow-guided .flow-date-part input { width:100%; min-width:0; padding-left:8px; padding-right:23px; font-size:17px }
  .flow-guided .flow-unit > span { right:7px; font-size:11px }
  .flow-continue { margin-top:18px; border-radius:7px; font-size:14px }
  .journey-review { margin:0; padding:0; border-top:1px solid #a1c9bc30 }
  .journey-review > div { display:grid; grid-template-columns:75px minmax(0,1fr) 40px; align-items:center; gap:8px; border-bottom:1px solid #a1c9bc25; padding:7px 0; min-height:56px }
  .journey-review dt { font-size:11px; color:#9bb6b6 }
  .journey-review dd { margin:0; font-size:13px; line-height:1.7; color:#e5f1e9; overflow-wrap:anywhere }
  .journey-review button { border:0; background:none; color:#b1e0d2; min-height:44px; padding:0; font-size:11px; text-decoration:underline; text-underline-offset:4px; cursor:pointer }
  .flow-privacy { text-align:center; color:#91adae; font-size:10px; line-height:1.9; margin:18px 0 0 }
  .flow-privacy button { color:#c1d7cf; min-height:36px; background:none; border:0; text-decoration:underline; cursor:pointer }
  .loading-view .loading-portrait { width:min(100%,340px); height:auto; aspect-ratio:3/2; object-fit:cover; object-position:center 22%; border-radius:160px 160px 5px 5px; margin-bottom:26px }
  .result-opening.page-pad { padding-inline:26px }
  .first-letter-scene { margin:22px -26px 25px }
  .first-letter-scene img { display:block; width:100%; height:auto }
  .first-letter-scene figcaption { color:#9ab8b4; font:10px/1.7 var(--sans); text-align:center; margin-top:10px; letter-spacing:.06em }
  .result-opening .result-heading { padding-top:8px }
  .result-opening h1 { font-size:30px; line-height:1.55 }
  .preview-letter .letter-quote { font-size:21px; line-height:1.7 }
  .journey-sales { color:#ccdcd6; font-size:14px; line-height:1.95 }
  .journey-sales h2 { font:400 26px/1.6 var(--serif); color:#edf4eb; letter-spacing:-.035em; margin:0 0 22px }
  .journey-sales p { overflow-wrap:anywhere }
  .journey-bridge { padding:55px 28px 45px; text-align:center; background:linear-gradient(#0b1e24,#112b2d,#0b1e24) }
  .journey-seal { display:grid; place-items:center; width:35px; height:40px; border:1px solid #95bfaf70; color:#bbd9c7; margin:0 auto 24px; font-family:var(--serif); font-size:20px }
  .journey-bridge > p:not(.journey-eyebrow) { text-align:left }
  .journey-anchor { display:inline-block; color:#abd9cb; text-decoration:underline; text-underline-offset:5px; font-size:12px; padding:16px 0 0 }
  .journey-contents { padding:44px 25px }
  .journey-muted { font-size:12px; color:#9fbcb7; line-height:1.9 }
  .journey-chapters { border-top:1px solid #a0c2b92c; margin-top:25px }
  .journey-chapter { border-bottom:1px solid #a0c2b92c }
  .journey-chapter > summary { display:flex; align-items:center; gap:14px; list-style:none; cursor:pointer; padding:19px 0; min-height:100px }
  .journey-chapter > summary::-webkit-details-marker { display:none }
  .journey-chapter > summary:after,.journey-chapter[open] > summary:after { content:none }
  .journey-chapter summary img { width:66px; height:82px; flex-shrink:0; border-radius:40px 40px 4px 4px; object-fit:cover }
  .journey-chapter summary span { flex:1; min-width:0 }
  .journey-chapter summary small { display:block; color:#9abeb3; font-size:10px; margin-bottom:7px }
  .journey-chapter summary strong { display:block; color:#e4eee5; font:400 15px/1.7 var(--serif); word-break:keep-all; overflow-wrap:anywhere }
  .journey-chapter summary b { flex-shrink:0; font:300 22px var(--sans); color:#a1c6b7 }
  .journey-chapter[open] summary b { transform:rotate(45deg) }
  .journey-chapter-body { padding:0 0 24px; font-size:13px }
  .journey-chapter-body ul { padding-left:18px; margin:12px 0 }
  .journey-chapter-body li { margin-bottom:6px }
  .journey-chapter-body small { color:#8eadad; font-size:10px }
  .journey-offer { margin:8px 20px 40px; background:#122a2d; border:1px solid #46665c; scroll-margin-top:24px }
  .journey-offer-photo { display:block; width:100%; height:auto }
  .journey-offer-copy { padding:27px 22px 18px }
  .journey-price { padding:18px 0; border-block:1px solid #a4c6b829; display:flex; flex-direction:column; gap:3px }
  .journey-price > span { color:#b7cfc4; font-size:12px }
  .journey-price strong { font:500 36px/1.5 var(--serif); color:#d4ecdb; letter-spacing:-.04em }
  .journey-price small { font-size:11px; color:#abc3ba }
  .journey-includes { list-style:none; padding:0; font-size:12px; margin:20px 0 }
  .journey-includes li { margin:8px 0; padding-left:17px; position:relative }
  .journey-includes li:before { content:'✓'; position:absolute; left:0; color:#add8c3 }
  .journey-availability { padding:12px; background:#071b2380; color:#c4d6d0; border-radius:5px; font-size:11px }
  .journey-no-rush { text-align:center; margin:15px 0 0; font:12px/1.9 var(--serif); color:#b2c9be }
  .journey-faq { padding:0 26px 35px }
  .journey-faq h2 { font-size:21px }
  .journey-faq details { border-bottom:1px solid #a1c4b82b; padding:17px 0; font-size:12px }
  .journey-faq summary { color:#d7e6dc; cursor:pointer; line-height:1.8 }
  .journey-faq details p { color:#a4c0b8; margin:15px 0 3px }
  .journey-reference { font-size:10px; color:#8ea9a7; margin-top:25px }
  .journey-text-button { display:block; margin:15px auto 0; min-height:44px; border:0; background:none; color:#b6cec3; font-size:12px; cursor:pointer }
  .checkout-notice p { margin:7px 0 0 }
  .modal-product .book-product-image { width:100px; height:76px; object-fit:cover; object-position:center; border-radius:5px; flex-shrink:0 }
  .checkout-includes { font-size:12px; line-height:1.9 }
  .modal-body .button { white-space:normal; text-align:center }
  .modal-body .input-note { font-size:11px; line-height:1.8; margin-top:15px }
  .purchase-bar { gap:10px }
  .purchase-bar .button { padding:12px 14px; font-size:13px }
  .purchase-bar small { font-size:10px }
  :is(.welcome-scene,.journey-sales,.flow-guided) :is(button,a,summary):focus-visible { outline:2px solid #b5e6d0; outline-offset:4px }
  @keyframes welcome-reveal { from { opacity:.6; transform:scale(1.035) } to { opacity:1; transform:scale(1) } }
  @media(max-width:350px) { .welcome-scene { padding:24px } .visit-path { gap:6px } .flow-shell.flow-guided { padding-inline:22px } .flow-guided .flow-calendar { gap:5px } .flow-guided .flow-calendar .flow-option { padding-inline:10px } .journey-contents { padding-inline:22px } .journey-chapter > summary { gap:11px } .journey-chapter summary img { width:54px; height:72px } .journey-offer { margin-inline:15px } .journey-offer-copy { padding-inline:18px } .result-opening.page-pad { padding-inline:22px } .first-letter-scene { margin-inline:-22px } }
  @media(max-height:700px) { .welcome-letter { padding-top:220px } .flow-guided .flow-step { padding-top:240px } }
  @media(prefers-reduced-motion:reduce) { .welcome-backdrop,.flow-guided .flow-step { animation:none } .journey-chapter summary b { transition:none } }
}
