.living-dream { max-width:640px; margin:0 auto; padding:32px 24px 48px; color:var(--ink); scroll-margin-top:0; }
.dream-heading .eyebrow { font-size:11px; letter-spacing:.19em; margin-bottom:12px; }
.living-dream h2 { font-size:46px; line-height:.98; margin:0 0 12px; letter-spacing:-.025em; text-wrap:initial; }
.living-dream h2 span { display:block; }
.dream-invitation { font-size:16px; line-height:1.5; color:var(--muted); }
/* View the artwork pixels directly from the approved source, without redrawing. */
.dream-landscape { position:relative; display:block; width:calc(100% + 48px); margin:-36px -24px 14px; padding:0; aspect-ratio:853 / 940; border:0; border-radius:0; background:transparent; touch-action:pan-y; cursor:pointer; -webkit-tap-highlight-color:transparent; overflow:hidden; isolation:isolate; mix-blend-mode:darken;
 clip-path:polygon(0 8.2%,75% 8.2%,75% 0,100% 0,100% 100%,0 100%);
}
.dream-landscape img { position:absolute; left:0; top:-38.29787234%; width:100%; height:auto; max-width:none; pointer-events:none; user-select:none; }
.dream-ink { filter:grayscale(1) brightness(1.04); opacity:.8; }
.dream-landscape .dream-photo { opacity:1;
 -webkit-mask-image:radial-gradient(circle at var(--reveal-x,50%) var(--reveal-y,60%),#000 0,#000 var(--reveal-inner,0px),transparent var(--reveal-outer,0px));
 mask-image:radial-gradient(circle at var(--reveal-x,50%) var(--reveal-y,60%),#000 0,#000 var(--reveal-inner,0px),transparent var(--reveal-outer,0px));
}
.dream-landscape:focus-visible { outline:2px solid var(--ink); outline-offset:-12px; }
.dream-life { display:block; padding-top:12px; padding-bottom:24px; }
.dream-life .life-copy { max-width:600px; margin:auto; }
/* Preserve the full story and controls; show its existing concise version here. */
@media (max-width:1099px) {
body.is-dream-in-view #journey-story-text { display:none; }
body.is-dream-in-view #journey-story-compact { display:block; }
body.is-dream-in-view .is-minimal-story #journey-story-compact { display:none; }
}
@media (max-width:359px) {
 .living-dream { padding-inline:20px; }
 .living-dream h2 { font-size:38px; }
 .dream-landscape { width:calc(100% + 40px); margin-inline:-20px; }
 .dream-invitation { font-size:13px; }
 .dream-geography > p:first-child { font-size:19px; }
}
@media (min-width:900px) {
 .living-dream { padding-block:64px; }
 .living-dream h2 { font-size:52px; }
 .dream-heading { max-width:520px; margin:auto; }
 .dream-invitation { font-size:16px; }
 .dream-geography ul { font-size:18px; }
 .dream-geography .dream-promise { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) { .living-dream *, .living-dream *::before { transition:none !important; } }

html[lang="ru"] .living-dream h2 { font-size:clamp(32px,10vw,42px); }

/* Let the approved portrait reach the screen edges on mobile/tablet. */
@media (max-width:899px) {
 .selection .portrait { width:100vw; max-width:none; margin-inline:calc((100% - 100vw) / 2); }
}

/* Approved compact editorial structure, 2026-10-16. */
.selection-experience { margin-top:20px; color:var(--muted); }
.selection-experience a { text-decoration:underline; text-underline-offset:3px; }
.compact-fawn { padding:0 var(--gutter) 28px; }
.compact-fawn .fawn-detail { max-width:530px; margin:0 auto; }
.selection { padding-bottom:24px; }
@media(min-width:900px) {
 .selection-intro { padding-bottom:20px; }
 .selection h2 { font-size:var(--section-title); }
 .compact-fawn { padding-bottom:36px; }
}

/* Approved desktop composition; mobile flow remains unchanged. */
@media(min-width:1100px) {
 .dream-journey-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; max-width:1240px; margin:0 auto; padding:56px 40px; align-items:start; }
 .dream-journey-pair .living-dream { width:100%; max-width:none; padding:32px 24px 24px; }
 .dream-journey-pair .dream-heading { max-width:none; }
 .dream-journey-pair .priorities { width:100%; margin:0; padding:28px 28px 20px; }
 .dream-journey-pair h2 { font-size:42px; line-height:1.04; }
 .dream-journey-pair .dream-invitation { font-size:16px; }
 .dream-journey-pair .journey-intro { font-size:16px; }
 .dream-journey-pair .bird-detail { margin-top:20px; }
}

/* Approved lake reflection motion and readable geography. */
.dream-water-reveal,.dream-water-region { position:absolute; inset:0; pointer-events:none; }
.dream-water-reveal { opacity:0; }
.dream-water-reveal.is-living { opacity:1; transition:opacity 500ms ease; }
.dream-water-image {
 transform-origin:50% 65%;
 animation:dream-reflection-drift 8s ease-in-out infinite alternate;
 animation-play-state:paused;
}
.is-living .dream-water-image { animation-play-state:running; will-change:transform; }
@keyframes dream-reflection-drift {
 from { transform:translate3d(-.6px,.25px,0) scale(1.003,1.001); }
 to { transform:translate3d(.6px,-.25px,0) scale(1.003,1.001); }
}
/* Soft elliptical inset excludes shore, foreground flowers, and the horizon. */
.dream-water-region {
 -webkit-mask-image:radial-gradient(ellipse 36% 10% at 59% 65%,#000 45%,transparent 100%);
 mask-image:radial-gradient(ellipse 36% 10% at 59% 65%,#000 45%,transparent 100%);
}
/* A readable directory: fixed alignments, not a centred word cloud. */
.dream-geography { max-width:360px; margin:16px auto 0; text-align:left; }
.dream-geography > p:first-child { font:500 22px/1.25 var(--serif); margin:0; }
.dream-geography strong { font-weight:inherit; white-space:nowrap; }
.dream-geography ul { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; margin:20px 0 0; padding:0; font:500 22px/1.3 var(--serif); }
.dream-geography li { padding:0; min-width:0; }
.dream-geography .dream-promise { margin:20px 0 0; font:400 14px/1.6 var(--sans); color:var(--muted); }
@media(max-width:359px) {
 .dream-geography > p:first-child { font-size:20px; }
 .dream-geography ul { font-size:20px; column-gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .dream-water-reveal { display:none; } }

@media(max-width:1099px) { .dream-landscape { margin-bottom:2px; } }

/* Shared, static colour grade for the reveal and its reflection.
   Keep the exact approved pixels and geometry; never animate the filter. */
.dream-photo,.dream-water-image {
 filter:saturate(.76) sepia(.12) brightness(1.04);
}
