/* Ordered source modules. The build and Node server serve one bundled stylesheet. */
/* Altay / Living Land — an editorial system, not a collection of effects. */
:root {
  --paper: #f4f2ed; --paper-light: #fbfaf7; --ink: #2b382f;
  --muted: #697468; --forest: #1b3329; --forest-deep: #12271e;
  --lime: #dfdfcf; --line: #d6d9d0;
  --serif: 'EB Garamond 12', 'EB Garamond', Georgia, 'Times New Roman', serif;
  --sans: Manrope, Arial, sans-serif;
  --gutter: clamp(24px, 5.5vw, 112px);
  --ease: cubic-bezier(.22, 1, .36, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 108px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 14px/1.75 var(--sans); -webkit-font-smoothing: antialiased; }
body:has(dialog[open]) { overflow: hidden; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
h2 { font-size: clamp(48px, 5.7vw, 94px); }
h3 { font-size: 36px; }
em { font-weight: 400; color: #7b8972; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; cursor: pointer; background: none; border: 0; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button:disabled { opacity: .4; cursor: not-allowed; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid #9ba653; outline-offset: 5px; }
img { display: block; max-width: 100%; }
svg { width: 24px; height: 24px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
[hidden] { display: none !important; }
::selection { background: var(--lime); color: var(--forest); }
.svg-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.section { padding: 110px var(--gutter); }
.section-label { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 54px; font-size: 10px; letter-spacing: .16em; font-weight: 500; }
.section-label > span:first-child { display: flex; gap: 16px; align-items: center; }
.section-label > span:first-child::before { content: ''; width: 5px; height: 5px; border: 1px solid currentColor; border-radius: 50%; }
.section-label > span:last-child { color: var(--muted); text-align: right; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: 56px; }
.section-aside { max-width: 330px; color: var(--muted); font-size: 13px; line-height: 1.95; padding-bottom: 5px; }
.eyebrow { font-size: 10px; font-weight: 500; letter-spacing: .16em; line-height: 1.7; }
.footnote { display: block; color: var(--muted); font-size: 10px; line-height: 1.8; }
.button { position: relative; display: inline-flex; gap: 30px; align-items: center; justify-content: space-between; min-height: 58px; padding: 10px 12px 10px 25px; border: 1px solid transparent; border-radius: 100px; font-size: 12px; font-weight: 600; white-space: nowrap; transition: background .35s, color .35s, box-shadow .35s; }
.button > svg { width: 36px; height: 36px; padding: 9px; border-radius: 50%; transition: transform .65s var(--ease), background .35s; }
.button:hover > svg { transform: rotate(45deg); }
.button-lime { background: var(--lime); color: var(--forest-deep); }
.button-lime > svg { background: var(--forest); color: var(--lime); }
.button-lime:hover { background: #ecf2d3; box-shadow: 0 10px 36px #13291c1a; }
.button-small { min-height: 44px; font-size: 11px; padding: 7px 10px 7px 20px; }
.button-small > svg { width: 28px; height: 28px; padding: 5px; }
.button-glass { background: #ffffff08; border-color: #faf9f35e; color: var(--paper-light); backdrop-filter: blur(10px); }
.button-glass:hover { background: var(--paper); color: var(--forest); }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; font-size: 12px; border-bottom: 1px solid #9cab8d; padding: 10px 0; transition: gap .5s var(--ease); }
.text-link svg { width: 18px; height: 18px; }
.text-link:hover { gap: 42px; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #a4b09470; border-radius: 50%; padding: 10px; transition: background .3s, color .3s, transform .4s var(--ease); }
.icon-button:hover:not(:disabled) { background: var(--lime); color: var(--forest); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 200; background: var(--lime); color: var(--forest); padding: 12px 20px; }
.skip-link:focus { top: 12px; }
.reading-progress { position: fixed; z-index: 101; top: 0; left: 0; height: 2px; width: 100%; background: var(--lime); transform: scaleX(0); transform-origin: left; pointer-events: none; }

/* 01. Cinema, with the page and all controls available immediately. */
.header { position: fixed; z-index: 50; top: 0; left: 0; right: 0; padding: 28px var(--gutter); display: flex; justify-content: space-between; align-items: center; gap: 32px; color: var(--paper-light); transition: padding .45s var(--ease), background .45s, box-shadow .45s; }
.header.scrolled { background: #183127ef; backdrop-filter: blur(16px); padding-top: 15px; padding-bottom: 15px; box-shadow: 0 1px #e6edce20; }
.brand { display: flex; align-items: center; gap: 11px; line-height: 1; flex-shrink: 0; }
.brand > svg { width: 41px; height: 34px; stroke-width: .9; }
.brand > span { font-family: var(--serif); font-size: 38px; letter-spacing: -.055em; line-height: .85; }
.brand small { display: block; font-family: var(--sans); font-size: 6px; letter-spacing: .32em; margin-top: 10px; line-height: 1; }
.desktop-nav { display: flex; gap: 36px; font-size: 11px; }
.desktop-nav a { padding: 8px 0; position: relative; }
.desktop-nav a::after { content: ''; position: absolute; left: 0; bottom: 1px; width: 100%; height: 1px; background: var(--lime); transform: scaleX(0); transform-origin: right; transition: transform .5s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a.active::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; width: 44px; height: 44px; }
.menu-toggle span { display: block; width: 25px; height: 1px; margin: 7px auto; background: currentColor; }
.hero { height: 100svh; min-height: 780px; max-height: 1250px; position: relative; overflow: hidden; background: var(--forest-deep); color: var(--paper-light); isolation: isolate; }
.hero-image-wrap, .hero-shade, .hero-grain { position: absolute; inset: 0; pointer-events: none; }
.hero-image-wrap { overflow: hidden; z-index: -3; }
.hero-image { width: 100%; height: 112%; max-width: none; object-fit: cover; object-position: 58% 50%; filter: saturate(.75); }
.hero-shade { z-index: -2; background: linear-gradient(90deg, #152e2861, #11251906 72%), linear-gradient(0deg, #112a21ed, #13291d18 65%, #0b241658); }
.hero-grain { z-index: -1; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.35' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); }
.hero-coordinates { position: absolute; left: var(--gutter); top: 145px; display: flex; align-items: center; gap: 12px; font-size: 8px; letter-spacing: .2em; }
.status-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--lime); flex-shrink: 0; box-shadow: 0 0 0 4px #deebb414; }
.coordinate-line { width: 32px; height: 1px; background: #e3ecda66; margin: 0 8px; }
.hero-side-note { position: absolute; right: 26px; top: 40%; writing-mode: vertical-rl; font-size: 8px; letter-spacing: .23em; color: #f5f3e7a0; }
.hero-content { position: absolute; top: 26%; left: var(--gutter); right: var(--gutter); }
.hero-eyebrow { font-size: 9px; letter-spacing: .24em; margin: 0 0 22px 7px; }
.hero h1 { width: fit-content; max-width: 100%; letter-spacing: -.055em; line-height: .82; }
.hero-title-line { display: block; overflow: hidden; padding: .055em .06em .13em 0; margin-bottom: -.07em; font-size: clamp(150px, 19.8vw, 340px); }
.hero-word { display: block; transform-origin: left bottom; }
.title-dot { color: var(--lime); }
.hero-title-second { padding-top: .15em; margin-left: 13vw; font-size: clamp(78px, 9.8vw, 174px); font-style: italic; letter-spacing: -.04em; white-space: nowrap; }
.hero-bottom-copy { display: flex; align-items: center; gap: 48px; margin-top: 26px; margin-left: 13.5vw; }
.hero-bottom-copy p { font-size: 12px; line-height: 1.9; color: #e4e7d9; }
.hero-postcard { position: absolute; top: 29%; right: var(--gutter); width: clamp(190px, 15.8vw, 290px); transform: rotate(4deg); background: #eef0e3; padding: 9px 9px 0; color: var(--forest); box-shadow: 0 14px 45px #06190e22; transition: rotate .7s var(--ease), box-shadow .7s; }
.hero-postcard:hover { rotate: -3deg; box-shadow: 0 20px 60px #06190e50; }
.postcard-image { aspect-ratio: 1.65; position: relative; overflow: hidden; }
.postcard-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.hero-postcard:hover img { transform: scale(1.08); }
.postcard-play { position: absolute; right: 9px; bottom: 9px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); }
.postcard-play svg { width: 15px; height: 15px; }
.postcard-bottom { display: flex; justify-content: space-between; align-items: end; padding: 13px 7px 17px; }
.postcard-bottom > span { font: 23px/.96 var(--serif); letter-spacing: -.025em; }
.postcard-bottom small { font-size: 6px; letter-spacing: .08em; }
.hero-footer { position: absolute; bottom: 35px; left: var(--gutter); right: var(--gutter); display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-top: 23px; border-top: 1px solid #f3f1e82e; }
.scroll-cue { display: flex; align-items: center; gap: 15px; font-size: 8px; letter-spacing: .16em; }
.scroll-cue small { font-size: 10px; text-transform: none; letter-spacing: 0; color: #d7e0cb; }
.scroll-circle { border: 1px solid #e1ead451; border-radius: 50%; width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; }
.scroll-circle svg { width: 17px; height: 17px; transform: rotate(90deg); }
.hero-offer { min-width: 245px; }
.offer-label { display: block; font-size: 8px; letter-spacing: .16em; margin-bottom: 4px; color: #e0e5d0; }
.offer-price { display: flex; justify-content: space-between; align-items: center; gap: 30px; font: 34px/1.25 var(--serif); letter-spacing: -.035em; }
.offer-price svg { width: 21px; height: 21px; transition: transform .5s var(--ease); }
.hero-offer:hover svg { transform: translate(4px,-4px); }
.motion-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 8px; font-size: 9px; color: #e2e8d8; }
.motion-bars { display: flex; align-items: center; gap: 3px; height: 17px; }
.motion-bars i { width: 2px; height: 6px; background: currentColor; }
.motion-bars i:nth-child(2) { height: 14px; }
.motion-bars i:nth-child(3) { height: 10px; }
.motion-toggle[aria-pressed=false] .motion-bars i { height: 3px; }


/* 02. Air, ink and imagery. */
.facts { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; padding: 40px var(--gutter); background: var(--paper); border-bottom: 1px solid var(--line); }
.fact + .fact { padding-left: 35px; border-left: 1px solid var(--line); }
.fact-number { font: 55px/1 var(--serif); letter-spacing: -.04em; white-space: nowrap; }
.fact-number small { font: 12px var(--sans); margin-left: 10px; letter-spacing: 0; }
.fact p { font-size: 10px; color: var(--muted); margin-top: 11px; }
.about { padding-bottom: 95px; }
.about-heading { display: flex; align-items: start; justify-content: space-between; gap: 50px; }
.about-heading h2 { font-size: clamp(52px, 6.5vw, 110px); }
.about-note { display: flex; gap: 26px; padding-top: 13px; }
.note-index { font: italic 27px var(--serif); color: #829173; }
.about-note p { color: var(--muted); font-size: 12px; line-height: 1.85; }
.about-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 9%; align-items: center; margin-top: 75px; }
.about-copy { max-width: 300px; }
.about-copy .large-copy { font: 35px/1.12 var(--serif); letter-spacing: -.025em; margin-bottom: 25px; }
.about-copy > p:not(.large-copy) { font-size: 13px; line-height: 1.95; color: var(--muted); margin-bottom: 16px; }
.about-copy .text-link { margin: 9px 0 26px; }
.residence-figure { position: relative; }
.image-frame { overflow: hidden; aspect-ratio: 1.44; }
.image-frame img { width: 100%; height: 114%; object-fit: cover; object-position: 62% 50%; filter: saturate(.78); }
.residence-figure figcaption { display: flex; justify-content: space-between; gap: 24px; font-size: 8px; color: var(--muted); letter-spacing: .08em; padding-top: 15px; }
.image-stamp { position: absolute; left: -65px; bottom: 60px; padding: 26px 31px 29px; background: var(--paper-light); font: 40px/.95 var(--serif); transform: rotate(-6deg); box-shadow: 0 15px 40px #172d2112; }
.image-stamp > span { display: block; font: 7px var(--sans); letter-spacing: .13em; margin-bottom: 19px; }

/* One scroll-driven landscape: native document scroll, no wheel interception. */
.landscape-story { position: relative; height: 850px; background: var(--paper); }
.landscape-stage { height: 100%; position: relative; overflow: hidden; }
.landscape-kicker { position: absolute; top: 6%; left: var(--gutter); right: var(--gutter); display: flex; justify-content: space-between; font-size: 9px; letter-spacing: .18em; }
.landscape-window { position: absolute; inset: 0; background: var(--forest); color: var(--paper-light); overflow: hidden; }
.landscape-window > img { width: 100%; height: 112%; object-fit: cover; object-position: 50% 55%; filter: saturate(.77); }
.landscape-shade { position: absolute; inset: 0; background: linear-gradient(0deg,#15291ce0, #172e2320 80%),linear-gradient(90deg,#17352248,transparent); }
.landscape-copy { position: absolute; bottom: 16%; left: 10%; right: 10%; text-align: center; }
.landscape-copy .eyebrow { font-size: 9px; margin-bottom: 27px; display: block; }
.landscape-copy h2 { font-size: clamp(75px,9vw,150px); line-height: .92; }
.landscape-copy h2 em { color: #e0eccb; }
.landscape-copy p { margin-top: 28px; font-size: 12px; color: #e8eadd; }
.landscape-note { position: absolute; bottom: 28px; left: var(--gutter); right: var(--gutter); text-align: center; font-size: 8px; letter-spacing: .16em; color: #d2dec8; }
.landscape-cross { position: absolute; top: 48%; font-size: 25px; font-weight: 400; color: #dee8cfaa; }
.landscape-cross-one { left: 7%; }.landscape-cross-two { right: 7%; }
.landscape-track { position: absolute; bottom: 64px; left: 50%; width: 130px; height: 1px; background: #ffffff39; transform: translateX(-50%); }
.landscape-track > span { display: block; width: 100%; height: 100%; background: var(--lime); transform: scaleX(1); transform-origin: left; }
html[data-motion=on] .landscape-story { height: 190svh; }
html[data-motion=on] .landscape-stage { position: sticky; top: 0; height: 100svh; }

/* 03. A concept map, explicitly not a cadastral plan. */
.territory-map { position: relative; aspect-ratio: 1.88; min-height: 540px; overflow: hidden; background: var(--forest); color: var(--paper-light); }
.territory-map > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.6) brightness(.79); }
.map-vignette { position: absolute; inset: 0; background: linear-gradient(90deg,#122e267a,transparent 60%),linear-gradient(0deg,#122c2155,transparent 60%); }
.map-outline { position: absolute; inset: 0; width: 100%; height: 100%; stroke: #e4edbb; stroke-width: 1.4; fill: #dceb9920; }
.map-outline > path:first-child { stroke-dasharray: 1; }
.map-route { fill: none; stroke-dasharray: .005 .01; stroke-width: 1.2; stroke: #e9efcb99; }
.map-caption { position: absolute; top: 30px; left: 34px; font-size: 9px; letter-spacing: .16em; display: flex; align-items: center; gap: 9px; }
.map-caption svg { width: 16px; height: 16px; }
.map-north { position: absolute; top: 25px; right: 32px; font-size: 10px; display: flex; flex-direction: column; align-items: center; line-height: 1; }
.map-north span { font: 45px var(--serif); }
.map-marker { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%,-50%); width: 44px; height: 44px; border: 1px solid #f2f4dcaa; border-radius: 50%; background: #253f3299; color: var(--paper-light); font-size: 11px; z-index: 2; transition: background .4s, color .4s, box-shadow .5s; box-shadow: 0 0 0 8px #e7edc312; }
.map-marker:hover, .map-marker.active { background: var(--lime); color: var(--forest); box-shadow: 0 0 0 13px #e7edc328; }
.map-card { position: absolute; left: 32px; bottom: 32px; width: 305px; padding: 28px 27px 18px; background: #f5f5eaf5; color: var(--ink); backdrop-filter: blur(12px); }
.map-card .eyebrow { color: var(--muted); font-size: 8px; }
.map-card h3 { font-size: 32px; margin: 16px 0 13px; }
.map-card > p { font-size: 12px; line-height: 1.8; color: var(--muted); min-height: 65px; }
.map-card-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.map-card-bottom > span { font-size: 9px; letter-spacing: .15em; }
.map-card .icon-button { width: 36px; height: 36px; padding: 9px; }
.map-disclaimer { position: absolute; bottom: 26px; right: 30px; font-size: 9px; color: #e1e8d3; }
.territory-bottom { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-top: 22px; }
.territory-bottom p { max-width: 510px; color: var(--muted); font-size: 10px; }
.territory-bottom .text-link { flex-shrink: 0; padding-top: 0; }

/* 04. The images do the talking. Cards are genuine detail triggers. */
.section-dark { color: var(--paper); background: var(--forest); }
.section-dark em { color: #bccba9; }
.section-dark .section-label > span:last-child { color: #acbca0; }
.section-dark .section-aside { color: #b9c9ae; }
.places { overflow: hidden; padding-bottom: 70px; }
.concept-pill { display: inline-block; border: 1px solid #b9cd9950; border-radius: 50px; padding: 7px 12px; font-size: 8px; letter-spacing: .06em; margin-top: 17px; }
.gallery-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-bottom: 28px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 7px; }
.filter { border: 1px solid transparent; border-radius: 50px; padding: 11px 18px; font-size: 11px; color: #c6d1be; transition: background .35s, color .35s; }
.filter.active { background: var(--lime); color: var(--forest); }
.filter:hover:not(.active) { background: #ffffff0a; border-color: #ffffff30; }
.filter > span { font-size: 9px; opacity: .6; margin-left: 15px; }
.gallery-arrows { display: flex; gap: 9px; }
.gallery-prev svg, .concept-prev svg { transform: rotate(180deg); }
.gallery { display: flex; align-items: stretch; gap: 24px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scroll-behavior: smooth; margin-right: calc(-1 * var(--gutter)); padding: 0 var(--gutter) 5px 0; }
.gallery::-webkit-scrollbar { display: none; }
.gallery.dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; user-select: none; }
.gallery.dragging * { cursor: grabbing; }
.place-card { position: relative; flex: 0 0 41%; min-width: 330px; height: 540px; scroll-snap-align: start; overflow: hidden; background: var(--forest-deep); }
.place-card > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform 1.1s var(--ease), filter .8s; }
.place-card::after { content: ''; pointer-events: none; position: absolute; inset: 0; background: linear-gradient(0deg,#11271eea,transparent 65%,#11271e45); }
.place-card:hover > img, .place-card:focus-within > img { transform: scale(1.06); filter: saturate(.98); }
.place-top, .place-bottom { position: absolute; left: 30px; right: 30px; z-index: 1; pointer-events: none; }
.place-top { top: 25px; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 8px; letter-spacing: .17em; }
.small-circle { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #f6f5e685; border-radius: 50%; transition: color .5s, background .5s, transform .6s var(--ease); }
.small-circle svg { width: 17px; height: 17px; }
.place-card:hover .small-circle { color: var(--forest); background: var(--paper); transform: rotate(45deg); }
.place-bottom { bottom: 36px; transition: transform .7s var(--ease); }
.place-bottom h3 { font-size: 43px; margin-bottom: 13px; }
.place-bottom p { font-size: 12px; color: #d5ddcd; }
.place-card:hover .place-bottom { transform: translateY(-5px); }
.concept-open { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; }
.concept-open:focus-visible { outline-offset: -6px; outline-color: var(--lime); }
.gallery-footer { display: flex; justify-content: space-between; align-items: center; gap: 36px; margin-top: 30px; }
.gallery-hint { font-size: 8px; letter-spacing: .1em; color: #bdcbb0; display: flex; align-items: center; gap: 12px; }
.gallery-hint > span { font-size: 25px; }
.gallery-progress { width: 140px; height: 1px; background: #ffffff30; overflow: hidden; margin-right: auto; }
.gallery-progress > span { display: block; width: 35%; height: 100%; background: var(--lime); transform-origin: left; }
.gallery-footer > p { text-align: right; font-size: 10px; color: #b4c4a6; }


/* 05. An honest, tactile plot selector. */
.plot-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin: 0; padding: 0; border: 0; }
.plot-options legend { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.plot-option { position: relative; display: flex; flex-direction: column; align-items: center; overflow: hidden; background: var(--paper-light); border: 1px solid var(--line); padding: 27px 30px 32px; cursor: pointer; transition: background .55s, border-color .55s, box-shadow .55s; }
.plot-option.selected { background: #e5eadb; border-color: #6d8563; }
.plot-option:hover { box-shadow: 0 12px 36px #172b1810; border-color: #7e926d; }
.plot-option input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; z-index: 2; cursor: pointer; }
.plot-option:has(input:focus-visible) { outline: 2px solid #637c47; outline-offset: 5px; }
.plot-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; font-size: 9px; letter-spacing: .09em; color: #728065; }
.plot-check { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; border: 1px solid #9cae8d; color: transparent; font-size: 12px; flex-shrink: 0; transition: background .35s, color .35s; }
.selected .plot-check { color: var(--paper); background: var(--forest); border-color: var(--forest); }
.plot-plan { width: 210px; height: 195px; margin: 24px 0 26px; stroke-width: 1.1; transition: transform .8s var(--ease); }
.plot-option:hover .plot-plan { transform: translateY(-6px) rotate(-2deg); }
.plot-boundary { stroke: #718f62; fill: #f3f4e9; stroke-dasharray: 1; }
.plot-house { fill: #d6d7c8; stroke: #9ca18c; }
.plot-roof { fill: #f8f7ee; stroke: #aaa995; }
.plot-terrace { fill: #dbd6c3; stroke: #b6b29c; }
.plot-path { stroke: #d5d3bc; stroke-width: 13; fill: none; }
.plot-trees { fill: #cad4ba; stroke: #a8b795; }
.plot-trees circle:nth-child(even) { fill: #b8c6a8; }
.plot-area { font: 50px/1 var(--serif); letter-spacing: -.03em; }
.plot-area small { font-size: 28px; }
.plot-price { font-size: 13px; color: #6c7b61; margin-top: 10px; }
.plot-summary { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 30px 35px; background: var(--forest); color: var(--paper); margin-top: 20px; }
.plot-summary .eyebrow { color: #b7c8a7; font-size: 9px; }
.plot-summary p { font: 38px/1.2 var(--serif); letter-spacing: -.03em; margin-top: 8px; }
#selected-price { display: inline-block; }
.summary-divider { margin: 0 20px; color: #8ea27d; }
.plot-notes { display: flex; justify-content: space-between; align-items: start; gap: 30px; margin-top: 22px; }
.plot-notes p { font-size: 10px; color: var(--muted); }
.plot-notes .text-link { flex-shrink: 0; font-size: 11px; padding-top: 0; }

/* 06. Seasons change by dissolving, not by sliding a contact sheet. */
.season-section { position: relative; height: 750px; isolation: isolate; overflow: hidden; background: var(--forest); color: var(--paper); }
.season-image { position: absolute; inset: 0; background-size: 400% 100%; background-position: 66.667% 50%; filter: saturate(.7); z-index: -3; }
.season-image-buffer { opacity: 0; z-index: -2; }
.season-image[data-season="0"] { background-position-x: 0%; }
.season-image[data-season="1"] { background-position-x: 33.333%; }
.season-image[data-season="2"] { background-position-x: 66.667%; }
.season-image[data-season="3"] { background-position-x: 100%; }
.season-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#102b20eb,#132d2380 65%,#17342518),linear-gradient(0deg,#10261c77,transparent); }
.season-content { position: absolute; top: 90px; left: var(--gutter); right: var(--gutter); }
.season-content h2 { font-size: clamp(66px,7.2vw,120px); margin-top: 28px; line-height: .96; }
.season-content h2 em { color: #d6e6c3; }
.season-tabs { position: relative; display: flex; gap: 32px; max-width: 420px; border-bottom: 1px solid #e2edce40; margin-top: 43px; }
.season-tabs button { position: relative; flex: 1; font-size: 13px; color: #c7d5ba; padding: 12px 0 17px; }
.season-tabs button.active { color: var(--paper-light); }
.season-tabs button::after { content: ''; position: absolute; height: 2px; bottom: -1px; left: 0; right: 0; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform .55s var(--ease); }
.season-tabs button.active::after { transform: scaleX(1); }
#season-panel p { font-size: 13px; line-height: 1.9; color: #e4eddb; max-width: 415px; margin-top: 26px; }
#season-panel > span { display: block; color: #c5d7b5; font-size: 8px; letter-spacing: .13em; margin-top: 23px; }
.season-counter { position: absolute; right: var(--gutter); bottom: 55px; color: #dae5ce; font-size: 13px; }
.season-counter > span { font: 72px/1 var(--serif); padding-right: 10px; color: var(--paper); }
.season-caption { position: absolute; right: var(--gutter); top: 120px; text-align: right; font-size: 8px; letter-spacing: .17em; }
.season-caption em { display: block; font: italic 36px/1.1 var(--serif); letter-spacing: -.035em; color: #e5efda; margin-top: 10px; }

/* 07. Development is a proposal, not a fabricated progress report. */
.development-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: start; }
.development-intro { position: sticky; top: 140px; }
.development-intro h2 { font-size: clamp(50px,5vw,82px); }
.development-intro > p { font-size: 13px; max-width: 350px; color: var(--muted); margin-top: 28px; }
.development-intro .footnote { max-width: 320px; margin-top: 27px; }
.timeline { position: relative; }
.timeline::before, .timeline::after { content: ''; position: absolute; top: 18px; bottom: 60px; left: 20px; width: 1px; background: #cad3be; }
.timeline::after { background: #657f50; transform: scaleY(var(--timeline-progress,1)); transform-origin: top; }
.timeline-step { display: grid; grid-template-columns: 45px 1fr; gap: 25px; position: relative; padding-bottom: 60px; z-index: 1; }
.timeline-step:last-child { padding-bottom: 0; }
.timeline-number { display: grid; place-items: center; width: 41px; height: 41px; font-size: 10px; border: 1px solid #a6b799; border-radius: 50%; background: var(--paper); transition: background .5s, color .5s; }
.timeline-step.is-current .timeline-number, .timeline-step:first-child .timeline-number { background: var(--forest); color: var(--lime); }
.timeline-step .eyebrow { color: #79876b; font-size: 9px; }
.timeline-step h3 { font-size: 33px; margin: 12px 0 15px; }
.timeline-step p { color: var(--muted); font-size: 12px; line-height: 1.95; }
.faq-section { background: #e7ebde; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.faq-grid h2 { font-size: clamp(46px,4.7vw,78px); }
.faq-grid > div > p { font-size: 12px; color: var(--muted); margin-top: 25px; }
.faq-list { border-top: 1px solid #becbb1; }
.faq-list details { border-bottom: 1px solid #becbb1; }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 26px 0; cursor: pointer; list-style: none; font-size: 13px; font-weight: 500; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary svg { width: 18px; height: 18px; transition: transform .4s var(--ease); }
.faq-list details[open] summary svg { transform: rotate(45deg); }
.faq-answer { padding: 0 30px 25px 0; font-size: 12px; color: #5f7055; line-height: 1.95; }

/* 08. A quiet conclusion. */
.contact { position: relative; isolation: isolate; overflow: hidden; padding: 85px var(--gutter) 32px; }
.contact-topography { position: absolute; top: -200px; right: -10%; width: 1100px; height: 850px; border-radius: 50%; background: repeating-radial-gradient(ellipse at center,transparent 0 29px,#b6cca413 30px,transparent 31px); transform: rotate(-30deg) scaleY(.7); pointer-events: none; z-index: -1; }
.contact .section-label { margin-bottom: 65px; }
.contact .section-label svg { width: 52px; height: 40px; stroke-width: .8; }
.contact-main { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-bottom: 100px; }
.contact-main h2 { font-size: clamp(74px,9.3vw,158px); line-height: .91; }
.contact-copy { max-width: 330px; margin-top: 22px; }
.contact-copy > p { color: #c1d0b4; font-size: 13px; margin-bottom: 28px; }
.contact-copy > .text-link { display: flex; width: fit-content; font-size: 11px; color: #bdcdb0; margin-top: 23px; }
.footer { display: flex; align-items: center; gap: 35px; border-top: 1px solid #a9bf9250; padding: 33px 0; }
.footer > p { font-size: 10px; color: #b3c5a4; margin-right: auto; }
.footer > button { font-size: 9px; color: #b3c5a4; }
.footer .brand > span { font-size: 30px; }.footer .brand > svg { width: 32px; height: 28px; }
.footer .brand small { font-size: 5px; }
.back-top { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #adbf9960; border-radius: 50%; font-size: 22px; }
.legal-note { font-size: 9px; line-height: 1.9; color: #a0b28f; max-width: 1100px; }


/* Native dialogs: actual focus isolation, keyboard navigation and honest forms. */
dialog { padding: 0; border: 0; background: var(--paper); color: var(--ink); max-height: calc(100svh - 32px); overflow: auto; overscroll-behavior: contain; box-shadow: 0 30px 100px #091d1555; }
dialog::backdrop { background: #10271edb; backdrop-filter: blur(9px); }
.dialog-close { position: absolute; top: 20px; right: 20px; z-index: 5; width: 38px; height: 38px; }
.lead-dialog, .privacy-dialog { width: min(550px,calc(100% - 32px)); padding: 48px; }
.lead-dialog h2, .privacy-dialog h2 { font-size: 60px; margin: 24px 0; }
.lead-selection { font-size: 11px; color: var(--muted); }
.lead-selection strong { display: block; font-size: 13px; color: var(--forest); }
.service-status { padding: 14px 16px; background: #e3e8d9; font-size: 11px; line-height: 1.8; margin: 18px 0; }
.service-status.ready { background: #e2ebd7; }
.lead-dialog form { margin-top: 20px; }
.lead-dialog form > label:not(.consent):not(.honey) { display: block; font-size: 11px; margin-bottom: 20px; }
.lead-dialog input:not([type=checkbox]) { display: block; margin-top: 8px; width: 100%; padding: 12px 0; font-size: 16px; background: transparent; border: 0; border-bottom: 1px solid #b3bea5; border-radius: 0; color: var(--forest); }
.lead-dialog input::placeholder { color: #85937b; }
.lead-dialog .honey { position: absolute !important; left: -9999px; opacity: 0; pointer-events: none; }
.consent { display: flex; align-items: flex-start; gap: 11px; font-size: 10px; color: #65735b; margin-top: 24px; }
.consent > input { width: 17px; height: 17px; accent-color: var(--forest); flex-shrink: 0; margin-top: 2px; }
.consent button { padding: 0; font-size: 10px; border-bottom: 1px solid #95a484; text-align: left; }
.form-privacy { font-size: 10px; padding: 13px; background: #e5e9da; margin-top: 12px; }
.form-message { font-size: 12px; margin: 16px 0; }.form-message.error { color: #99452c; }.form-message.success { color: #345527; }
.lead-dialog form > .button { width: 100%; }
.lead-dialog > .text-link { font-size: 11px; margin-top: 24px; }
.privacy-dialog > p { color: var(--muted); font-size: 13px; margin: 20px 0; }
.mobile-menu { margin: 0; inset: 0; width: 100%; max-width: none; height: 100svh; max-height: none; padding: 28px; background: var(--forest); color: var(--paper); }
.mobile-menu-top { display: flex; justify-content: space-between; align-items: center; }
.mobile-menu nav { display: flex; flex-direction: column; gap: 20px; margin-top: 65px; }
.mobile-menu nav a { font: 49px/1.15 var(--serif); letter-spacing: -.03em; display: flex; gap: 20px; align-items: center; }
.mobile-menu nav small { font: 9px var(--sans); color: #b9caaa; }
.mobile-menu > p { font-size: 12px; color: #c7d5bb; margin-top: 45px; }
.concept-dialog { width: min(1120px,calc(100% - 48px)); max-width: none; background: var(--forest); color: var(--paper); overflow: auto; }
.concept-dialog[open] { display: grid; grid-template-columns: 1.4fr 1fr; }
.concept-dialog .dialog-close { background: var(--forest); color: var(--paper); border-color: #c6d6b566; }
.concept-visual { position: relative; min-height: 590px; }
.concept-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.concept-visual::after { content: ''; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent,#13291ea0); pointer-events: none; }
.concept-visual > span { position: absolute; left: 24px; right: 24px; bottom: 26px; font-size: 8px; letter-spacing: .1em; z-index: 1; }
.concept-detail { padding: 65px 40px 28px; display: flex; flex-direction: column; }
.concept-detail .eyebrow { color: #b8cba6; font-size: 9px; }
.concept-detail h2 { font-size: 59px; line-height: .97; margin: 26px 0; }
.concept-detail > p:not(.concept-source) { color: #d0dcc2; font-size: 13px; line-height: 1.9; }
.concept-source { margin: 22px 0 9px; font-size: 10px; color: #b4c79f; }
.concept-detail .footnote { color: #a6bc95; }
.concept-navigation { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-top: 1px solid #c1d3a936; margin-top: auto; padding-top: 24px; }
.concept-navigation > span { font-size: 10px; letter-spacing: .12em; }
.concept-navigation > div { display: flex; gap: 9px; }
.toast { position: fixed; z-index: 100; bottom: 24px; left: 50%; max-width: calc(100% - 32px); width: max-content; padding: 14px 22px; font-size: 12px; color: white; background: var(--forest); box-shadow: 0 10px 30px #0002; transform: translate(-50%,20px); opacity: 0; pointer-events: none; transition: opacity .3s,transform .3s; }
.toast.visible { opacity: 1; transform: translate(-50%,0); }
.noscript-note { padding: 16px var(--gutter); font-size: 12px; background: var(--lime); }
.quick-select { display: none; }
/* The light version's switch (lite.mjs), under the animation switch of the menu. */
.lite-toggle{display:grid;gap:5px;width:100%;margin-top:14px;padding:14px 8px 0;border:0;border-top:1px solid #ffffff21;background:none;color:#e2e8d8;font:12px/1.3 var(--sans);text-align:left;cursor:pointer}
.lite-toggle-title b{font-weight:600;color:#c3d1ae}.lite-toggle[aria-pressed=true] .lite-toggle-title b{color:#f1e2b0}
.lite-toggle small{font-size:11px;line-height:1.45;color:#a9b89b}
.lite-toggle:focus-visible{outline:2px solid #f1e2b0;outline-offset:3px}

/* Motion never determines whether content exists or can be read. */
html[data-motion=on] .scroll-circle svg { animation: scroll-cue 3s var(--ease) infinite; }
html[data-motion=on] .hero.is-offscreen .scroll-circle svg { animation-play-state: paused; }
@keyframes scroll-cue { 0%,30%,100% { translate: 0 0; } 50% { translate: 0 5px; } }
@keyframes gentle-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
html[data-motion=on] dialog[open] { animation: gentle-in .5s var(--ease); }
html[data-motion=off] { scroll-behavior: auto; }
html[data-motion=off] *, html[data-motion=off] *::before, html[data-motion=off] *::after { animation: none !important; transition-duration: 0s !important; scroll-behavior: auto !important; }

@media (min-width: 1800px) {
 .place-card { height: 650px; }.hero-content { top: 26%; }.hero-bottom-copy { margin-top: 40px; }
 .landscape-story { height: 1000px; }.hero-postcard { top: 30%; }.section { padding-top: 135px; padding-bottom: 135px; }
}
@media (max-width: 1100px) {
 .header { gap: 20px; }.desktop-nav { gap: 21px; }
 .hero { min-height: 750px; }.hero-content { top: 32%; }.hero-title-line { font-size: 21vw; }.hero-title-second { font-size: 10.5vw; }
 .hero-postcard { top: 22%; width: 178px; }.postcard-bottom > span { font-size: 20px; }.postcard-bottom small { display: none; }
 .hero-bottom-copy { margin-left: 7vw; gap: 30px; margin-top: 32px; }.hero-offer { min-width: 215px; }.offer-price { font-size: 30px; }
 .fact-number { font-size: 43px; }.fact + .fact { padding-left: 23px; }.fact p { font-size: 9px; }
 .about-layout { gap: 6%; grid-template-columns: .75fr 1.25fr; }.about-note { gap: 15px; }.about-note p { font-size: 11px; }
 .about-copy .large-copy { font-size: 30px; }.about-copy > p:not(.large-copy) { font-size: 12px; }
 .image-stamp { font-size: 33px; padding: 24px; left: -35px; bottom: 45px; }
 .section-aside { font-size: 12px; }.place-card { height: 475px; flex-basis: 47%; }.place-bottom h3 { font-size: 36px; }
 .plot-option { padding: 22px; }.plot-card-top { font-size: 8px; }.plot-plan { width: 175px; height: 170px; }
 .plot-summary { padding: 25px; }.plot-summary p { font-size: 31px; }.summary-divider { margin: 0 12px; }
 .season-caption { display: none; }.development-grid,.faq-grid { gap: 7%; }.timeline-step { gap: 15px; }.timeline-step h3 { font-size: 29px; }
 .contact-main h2 { font-size: 9vw; }.contact-copy > p { font-size: 12px; }
 .concept-detail { padding: 65px 28px 25px; }.concept-detail h2 { font-size: 48px; }
}
@media (max-width: 800px) {
 :root { --gutter: 28px; }
 .section { padding-top: 78px; padding-bottom: 78px; }
 .header { padding: 23px var(--gutter); gap: 15px; }.header-cta { margin-left: auto; }.desktop-nav { display: none; }.menu-toggle { display: block; }
 .header .brand > span { font-size: 34px; }.header .brand > svg { width: 34px; }
 .hero { min-height: 800px; max-height: 1100px; }.hero-coordinates { top: 127px; }.hero-content { top: 34%; }
 .hero-title-line { font-size: 26vw; }.hero-title-second { font-size: 12.8vw; margin-left: 7vw; }.hero-postcard { top: 21%; right: 40px; width: 155px; }
 .postcard-image { aspect-ratio: 2; }.postcard-bottom { padding: 10px 4px 12px; }.postcard-bottom > span { font-size: 18px; }
 .hero-bottom-copy { gap: 35px; margin-left: 8vw; }.hero-eyebrow { font-size: 8px; }.hero-footer { align-items: center; }.motion-toggle { display: none; }
 .hero-side-note { display: none; }.hero-offer { min-width: 220px; }
 .facts { padding-top: 32px; padding-bottom: 32px; gap: 16px; }.fact + .fact { padding-left: 18px; }.fact-number { font-size: 37px; }.fact-number small { font-size: 10px; margin-left: 5px; }.fact p { font-size: 9px; }
 .section-label { margin-bottom: 38px; font-size: 9px; }.section-label > span:last-child { max-width: 240px; font-size: 8px; }
 .about-heading { gap: 30px; }.about-heading h2 { font-size: 8vw; }.about-note { max-width: 170px; }.note-index { display: none; }
 .about-layout { gap: 6%; margin-top: 48px; }.image-frame { aspect-ratio: .95; }.image-stamp { left: -25px; bottom: 50px; font-size: 31px; padding: 20px 23px; }
 .residence-figure figcaption { font-size: 7px; }.residence-figure figcaption > span:last-child { display: none; }
 html[data-motion=on] .landscape-story { height: 140svh; }.landscape-story { height: 720px; }
 .landscape-copy h2 { font-size: 11vw; }.landscape-copy { bottom: 20%; }.landscape-note { font-size: 7px; }
 .section-heading { gap: 30px; margin-bottom: 38px; }.section-heading h2 { font-size: 6.8vw; }.section-aside { font-size: 11px; }
 .territory-map { aspect-ratio: auto; height: 650px; }.territory-map > img { object-position: 62% 50%; }.map-card { width: 260px; padding: 24px; left: 24px; bottom: 24px; }.map-card > p { font-size: 11px; }.map-caption { left: 24px; font-size: 8px; }
 .territory-bottom p { font-size: 9px; }.territory-bottom .text-link { font-size: 10px; }
 .place-card { min-width: 290px; flex-basis: 52%; height: 460px; }.place-top,.place-bottom { left: 22px; right: 22px; }.place-bottom h3 { font-size: 35px; }.place-bottom p { font-size: 11px; }
 .gallery-hint { display: none; }.gallery-footer > p { font-size: 9px; }
 .plot-options { gap: 12px; }.plot-option { padding: 18px 13px 26px; }.plot-card-top { font-size: 7px; letter-spacing: .03em; }.plot-check { width: 20px; height: 20px; }.plot-plan { width: 155px; height: 155px; margin: 22px 0; }.plot-area { font-size: 41px; }.plot-area small { font-size: 24px; }
 .plot-summary { padding: 25px 23px; gap: 18px; }.plot-summary p { font-size: 26px; }.plot-summary .button { font-size: 11px; gap: 15px; min-height: 50px; padding-left: 19px; }
 .plot-notes { gap: 20px; }.plot-notes p { font-size: 9px; }.plot-notes .text-link { font-size: 10px; gap: 15px; }
 .season-section { height: 700px; }.season-content { top: 70px; }.season-content h2 { font-size: 9vw; }
 .development-intro h2 { font-size: 6.5vw; }.development-intro > p { font-size: 12px; }.timeline-step h3 { font-size: 28px; }.timeline-step p { font-size: 11px; }.timeline-step { gap: 12px; padding-bottom: 45px; }
 .faq-grid { gap: 6%; }.faq-grid h2 { font-size: 6vw; }.faq-list summary { font-size: 12px; }.faq-answer { font-size: 11px; }
 .contact { padding-top: 65px; }.contact-main { gap: 25px; padding-bottom: 70px; }.contact-copy { max-width: 280px; }.contact-main h2 { font-size: 9vw; }.contact-copy .button { font-size: 11px; gap: 20px; }.contact-copy > p { font-size: 12px; }
 .footer { flex-wrap: wrap; gap: 24px; }.footer > p { font-size: 9px; }
 .concept-dialog[open] { display: block; }.concept-visual { height: 42svh; min-height: 280px; }.concept-detail { padding: 35px 30px 28px; }.concept-detail h2 { font-size: 48px; margin: 15px 0 20px; }.concept-navigation { margin-top: 28px; }
}
@media (max-width: 540px) {
 :root { --gutter: 22px; }
 body { font-size: 13px; }html { scroll-padding-top: 90px; }
 .section { padding-top: 66px; padding-bottom: 66px; }
 .header { padding-top: 23px; padding-bottom: 23px; }.header .brand > span { font-size: 33px; }.header .brand > svg { width: 32px; }.header-cta { display: none; }.menu-toggle { margin-right: -6px; }
 .hero { min-height: 740px; max-height: 1000px; }.hero-content { top: 32%; }.hero-image { object-position: 61% 50%; height: 112%; }.hero-shade { background: linear-gradient(0deg,#112a21f2,#13291d30 85%,#0b241655),linear-gradient(90deg,#10261f40,transparent); }
 .hero-coordinates { top: 116px; font-size: 7px; gap: 8px; letter-spacing: .09em; }.coordinate-line { width: 18px; margin: 0 3px; }
 .hero-eyebrow { font-size: 8px; margin-left: 3px; margin-bottom: 18px; }
 .hero-title-line { font-size: 34vw; line-height: .82; }.hero-title-second { font-size: 16.1vw; margin-left: 1px; padding-top: .25em; }
 .hero-bottom-copy { flex-direction: column; align-items: start; gap: 23px; margin-left: 2px; margin-top: 24px; }.hero-bottom-copy p { font-size: 12px; line-height: 1.8; }.hero-bottom-copy .button { min-height: 54px; font-size: 11px; gap: 32px; }
 .hero-postcard { width: 105px; top: 20%; right: 25px; padding: 5px 5px 0; transform: rotate(7deg); }.postcard-image { aspect-ratio: 1.5; }.postcard-play { width: 21px; height: 21px; bottom: 5px; right: 5px; }.postcard-play svg { width: 12px; height: 12px; }.postcard-bottom { padding: 8px 3px; }.postcard-bottom > span { font-size: 14px; }
 .hero-footer { bottom: 26px; gap: 20px; padding-top: 20px; }.scroll-cue { gap: 10px; }.scroll-cue > span:last-child { font-size: 7px; letter-spacing: .08em; }.scroll-cue small { display: none; }.scroll-circle { width: 33px; height: 33px; }.scroll-circle svg { width: 14px; height: 14px; }.hero-offer { min-width: 160px; }.offer-label { font-size: 7px; letter-spacing: .07em; }.offer-price { font-size: 27px; gap: 12px; }.offer-price svg { width: 16px; height: 16px; }
 .facts { grid-template-columns: 1fr 1fr; gap: 27px 20px; padding-top: 29px; padding-bottom: 29px; }.fact + .fact { padding-left: 0; border: 0; }.fact:nth-child(even) { padding-left: 25px; border-left: 1px solid var(--line); }.fact-number { font-size: 45px; }.fact-number small { font-size: 10px; }.fact p { font-size: 9px; margin-top: 7px; }
 .section-label { margin-bottom: 34px; font-size: 8px; letter-spacing: .12em; }.section-label > span:first-child { gap: 10px; }.section-label > span:last-child { display: none; }
 .about-heading { display: block; }.about-heading h2 { font-size: 12vw; line-height: 1.02; }.about-note { display: none; }
 .about-layout { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 45px; margin-top: 32px; }.about-copy { max-width: none; padding: 0 3px; }.about-copy .large-copy { font-size: 33px; }.about-copy > p:not(.large-copy) { font-size: 13px; }.about-copy .footnote { max-width: 260px; font-size: 10px; }
 .image-frame { aspect-ratio: 1.15; }.image-frame img { object-position: 63% 50%; }.image-stamp { left: 16px; bottom: 43px; padding: 19px 23px; font-size: 31px; }.image-stamp > span { font-size: 6px; margin-bottom: 14px; }.residence-figure figcaption { font-size: 7px; margin-top: 0; }
 .landscape-story { height: 640px; }html[data-motion=on] .landscape-story { height: 120svh; min-height: 700px; }html[data-motion=on] .landscape-stage { height: 90svh; min-height: 570px; }
 .landscape-kicker { font-size: 7px; top: 4%; letter-spacing: .07em; }.landscape-window > img { object-position: 40% 50%; }.landscape-copy { left: 20px; right: 20px; bottom: 20%; }.landscape-copy h2 { font-size: 15.5vw; }.landscape-copy .eyebrow { font-size: 8px; margin-bottom: 25px; }.landscape-copy p { font-size: 12px; margin-top: 23px; }.landscape-note { font-size: 6px; letter-spacing: .06em; bottom: 24px; }.landscape-cross { font-size: 20px; top: 33%; }.landscape-track { bottom: 56px; width: 90px; }
 .section-heading { display: block; margin-bottom: 32px; }.section-heading h2 { font-size: 12vw; }.section-aside { margin-top: 25px; font-size: 12px; line-height: 1.85; }
 .territory-map { height: 650px; margin: 0 calc(-1 * var(--gutter)); }.territory-map > img { object-position: 59% 50%; }.map-outline { top: 30px; height: 61%; }.map-hotspots { position: absolute; inset: 30px 0 36%; }.map-marker { width: 38px; height: 38px; font-size: 9px; }.map-card { left: 20px; right: 20px; bottom: 43px; width: auto; padding: 23px 25px 17px; }.map-card h3 { font-size: 34px; margin: 12px 0; }.map-card > p { font-size: 12px; min-height: 45px; }.map-card-bottom { margin-top: 15px; padding-top: 12px; }.map-caption { top: 25px; left: 22px; font-size: 7px; }.map-north { right: 23px; top: 22px; }.map-disclaimer { right: 20px; bottom: 15px; font-size: 8px; }
 .territory-bottom { display: block; margin-top: 20px; }.territory-bottom p { font-size: 9px; margin-bottom: 18px; }.territory-bottom .text-link { font-size: 11px; }
 .places .section-aside { font-size: 12px; }.concept-pill { font-size: 7px; }.gallery-toolbar { margin-bottom: 24px; }.filter-group { gap: 5px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -22px; padding-right: 22px; }.filter { font-size: 10px; padding: 10px 13px; white-space: nowrap; }.filter > span { display: none; }.gallery-arrows { display: none; }
 .gallery { gap: 14px; }.place-card { flex-basis: 86%; min-width: 0; height: 435px; }.place-top { font-size: 7px; top: 21px; }.place-bottom { bottom: 30px; }.place-bottom h3 { font-size: 36px; }.place-bottom p { font-size: 10px; }.small-circle { width: 32px; height: 32px; }
 .gallery-footer { gap: 23px; margin-top: 24px; }.gallery-progress { width: 70px; flex-shrink: 0; }.gallery-footer > p { font-size: 8px; max-width: 240px; }
 .plot-options { grid-template-columns: 1fr; gap: 12px; }.plot-option { display: grid; grid-template-columns: 106px 1fr; grid-template-rows: auto auto auto; padding: 20px 22px; column-gap: 20px; align-items: center; text-align: left; }.plot-card-top { grid-column: 2; grid-row: 1; font-size: 8px; width: 100%; }.plot-check { width: 21px; height: 21px; }.plot-plan { grid-column: 1; grid-row: 1 / 4; width: 110px; height: 128px; margin: 0; }.plot-area { grid-column: 2; grid-row: 2; font-size: 40px; margin-top: 7px; }.plot-area small { font-size: 24px; }.plot-price { grid-column: 2; grid-row: 3; font-size: 12px; margin-top: 4px; }
 .plot-summary { display: block; padding: 27px 25px; margin-top: 16px; }.plot-summary .eyebrow { font-size: 8px; }.plot-summary p { font-size: 30px; margin-top: 11px; }.summary-divider { margin: 0 10px; }#selected-area { display: block; margin-bottom: 3px; }.summary-divider { display: none; }.plot-summary .button { margin-top: 21px; width: 100%; font-size: 12px; }
 .plot-notes { display: block; margin-top: 21px; }.plot-notes p { font-size: 9px; }.plot-notes .text-link { margin-top: 16px; font-size: 11px; gap: 25px; }
 .season-section { height: 720px; }.season-content { top: 65px; }.season-content h2 { font-size: 14vw; }.season-content .eyebrow { font-size: 8px; }.season-tabs { margin-top: 35px; gap: 15px; max-width: none; }.season-tabs button { font-size: 12px; }#season-panel p { font-size: 12px; }#season-panel > span { font-size: 7px; }.season-counter { bottom: 35px; }.season-counter > span { font-size: 62px; }
 .development-grid { display: block; }.development-intro { position: static; }.development-intro h2 { font-size: 13vw; }.development-intro > p { font-size: 13px; max-width: none; }.development-intro .footnote { font-size: 10px; max-width: none; margin-top: 20px; }.timeline { margin-top: 43px; }.timeline-step { gap: 18px; padding-bottom: 43px; }.timeline-step h3 { font-size: 31px; }.timeline-step p { font-size: 12px; }.timeline-step .eyebrow { font-size: 8px; }
 .faq-grid { display: block; }.faq-grid h2 { font-size: 12vw; }.faq-grid > div > p { font-size: 12px; margin-top: 20px; }.faq-list { margin-top: 34px; }.faq-list summary { font-size: 12px; padding: 23px 0; }.faq-answer { font-size: 12px; }
 .contact { padding-top: 58px; padding-bottom: 28px; }.contact .section-label { margin-bottom: 40px; }.contact-main { display: block; padding-bottom: 50px; }.contact-main h2 { font-size: 17vw; }.contact-copy { max-width: none; margin-top: 32px; }.contact-copy > p { font-size: 13px; }.contact-copy .button { font-size: 12px; gap: 28px; }.contact-copy > .text-link { font-size: 11px; }
 .footer { gap: 24px; padding: 25px 0; }.footer > p { flex-basis: calc(100% - 150px); font-size: 9px; margin-right: 0; }.footer > button { font-size: 9px; max-width: 250px; text-align: left; padding: 0; }.back-top { margin-left: auto; }.legal-note { font-size: 8px; }
 .lead-dialog,.privacy-dialog { padding: 38px 26px 28px; width: calc(100% - 22px); }.lead-dialog h2,.privacy-dialog h2 { font-size: 52px; }.dialog-close { top: 13px; right: 13px; }.mobile-menu { padding: 25px; }.mobile-menu nav { margin-top: 58px; }.mobile-menu nav a { font-size: 45px; }
 .concept-dialog { width: calc(100% - 20px); max-height: calc(100svh - 20px); }.concept-visual { height: 39svh; min-height: 230px; }.concept-detail { padding: 27px 25px; }.concept-detail h2 { font-size: 45px; }.concept-detail > p:not(.concept-source) { font-size: 12px; }.concept-visual > span { font-size: 7px; }.concept-navigation { margin-top: 22px; }
 .quick-select { position: fixed; z-index: 40; left: 14px; right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); display: flex; justify-content: space-between; align-items: center; background: #f1f3e6f5; color: var(--forest); padding: 10px 12px 10px 19px; border: 1px solid #b9c9a57a; border-radius: 50px; box-shadow: 0 8px 40px #061b2130; font-size: 11px; transform: translateY(130%); visibility: hidden; transition: transform .55s var(--ease),visibility .55s; backdrop-filter: blur(12px); }
 .quick-select small { display: block; font-size: 9px; color: var(--muted); }.quick-select-arrow { display: grid; place-items: center; width: 36px; height: 36px; background: var(--forest); color: var(--lime); border-radius: 50%; }.quick-select-arrow svg { width: 16px; height: 16px; }
 .quick-select.is-visible { visibility: visible; transform: translateY(0); }body:has(dialog[open]) .quick-select { visibility: hidden; }
 .toast { bottom: 95px; font-size: 11px; }
}
@media (max-width: 360px) {
 :root { --gutter: 18px; }.hero { min-height: 735px; }.hero-coordinates { font-size: 6px; letter-spacing: .03em; }.hero-content { top: 33%; }.hero-postcard { top: 20%; width: 90px; right: 22px; }.postcard-bottom > span { font-size: 12px; }
 .hero-eyebrow { font-size: 7px; }.hero-title-line { font-size: 34vw; }.hero-title-second { font-size: 16vw; }.hero-footer { gap: 10px; }.scroll-cue > span:last-child { display: none; }.hero-offer { min-width: 185px; }.offer-label { font-size: 7px; }.offer-price { font-size: 29px; }
 .fact-number { font-size: 38px; }.fact:nth-child(even) { padding-left: 18px; }.fact p { font-size: 8px; }.place-card { height: 395px; }.place-bottom h3 { font-size: 31px; }.place-bottom p { font-size: 9px; }.gallery-progress { width: 55px; }
 .plot-option { grid-template-columns: 85px 1fr; padding: 18px 16px; gap: 13px; }.plot-plan { width: 90px; height: 115px; }.plot-card-top { font-size: 7px; }.plot-area { font-size: 35px; }.plot-area small { font-size: 22px; }
 .season-section { height: 695px; }.mobile-menu nav a { font-size: 39px; }.lead-dialog h2 { font-size: 45px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
 html[data-motion=on] .landscape-story { height: 750px; min-height: 0; }
 html[data-motion=on] .landscape-stage { position: relative; height: 100%; }
}
@media print {
 .header,.reading-progress,.button,.quick-select,.gallery-toolbar,dialog,.motion-toggle { display: none !important; }
 .hero,.season-section,.landscape-story { height: 500px !important; min-height: 0; }
 .landscape-stage { position: relative !important; height: 100% !important; }
 .landscape-window { clip-path: none !important; }.landscape-copy { opacity: 1 !important; }
 .section { padding: 40px; }.gallery { flex-wrap: wrap; overflow: visible; }.place-card { flex-basis: 45%; height: 320px; }
 * { animation: none !important; transform: none !important; }
}

.mobile-menu .menu-motion-toggle { display: flex; margin-top: 24px; padding-left: 0; }
.magnetic { transition: translate .4s var(--ease), background .35s, color .35s, box-shadow .35s; }


/* Readable controls and disclosures; tiny type is reserved for decorative marks. */
.desktop-nav { font-size: 13px; }
.button, .button-small, .filter { font-size: 13px; }
.about-copy > p, .timeline-step p, .faq-list summary, .faq-answer { font-size: 14px; }
.footnote, .legal-note, .plot-notes p, .gallery-footer > p, .territory-bottom p, .map-disclaimer, .concept-source  { font-size: 11px; line-height: 1.85; }
.concept-pill, .place-top { font-size: 10px; }
@media (max-width: 540px) {
 .button, .button-small, .filter { font-size: 12px; }
 .concept-pill { font-size: 9px; }
 .place-top { font-size: 9px; }
 .gallery-footer > p { max-width: 245px; }
}

/* v3 / Art direction follows the real image, not the other way around. */
picture { display: block; }
.hero { min-height: 740px; max-height: 1080px; }
.hero-image-wrap > picture { width: 100%; height: 100%; }
.hero-image { height: 106%; margin-top: -3%; object-position: 56% 48%; filter: none; }
.hero-shade { background: linear-gradient(90deg,#10251c9c 0%,#10251c38 50%,transparent 83%),linear-gradient(0deg,#10291ee6 0%,transparent 44%,#10251c65 100%); }
.hero-grain { display: none; }
.hero-content { top: 26%; }
.hero-title-line { font-size: clamp(154px,18.8vw,310px); }
.hero-title-second { margin-left: 10vw; font-size: clamp(75px,8.8vw,150px); }
.hero-bottom-copy { margin-left: 10vw; margin-top: 32px; }
.hero-bottom-copy p { font-size: 14px; }
.hero-postcard { top: 32%; width: clamp(192px,16vw,250px); transform: none; padding: 7px; background: #f5f3e9; border-radius: 2px; box-shadow: 0 12px 40px #10251c30; }
.hero-postcard:hover { rotate: 0deg; }
.postcard-image { aspect-ratio: 1.88; }
.postcard-image > picture { width: 100%; height: 100%; }
.postcard-image img { object-fit: cover; }
.hero-postcard:hover img { transform: scale(1.025); }
.postcard-bottom { padding: 14px 9px 12px; }
.postcard-bottom > span { font-size: 25px; line-height: 1.1; }
.postcard-bottom small { display: none; }
.hero-image-caption { position: absolute; right: var(--gutter); bottom: 143px; font-size: 9px; letter-spacing: .14em; color: #f2f0e7bf; }
.hero-coordinates { font-size: 10px; letter-spacing: .14em; top: 135px; }
.hero-side-note { font-size: 9px; }
.section-label, .eyebrow { font-size: 11px; }
.fact p { font-size: 12px; }
.about-layout { grid-template-columns: minmax(260px,.8fr) minmax(0,1.8fr); gap: 6%; margin-top: 58px; align-items: center; }
.about-copy { max-width: 340px; }
.about-copy > p:not(.large-copy) { font-size: 14px; }
.image-frame { aspect-ratio: 2027 / 941; }
.image-frame > picture { width: 100%; height: 100%; }
.image-frame img { height: 103%; object-fit: cover; object-position: 50% 50%; filter: none; }
.image-stamp { display: none; }
.residence-figure figcaption { font-size: 10px; line-height: 1.6; }
.landscape-story { height: 760px; }
html[data-motion=on] .landscape-story { height: 135svh; min-height: 850px; }
html[data-motion=on] .landscape-stage { position: sticky; top: 78px; height: calc(100svh - 78px); max-height: 960px; }
.landscape-window > picture { height: 100%; width: 100%; }
.landscape-window img { height: 100%; width: 100%; object-fit: cover; object-position: 60% 60%; filter: none; }
.landscape-shade { background: linear-gradient(0deg,#10271eb3,transparent 85%); }
.landscape-copy { bottom: 18%; }
.landscape-copy h2 { font-size: clamp(66px,7vw,124px); }
.landscape-note { font-size: 10px; }
.territory-map { max-width: 1600px; margin-inline: auto; }
.territory-map > picture { width: 100%; height: 100%; }
.territory-map > picture > img { width: 100%; height: 100%; object-fit: cover; }
.gallery { gap: 28px; }
.place-card { flex: 0 0 min(42vw,580px); min-width: 0; height: auto; overflow: hidden; background: transparent; }
.place-card > picture { aspect-ratio: 1.65; overflow: hidden; background: #13251e; }
.place-card > picture > img { width: 100%; height: 100%; object-fit: cover; filter: none; transition: transform 950ms var(--ease); }
.place-card::after { display: none; }
.place-card:hover > picture > img, .place-card:focus-within > picture > img { transform: scale(1.025); }
.place-top { top: 18px; left: 18px; right: 18px; text-shadow: 0 1px 12px #000a; }
.place-top > span:first-child { padding: 5px 10px; border-radius: 20px; background: #10271e9e; font-size: 10px; }
.small-circle { background: #10271e45; }
.place-bottom { position: static; padding: 23px 0 18px; transform: none !important; border-bottom: 1px solid #aab9994d; }
.place-bottom h3 { font-size: clamp(30px,2.4vw,40px); }
.place-bottom p { font-size: 13px; margin-top: 10px; color: #c2ceb7; }
.gallery-hint { font-size: 10px; }
.concept-dialog { width: min(1600px,calc(100% - 48px)); }
.concept-dialog[open] { grid-template-columns: minmax(0,1.65fr) minmax(280px,1fr); align-items: center; }
.concept-visual { height: auto; min-height: 0; padding: 30px; display: flex; flex-direction: column; justify-content: center; }
.concept-visual > picture { display: block; }
.concept-visual img { position: static; display: block; width: 100%; height: auto; max-height: 72svh; object-fit: contain; }
.concept-visual::after { display: none; }
.concept-visual > span { position: static; font-size: 10px; margin-top: 17px; line-height: 1.6; }
.concept-detail { min-height: 460px; padding: 65px 38px 30px 10px; }
.concept-detail h2 { font-size: clamp(38px,3.4vw,60px); line-height: 1.05; }
.concept-detail > p:not(.concept-source) { font-size: 14px; }
.concept-navigation { margin-top: 28px; }
.season-section { display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 5%; height: auto; min-height: 660px; padding: 94px var(--gutter); }
.season-content { position: static; min-width: 0; }
.season-content h2 { font-size: clamp(52px,4.9vw,88px); }
.season-tabs { gap: 25px; margin-top: 38px; }
.season-tabs button { font-size: 14px; padding: 12px 0; }
.season-frames { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; align-items: center; }
.season-frame { position: relative; opacity: .62; transform: translateY(13px); transition: opacity 550ms var(--ease),transform 800ms var(--ease); }
.season-frame:nth-child(even) { margin-top: 65px; }
.season-frame.is-active { opacity: 1; transform: translateY(0); }
.season-frame picture { aspect-ratio: 418 / 941; overflow: hidden; }
.season-frame img { width: 100%; height: 100%; object-fit: cover; }
.season-frame figcaption { font-size: 11px; padding: 14px 0; border-bottom: 1px solid #b1c29c55; }
.season-frame.is-active figcaption { color: var(--lime); border-color: var(--lime); }
.season-caption { position: absolute; top: auto; height: auto; bottom: 28px; right: var(--gutter); font-size: 9px; }
.season-counter { display: none; }
#season-panel { min-height: 122px; }
#season-copy { font-size: 14px; line-height: 1.9; max-width: 390px; }
@media (min-width: 1800px) {
 .hero-content { top: 27%; }
 .about-layout { grid-template-columns: 1fr 2fr; }
}
@media (max-width: 1000px) {
 .place-card { flex-basis: 60vw; }
 .hero-postcard { top: 20%; }
 .hero-content { top: 33%; }
 .about-layout { grid-template-columns: 1fr; }
 .about-copy { max-width: 560px; }
 .residence-figure { margin-top: 15px; }
 .season-section { grid-template-columns: 1fr; gap: 26px; padding: 72px var(--gutter); }
 .season-frames { width: 100%; gap: 18px; }
 .season-frame:nth-child(even) { margin-top: 35px; }
 .season-caption { display: none; }
}
@media (max-width: 800px) {
 .hero { min-height: 760px; }
 .hero-title-line { font-size: 24vw; }
 .hero-title-second { margin-left: 0; font-size: 12vw; }
 .hero-bottom-copy { margin-left: 0; }
 .concept-dialog[open] { grid-template-columns: 1fr; }
 .concept-visual { height: auto; min-height: 0; padding: 58px 20px 8px; }
 .concept-visual img { width: 100%; height: auto; max-height: 48svh; }
 .concept-detail { min-height: 0; padding: 24px; }
 .concept-detail h2 { margin: 18px 0; font-size: 42px; }
 .landscape-story { height: 630px; }
 html[data-motion=on] .landscape-story { height: 115svh; min-height: 650px; }
 html[data-motion=on] .landscape-stage { top: 72px; height: calc(100svh - 72px); }
}
@media (max-width: 600px) {
 .hero { min-height: 760px; max-height: 950px; }
 .hero-image { height: 100%; margin-top: 0; object-position: 50% 50%; }
 .hero-content { top: 30%; }
 .hero-title-line { font-size: 27.5vw; }
 .hero-title-second { font-size: 12vw; margin-top: 10px; }
 .hero-eyebrow { font-size: 9px; margin-left: 0; margin-bottom: 20px; }
 .hero-coordinates { top: 112px; font-size: 8px; letter-spacing: .1em; }
 .hero-postcard { top: 158px; right: var(--gutter); width: 128px; padding: 5px; display: none; }
 .hero-bottom-copy { margin-top: 35px; gap: 22px; }
 .hero-bottom-copy p { font-size: 14px; }
 .hero-image-caption { font-size: 8px; right: var(--gutter); left: var(--gutter); bottom: 139px; }
 .hero-footer { bottom: 27px; padding-top: 20px; }
 .section-label { font-size: 10px; }
 .place-card { flex-basis: 82vw; }
 .gallery { gap: 18px; }
 .place-bottom { padding-top: 20px; }
 .place-bottom h3 { font-size: 31px; }
 .place-bottom p { font-size: 12px; }
 .residence-figure figcaption { font-size: 9px; gap: 12px; }
 .season-frames { gap: 8px; }
 .season-frame figcaption { font-size: 11px; }
 .season-content h2 { font-size: clamp(42px,10.4vw,64px); }
 .season-tabs { gap: 28px; }
 .season-section { padding-block: 65px; }
 .landscape-note { font-size: 8px; }
 .landscape-copy h2 { font-size: clamp(46px,12vw,72px); }
 .landscape-copy p { font-size: 14px; }
 .landscape-copy .eyebrow { margin-bottom: 22px; }
 .hero-offer { min-width: 0; }
 .fact p { font-size: 11px; }
}
@media (max-width: 360px) {
 .hero { min-height: 730px; }
 .hero-title-second { font-size: 11.5vw; }
 .hero-bottom-copy { margin-top: 24px; }
 .hero-coordinates { font-size: 7px; }
 .hero-coordinates .coordinate-line { width: 15px; margin-inline: 0; }
 .season-tabs { gap: 22px; }
 .season-tabs button { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
 html[data-motion=on] .landscape-story { height: 650px; min-height: 0; }
 html[data-motion=on] .landscape-stage { position: relative; top: 0; height: 100%; }
}


/* Image, outline and markers share one coordinate system at every breakpoint. */
.territory-map { aspect-ratio: auto; min-height: 0; height: auto; }
.map-viewport { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--lime) var(--forest); }
.map-viewport:focus-visible { outline: 2px solid var(--lime); outline-offset: -3px; }
.map-canvas { position: relative; width: 100%; aspect-ratio: 1944 / 1037; }
.map-canvas > picture, .map-canvas > picture > img { display: block; width: 100%; height: 100%; }
.map-canvas > picture > img { object-fit: contain; }
.map-canvas .map-outline, .map-canvas .map-hotspots { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-scroll-hint { display: none; }
@media (max-width: 800px) {
 .map-canvas { width: max(100%,620px); }
 .map-card { position: static; width: auto; margin: 0; padding: 28px; }
 .map-card h3 { font-size: 34px; }.map-card > p { min-height: 0; }
 .map-disclaimer { position: static; display: block; padding: 16px 28px; font-size: 10px; }
 .map-scroll-hint { display: block; margin: 0; padding: 16px 28px; font-size: 11px; letter-spacing: .025em; color: #d6e0cd; }
 .map-canvas .map-marker { width: 44px; height: 44px; font-size: 11px; }
 .map-canvas .map-caption { font-size: 9px; top: 22px; left: 24px; }
 .map-canvas .map-north { top: 18px; right: 24px; }
}

/* Decoded media transitions: stable geometry, explicit loading/error states. */
.media-probe{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important;visibility:hidden!important}
.concept-visual[data-state="loading"]>picture,.concept-visual[data-state="error"]>picture{visibility:hidden}
.concept-media-status{position:absolute;inset:0;display:grid;place-content:center;padding:32px 28px 70px;text-align:center;font:500 14px/1.7 var(--sans);color:var(--paper-light);max-width:100%;z-index:2}
.concept-media-status[hidden],.concept-retry[hidden]{display:none}
.concept-visual .concept-retry{position:absolute;top:58%;left:50%;transform:translateX(-50%);color:var(--paper-light);z-index:3;white-space:nowrap;font-size:14px}
.concept-visual[data-state="loading"] .concept-media-status:before{content:"";width:36px;height:2px;background:var(--lime);margin:0 auto 18px;animation:media-wait 1.4s ease-in-out infinite;transform-origin:left}
@keyframes media-wait{50%{transform:scaleX(.3);opacity:.4}}
html[data-motion="off"] .concept-media-status:before{animation:none}
@media(prefers-reduced-motion:reduce){.concept-media-status:before{animation:none!important}}

/* Stable scrollbar and native vertical scroll/pinch while a modal is open. */
html { scrollbar-gutter: stable; }
html:has(dialog[open]), body:has(dialog[open]) { overflow: hidden; }
.concept-visual { touch-action: pan-y pinch-zoom; }
.concept-visual img { user-select: none; -webkit-user-drag: none; }
.gallery-result { margin: -12px 0 24px; color: #c9d7c2; font-size: 12px; line-height: 1.6; }
.concept-navigation button:disabled { opacity: .35; cursor: default; }
#concept-title:focus { outline: none; }
@media (max-width: 600px) { .gallery-result { margin-top: -6px; margin-bottom: 20px; } }

html:has(dialog[open]) { background: var(--forest); }

/* Video primitives; page direction lives in experience.css. */
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; opacity: 0; transition: opacity 1.4s ease; }
.has-video .hero-video { opacity: 1; }
.play-icon { width: 14px; height: 14px; fill: currentColor; stroke: none; }
.film-dialog { width: min(1280px,calc(100vw - 56px)); max-width: none; max-height: calc(100svh - 40px); padding: 0; border: 1px solid #ffffff25; background: #102219; color: var(--paper-light); overflow: auto; }
.film-dialog::backdrop { background: #04120dee; backdrop-filter: blur(12px); }
.film-topbar { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; gap: 20px; }
.film-topbar h2 { font: 12px var(--sans); letter-spacing: .07em; }
.film-topbar .icon-button { flex-shrink: 0; }
.film-screen { position: relative; background: #06150f; }
#project-film { display: block; width: 100%; max-height: 70svh; aspect-ratio: 16/9; object-fit: contain; }
.film-caption { display: flex; justify-content: space-between; gap: 20px; padding: 20px 24px 23px; align-items: center; font-size: 11px; }
.film-caption p { font-size: 10px; color: #d7decc; max-width: 420px; }
.film-feedback { padding: 0 24px; }
#film-status { font-size: 12px; padding: 14px 0; }
#film-retry { margin-bottom: 18px; color: var(--lime); }

html[data-motion=off] .hero-video { display: none; }
@media(max-width:600px) {
 .hero-video { object-position: 50% 50%; }
 .film-dialog { width: calc(100vw - 20px); max-height: calc(100svh - 24px); }
 .film-topbar { padding: 12px 16px; }
 .film-topbar h2 { font-size: 10px; }
 .film-caption { flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px 16px; }
}
@media(prefers-reduced-motion:reduce) { .hero-video { display: none; } }

/* Direct, keyboard-accessible film chapters. */
.film-chapters { display:grid; grid-template-columns:repeat(6,1fr); border-block:1px solid #f4efdb26; padding:0 20px; }
.film-chapters button { position:relative; min-height:62px; padding:13px 10px; font-size:11px; line-height:1.6; text-align:left; color:#d7dec5b8; transition:color .2s,background .2s; }
.film-chapters button:hover { background:#ffffff08; }
.film-chapters button[aria-current=true] { color:var(--lime); }
.film-chapters button[aria-current=true]::before { content:''; position:absolute; top:-1px; left:10px; right:10px; height:2px; background:var(--lime); }
@media(max-width:800px) { .film-chapters { grid-template-columns:repeat(3,1fr); padding:0 8px; } .film-chapters button { font-size:10px; min-height:56px; } }

/* Altay 6 — landscape cinema, generous type, deliberate motion. */
:root {
 --paper:#f3f2ec; --paper-light:#fffef7; --ink:#25372d; --forest:#203b2d;
 --forest-deep:#12241c; --lime:#dbe7b9; --muted:#667364; --line:#cdd3c5;
 --gutter:clamp(24px,5vw,100px);
}
body { font-size:16px; }
em { color:#7b8971; }
.section { padding-block:clamp(88px,9vw,160px); }
.section-label { margin-bottom:65px; font-size:12px; letter-spacing:.1em; }
.section-aside { font-size:15px; }
.button { border-radius:2px; min-height:58px; font-size:14px; gap:30px; padding-left:24px; }
.button-small { min-height:46px; font-size:13px; }
.button > svg { border-radius:50%; }
.text-link { font-size:14px; }
.eyebrow { font-size:12px; letter-spacing:.13em; }
.footnote,.legal-note,.plot-notes p,.gallery-footer > p,.territory-bottom p,.map-disclaimer,.concept-source  { font-size:12px; line-height:1.8; }
.header { padding-block:25px; transition:background .5s,padding .5s,transform .7s var(--ease); }
.header.scrolled { background:#172b22f0; }
.brand > span { font-size:38px; }
.brand small { font-size:8px; letter-spacing:.19em; }
.desktop-nav { gap:32px; font-size:13px; }
.header-cta { color:var(--paper-light); background:#ffffff08; border-color:#fff9e566; }
.header-cta:hover { background:var(--paper-light); color:var(--forest); }

/* Opening title floats inside a single pinned landscape. */
.hero { height:auto; min-height:0; max-height:none; overflow:visible; background:var(--forest-deep); isolation:isolate; }
.hero-stage { position:relative; isolation:isolate; height:100svh; min-height:720px; overflow:hidden; }
.hero-image-wrap { inset:-2%; transform:scale(1.025); will-change:transform; }
.hero-image-wrap > picture,.hero-image { width:100%; height:100%; margin:0; }
.hero-image,.hero-video { object-position:58% 50%; filter:saturate(.8); }
.hero-shade { background:linear-gradient(180deg,#07191366,transparent 38%,#0c201d21 54%,#0c241de6),linear-gradient(90deg,#14241b2e,transparent); }
.hero-grain { display:block; opacity:.07; }
.hero-coordinates { top:114px; font-size:11px; letter-spacing:.12em; }
.hero-coordinates .status-dot { display:none; }
.hero-side-note { top:116px; right:var(--gutter); writing-mode:initial; font-size:11px; letter-spacing:.1em; color:#f3f4e5c2; }
.hero-content { position:absolute; inset:23% var(--gutter) auto; width:auto; text-align:center; z-index:3; transform-origin:center 45%; }
.hero-eyebrow { font-size:11px; letter-spacing:.25em; margin:0 0 25px; }
.hero h1 { width:100%; max-width:none; position:relative; }
.hero-title-line { padding:.015em .05em .1em; margin:0; font:400 clamp(160px,26vw,440px)/.75 var(--serif); letter-spacing:-.065em; overflow:visible; }
.hero-title-line .hero-word { display:flex; justify-content:center; }
.hero-letter { display:inline-block; }
.hero-title-second { display:block; font-size:clamp(32px,3.7vw,64px); letter-spacing:-.015em; margin:-.22em 9% 0 0; padding:0; text-align:right; line-height:1; }
.hero-word em { color:var(--paper-light); font-weight:400; }
.hero-bottom-copy { display:flex; align-items:center; justify-content:space-between; text-align:left; margin:48px 0 0; gap:30px; }
.hero-bottom-copy p { font:400 clamp(24px,2.5vw,42px)/1.1 var(--serif); letter-spacing:-.025em; color:var(--paper-light); }
.hero-bottom-copy .button { margin-right:0; }
.hero-wordmark { position:absolute; left:0; right:0; top:43%; font:400 clamp(80px,14vw,240px)/.9 var(--serif); text-align:center; letter-spacing:-.04em; color:var(--paper-light); opacity:0; z-index:2; pointer-events:none; }
.hero-postcard { position:absolute; display:flex; align-items:center; gap:15px; left:50%; top:auto; bottom:142px; right:auto; width:auto; transform:translateX(-50%); background:transparent; color:var(--paper-light); padding:0; box-shadow:none; z-index:4; }
.hero-postcard:hover { rotate:0deg; box-shadow:none; }
.film-orbit { width:58px; height:58px; display:grid; place-items:center; position:relative; background:#ffffff0a; border-radius:50%; backdrop-filter:blur(5px); }
.film-orbit > .play-icon { width:13px; height:13px; margin-left:3px; }
.orbit-ring { position:absolute; inset:0; width:100%; height:100%; stroke-width:1; stroke:#fffff899; stroke-dasharray:.68 .08; transform:rotate(-30deg); transition:transform 1.4s var(--ease); }
.hero-postcard:hover .orbit-ring { transform:rotate(150deg); }
.postcard-bottom { display:block; padding:0; text-align:left; }
.postcard-bottom > span { display:block; font:13px/1.5 var(--sans); }
.postcard-bottom small { display:block; font:12px/1.5 var(--sans); margin-top:3px; color:#fffff8a3; }
.hero-image-caption { right:var(--gutter); left:auto; bottom:113px; font-size:9px; letter-spacing:.09em; opacity:.7; }
.hero-footer { bottom:28px; padding-top:22px; z-index:5; align-items:center; }
.scroll-cue { font-size:10px; }
.scroll-cue small { font-size:12px; color:#e9ecdfba; }
.scroll-circle { width:44px; height:44px; }
.hero-offer { min-width:215px; }
.offer-label { font-size:10px; letter-spacing:.1em; }
.offer-price { font-size:32px; }
.motion-toggle { font-size:12px; }
html[data-motion=on] .hero { height:150svh; }
html[data-motion=on] .hero-stage { position:sticky; top:0; }
html[data-motion=on] .hero-stage .motion-bars i { animation:altay-breathe 1.4s ease-in-out infinite alternate; }
html[data-motion=on] .hero-stage .motion-bars i:nth-child(2) { animation-delay:-.7s; }
html[data-motion=on] .hero-stage .motion-bars i:nth-child(3) { animation-delay:-.3s; }
.hero.is-offscreen .motion-bars i { animation-play-state:paused!important; }
@keyframes altay-breathe { to { transform:scaleY(.4); } }

.facts { background:#e7eade; padding-block:48px; }
.fact-number { font-size:clamp(48px,5vw,76px); }
.fact-number small { font-size:14px; }
.fact p { font-size:13px; }
.about { background:var(--paper); }
.about-heading h2 { font-size:clamp(60px,7.5vw,122px); }
.about-note p { font-size:14px; }
.manifesto { max-width:1060px; margin:70px 0 0 19%; font:400 clamp(30px,3.5vw,58px)/1.24 var(--serif); letter-spacing:-.025em; }
.ink-word { color:var(--ink); opacity:var(--word-opacity,1); }
.about-layout { grid-template-columns:.65fr 1.35fr; gap:10%; margin-top:100px; }
.about-copy { max-width:355px; }
.about-copy .large-copy { font-size:42px; margin-bottom:30px; }
.about-copy > p:not(.large-copy) { font-size:16px; }
.about-copy .footnote { font-size:12px; }
.image-frame { aspect-ratio:1.2; border-radius:0; clip-path:inset(var(--residence-inset,0%) 0 round 2px); }
.image-frame img { height:110%; object-position:65% 50%; }
.residence-figure::before { display:none; }
.residence-figure figcaption { font-size:10px; gap:15px; line-height:1.5; }
.image-stamp { left:-52px; bottom:45px; padding:29px 35px; font-size:38px; transform:none; box-shadow:none; border:1px solid var(--line); }
.image-stamp > span { font-size:10px; }

/* Three chapters, revealed by a growing portal aperture. */
.journey { position:relative; background:#111e18; color:var(--paper-light); scroll-margin-top:-100px; }
.journey-stage { position:relative; }
.journey-top { position:absolute; z-index:8; top:115px; left:var(--gutter); right:var(--gutter); display:flex; justify-content:space-between; font-size:11px; letter-spacing:.14em; pointer-events:none; }
.journey-counter { position:absolute; z-index:7; right:var(--gutter); top:32%; display:flex; gap:14px; align-items:baseline; pointer-events:none; }
.journey-counter > span:first-child { font:400 clamp(80px,9vw,150px)/1 var(--serif); }
.journey-counter > span:last-child { font-size:13px; color:#f3f0df99; }
.journey-scene { position:relative; height:100svh; min-height:780px; isolation:isolate; overflow:hidden; }
.journey-scene > picture { position:absolute; inset:0; z-index:-3; }
.journey-scene img { width:100%; height:100%; object-fit:cover; object-position:center; }
.journey-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#091d147d,transparent 70%),linear-gradient(0deg,#0a1917ed,transparent 90%); }
.journey-copy { position:absolute; left:var(--gutter); right:var(--gutter); bottom:24%; display:grid; grid-template-columns:1.65fr 1fr; align-items:end; gap:24px 8%; }
.journey-numeral { grid-column:1/-1; font-size:12px; letter-spacing:.13em; color:var(--lime); }
.journey-numeral::before { content:'ГЛАВА '; }
.journey-copy h2 { font-size:clamp(76px,8.6vw,150px); line-height:.91; }
.journey-copy h2 em { color:var(--paper-light); }
.journey-copy p { max-width:330px; font-size:15px; line-height:1.85; padding-bottom:6px; color:#f9f8edd9; }
.journey-source { position:absolute; bottom:134px; left:var(--gutter); font-size:10px; letter-spacing:.08em; color:#f4eddbb0; }
.journey-nav,.journey-scroll { display:none; }
html[data-motion=on] .journey.is-directed { height:400svh; }
html[data-motion=on] .is-directed .journey-stage { position:sticky; top:0; height:100svh; min-height:620px; overflow:hidden; }
html[data-motion=on] .is-directed .journey-scene { position:absolute; inset:0; height:100%; min-height:0; will-change:clip-path; }
html[data-motion=on] .is-directed .journey-scene img,
html[data-motion=on] .is-directed .journey-scene .scene-video { transform:scale(var(--scene-scale,1)); }
html[data-motion=on] .is-directed .journey-copy { opacity:var(--copy-opacity,1); transform:translateY(var(--copy-y,0px)); }
html[data-motion=on] .is-directed .journey-nav { position:absolute; z-index:10; left:var(--gutter); right:var(--gutter); bottom:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.journey-nav a { position:relative; padding:19px 0 12px; border-top:1px solid #e7e1ce45; font:30px var(--serif); color:#f3ecdaa0; }
.journey-nav a span { font:12px var(--sans); margin-right:22px; vertical-align:middle; }
.journey-nav a[aria-current=true] { color:var(--paper-light); }
.journey-nav i { position:absolute; top:-1px; left:0; height:2px; width:100%; background:var(--lime); transform:scaleX(var(--chapter-progress,0)); transform-origin:left; }
html[data-motion=on] .is-directed .journey-scroll { display:block; position:absolute; z-index:8; right:var(--gutter); bottom:137px; font-size:10px; letter-spacing:.12em; }
.scene-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; z-index:-2; transition:opacity 1.2s ease; pointer-events:none; }
.scene-video.is-playing { opacity:1; }
.territory-map { border-radius:2px; }
.map-card { border-radius:1px; background:var(--paper-light); width:330px; }
.map-card > p { font-size:14px; }
.map-card .eyebrow,.map-caption,.map-card-bottom > span { font-size:11px; }
.map-card h3 { font-size:36px; }

.places { background:#172b21; padding-bottom:85px; }
.places h2 { font-size:clamp(58px,7vw,116px); }
.section-dark em { color:#c5d2b4; }
.gallery { gap:30px; }
.place-card { flex-basis:min(44vw,740px); border-radius:2px; }
.place-card > picture,.place-card:nth-child(even) > picture { aspect-ratio:1.1; }
.place-bottom { padding:30px; }
.place-bottom h3 { font-size:clamp(36px,3.7vw,60px); }
.place-bottom p { font-size:14px; }
.place-top { padding:25px; }
.place-top > span:first-child { font-size:11px; background:#172b218c; letter-spacing:.06em; }
.filter-group { gap:12px; }
.filter { font-size:14px; border-radius:2px; }
.gallery-footer { padding-top:30px; }
.concept-pill { font-size:11px; border-radius:2px; }
.gallery-arrows .icon-button { width:48px; height:48px; }
.motion-cursor { position:fixed; top:0; left:0; z-index:40; display:flex; align-items:center; justify-content:center; gap:9px; width:110px; height:110px; border-radius:50%; background:#e3edc4; color:var(--forest); font-size:10px; letter-spacing:.08em; pointer-events:none; opacity:0; scale:.7; translate:-50% -50%; transition:opacity .25s,scale .4s var(--ease); }
.motion-cursor svg { width:19px; }
.motion-cursor.is-visible { opacity:1; scale:1; }

/* Scenarios pair one image with a native accordion. */
.living { background:#e6e9dc; }
.living h2,.plots h2 { font-size:clamp(58px,6.6vw,114px); }
.living-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:7%; align-items:center; }
.living-visuals { position:relative; overflow:hidden; min-height:580px; height:48vw; max-height:780px; background:var(--forest); }
.living-image { position:absolute; inset:0; opacity:0; clip-path:inset(0 0 0 100%); transition:opacity .6s,clip-path 1.2s var(--ease); }
.living-image.is-active { opacity:1; clip-path:inset(0); }
.living-image picture,.living-image img { width:100%; height:100%; object-fit:cover; }
.living-image img { transform:scale(1.08); transition:transform 1.5s var(--ease); }
.living-image.is-active img { transform:scale(1); }
.living-image::after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#13291fd9); }
.living-image-label { position:absolute; bottom:26px; left:26px; right:26px; font-size:10px; letter-spacing:.08em; color:#fffef2d9; }
.living-counter { position:absolute; top:25px; left:26px; color:white; font:20px var(--serif); }
.living-options { border-top:1px solid #aebca4; }
.life-option { border-bottom:1px solid #aebca4; }
.life-option summary { display:flex; align-items:center; gap:20px; padding:27px 0; list-style:none; cursor:pointer; }
.life-option summary::-webkit-details-marker { display:none; }
.life-option summary > span { font-size:12px; color:var(--muted); }
.life-option summary h3 { font-size:clamp(30px,3vw,48px); flex:1; }
.life-option summary > svg { width:21px; transition:transform .5s var(--ease); }
.life-option[open] summary > svg { transform:rotate(90deg); }
.life-description { padding:0 12px 30px 40px; }
.life-description .eyebrow { font-size:11px; color:var(--muted); }
.life-description h4 { font-size:16px; font-weight:500; margin:18px 0 10px; }
.life-description p { font-size:15px; color:#54654f; line-height:1.85; }
.life-description .text-link { margin-top:18px; }
.plot-option { border-radius:2px; }
.plot-option.selected { background:#e7ecd9; }
.plot-card-top { font-size:11px; }
.plot-price { font-size:15px; }
.plot-summary .eyebrow { font-size:11px; }
.seasons { background:#1b3025; }
.season-content h2 { font-size:clamp(56px,5.7vw,96px); }
.season-tabs button { font-size:16px; }
#season-panel p { font-size:16px; }
#season-panel > span { font-size:11px; }
.season-frame { border-radius:2px; transition:transform 1s var(--ease),opacity .6s; }
.season-frame.is-active { transform:translateY(-15px); }
.development-intro h2 { font-size:clamp(56px,5.5vw,90px); }
.development-intro > p,.timeline-step p { font-size:16px; }
.timeline-step { padding-bottom:48px; }
.timeline-step h3 { font-size:36px; }
.timeline-step.is-current h3 { color:#486c38; }
.timeline-number { transition:background .5s,color .5s,box-shadow .5s; }
.timeline-step.is-current .timeline-number { box-shadow:0 0 0 6px #dfe6d1; }
.timeline-step .eyebrow { font-size:11px; }
.faq-section { background:#e8ebdf; }
.faq-list summary { font-size:17px; }
.faq-answer { font-size:15px; }
.contact { padding-top:95px; background:#13251f; min-height:100svh; }
.contact-landscape { position:absolute; inset:0; z-index:-3; }
.contact-landscape picture,.contact-landscape img { width:100%; height:100%; object-fit:cover; object-position:center; }
.contact > .scene-video { z-index:-2; }
.contact-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#101f2522,#0e201b5c 45%,#10241cf5 94%); }
.contact .section-label { color:#fff8e2c9; }
.contact-main { align-items:end; padding-block:100px 90px; }
.contact-main h2 { font-size:clamp(78px,9vw,160px); line-height:.93; }
.contact-main h2 em { color:var(--paper-light); }
.contact-copy > p { color:#f1eee0; font-size:16px; }
.contact-copy > .text-link { color:#efeed9; }
.generated-caption { text-align:right; font-size:10px; letter-spacing:.09em; color:#e9e0cbc4; padding-bottom:26px; }
.footer > p,.footer > button { font-size:12px; color:#dce2d0; }
.legal-note { color:#d4dacaad; }
.quick-select { border-radius:2px; background:var(--lime); }
.quick-select-arrow { border-radius:2px; }
.telegram-contact { margin:24px 0 15px; }
.telegram-contact > label { display:block; font-size:13px; color:var(--muted); margin-bottom:8px; }
#telegram-request { resize:vertical; width:100%; min-height:150px; border:1px solid var(--line); border-radius:2px; background:#e9ecdf; padding:17px; font:14px/1.8 var(--sans); color:var(--ink); }
.telegram-actions { display:flex; flex-wrap:wrap; gap:15px 24px; align-items:center; justify-content:space-between; margin-top:14px; }
.telegram-actions .button-forest { background:var(--forest); color:var(--paper-light); }
.telegram-actions .button-forest:hover { background:#355341; }
#telegram-status { font-size:13px; color:var(--forest); margin:13px 0 7px; }
.film-topbar h2,.film-caption,#film-status { font-size:13px; }
.film-caption p { font-size:12px; }

@media (min-width:801px) and (max-height:780px) {
 .hero-stage { min-height:690px; }
 .hero-content { top:24%; }
 .hero-title-line { font-size:23vw; }
 .hero-eyebrow { margin-bottom:18px; }
 .hero-bottom-copy { margin-top:30px; }
 .hero-postcard { bottom:134px; }
 .journey-copy { bottom:26%; }
 .journey-copy h2 { font-size:7.8vw; }
}
@media (max-width:1100px) {
 .desktop-nav { gap:22px; font-size:12px; }
 .header-cta { gap:15px; }
 .hero-title-line { font-size:28vw; }
 .hero-side-note { display:none; }
 .hero-bottom-copy { margin-top:55px; }
 .living-grid { gap:5%; }
 .living-visuals { min-height:550px; }
 .life-description { padding-left:32px; padding-right:0; }
 .contact-main { gap:30px; }
 .place-card { flex-basis:58vw; }
}
@media (max-width:800px) {
 .section { padding-block:76px; }
 .section-label { margin-bottom:40px; font-size:10px; }
 .section-label > span:last-child { max-width:43%; }
 .hero-stage { min-height:780px; height:100svh; }
 html[data-motion=on] .hero { height:auto; }
 html[data-motion=on] .hero-stage { position:relative; }
 .hero-content { inset:28% var(--gutter) auto; }
 .hero-title-line { font-size:31vw; }
 .hero-title-second { font-size:6.7vw; margin-top:4px; margin-right:4%; }
 .hero-eyebrow { font-size:10px; letter-spacing:.14em; margin-bottom:25px; }
 .hero-bottom-copy { margin-top:48px; align-items:flex-start; }
 .hero-bottom-copy p { font-size:29px; }
 .hero-bottom-copy .button { font-size:12px; gap:20px; min-height:52px; }
 .hero-coordinates { top:110px; font-size:10px; gap:9px; }
 .hero-coordinates .coordinate-line { width:20px; margin-inline:3px; }
 .hero-postcard { bottom:143px; }
 .hero-wordmark { display:none; }
 .hero-image-caption { display:none; }
 .hero-footer { bottom:24px; gap:12px; }
 .hero-footer .scroll-cue { display:none; }
 .hero-footer .motion-toggle { font-size:11px; padding:0; max-width:145px; text-align:left; }
 .hero-offer { min-width:164px; }
 .offer-label { font-size:9px; }
 .offer-price { font-size:29px; gap:15px; }
 .facts { padding-block:36px; gap:28px; }
 .fact-number { font-size:52px; }
 .fact p { font-size:12px; }
 .fact + .fact { padding-left:24px; }
 .fact:nth-child(3) { padding-left:0; }
 .about-heading h2 { font-size:clamp(50px,8.5vw,76px); }
 .manifesto { margin:45px 0 0; font-size:34px; }
 .about-layout { margin-top:60px; gap:50px; grid-template-columns:1fr; }
 .about-copy { max-width:560px; }
 .image-frame { aspect-ratio:1.18; }
 .image-stamp { left:-8px; bottom:38px; font-size:32px; padding:24px; }
 .journey-top { top:105px; font-size:10px; }
 .journey-top > span:last-child { display:none; }
 .journey-counter { top:135px; }
 .journey-counter > span:first-child { font-size:76px; }
 .journey-scene { min-height:760px; }
 .journey-copy { bottom:24%; grid-template-columns:1fr; gap:20px; }
 .journey-copy h2 { font-size:clamp(67px,12vw,96px); }
 .journey-copy p { max-width:420px; font-size:14px; }
 .journey-source { bottom:126px; font-size:9px; }
 .journey-scene img,.journey-scene .scene-video { object-position:65% center; }
 .journey-scene[data-scene="0"] img,.journey-scene[data-scene="0"] .scene-video { object-position:24% center; }
 .journey-scene[data-scene="2"] img { object-position:69% center; }
 html[data-motion=on] .is-directed .journey-nav { gap:18px; bottom:25px; }
 .journey-nav a { font-size:24px; padding-top:15px; }
 .journey-nav a span { display:block; margin:0 0 8px; font-size:10px; }
 html[data-motion=on] .is-directed .journey-scroll { display:none; }
 .map-card { width:auto; }
 .places { padding-bottom:55px; }
 .place-card { flex-basis:78vw; }
 .place-card > picture,.place-card:nth-child(even) > picture { aspect-ratio:.92; }
 .place-bottom { padding:25px; }
 .place-bottom h3 { font-size:42px; }
 .place-top { padding:22px; }
 .filter-group { gap:8px; }
 .filter { padding:10px 12px; font-size:12px; }
 .living-grid { grid-template-columns:1fr; gap:38px; }
 .living-visuals { min-height:0; height:85vw; max-height:650px; }
 .life-option summary h3 { font-size:36px; }
 .living h2,.plots h2 { font-size:58px; }
 .life-description { padding-left:32px; max-width:550px; }
 .contact { min-height:0; padding-top:70px; }
 .contact-main { display:block; padding-block:50px; }
 .contact-main h2 { font-size:clamp(72px,12vw,108px); }
 .contact-copy { margin-top:45px; }
 .contact-landscape img,.contact > .scene-video { object-position:64% center; }
 .generated-caption { text-align:left; }
 .motion-cursor { display:none; }
 .telegram-actions { gap:12px; }
 .telegram-actions .button { width:100%; justify-content:space-between; }
 .lead-dialog h2 { font-size:46px; margin:22px 0; }
}
@media (max-width:480px) {
 .header { padding-block:22px; }
 .brand > span { font-size:36px; }
 .brand > svg { width:32px; }
 .hero-stage { min-height:760px; }
 .hero-content { top:28%; }
 .hero-title-line { font-size:31vw; }
 .hero-title-second { font-size:8vw; margin-top:3px; }
 .hero-eyebrow { font-size:9px; letter-spacing:.08em; }
 .hero-bottom-copy { margin-top:36px; flex-direction:column; gap:24px; }
 .hero-bottom-copy p { font-size:28px; }
 .hero-bottom-copy .button { font-size:12px; min-height:52px; gap:22px; }
 .hero-postcard { left:auto; right:var(--gutter); bottom:138px; transform:none; gap:10px; }
 .film-orbit { width:45px; height:45px; }
 .postcard-bottom > span { font-size:11px; }
 .postcard-bottom small { font-size:10px; }
 .hero-coordinates { font-size:9px; letter-spacing:.055em; }
 .facts { column-gap:16px; }
 .fact-number { font-size:46px; }
 .fact-number small { font-size:12px; margin-left:6px; }
 .fact + .fact { padding-left:16px; }
 .fact:nth-child(3) { padding-left:0; }
 .fact:nth-child(4) .fact-number { font-size:34px; }
 .fact p { font-size:11px; }
 .about-heading h2 { font-size:48px; }
 .manifesto { font-size:30px; }
 .about-copy .large-copy { font-size:36px; }
 .about-layout { margin-top:45px; }
 .image-stamp { font-size:28px; padding:20px; bottom:40px; }
 .image-stamp > span { font-size:9px; }
 .residence-figure figcaption { font-size:9px; }
 .journey-copy { bottom:25%; gap:17px; }
 .journey-copy h2 { font-size:16.2vw; }
 .journey-copy p { font-size:14px; max-width:330px; line-height:1.65; }
 .journey-source { font-size:9px; letter-spacing:0; }
 .journey-nav a { font-size:23px; }
 .place-card { flex-basis:84vw; min-width:0; }
 .place-bottom { padding:22px; }
 .place-bottom h3 { font-size:36px; }
 .place-bottom p { font-size:13px; }
 .place-top > span:first-child { font-size:10px; }
 .places h2,.living h2,.plots h2 { font-size:48px; }
 .living-image-label { font-size:9px; left:20px; bottom:22px; }
 .living-counter { top:19px; left:20px; }
 .life-option summary h3 { font-size:32px; }
 .plot-card-top { font-size:10px; }
 .plot-summary p { font-size:30px; }
 .development-intro h2 { font-size:48px; }
 .timeline-step h3 { font-size:30px; }
 .timeline-step .eyebrow { font-size:10px; }
 .contact-main h2 { font-size:19vw; }
 .contact-main { padding-top:30px; }
 .generated-caption { font-size:9px; }
}
@media (hover:none),(pointer:coarse) { .motion-cursor { display:none; } }
html[data-motion=off] .hero-image-wrap { transform:none!important; }
html[data-motion=off] .hero-wordmark,html[data-motion=off] .motion-cursor { display:none; }
html[data-motion=off] .scene-video { display:none; }
html[data-motion=off] .journey-counter { display:none; }
html[data-motion=off] .journey-scene { clip-path:none!important; }
html[data-motion=off] .journey-copy { opacity:1!important; transform:none!important; }
html[data-motion=off] .journey-scene img { transform:none!important; }
html[data-motion=off] .ink-word { opacity:1; }
html[data-motion=off] .image-frame { clip-path:none; }
html[data-motion=off] .living-image,html[data-motion=off] .living-image img,
html[data-motion=off] .orbit-ring,html[data-motion=off] .season-frame { transition:none; }
@media(prefers-reduced-motion:reduce) {
 .hero-image-wrap { transform:none!important; }
 .scene-video,.motion-cursor,.hero-wordmark { display:none!important; }
 .living-image,.living-image img,.orbit-ring,.season-frame { transition:none; }
 .image-frame { clip-path:none; }
}

/* Short landscape screens use ordinary document flow so every control is reachable. */
.journey:not(.is-directed) .journey-counter { display:none; }
@media(max-height:619px) {
 html[data-motion=on] .hero { height:auto; }
 html[data-motion=on] .hero-stage { position:relative; }
 .hero-wordmark { display:none; }
}


/* The gallery translates through the viewport on native vertical scroll. */
.places-stage { min-width:0; }
.places.is-scroll-gallery { position:relative; padding:0; height:var(--gallery-height); overflow:visible; }
.is-scroll-gallery .places-stage { position:sticky; top:0; height:100svh; padding:92px var(--gutter) 28px; overflow:hidden; background:#172b21; display:flex; flex-direction:column; }
.is-scroll-gallery .section-label { margin-bottom:14px; flex-shrink:0; }
.is-scroll-gallery .section-heading { margin-bottom:18px; gap:35px; flex-shrink:0; }
.is-scroll-gallery .section-heading h2 { font-size:clamp(42px,4.4vw,70px); line-height:.98; }
.is-scroll-gallery .section-heading h2 br { display:none; }
.is-scroll-gallery .section-heading h2 em { display:block; }
.is-scroll-gallery .section-aside { font-size:12px; max-width:280px; }
.is-scroll-gallery .concept-pill { margin-top:8px; padding:4px 8px; font-size:10px; }
.is-scroll-gallery .gallery-toolbar { margin-bottom:10px; flex-shrink:0; }
.is-scroll-gallery .filter { padding-block:7px; font-size:12px; }
.is-scroll-gallery .gallery-result { margin:0 0 13px; font-size:11px; flex-shrink:0; }
.is-scroll-gallery .gallery { flex:1; min-height:160px; scroll-behavior:auto; scroll-snap-type:none; overflow-x:auto; gap:36px; }
.is-scroll-gallery .place-card { flex:0 0 34vw; display:flex; flex-direction:column; min-height:0; }
.is-scroll-gallery .place-card > picture,.is-scroll-gallery .place-card:nth-child(even) > picture { flex:1; min-height:0; aspect-ratio:auto; }
.is-scroll-gallery .place-card img { object-position:50% 48%; }
.is-scroll-gallery .place-bottom { padding:18px 0 12px; }
.is-scroll-gallery .place-bottom h3 { font-size:clamp(27px,2.4vw,40px); margin-bottom:7px; }
.is-scroll-gallery .place-bottom p { font-size:12px; margin-top:0; }
.is-scroll-gallery .place-top { padding:17px; }
.is-scroll-gallery .place-top > span:first-child { font-size:10px; }
.is-scroll-gallery .gallery-footer { padding-top:16px; margin-top:0; flex-shrink:0; }
.is-scroll-gallery .gallery-footer > p { font-size:10px; max-width:340px; }
.is-scroll-gallery .gallery-hint { font-size:10px; }


.header.in-expedition { transform:translateY(-105%); }
.header.in-expedition:has(:focus-visible) { transform:translateY(0); }

/* Continuous landscape: distant peaks, rock massifs, wooded slopes and the river valley. */
:root { --horizon-paper:#f1efe7; --horizon-ink:#26362e; --paper:#f1efe7; }
html[data-motion=on] { overflow-anchor:none; }
.on-horizon .header,.on-horizon .header.scrolled { color:var(--scene-ink,#253933); background:transparent; box-shadow:none; backdrop-filter:none; }
.on-horizon .header-cta { color:inherit; border-color:#87978b66; background:transparent; }
.on-horizon .desktop-nav a::after { background:currentColor; }
.landscape-experience { position:relative; background:#263c35; color:#fffef4; }
.landscape-experience.is-immersive { height:240svh; }
.landscape-experience .expedition-stage { position:relative; height:100svh; min-height:640px; background:#354b43; }
.landscape-experience.is-immersive .expedition-stage { position:sticky; top:0; min-height:0; overflow:hidden; }
.landscape-experience .hero,.landscape-experience .hero-stage { position:absolute!important; inset:0; width:100%; height:100%!important; min-height:0; overflow:hidden; color:inherit; background:transparent; }
.landscape-experience .hero-image-wrap { inset:0; z-index:0; transform:none!important; width:100%; height:100%; }
.landscape-experience .horizon-poster { position:absolute; max-width:none; width:100%; height:100%; object-fit:cover; object-position:62% 50%; }
.horizon-whole { position:absolute; inset:0; z-index:1; pointer-events:none; }
.horizon-river { position:absolute; inset:0; width:100%; height:100%; }
.horizon-river-source { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.scene-shade { position:absolute; inset:0; z-index:3; pointer-events:none; opacity:calc(1 - var(--scene-night,0)*.4); background:linear-gradient(0deg,#10241dc4,transparent 42%),linear-gradient(90deg,#14281c20,transparent 45%); }
.landscape-experience .hero-content { position:absolute; inset:0; width:100%; z-index:2; text-align:center; color:#2b4339; pointer-events:none; }
.landscape-experience .hero-eyebrow { display:block; position:absolute; top:calc(var(--scene-title-top,13%) - 25px); left:0; width:100%; font-size:8px; letter-spacing:.38em; color:inherit; opacity:.65; }
.landscape-experience .hero h1 { position:absolute; top:var(--scene-title-top,13%); width:100%; max-width:none; transform-origin:50% 20%; }
.landscape-experience .hero-title-line { font-size:var(--scene-title-size,clamp(88px,min(14.8vw,22.5svh),290px)); line-height:.82; padding:0 0 .2em; letter-spacing:-.045em; }
.landscape-experience .hero-title-line .hero-word { text-transform:none; }
.landscape-experience .hero-title-second,.landscape-experience .hero-wordmark { display:none; }
.scene-introduction { position:absolute; z-index:4; left:var(--gutter); bottom:25%; transition:opacity .8s; }
.scene-introduction .eyebrow { font-size:9px; letter-spacing:.16em; color:#e3e7dacf; margin-bottom:21px; }
.scene-poem { font:400 clamp(44px,4.55vw,76px)/.97 var(--serif); letter-spacing:-.025em; }
.scene-poem em { color:#edf0df; }
.landscape-experience .hero-bottom-copy { display:block; position:static; margin:20px 0 0; font:11px/1.85 var(--sans); color:#e6e9dcd9; }
.landscape-experience .horizon-after { position:absolute; z-index:4; left:var(--gutter); right:var(--gutter); bottom:26%; opacity:0; color:#fffdf2; }
.horizon-after .eyebrow { font-size:9px; letter-spacing:.17em; margin-bottom:24px; }
.horizon-after h2 { font-size:clamp(54px,7.1vw,120px); line-height:.94; }
.horizon-after h2 em { color:#e5ecdb; }
.horizon-discover { display:inline-flex; align-items:center; gap:26px; font-size:12px; margin-top:28px; }
.horizon-discover > span { width:38px; height:38px; border:1px solid #e5ecdb75; border-radius:50%; display:grid; place-items:center; transition:background .4s; }
.horizon-discover:hover > span { background:#ffffff21; }
.horizon-discover svg { width:15px; height:15px; }
.scene-tools { position:absolute; z-index:6; bottom:98px; left:var(--gutter); right:var(--gutter); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:30px; }
.scene-rest { padding:8px 0; display:flex; align-items:center; gap:12px; justify-self:start; font-size:12px; color:#f4f4e7; }
.rest-symbol { font:30px/1 var(--serif); }
.scene-rest:hover .rest-symbol { color:#dae7c0; }
.scene-actions { display:flex; align-items:center; gap:26px; min-width:0; }
.scene-breeze { color:#f1f1e1cc; display:flex; align-items:center; gap:8px; padding:8px 0; font-size:10px; transition:color .7s,opacity .7s; }
.scene-breeze svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; }
.scene-breeze:hover,.scene-breeze.is-breezy { color:#f2f6d5; }
.scene-breeze:disabled { opacity:.35; cursor:default; }
.scene-light { display:flex; align-items:center; justify-content:center; gap:14px; font-size:9px; color:#f1f1e1cc; }
.scene-light-control { position:relative; justify-self:center; }
.scene-light > button { min-height:36px; color:inherit; font:inherit; padding:5px 0; }
.scene-light > button:hover { color:#fffce1; }
.scene-cycle { position:absolute; top:34px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:6px; white-space:nowrap; padding:8px 9px; font-size:8px; letter-spacing:.035em; color:#e4e7d4b0; }
.scene-cycle i { width:5px; height:5px; flex:none; border:1px solid currentColor; border-radius:50%; }
.scene-cycle[aria-pressed=true] i { background:#dce8b6; border-color:#dce8b6; }
.scene-cycle:hover { color:#f8f6d9; }
.scene-cycle:disabled { opacity:.5; cursor:default; }
.scene-light input { appearance:none; -webkit-appearance:none; width:115px; min-width:40px; background:transparent; cursor:ew-resize; height:32px; margin:0; border-radius:0; }
.scene-light input::-webkit-slider-runnable-track { height:1px; background:#f4f1dc66; }
.scene-light input::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:9px; height:9px; border-radius:50%; background:#f2efd9; margin-top:-4px; box-shadow:0 0 0 5px #f2efd90a; }
.scene-light input::-moz-range-track { height:1px; background:#f4f1dc66; }
.scene-light input::-moz-range-thumb { width:9px; height:9px; border:0; border-radius:50%; background:#f2efd9; }
.landscape-experience .hero-postcard { position:static; justify-self:end; display:flex; width:auto; padding:0; transform:none; color:#fffdef; background:none; box-shadow:none; gap:12px; }
.landscape-experience .film-orbit { width:40px; height:40px; border:1px solid #f2efd959; background:none; backdrop-filter:none; }
.landscape-experience .film-orbit svg { width:10px; height:10px; position:static; }
.landscape-experience .postcard-bottom { padding:0; }
.landscape-experience .postcard-bottom > span { font:11px var(--sans); }
.landscape-experience .postcard-bottom small { display:block; font:9px var(--sans); margin-top:5px; color:#f2efd980; }
.landscape-experience .hero-footer { position:absolute; z-index:6; left:var(--gutter); right:var(--gutter); bottom:24px; height:34px; padding:0; border:0; display:flex; align-items:center; justify-content:space-between; gap:16px; color:#ecf0dfbf; }
.landscape-experience .scroll-cue { position:static; display:flex; align-items:center; max-width:none; gap:10px; }
.landscape-experience .scroll-circle { width:24px; height:24px; border:0; }
.landscape-experience .scroll-circle svg { width:14px; height:14px; }
.landscape-experience .scroll-cue > span:last-child { font-size:8px; letter-spacing:.12em; max-width:none; }
.landscape-experience .motion-toggle { display:flex; color:inherit; font-size:9px; padding:5px 0; }
.scene-source { font-size:7px; letter-spacing:.12em; opacity:.6; }
.horizon-progress { position:absolute; z-index:6; height:1px; bottom:0; left:0; right:0; background:#ffffff15; }
.horizon-progress > span { display:block; width:100%; height:100%; background:#edebcf75; transform:scaleX(0); transform-origin:left; }
.landscape-experience .hero-content,.scene-introduction,.horizon-after,.hero-footer,.hero-postcard,.scene-shade { transition:opacity 1.2s; }
.landscape-experience.is-resting .hero-content,.is-resting .scene-introduction,.landscape-experience.is-resting .horizon-after,.is-resting .hero-footer,.is-resting .hero-postcard { opacity:0!important; pointer-events:none; }
.is-resting .scene-shade { opacity:.22; }
.scene-quiet .header { opacity:0; pointer-events:none; }
.header { transition:opacity 1s,background .5s,padding .5s; }
.landscape-experience:not(.is-immersive) .horizon-after { display:none; }
/* One collection instead of the same portal, stairs and guardian appearing twice. */
.places.journey { height:auto; min-height:0; background:#172b21; }
.places.journey .places-stage { position:relative; }
.facts { background:var(--paper); }
@media(max-width:800px) {
 .landscape-experience.is-immersive { height:220svh; }
 .landscape-experience .hero h1 { top:var(--scene-title-top,18%); }
 .landscape-experience .hero-title-line { font-size:var(--scene-title-size,28vw); }
 .landscape-experience .hero-eyebrow { top:calc(var(--scene-title-top,18%) - 23px); font-size:7px; }
 .scene-introduction { bottom:29%; }
 .scene-poem { font-size:clamp(46px,8vw,68px); }
 .scene-tools { bottom:94px; grid-template-columns:1fr auto 32px; gap:12px; }
 .scene-light { justify-content:end; gap:10px; }
 .scene-light input { width:90px; }
 .scene-actions { gap:14px; }
 .scene-breeze { padding:10.5px; }
 .scene-breeze span { display:none; }
 .landscape-experience .hero-postcard { display:flex; }
 .landscape-experience .hero-postcard .postcard-bottom { display:none; }
 .landscape-experience .film-orbit { width:32px; height:32px; }
 .scene-source { display:none; }
 .landscape-experience .horizon-after { bottom:30%; }
 .horizon-after h2 { font-size:clamp(48px,8.5vw,78px); }
 .landscape-experience .hero-footer { bottom:24px; }
}
@media(max-width:480px) {
 .landscape-experience .expedition-stage { min-height:620px; }
 .scene-introduction .eyebrow,.horizon-after .eyebrow { font-size:7px; letter-spacing:.1em; }
 .scene-poem { font-size:43px; }
 .landscape-experience .hero-bottom-copy { font-size:11px; margin-top:17px; }
 .scene-rest { font-size:10px; gap:7px; }
 .scene-actions { gap:5px; }
 .scene-breeze { flex-shrink:0; }
 .scene-light { font-size:8px; gap:8px; }
 .scene-light input { width:58px; }
 .landscape-experience .hero-footer .scroll-cue > span:last-child { font-size:7px; letter-spacing:.07em; }
 .landscape-experience .motion-toggle { font-size:8px; max-width:145px; }
 .horizon-after h2 { font-size:47px; }
}
@media(max-height:650px) and (min-width:801px) {
 .scene-poem { font-size:42px; }
 .scene-introduction { bottom:27%; }
 .scene-introduction .eyebrow { margin-bottom:12px; }
 .landscape-experience .hero-bottom-copy { margin-top:13px; }
 .scene-tools { bottom:73px; }
}
@media(max-width:380px) {
 .scene-tools { gap:8px; }
 .scene-actions { gap:2px; }
 .scene-light { gap:5px; }
 .scene-light input { width:42px; }
 .scene-rest { font-size:9px; }
}
@media print {
 .landscape-experience { height:auto!important; }
 .landscape-experience .expedition-stage { position:relative!important; height:700px; }
 .scene-tools,.hero-footer { display:none!important; }
}


/* Shared selection workspace and the optional house sketch. */
.land-explorer { background:#faf9f3; border:1px solid #ccd3c4; color:#263e2c; }
.land-toolbar { position:sticky; top:78px; z-index:6; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 16px; background:#203c2e; color:#f6f5e9; }
.land-mode-tabs { display:flex; gap:4px; min-width:0; }
.land-mode-tabs button { display:flex; align-items:center; gap:12px; min-height:48px; padding:11px 19px; font-size:12px; color:#d0d9c7; transition:background .2s,color .2s; }
.land-mode-tabs button b { font-size:10px; font-weight:400; opacity:.6; }
.land-mode-tabs button[aria-selected=true] { background:#e6ebcc; color:#223c2d; }
.land-mode-tabs button:hover:not([aria-selected=true]) { background:#ffffff0e; color:white; }
.land-expand { display:flex; align-items:center; justify-content:center; gap:9px; padding:10px; font-size:11px; min-height:44px; white-space:nowrap; }
.land-expand svg { width:18px; height:18px; }
.land-expand:hover { background:#ffffff10; }
.land-workspace { display:grid; grid-template-columns:minmax(0,1fr) 350px; }
.land-stage { position:relative; min-width:0; min-height:640px; background:#e8ebdf; overflow:hidden; }
.land-panel { position:absolute; inset:0; overflow:hidden; }
.land-panel[hidden] { display:none; }
.land-choice { min-width:0; padding:26px; border-left:1px solid #d1d6c7; background:#faf9f3; }
.land-home-panel { background:radial-gradient(ellipse at 45% 43%,#f9f9f0,#e7ebdb); display:flex; flex-direction:column; }
.land-house-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; padding:25px 28px 0; }
.land-house-heading .eyebrow { color:#758268; font-size:9px; }
.land-house-heading h3 { margin-top:9px; font-size:38px; }
.house-view-toggle { display:flex; border:1px solid #cbd2bd; padding:3px; }
.house-view-toggle button { padding:8px 11px; font-size:11px; }
.house-view-toggle [aria-pressed=true] { background:#2e4935; color:#f4f4e3; }
.land-house-drawing { position:relative; flex:1; display:flex; align-items:center; min-height:240px; }
.land-house-drawing svg { display:block; width:100%; height:100%; max-height:580px; stroke:none; }
.land-house-drawing canvas { position:absolute; inset:0; width:100%; height:100%; cursor:grab; touch-action:none; }
.house-camera-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 28px 16px; }
.house-camera-controls>div { display:flex; gap:4px; }
.house-camera-controls button { border:1px solid #bac7a9; width:36px; height:36px; font-size:22px; }
.house-scene-status { font-size:10px; color:#6c7c5e; text-align:center; }
.house-camera-controls.is-unavailable>div { visibility:hidden; }
.land-house-stats { margin:0 28px; display:grid; grid-template-columns:repeat(3,1fr); padding:18px 0 0; border-top:1px solid #cbd2bd; gap:12px; }
.land-house-stats p { display:flex; flex-direction:column; gap:4px; }
.land-house-stats strong { font:30px/1.1 var(--serif); color:#435a3a; }
.land-house-stats span { font-size:11px; color:#68775e; }
.land-house-note { font-size:10px; color:#718065; line-height:1.7; margin:17px 28px 24px; }
.house-controls { display:flex; flex-direction:column; gap:18px; }
.house-controls fieldset { border:0; padding:0; margin:0; min-width:0; }
.house-controls legend { width:100%; font-size:10px; margin-bottom:9px; }
.house-controls legend small { float:right; font-size:8px; color:#8a937d; }
.house-segments { display:flex; }
.house-segments label { flex:1; position:relative; cursor:pointer; }
.house-segments span { display:block; text-align:center; padding:8px 4px; font-size:10px; border:1px solid #cdd4bf; margin-right:-1px; }
.house-segments input,.house-swatches input { opacity:0; position:absolute; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.house-segments input:checked+span { background:#e4e9d5; border-color:#71865d; position:relative; pointer-events:none; }
.house-segments label:has(:focus-visible),.house-swatches label:has(:focus-visible) { outline:2px solid #71865d; outline-offset:3px; }
.house-control-pair { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.house-control-pair label { display:flex; flex-direction:column; gap:7px; font-size:10px; }
.house-control-pair select { min-width:0; width:100%; padding:8px 7px; background:#f8f7f0; color:#3d5336; border:1px solid #cdd4bf; border-radius:0; font:10px var(--sans); min-height:35px; }
.house-control-pair select:focus-visible { outline:2px solid #71865d; outline-offset:2px; }
.house-swatches { display:flex; gap:19px; }
.house-swatches label { display:flex; flex-direction:column; gap:5px; align-items:center; position:relative; font-size:8px; color:#7d886d; cursor:pointer; }
.house-swatches span { width:29px; height:29px; background:var(--swatch); border:3px solid #f8f7f0; outline:1px solid #c7cdbb; border-radius:50%; pointer-events:none; }
.house-swatches input:checked+span { outline:2px solid #627950; }
.house-terrace-toggle { display:flex; align-items:center; justify-content:space-between; position:relative; font-size:10px; cursor:pointer; }
.house-terrace-toggle input { position:absolute; width:33px; right:0; opacity:0; height:24px; cursor:pointer; }
.house-terrace-toggle i { display:block; width:33px; height:19px; border-radius:20px; background:#c6cfb7; padding:3px; pointer-events:none; }
.house-terrace-toggle i::after { content:''; display:block; width:13px; height:13px; background:#fafbf2; border-radius:50%; transition:transform .2s; }
.house-terrace-toggle input:checked+i { background:#667f50; }
.house-terrace-toggle input:checked+i::after { transform:translateX(14px); }
.house-terrace-toggle input:focus-visible+i { outline:2px solid #71865d; outline-offset:3px; }
.house-position-heading { display:flex; justify-content:space-between; align-items:center; font-size:10px; border-top:1px solid #dbe0cf; padding-top:15px; }
.house-rotate { font-size:9px; color:#71825d; padding:5px 0 5px 8px; }
.house-position { display:flex; align-items:center; gap:9px; font-size:8px; color:#879078; margin-top:-9px; }
.house-position>span { width:33px; }
.house-position>span:last-child { text-align:right; }
.house-position input { width:100%; min-width:0; flex:1; height:20px; accent-color:#657d4f; cursor:pointer; }
.house-controls-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.house-reset { font-size:8px; padding:4px 0; border-bottom:1px solid #bbc5aa; }
.house-save-status { font-size:7px; color:#8c957d; text-align:right; }

.house-controls { margin:25px 0; gap:20px; }
.house-controls legend,.house-control-pair label,.house-terrace-toggle,.house-position-heading { font-size:12px; }
.house-controls legend small,.house-swatches label,.house-position,.house-rotate,.house-reset { font-size:10px; }
.house-segments span { font-size:12px; padding:11px 4px; }
.house-control-pair select { font-size:12px; min-height:42px; }
.house-save-status { font-size:9px; }
.land-chapter[data-land-mode=home] .land-setting,.land-chapter[data-land-mode=home] .land-point-card { display:none; }
.land-chapter[data-land-mode=home] .land-stage { position:sticky; align-self:start; top:92px; height:auto; min-height:0; }
.land-home-panel { position:relative; inset:auto; }
.land-house-drawing { flex:none; height:clamp(150px,calc(100svh - 470px),460px); }
.land-viewer-dialog { width:100vw; height:100dvh; max-width:none; max-height:none; padding:0; margin:0; border:0; background:#f2f0e7; color:#243e2e; overflow:auto; overscroll-behavior:contain; }
.land-viewer-dialog::backdrop { background:#112b23e8; }
.land-dialog-heading { position:sticky; top:0; z-index:8; min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:4px 24px; background:#122b21; color:#eef1d8; }
.land-dialog-heading>span { font-size:10px; letter-spacing:.1em; }
.land-focus-close { display:flex; align-items:center; gap:15px; min-height:40px; padding:7px 0 7px 16px; font-size:12px; }
.land-focus-close svg { width:17px; height:17px; }
.land-viewer-dialog .land-explorer { margin:0; border:0; }
.land-viewer-dialog .land-toolbar { top:48px; }
.land-viewer-dialog .land-expand { display:none; }
.land-viewer-dialog .land-stage { min-height:calc(100dvh - 175px); }
.land-chapter[data-land-mode=home] .land-viewer-dialog .land-stage { top:64px; height:auto; min-height:0; }
.land-viewer-dialog .land-house-drawing { height:clamp(180px,calc(100dvh - 390px),600px); }
@media(max-width:1100px) { .land-workspace { grid-template-columns:minmax(0,1fr) 320px; }.land-choice { padding:22px; }.land-mode-tabs button { padding-inline:15px; }.land-house-heading { padding-inline:22px; } }
@media(max-width:800px) {
 .land-workspace { display:block; }.land-stage { min-height:0; height:470px; }.land-choice { border-left:0; border-top:1px solid #d1d6c7; padding:26px; }
 .land-toolbar { padding:8px; gap:4px; }.land-mode-tabs { flex:1; }.land-mode-tabs button { flex:1; padding:11px 9px; gap:7px; font-size:11px; }.land-mode-tabs button b { font-size:8px; }.land-expand { width:36px; padding:7px; }.land-expand span { display:none; }
 .land-house-heading { padding:19px 20px 0; gap:8px; }.land-house-heading h3 { font-size:30px; }.land-house-heading .eyebrow { font-size:8px; }.house-view-toggle button { padding:6px 9px; font-size:10px; }
 .land-chapter[data-land-mode=home] .land-stage { position:relative; top:auto; height:auto; min-height:0; z-index:4; }.land-house-drawing,.land-viewer-dialog .land-house-drawing { height:clamp(170px,52vw,230px); min-height:0; }.land-house-stats { margin-inline:20px; padding-top:12px; }.land-house-stats strong { font-size:25px; }.land-house-stats span { font-size:10px; }.land-house-note { font-size:9px; margin:11px 20px 15px; }.house-camera-controls { margin:0 20px 12px; }.house-camera-controls button { width:32px; height:32px; }
 .land-viewer-dialog .land-stage { min-height:0; height:65svh; max-height:650px; }.land-dialog-heading { padding-inline:16px; }.land-chapter[data-land-mode=home] .land-viewer-dialog .land-stage { top:auto; height:auto; max-height:none; }
}
@media(max-width:800px) and (max-height:790px) { .land-chapter[data-land-mode=home] .land-stage { position:relative; top:auto; } }
@media(max-width:380px) { .land-mode-tabs button { font-size:10px; padding-inline:6px; gap:5px; }.land-choice { padding:20px; }.land-house-heading h3 { font-size:27px; }.land-house-heading .eyebrow { font-size:7px; }.house-scene-status { font-size:8px; } }

@media(max-width:800px) { .land-mode-tabs button b { display:none; }.land-mode-tabs button { white-space:nowrap; justify-content:center; }.land-mode-tabs button span { line-height:1.4; } }

/* The opening remains one continuous valley; the following chapters own the route. */
.landscape-experience .scene-source { display:none; }
.scene-sound { position:absolute; z-index:7; bottom:25px; left:50%; transform:translateX(-50%); min-height:36px; padding:6px 8px; color:#f4f4dfc9; font:9px var(--sans); display:flex; align-items:center; gap:8px; }
.scene-sound svg { width:17px; height:17px; stroke:currentColor; fill:none; stroke-linejoin:round; stroke-linecap:round; stroke-width:1.1; }
.scene-sound[aria-pressed=true] { color:#e9efb5; }
.scene-sound[aria-pressed=false] svg { opacity:.5; }
.land-chapter { position:relative; background:#172b21; color:#f3f1e4; padding-top:110px; }
.land-chapter .section-label,.land-chapter .section-aside,.land-chapter .land-facts span,.land-chapter > p { color:#b9c5b2; }
.land-chapter > .section-label span { color:#b9c5b2; }
.land-chapter .section-heading h2,.land-chapter .land-facts strong { color:#f3f1e4; }
.land-chapter .section-heading h2 em { color:#c3ceae; }
.land-chapter .land-facts { border-color:#edf1d32b; }
.land-chapter .land-explorer { color:#26362e; }
@media(max-width:800px) {
 .land-chapter { padding-top:76px; }
}
@media(max-width:480px) {
 .scene-sound { font-size:8px; bottom:25px; gap:4px; }
 .scene-sound span { display:none; }
 .scene-sound svg { width:18px; height:18px; }
}
@media print { .scene-sound { display:none; } }

/* The story continues after the valley: Anos, meadow, then a particular plot. */
.place-route { position:relative; background:#172b21; color:#f3f1e4; }
.place-route-nav { position:sticky; top:var(--route-top,79px); z-index:19; display:flex; align-items:center; justify-content:space-between; padding:0 var(--gutter); height:56px; background:#172b21ed; backdrop-filter:blur(16px); border-block:1px solid #d3dcc61c; }
.place-route-caption { font-size:8px; letter-spacing:.19em; color:#b5c1a9; }
.place-route-nav ol { display:flex; gap:35px; align-items:center; list-style:none; margin:0; padding:0; }
.place-route-nav a { min-height:55px; display:flex; align-items:center; gap:9px; font-size:11px; color:#b2bfaa; position:relative; }
.place-route-nav small { font-size:8px; opacity:.5; }
.place-route-nav a::after { content:''; height:2px; position:absolute; bottom:0; left:0; right:0; background:#e5edb8; transform:scaleX(0); transition:transform .35s; transform-origin:left; }
.place-route-nav a[aria-current=step] { color:#f7f7e1; }
.place-route-nav a[aria-current=step]::after,.place-route-nav a:hover::after { transform:scaleX(1); }
.place-screen { position:relative; isolation:isolate; min-height:640px; height:calc(100svh - var(--route-top,80px) - 56px); max-height:1150px; overflow:hidden; scroll-margin-top:calc(var(--route-top,79px) + 56px - var(--route-padding,108px)); }
.place-landscape { position:absolute; inset:-22px 0; z-index:-2; }
.place-landscape img { width:100%; height:100%; display:block; object-fit:cover; transform:translateY(var(--place-y,0px)) scale(var(--place-scale,1.04)); }
.place-screen::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#172b2180,transparent 23%,#14281b20 38%,#14261ce6 89%,#172b21); }
.place-screen .place-copy { position:absolute; left:var(--gutter); bottom:14%; max-width:750px; }
.place-copy .eyebrow { font-size:9px; letter-spacing:.18em; color:#e3e8ce; }
.place-copy h2 { font:400 clamp(65px,7.2vw,112px)/.87 var(--serif); letter-spacing:-.05em; margin:27px 0 22px; }
.place-copy h2 em { color:#e4e8ca; }
.place-copy > p:not(.eyebrow) { font-size:13px; line-height:1.85; max-width:350px; color:#e0e5d6; }
.place-continue { display:inline-flex; align-items:center; gap:45px; border-bottom:1px solid #edf1d370; padding:16px 0; margin-top:15px; font-size:12px; color:#f4f6df; }
.place-continue span { font-size:24px; transition:transform .3s; }
.place-continue:hover span { transform:translate(3px,3px); }
.place-coordinate { position:absolute; right:var(--gutter); top:40px; display:flex; align-items:center; gap:11px; font-size:9px; letter-spacing:.14em; color:#f5f4e2cf; }
.place-coordinate i { display:block; width:5px; height:5px; border-radius:50%; background:#e8edbc; box-shadow:0 0 0 5px #f3f4cc20; }
.place-context { position:absolute; right:var(--gutter); bottom:16%; width:235px; border-top:1px solid #e4e9cf55; padding-top:22px; }
.place-context > span { font-size:8px; letter-spacing:.18em; color:#bec8ad; }
.place-context p { margin:16px 0 18px; font:25px/1.25 var(--serif); color:#eceddb; }
.place-context small { font-size:10px; line-height:1.8; color:#bdc9b4; display:block; }
.place-disclosure { position:absolute; bottom:32px; left:var(--gutter); font-size:7px; letter-spacing:.1em; color:#b9c6ae; max-width:70%; line-height:1.7; }
.place-screen-number { position:absolute; right:var(--gutter); bottom:28px; font:22px var(--serif); color:#d3dbc4; }
.place-meadow .place-landscape img { object-position:50% 50%; }
.place-route .land-chapter { padding-top:68px; scroll-margin-top:calc(var(--route-top,79px) + 56px - var(--route-padding,108px)); }
.place-route .land-chapter .section-heading { margin-bottom:10px; }
.place-route .land-explorer { scroll-margin-top:calc(var(--route-top,79px) + 56px - var(--route-padding,108px)); }
.land-arrival { display:flex; align-items:center; gap:14px; color:#c3cdb4; font-size:9px; letter-spacing:.12em; margin-bottom:31px; }
.land-arrival i { width:50px; height:1px; background:#728969; }
@media(max-width:900px) { .place-context { width:200px; }.place-copy h2 { font-size:86px; }.place-route-caption { display:none; }.place-route-nav { justify-content:center; }.place-route-nav ol { justify-content:space-between; width:100%; max-width:700px; } }
@media(max-width:760px) {
 .place-route-nav { top:var(--route-top,69px); height:48px; padding:0 23px; }.place-route-nav ol { gap:15px; }.place-route-nav a { min-height:47px; font-size:10px; gap:6px; }.place-route-nav small { font-size:7px; }
 .place-screen { height:calc(100svh - var(--route-top,69px) - 48px); min-height:620px; scroll-margin-top:calc(var(--route-top,69px) + 48px - var(--route-padding,90px)); }.place-screen .place-copy { bottom:22%; right:25px; }.place-copy h2 { font-size:clamp(46px,13vw,70px); margin:23px 0; }.place-copy > p:not(.eyebrow) { font-size:11px; max-width:290px; }.place-copy .eyebrow { font-size:8px; }.place-continue { font-size:11px; margin-top:9px; }
 .place-context { bottom:74px; left:var(--gutter); right:var(--gutter); width:auto; padding-top:14px; display:flex; align-items:center; gap:25px; }.place-context p { font-size:19px; margin:0; max-width:210px; }.place-context small { display:none; }.place-context > span { font-size:7px; max-width:75px; line-height:1.6; }
 .place-coordinate { font-size:7px; top:30px; }.place-disclosure { bottom:22px; font-size:6px; max-width:78%; }.place-screen-number { bottom:25px; font-size:18px; }
 .place-route .land-chapter { padding-top:47px; scroll-margin-top:calc(var(--route-top,69px) + 48px - var(--route-padding,90px)); }.land-arrival { font-size:7px; margin-bottom:25px; }.land-arrival i { width:25px; }
 .place-route .land-explorer { scroll-margin-top:calc(var(--route-top,69px) + 48px - var(--route-padding,90px)); }
}
@media(max-width:380px) { .place-route-nav { padding-inline:18px; }.place-route-nav ol { gap:12px; }.place-route-nav a { font-size:9px; }.place-copy h2 { font-size:46px; }.place-screen { min-height:620px; }.place-context { gap:18px; }.place-context p { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .place-route-nav a::after,.place-continue span { transition:none; }.place-landscape img { transform:none; } }
html[data-motion=off] .place-landscape img { transform:none; }
@media print { .place-route-nav { display:none; }.place-screen { min-height:480px; break-inside:avoid; } }

/* Keep the journey captions readable over the sky in portrait crops. */
@media(max-width:760px) { .place-screen::after { background:linear-gradient(180deg,#172b2155,#14261c30 38%,#14261cdd 82%,#172b21),linear-gradient(90deg,#14261c35,transparent); } }
html.in-place-story .quick-select { opacity:0; visibility:hidden; pointer-events:none; }

/* The real meadow leads directly into a compact, useful selection workspace. */
.meadow-chapter { display:grid; grid-template-columns:.85fr 1.15fr; background:#e9eadf; color:#283f2e; scroll-margin-top:calc(var(--route-top,79px) + 56px - var(--route-padding,108px)); }
.meadow-copy { min-width:0; padding:80px 9% 80px var(--gutter); align-self:center; }
.meadow-copy .eyebrow { color:#65745d; }
.meadow-copy h2 { font-size:clamp(48px,5.8vw,88px); line-height:.98; margin:27px 0; }
.meadow-copy h2 em { color:#718064; }
.meadow-copy p { font-size:14px; line-height:1.85; max-width:390px; color:#66715f; }
.meadow-copy .button { margin-top:28px; }
.meadow-secondary { display:block; width:fit-content; font-size:11px; margin-top:21px; border-bottom:1px solid #99a78c; padding-bottom:5px; }
.meadow-map { min-width:0; position:relative; overflow:hidden; min-height:620px; background:#647849; }
.meadow-map img { position:absolute; width:110%; height:110%; max-width:none; left:0; top:-3.4%; object-fit:cover; object-position:48% center; }
.meadow-map::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#11291c80,transparent 30%); pointer-events:none; }
.meadow-location-label { position:absolute; z-index:1; color:#f6f6df; background:#203d2ee8; border:1px solid #cbd7aa99; padding:9px 16px; font-size:12px; box-shadow:0 6px 30px #16342340; }
.meadow-label-anos { left:36%; top:15%; }.meadow-label-meadow { left:47%; top:57%; }
.meadow-map figcaption { position:absolute; z-index:1; bottom:22px; left:25px; right:25px; display:flex; justify-content:space-between; gap:15px; font-size:10px; color:#f0f1d9; }
.place-route .land-chapter { background:#f2f0e7; color:#263e2c; padding-top:65px; padding-bottom:60px; }
.land-section-heading { display:grid; grid-template-columns:1.1fr .8fr; gap:10%; align-items:end; margin-bottom:37px; }
.land-section-heading .eyebrow { color:#78826a; font-size:9px; }
.land-section-heading h2 { font-size:clamp(49px,5.2vw,78px); margin-top:20px; line-height:.99; }
.land-section-heading h2 em { color:#778569; }
.land-section-intro { padding-bottom:4px; max-width:410px; }
.land-section-intro p { font-size:14px; line-height:1.85; color:#66745c; }
.land-section-intro>span { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:12px; margin-top:22px; }
.land-section-intro i { width:3px; height:3px; border-radius:50%; background:#80956b; }.land-section-intro small { font-size:10px; color:#79846d; }
.land-choice-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.land-choice-heading .eyebrow { font-size:8px; color:#7d896e; letter-spacing:.1em; }
.land-save-indicator { font-size:9px; display:flex; align-items:center; gap:5px; color:#728464; }
.land-save-indicator i { width:4px; height:4px; background:#77995a; border-radius:50%; }
.land-choice>h3 { font:34px/1.02 var(--serif); margin:14px 0 21px; }
.land-chapter .plot-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0 0 24px; border:0; padding:0; min-width:0; }
.land-chapter .plot-options legend,.land-setting legend { position:static; clip-path:none; width:auto; height:auto; overflow:visible; font-size:12px; margin-bottom:12px; padding:0; }
.land-chapter .plot-option { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:17px 10px 13px; border:1px solid #cbd2c1; background:transparent; border-radius:0; text-align:left; gap:0; }
.land-chapter .plot-option.selected { border-color:#526d42; background:#e9eddc; }
.land-chapter .plot-area { font:33px/1 var(--serif); letter-spacing:-.03em; margin:0; }
.land-chapter .plot-area small { display:block; font:10px var(--sans); letter-spacing:0; margin-top:7px; color:#68785c; }
.land-chapter .plot-price { font-size:10px; margin-top:13px; white-space:nowrap; }
.land-chapter .plot-check { position:absolute; right:6px; top:7px; width:12px; height:12px; font-size:7px; }
.land-setting { border:0; padding:0; margin:0; min-width:0; }.land-setting>div { display:flex; gap:6px; }
.land-setting label { flex:1; position:relative; cursor:pointer; }
.land-setting input { position:absolute; width:100%; height:100%; opacity:0; inset:0; margin:0; cursor:pointer; }
.land-setting span { display:block; border:1px solid #d0d6c6; padding:10px 4px; text-align:center; font-size:11px; white-space:nowrap; }
.land-setting input:checked+span { border-color:#60784e; background:#e9eddc; }
.land-setting input:focus-visible+span { outline:2px solid #71865d; outline-offset:3px; }
.land-point-card { min-width:0; display:flex; gap:12px; align-items:flex-start; margin:19px 0 0; padding:15px 0; border-block:1px solid #d8ddce; }
.land-point-icon { color:#728567; font-size:23px; line-height:1.1; }.land-point-card>div { min-width:0; flex:1; }
.land-point-status { font-size:12px; font-weight:500; }.land-coordinate { display:block; font-size:11px; text-decoration:underline; text-underline-offset:3px; margin:7px 0; }
.land-point-card p { font-size:11px; line-height:1.65; color:#7b856f; margin-top:5px; }
.land-point-card button { width:32px; min-height:32px; font-size:21px; color:#6c7e5f; padding:0; margin:-7px -8px 0 0; }
.land-price { padding:20px 0 17px; }.land-price>div { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; color:#718064; }
.land-chapter #selected-area { font-size:10px; white-space:nowrap; color:#4e6442; }
.land-chapter #selected-price { font:42px/1.25 var(--serif); letter-spacing:-.025em; margin-top:5px; white-space:nowrap; }
.land-price small { display:block; font-size:10px; color:#7a846f; margin-top:2px; }
.land-primary-cta { display:flex; width:100%; min-height:53px; padding-left:15px; border-radius:0; font-size:11px; gap:6px; }
.land-primary-cta svg { width:30px; height:30px; padding:7px; }
.land-cta-note { margin-top:11px; font-size:10px; color:#7f8973; line-height:1.7; }
.land-next-mode { display:flex; justify-content:space-between; gap:15px; align-items:center; width:100%; font-size:12px; margin-top:17px; padding:10px 0; border-top:1px solid #d8ddce; }.land-next-mode span { font-size:20px; }
.land-explorer-footer { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:18px 25px; background:#ecefe3; border-top:1px solid #cdd5c0; font-size:10px; color:#66795a; }
.land-explorer-footer>span { display:flex; align-items:center; gap:9px; flex-shrink:0; }.land-explorer-footer i { width:5px; height:5px; border-radius:50%; background:#69864e; }.land-explorer-footer p { max-width:470px; font-size:10px; line-height:1.65; }
.land-panel.land-map-panel { display:grid; grid-template-rows:minmax(0,1fr) auto; background:#e8ecdf; }
.land-map-top { position:absolute; top:18px; left:18px; right:18px; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; pointer-events:none; }
.land-districts { display:flex; padding:4px; background:#f6f6ecef; box-shadow:0 3px 18px #20332225; pointer-events:auto; }
.land-districts button { padding:10px 15px; font-size:11px; color:#435c3b; min-height:39px; }.land-districts [aria-pressed=true] { background:#294c33; color:#f2f3dc; }
.land-map-north { display:grid; place-items:center; width:42px; height:42px; border:1px solid #f4f4de90; border-radius:50%; font-size:12px; color:#f5f4df; background:#1f3a2d7d; backdrop-filter:blur(5px); }
.land-satellite-window { position:relative; overflow:hidden; min-height:0; }
.land-map-scroll { width:100%; height:100%; overflow:auto; scrollbar-width:none; overscroll-behavior:contain; touch-action:pan-y; cursor:crosshair; background:#70835e; }
.land-map-scroll::-webkit-scrollbar { display:none; }.land-map-scroll:focus-visible { outline:3px solid #ecf3ba; outline-offset:-4px; }.land-map-scroll.is-dragging { cursor:grabbing; }
.land-canvas { position:relative; overflow:hidden; background:#718361; }
.land-aerial { position:absolute; inset:auto; left:0; top:calc(-48 / 1428 * 100%); width:calc(1536 / 1460 * 100%); height:calc(1536 / 1428 * 100%); max-width:none; object-fit:fill; pointer-events:none; user-select:none; }
.land-map-message { isolation:isolate; position:absolute; left:22px; bottom:76px; right:90px; pointer-events:none; color:#fffdeb; text-shadow:0 1px 10px #18331b; }
.land-map-hint { display:block; max-width:270px; font:30px/1.05 var(--serif); letter-spacing:-.02em; }.land-map-message small { display:block; font-size:10px; margin-top:12px; max-width:270px; }
.land-map-message::before { content:''; position:absolute; z-index:-1; inset:-40px -90px -75px -22px; background:linear-gradient(0deg,#142f24c9,transparent); }
.land-map-tools { position:absolute; right:17px; bottom:76px; display:flex; flex-direction:column; gap:10px; color:#345238; }
.land-focus-parcel,.land-zoom { background:#f7f7ec; box-shadow:0 2px 15px #213d3035; }.land-focus-parcel { width:42px; height:42px; font-size:26px; }
.land-zoom { display:flex; flex-direction:column; }.land-zoom button { width:42px; height:42px; font-size:24px; line-height:1; }.land-zoom button+button { border-top:1px solid #d8ddcf; }
.land-zoom-value { position:absolute; right:22px; bottom:37px; font-size:10px; color:#f5f5dc; text-shadow:0 1px 5px #102618; pointer-events:none; }
.land-scale { position:absolute; bottom:40px; left:22px; display:flex; flex-direction:column; align-items:center; color:#fffdea; font-size:9px; text-shadow:0 1px 4px #142d19; pointer-events:none; }
.land-scale-line { display:block; height:7px; border:solid #fffdea; border-width:0 2px 2px; margin-top:4px; }
.land-satellite-credit { position:absolute; bottom:0; left:0; right:0; background:#203b2de6; padding:7px 20px; color:#eff0de; display:flex; align-items:center; gap:15px; font-size:9px; pointer-events:none; }
.land-satellite-credit a { pointer-events:auto; text-decoration:underline; text-underline-offset:3px; }.land-satellite-credit span { opacity:.7; }
.land-map-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 18px; background:#e8eddd; }
.land-map-foot button,.land-map-foot a { display:inline-flex; gap:12px; align-items:center; padding:8px 0; font-size:11px; min-height:40px; }.land-map-foot>div { display:flex; gap:21px; }.land-map-foot a { border-bottom:1px solid #a1b18c; }
.land-map-loading { position:absolute; top:80px; left:22px; background:#f4f4e6; padding:10px 15px; font-size:11px; color:#294332; box-shadow:0 2px 14px #20342333; }
.land-location-pin { position:absolute; transform:translate(-50%,-100%); pointer-events:none; display:flex; flex-direction:column-reverse; align-items:center; gap:9px; }
.land-location-pin span,.land-plot-pin span { display:block; width:22px; height:22px; background:#e6f0a5; border:4px solid #fffef0; border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 3px 10px #162b3270; }
.land-location-pin b { color:#eff2d9; background:#203e2e; padding:8px 12px; font:500 11px var(--sans); white-space:nowrap; box-shadow:0 3px 12px #152f3030; }
.land-plot-panel { display:grid; grid-template-rows:minmax(180px,.7fr) auto; background:#edf0e4; }
.land-plot-satellite-frame { position:relative; overflow:hidden; background:#637b50; }
.land-plot-satellite { position:absolute; width:200%; height:200%; max-width:none; object-fit:fill; }
.land-plot-pin { position:absolute; transform:translate(-50%,-100%); }
.land-plot-source { position:absolute; bottom:13px; left:22px; color:#fbffe2; font-size:9px; text-shadow:0 1px 4px #102b19; }
.land-brief-badge { position:absolute; top:21px; left:22px; font-size:9px; letter-spacing:.08em; padding:8px 12px; background:#f0f1dcf0; color:#2e4c32; }
.land-plot-summary { padding:26px 30px; color:#27442e; }.land-plot-summary .eyebrow { font-size:8px; color:#7a8b6c; }
.land-plot-summary h3 { font:39px/1.02 var(--serif); margin:12px 0 19px; }
.land-summary-list { margin:0; font-size:12px; }.land-summary-list>div { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:10px 0; border-bottom:1px solid #cdd7be; }.land-summary-list dt { color:#728563; }.land-summary-list dd { margin:0; text-align:right; }
.land-plot-point-note { margin:14px 0 20px; color:#7a886c; font-size:10px; line-height:1.7; }
.land-wishes { display:block; font-size:12px; }.land-wishes>span { font-size:10px; color:#809070; margin-left:8px; }
.land-wishes textarea { display:block; font:12px/1.7 var(--sans); color:#304b31; border:1px solid #c4cfb5; border-radius:0; background:#f8f9f1; padding:12px; margin-top:8px; width:100%; min-height:76px; max-height:130px; resize:vertical; }
.land-wishes textarea:focus-visible { outline:2px solid #6f8955; outline-offset:2px; }.land-wishes textarea::placeholder { color:#88937c; }
.land-save-choice { display:flex; gap:25px; align-items:center; font-size:12px; margin-top:15px; padding:9px 0; border-bottom:1px solid #91a67b; }
.land-after { display:grid; grid-template-columns:.7fr 1.6fr; gap:7%; padding-top:40px; }.land-after>p { font:31px/1.12 var(--serif); }.land-after>p em { color:#7c896c; }
.land-after ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.land-after li { display:flex; gap:12px; }.land-after b { font:24px var(--serif); color:#9aa888; }.land-after li>span { font-size:11px; }.land-after small { display:block; font-size:10px; line-height:1.7; color:#87917b; margin-top:7px; }
@media(max-width:1100px) { .land-map-foot { flex-wrap:wrap; gap:0 12px; }.land-map-foot>div { gap:20px; }.land-choice-heading .eyebrow { font-size:7px; }.land-chapter .plot-option { padding-inline:8px; }.land-chapter .plot-price { font-size:9px; }.land-after { grid-template-columns:1fr; gap:25px; }.meadow-copy { padding-block:60px; }.meadow-map { min-height:570px; } }
@media(max-width:800px) {
 .meadow-chapter { grid-template-columns:1fr; }.meadow-copy { padding:50px var(--gutter) 40px; }.meadow-copy h2 { font-size:clamp(39px,11.8vw,65px); margin:23px 0; }.meadow-copy p { max-width:530px; font-size:13px; }.meadow-map { min-height:0; height:440px; }.meadow-map img { height:auto; min-height:110%; object-fit:fill; top:-3.4%; }.meadow-label-anos { top:12%; }.meadow-label-meadow { top:65%; }
 .place-route .land-chapter { padding-top:44px; padding-bottom:40px; }.land-section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:27px; }.land-section-heading h2 { font-size:55px; margin-top:17px; }.land-section-intro p { font-size:13px; }.land-section-intro>span { margin-top:15px; }
 .land-choice-heading .eyebrow { font-size:8px; }.land-choice>h3 { font-size:37px; margin-top:17px; }.land-choice>h3 br { display:none; }
 .land-chapter .plot-options { gap:9px; }.land-chapter .plot-option { padding:17px 13px 14px; }.land-chapter .plot-price { font-size:11px; }.land-chapter .plot-area { font-size:37px; }.land-setting span { font-size:12px; }
 .land-price>div { font-size:12px; }.land-chapter #selected-area { font-size:11px; }.land-chapter #selected-price { font-size:45px; }.land-primary-cta { font-size:13px; min-height:56px; }.land-price small,.land-cta-note { font-size:11px; }
 .land-explorer-footer { display:block; padding:20px 24px; font-size:11px; }.land-explorer-footer p { margin-top:10px; }
 .land-map-top { top:15px; left:15px; right:15px; }.land-districts button { padding:9px 12px; }.land-map-hint { font-size:28px; }.land-map-message small { font-size:9px; }.land-map-message { left:18px; bottom:75px; right:76px; }.land-map-tools { right:14px; }
 .land-map-foot { padding:10px 16px; }.land-map-foot>div { width:100%; justify-content:space-between; }.land-map-foot button,.land-map-foot a { font-size:11px; min-height:34px; padding:5px 0; }.land-map-north { width:36px; height:36px; }
 .land-chapter[data-land-mode=plot] .land-stage,.land-chapter[data-land-mode=plot] .land-viewer-dialog .land-stage { height:auto; min-height:0; max-height:none; }.land-plot-panel { position:relative; grid-template-rows:220px auto; }.land-plot-summary { padding:25px; }.land-plot-summary h3 { font-size:37px; }.land-summary-list { font-size:12px; }.land-summary-list>div { gap:15px; }.land-brief-badge { font-size:8px; }
 .land-after>p { font-size:31px; }.land-after ol { grid-template-columns:1fr; gap:20px; }.land-after li { gap:18px; }.land-after li>span { font-size:13px; }.land-after small { margin-top:3px; font-size:11px; }
}
@media(max-width:380px) { .land-section-heading h2 { font-size:47px; }.meadow-copy h2 { font-size:clamp(39px,11.8vw,45px); }.meadow-map { height:350px; }.land-choice>h3 { font-size:33px; }.land-choice-heading .eyebrow { font-size:7px; }.land-save-indicator { font-size:8px; }.land-chapter .plot-option { padding-inline:9px; }.land-chapter .plot-area { font-size:31px; }.land-chapter .plot-price { font-size:9px; }.land-chapter .plot-options { gap:5px; }.land-primary-cta { font-size:11px; }.land-map-hint { font-size:25px; }.land-districts button { font-size:10px; padding-inline:10px; }.land-plot-summary { padding:21px; }.land-plot-summary h3 { font-size:32px; }.land-explorer-footer>span { font-size:9px; }.meadow-map figcaption { font-size:8px; }.land-map-message small { max-width:160px; } }

.button-forest { background:#294b35; color:#f5f5e7; }
.button-forest>svg { background:#e2ebc1; color:#294b35; }
.button-forest:hover { background:#3a5e40; }
@media(min-width:801px) { .land-choice>h3 { font-size:31px; margin:12px 0 18px; }.land-chapter .plot-option { padding-block:13px 11px; }.land-chapter .plot-options { margin-bottom:20px; }.land-chapter .plot-price { margin-top:9px; }.land-price { padding-top:17px; }.land-setting legend { margin-bottom:9px; } }

/* Keep the map invitation and zoom tools visible without scrolling the workspace. */
.land-map-message { top:87px; bottom:auto; left:19px; right:83px; max-width:305px; padding:12px 14px; background:#203a2de6; text-shadow:none; }
.land-map-message::before { display:none; }
.land-map-hint { font:500 13px/1.5 var(--sans); letter-spacing:0; }
.land-map-message small { font-size:9px; line-height:1.6; margin-top:4px; color:#d2ddc3; }
.land-map-tools { top:87px; bottom:auto; }
@media(max-width:800px) { .land-map-message { top:77px; left:15px; right:74px; padding:10px 12px; }.land-map-hint { font-size:11px; }.land-map-message small { font-size:8px; }.land-map-tools { top:77px; } }

/* A continuous landscape, with three open chapters of future destinations. */
.story-anchor { display:block; height:0; scroll-margin-top:150px; }
.location-chapter,.atlas,.development-story { background:#14291f; color:#f2f0e4; }
.location-chapter,.atlas,.development-story { scroll-margin-top:calc(var(--route-top,79px) + 56px - var(--route-padding,108px)); }
.location-chapter .place-anos { min-height:700px; height:calc(100svh - 136px); max-height:1050px; }
.place-anos .place-copy { bottom:16%; max-width:900px; }
.place-anos .place-copy h2 { font-size:clamp(64px,7.7vw,116px); }
.place-anos .place-copy > p:not(.eyebrow) { max-width:405px; font-size:14px; }
.location-context { display:grid; grid-template-columns:.7fr 1.25fr 1fr; gap:6%; align-items:center; padding:56px var(--gutter) 64px; background:#172e24; }
.location-map { max-width:260px; }
.location-map img { width:100%; height:auto; }
.location-map figcaption { font-size:8px; color:#9eaf97; padding-top:9px; }
.location-context .eyebrow { color:#bac8a8; font-size:9px; }
.location-context h3 { font-size:37px; margin:16px 0; }
.location-context p:not(.eyebrow) { font-size:13px; line-height:1.85; color:#c0cdb9; }
.location-future { border-left:1px solid #baca9c33; padding-left:30px; }
.location-future > span { font:60px/1 var(--serif); color:#e4eacb; }.location-future small { font-size:23px; }
.location-future > p { margin-top:18px; }
.location-future .manifesto { margin:19px 0 0; font:24px/1.2 var(--serif); max-width:290px; }
.location-context .ink-word { color:#dfe6cd; }
.atlas { padding:0; overflow:visible; }
.atlas-intro { padding:105px var(--gutter) 58px; max-width:1600px; }
.atlas-intro > .eyebrow { color:#b0c09e; font-size:10px; margin-bottom:30px; }
.atlas-intro h2 { font-size:clamp(68px,8vw,122px); line-height:.94; }
.atlas-intro > p:not(.eyebrow) { font-size:15px; line-height:1.9; color:#b9c9ae; max-width:525px; margin-top:32px; }
.atlas-intro .concept-pill { color:#b9c9ae; font-size:9px; margin-top:23px; }
.atlas .gallery-toolbar { margin:0; padding:0 var(--gutter) 24px; align-items:center; border-bottom:1px solid #c2d0a72b; }
.atlas .filter { font-size:12px; border-radius:0; padding:11px 18px; }
.atlas-toolbar-hint { color:#92a88a; font-size:8px; letter-spacing:.1em; }
.atlas .gallery-result { margin:0; padding:15px var(--gutter) 0; font-size:10px; color:#92a88a; }
.atlas .gallery { display:block; margin:0; padding:0; overflow:visible; scroll-snap-type:none; }
.atlas-act { padding-top:50px; scroll-margin-top:150px; }
.atlas-act-heading { display:grid; grid-template-columns:80px 1.2fr .85fr; align-items:end; gap:35px; padding:0 var(--gutter) 35px; }
.atlas-act-number { font:72px/1 var(--serif); color:#819674; }
.atlas-act-heading .eyebrow { color:#b3c6a5; font-size:9px; letter-spacing:.2em; margin-bottom:12px; }
.atlas-act-heading h2 { font-size:clamp(32px,3.6vw,58px); line-height:1.05; }
.atlas-act-heading > p { font-size:13px; line-height:1.85; color:#aec1a4; max-width:390px; }
.atlas .place-card { min-width:0; height:auto; margin:0; scroll-snap-align:none; background:transparent; }
.atlas .place-card::after { display:none; }
.atlas .place-top { top:23px; left:24px; right:24px; padding:0; }
.atlas .place-top > span:first-child { font-size:8px; letter-spacing:.1em; padding:5px 9px; background:#12251db8; }
.atlas .small-circle { width:34px; height:34px; background:#132d2355; }
.atlas .place-card:hover .small-circle { transform:rotate(0); }
.atlas .atlas-lead { height:clamp(520px,77svh,900px); overflow:hidden; isolation:isolate; }
.atlas .atlas-lead > picture { position:absolute; inset:0; aspect-ratio:auto; height:100%; width:100%; z-index:-2; }
.atlas .atlas-lead > picture img { width:100%; height:100%; object-fit:cover; object-position:center 48%; transform:scale(var(--place-scale,1.03)); filter:saturate(.86); }
.atlas .atlas-lead::after { content:''; display:block; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#0d221be8,transparent 66%),linear-gradient(90deg,#10261c30,transparent 65%); }
.atlas .atlas-lead .place-top { left:var(--gutter); right:var(--gutter); top:30px; }
.atlas .atlas-lead .place-bottom { position:absolute; left:var(--gutter); right:var(--gutter); bottom:46px; padding:0; border:0; max-width:720px; }
.atlas .atlas-lead h3 { font-size:clamp(58px,7vw,108px); line-height:.95; color:#f9f5e8; margin:0 0 19px; }
.atlas .atlas-lead .place-bottom > p { font-size:14px; max-width:450px; color:#d1dac3; }
.atlas-open-hint { display:flex; align-items:center; gap:36px; font-size:10px; color:#e1e8cd; margin-top:20px; }
.atlas-open-hint > span { font-size:20px; }
.atlas-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:26px; row-gap:38px; padding:38px var(--gutter) 55px; }
.atlas-card-wide { grid-column:span 2; }
.atlas .atlas-card > picture { width:100%; height:clamp(220px,24vw,370px); aspect-ratio:auto; overflow:hidden; }
.atlas .atlas-card > picture img { width:100%; height:100%; object-fit:cover; transform:none; object-position:var(--atlas-focus,50% 50%); filter:saturate(.85); transition:transform 1s var(--ease),filter .6s; }
.atlas .atlas-card-wide > picture img { object-position:50% 58%; }
.atlas .atlas-card[data-concept="12"] { --atlas-focus:73% 50%; }
.atlas .atlas-card[data-concept="15"] { --atlas-focus:65% 50%; }
.atlas .atlas-card:hover > picture img { transform:scale(1.025); filter:saturate(1); }
.atlas .atlas-card .place-bottom { position:static; padding:19px 0 18px; margin:0; border-bottom:1px solid #b9c9a92e; }
.atlas .atlas-card h3 { color:#edf0dc; font-size:clamp(27px,2.9vw,44px); line-height:1.04; margin:0; }
.atlas .atlas-card p { color:#aabc9f; font-size:12px; line-height:1.7; margin-top:10px; }
.atlas .atlas-card .atlas-open-hint { display:none; }
.atlas-act:nth-child(2) { background:#1c342b; }
.atlas-act:nth-child(3) { background:#172824; }
.atlas-outro { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:44px var(--gutter); border-top:1px solid #c2d0a72b; background:#172824; }
.atlas-outro > p { max-width:650px; color:#c4d0b9; font:29px/1.2 var(--serif); }
.atlas-outro .text-link { color:#e1e8ce; flex-shrink:0; font-size:12px; }
.development-story { display:grid; grid-template-columns:.85fr 1.2fr; gap:10%; padding:66px var(--gutter); background:#1d342b; }
.development-story > div > .eyebrow { color:#aabe9c; font-size:9px; margin-bottom:18px; }
.development-story h2 { font-size:clamp(44px,4.5vw,70px); }.development-story h2 em { color:#bbcaaa; }
.development-plan > p { color:#b7c8aa; font-size:13px; line-height:1.9; }
.development-details { border-block:1px solid #c0ceac40; margin-top:24px; }
.development-details summary { display:flex; justify-content:space-between; align-items:center; gap:16px; list-style:none; cursor:pointer; padding:19px 0; font-size:13px; color:#e5e9d5; }
.development-details summary::-webkit-details-marker { display:none; }
.development-details summary small { font-size:10px; margin-left:16px; color:#a7ba97; }
.disclosure-plus { display:grid; place-items:center; width:34px; height:34px; border:1px solid #b7c69d66; border-radius:50%; flex-shrink:0; font:24px/1 var(--serif); }
details[open] > summary .disclosure-plus { transform:rotate(45deg); }
.development-details > p { font-size:12px; color:#b7c8aa; line-height:1.8; margin:10px 0 30px; }
.development-details .timeline { padding-bottom:25px; }.development-details .timeline-number { background:#233e30; color:#dce6c5; }
.development-details .timeline-step h3 { font-size:28px; color:#dfe6ce; }.development-details .timeline-step p { font-size:12px; color:#aebe9f; }
.development-details .timeline-step .eyebrow { color:#a0b58f; font-size:9px; }
.development-story .story-source { font-size:9px; color:#8fa586; margin-top:18px; }
.story-bridge { height:720px; min-height:0; max-height:none; }.story-bridge .place-copy { bottom:110px; max-width:800px; }
.story-bridge .place-copy h2 { font-size:clamp(64px,7.6vw,112px); }.story-bridge .place-copy > p:not(.eyebrow) { max-width:430px; font-size:14px; }
.land-howto { display:flex; gap:35px; list-style:none; margin:25px 0 28px; padding:0; font-size:12px; color:#c1cdb7; }
.land-howto li { display:flex; align-items:center; gap:12px; }.land-howto span { font-size:9px; color:#e6ebca; border:1px solid #a6bb894d; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; flex-shrink:0; }
.place-route .living { background:var(--paper); color:var(--ink); padding-top:85px; }
@media(max-width:1000px) {
 .location-context { gap:4%; grid-template-columns:.7fr 1.3fr; }.location-future { grid-column:1/-1; display:flex; align-items:center; gap:30px; padding:25px 0 0; border-left:0; border-top:1px solid #baca9c33; }.location-future > p { margin:0; max-width:330px; }.location-future .manifesto { margin:0; max-width:260px; }
 .atlas-act-heading { grid-template-columns:55px 1fr; gap:20px; }.atlas-act-number { font-size:55px; }.atlas-act-heading > p { grid-column:2; max-width:510px; }
 .atlas-toolbar-hint { display:none; }.atlas-grid { gap:25px 18px; }.atlas .atlas-card h3 { font-size:29px; }
 .atlas-outro { display:block; }.atlas-outro .text-link { margin-top:25px; }
 .development-story { gap:6%; }
}
@media(max-width:760px) {
 .location-chapter .place-anos { min-height:660px; height:calc(100svh - 120px); }.place-anos .place-copy { bottom:100px; }.place-anos .place-copy h2 { font-size:clamp(50px,10vw,78px); }.place-anos .place-copy > p:not(.eyebrow) { font-size:13px; max-width:350px; }
 .location-context { padding:35px var(--gutter) 43px; grid-template-columns:1fr 1.5fr; gap:25px; }.location-map figcaption { font-size:7px; }.location-context h3 { font-size:31px; margin:12px 0; }.location-context .eyebrow { font-size:8px; }.location-context p:not(.eyebrow) { font-size:12px; }
 .location-future { gap:25px; }.location-future > span { font-size:49px; flex-shrink:0; }.location-future .manifesto { display:none; }
 .atlas-intro { padding:60px var(--gutter) 33px; }.atlas-intro h2 { font-size:clamp(57px,10.5vw,80px); }.atlas-intro > .eyebrow { font-size:8px; margin-bottom:24px; max-width:270px; }.atlas-intro > p:not(.eyebrow) { font-size:13px; margin-top:25px; }.atlas-intro .concept-pill { font-size:7px; padding:8px 10px; }
 .atlas .gallery-toolbar { padding-bottom:18px; }.atlas .filter-group { gap:3px; }.atlas .filter { font-size:10px; padding:9px 10px; }.atlas .filter > span { font-size:8px; margin-left:7px; }
 .atlas-act { padding-top:34px; }.atlas-act-heading { padding-bottom:25px; grid-template-columns:35px 1fr; gap:15px; }.atlas-act-number { font-size:42px; }.atlas-act-heading h2 { font-size:36px; }.atlas-act-heading .eyebrow { font-size:8px; margin-bottom:10px; }.atlas-act-heading > p { font-size:12px; }
 .atlas .atlas-lead { height:70svh; min-height:480px; max-height:760px; }.atlas .atlas-lead .place-top { top:23px; }.atlas .atlas-lead .place-bottom { bottom:35px; }.atlas .atlas-lead h3 { font-size:clamp(49px,10vw,75px); max-width:530px; }.atlas .atlas-lead .place-bottom > p { font-size:12px; max-width:330px; }
 .atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:26px var(--gutter) 35px; gap:24px 16px; }.atlas .atlas-card > picture { height:clamp(180px,32vw,280px); }.atlas .atlas-card-wide > picture { height:clamp(260px,60vw,410px); }
 .atlas .atlas-card h3 { font-size:29px; }.atlas .atlas-card p { font-size:11px; }.atlas .atlas-card .place-bottom { padding-top:15px; }.atlas .atlas-card .place-top { top:10px; left:10px; right:10px; }.atlas .atlas-card .place-top > span:first-child { font-size:6px; padding:4px 6px; }.atlas .atlas-card .small-circle { width:25px; height:25px; }.atlas .atlas-card .small-circle svg { width:13px; height:13px; }
 .atlas-grid .atlas-card:last-child:nth-child(odd) { grid-column:span 2; }.atlas-grid .atlas-card:last-child:nth-child(odd) > picture { height:clamp(250px,50vw,350px); }
 .atlas-outro { padding-block:34px; }.atlas-outro > p { font-size:26px; }
 .development-story { display:block; padding-block:43px; }.development-story h2 { font-size:45px; }.development-plan { margin-top:25px; }.development-details summary { font-size:12px; }.development-details summary small { display:block; margin:4px 0 0; }
 .story-bridge { height:630px; min-height:0; }.story-bridge .place-copy { bottom:100px; }.story-bridge .place-copy h2 { font-size:61px; }.story-bridge .place-copy > p:not(.eyebrow) { font-size:13px; }
 .land-howto { flex-direction:column; gap:12px; font-size:12px; margin-top:24px; }.place-route .living { padding-top:58px; }
}
@media(max-width:480px) {
 .location-context { grid-template-columns:1fr; }.location-map { max-width:none; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; }.location-map img { width:100%; }.location-map figcaption { font-size:10px; max-width:115px; }.location-nearby { padding-top:8px; }.location-context h3 { font-size:34px; }.location-context p:not(.eyebrow) { font-size:13px; }
 .atlas .atlas-card h3 { font-size:25px; }.atlas .atlas-card p { font-size:10px; }.atlas .atlas-card > picture { height:190px; }.atlas .atlas-card-wide > picture { height:280px; }
 .atlas .atlas-lead[data-concept="0"] > picture img { object-position:57% center; }.atlas .atlas-lead[data-concept="1"] > picture img { object-position:60% center; }
}
@media(max-width:380px) {
 .place-route-nav a { font-size:8px; }.place-route-nav ol { gap:9px; }.place-anos .place-copy h2 { font-size:48px; }.atlas-intro h2 { font-size:54px; }.atlas .filter { font-size:9px; padding-inline:8px; }.atlas-grid { gap:22px 12px; }.atlas .atlas-card h3 { font-size:22px; }.atlas .atlas-card > picture { height:168px; }.atlas .atlas-card-wide > picture { height:248px; }.atlas-act-heading h2 { font-size:31px; }.story-bridge .place-copy h2 { font-size:53px; }
}
@media(prefers-reduced-motion:reduce) { .atlas .atlas-card > picture img { transition:none; }.atlas .atlas-lead > picture img { transform:none; } }
html[data-motion=off] .atlas .atlas-lead > picture img { transform:none; }


/* One primary action per screen; secondary tools open only when requested. */
.header .header-cta { background:transparent; color:inherit; border-color:currentColor; padding-inline:19px; font-size:12px; font-weight:400; }
.header .header-cta svg { display:none; }
.header .desktop-nav { font-size:13px; }
.on-horizon .header,.on-horizon .header.scrolled { padding-block:15px; background:transparent; color:var(--scene-header-ink,#233a2d); backdrop-filter:none; }
.on-horizon .desktop-nav { background:none; color:inherit; padding:0; border:0; border-radius:0; box-shadow:none; }
.header .brand>svg { width:32px; height:27px; }
.header .brand>span { font-size:34px; }
.reading-progress { height:1px; background:#b8c0ad; }
main h2 em { font-style:normal; }
.button { border-radius:0; font-weight:400; box-shadow:none; }
.button>svg,.button-forest>svg,.button-lime>svg,.land-primary-cta>svg { width:20px; height:20px; padding:0; border-radius:0; background:none; color:inherit; }
.button:hover>svg { transform:translate(2px,-2px); }
.button-lime { background:#e8e6da; }
.button-lime:hover { background:#f1efe6; box-shadow:none; }
.horizon-after h2 { font-size:clamp(50px,6vw,88px); line-height:1.04; }
.horizon-after h2 em { color:inherit; }
.horizon-discover>span { border:0; width:22px; }
.horizon-discover:hover>span { background:none; }
.landscape-experience.is-immersive { height:180svh; }
.landscape-experience .hero-bottom-copy { font-size:14px; line-height:1.8; }
.landscape-experience .hero-footer { width:fit-content; right:auto; bottom:32px; }
.landscape-experience .scroll-cue { min-height:44px; }
.landscape-experience .scroll-cue>span:last-child { font-size:11px; letter-spacing:.04em; }
.landscape-experience .scene-source { display:none; }
.scene-tools { display:flex; justify-content:flex-end; gap:30px; left:auto; bottom:32px; }
.scene-settings { position:relative; color:#f7f6e9; font-size:12px; }
.scene-settings>summary { display:flex; align-items:center; gap:20px; min-height:44px; cursor:pointer; list-style:none; border-bottom:1px solid #f2f0df80; }
.scene-settings>summary::-webkit-details-marker { display:none; }
.scene-settings>summary span { font-size:20px; }
.scene-settings[open]>summary span { transform:rotate(45deg); }
.scene-settings-panel { position:absolute; right:0; bottom:60px; width:310px; max-height:calc(100dvh - 220px); overflow-y:auto; overscroll-behavior:contain; padding:24px; background:#213b30f5; border:1px solid #b4c3a355; box-shadow:0 12px 45px #0a1d1855; }
.scene-settings-title { font-size:11px; color:#c5d2bb; margin-bottom:10px; }
.scene-rest-exit { display:flex; align-items:center; gap:24px; min-height:48px; padding:10px 18px; font-size:13px; color:#f4f4e7; border:1px solid #cbd7b866; background:#18382cbd; }
.scene-rest-exit[hidden],.is-resting .scene-settings,.landscape-experience.is-resting .hero-postcard { display:none; }
.scene-rest-exit>span { font-size:21px; }
.scene-settings .scene-actions { justify-content:space-between; gap:14px; }
.scene-settings .scene-rest,.scene-settings .scene-breeze { min-height:44px; font-size:12px; }
.scene-settings .scene-light-control { padding-block:18px; margin-top:12px; border-block:1px solid #b4c3a333; }
.scene-settings .scene-light { font-size:13px; justify-content:space-between; }
.scene-settings .scene-light>button { min-width:40px; min-height:44px; }
.scene-settings .scene-cycle { position:static; transform:none; margin:4px auto 0; font-size:12px; min-height:44px; }
.scene-preferences { display:grid; gap:4px; padding-top:12px; }
.scene-settings .scene-sound { position:static; transform:none; font-size:13px; padding:6px 0; min-height:44px; }
.scene-settings .scene-sound span { display:inline; }
.scene-settings .motion-toggle { min-height:44px; font-size:12px; }
.landscape-experience .hero-postcard { min-height:44px; }
.landscape-experience .postcard-bottom>span { font-size:12px; }
.landscape-experience .postcard-bottom small { font-size:10px; }

/* The route is an introduction, not a second persistent navigation bar. */
.place-route-nav { position:relative; top:auto; z-index:1; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); backdrop-filter:none; height:72px; }
.place-route-caption { color:#66745f; font-size:10px; letter-spacing:.08em; }
.place-route-nav a,.place-route-nav a[aria-current=step] { color:#40563b; font-size:12px; }
.place-route-nav a::after { background:#6b8258; }
.place-route-nav small { font-size:10px; }
.anos-chapter,.meadow-chapter,.place-route .land-chapter,.place-route .land-explorer,.atlas,.development-story { scroll-margin-top:0; }
.anos-intro { padding-block:76px; }
.anos-description,.meadow-copy p,.land-section-intro p { font-size:15px; line-height:1.8; color:#596b52; }
.anos-photo-credit { color:#65735b; font-size:10px; }
.anos-river-photo figcaption { font-size:10px; color:#65735b; }
.anos-copy>.eyebrow,.meadow-copy .eyebrow,.land-section-heading .eyebrow { font-size:10px; color:#637456; }
.anos-next { margin-top:27px; padding-top:18px; }
.anos-next>span { font-size:10px; color:#65735b; }
.meadow-copy { padding-block:64px; }
.meadow-map { min-height:560px; }
.meadow-copy h2 { font-size:clamp(50px,5.8vw,84px); }
.place-route .land-chapter { padding-block:76px; }
.land-section-heading { margin-bottom:38px; }
.land-section-heading h2 { font-size:clamp(52px,5.7vw,82px); }

/* The map and the price get space; preferences do not compete with the CTA. */
.land-explorer { box-shadow:none; border-color:#d2d7cb; }
.place-route .land-toolbar { position:relative; top:auto; padding:8px 16px; background:#f8f7ef; color:#294630; border-bottom:1px solid #d0d7c7; z-index:5; }
.land-mode-tabs { gap:15px; }
.land-mode-tabs button { font-size:14px; min-height:48px; color:#62735a; padding:10px 15px; }
.land-mode-tabs button[aria-selected=true] { background:transparent; color:#213f2d; box-shadow:inset 0 -2px #3c623d; }
.land-mode-tabs button:hover:not([aria-selected=true]) { background:#e8eddf; color:#294630; }
.land-expand { font-size:12px; }
.land-workspace { grid-template-columns:minmax(0,1fr) 360px; }
.land-stage { min-height:540px; }
.land-choice { padding:28px; background:#faf9f5; }
.land-choice-heading { margin-bottom:25px; }
.land-choice-heading h3 { font:32px/1.1 var(--serif); }
.land-save-indicator { font-size:11px; color:#68785d; }
.land-chapter .plot-options { gap:8px; margin-bottom:18px; }
.land-chapter .plot-options legend { font-size:13px; margin-bottom:12px; }
.land-chapter .plot-option { min-height:92px; padding:16px 12px; }
.land-chapter .plot-option.selected { background:#ecefe7; border-color:#68775d; }
.land-chapter .plot-area { font-size:34px; }
.land-chapter .plot-area small { font-size:12px; margin-top:7px; }
.land-preferences,.house-position-details { border-block:1px solid #d1d8c6; }
.land-preferences>summary,.house-position-details>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; min-height:50px; font-size:13px; cursor:pointer; }
.land-preferences>summary::-webkit-details-marker,.house-position-details>summary::-webkit-details-marker { display:none; }
.land-preferences>summary>span,.house-position-details>summary>span { font-size:20px; }
.land-preferences>summary>small { font-size:11px; margin-left:auto; color:#637657; }
.land-preferences[open]>summary>span,.house-position-details[open]>summary>span { transform:rotate(45deg); }
.land-preferences .land-setting { padding:6px 0 18px; }
.land-setting legend { font-size:12px; color:#617256; }
.land-setting span { font-size:12px; min-height:44px; }
.land-price { padding:24px 0; }
.land-price>div,.land-chapter #selected-area { font-size:12px; color:#617256; }
.land-chapter #selected-price { font-size:43px; }
.land-price small { font-size:11px; line-height:1.7; color:#617256; }
.land-primary-cta { font-size:14px; min-height:56px; padding-left:18px; }
.land-cta-note { font-size:12px; line-height:1.65; color:#65755c; }
.land-point-card[hidden] { display:none; }
.land-point-card { border-bottom:0; padding-bottom:0; }
.land-point-card button { min-width:44px; min-height:44px; margin:-10px -10px 0 0; }
.land-point-card p { font-size:12px; }
.land-point-status { font-size:13px; }
.land-explorer-footer { padding:16px 22px; }
.land-explorer-footer p { font-size:12px; max-width:none; line-height:1.7; margin:0; color:#5b7052; }
.land-map-message { top:auto; bottom:64px; right:80px; left:20px; max-width:360px; background:#f7f7edf2; color:#314e32; padding:10px 14px; }
.land-map-hint { font-size:12px; line-height:1.6; }
.land-map-tools { top:90px; bottom:auto; }
.land-districts button { font-size:12px; min-height:44px; }
.land-focus-parcel,.land-zoom button { width:44px; height:44px; }
.land-map-foot { padding:8px 20px; }
.land-map-foot>div { width:100%; justify-content:space-between; }
.land-map-foot a { font-size:12px; min-height:44px; }
.land-scale,.land-satellite-credit,.land-zoom-value { font-size:10px; }
.house-position-details { margin-top:18px; padding-bottom:2px; }
.house-position-details[open] { padding-bottom:16px; }
.house-position-details>summary { font-size:12px; }
.house-controls legend,.house-control-pair label,.house-terrace-toggle,.house-swatches label { font-size:12px; }
.house-control-pair select { min-height:44px; font-size:13px; }
.house-controls .house-segments span { min-height:44px; font-size:13px; }
.land-house-note { font-size:11px; line-height:1.7; }
.land-wishes textarea { font-size:14px; }
.land-plot-summary .eyebrow { font-size:10px; }
.land-summary-list,.land-wishes,.land-save-choice { font-size:14px; }
.land-plot-point-note { font-size:12px; }
.land-brief-badge { font-size:10px; }
.land-chapter[data-land-mode=home] .land-preferences { display:none; }
.land-house-heading { padding:22px 24px 0; gap:12px; }
.land-house-heading h3 { margin:0; font-size:32px; }
.land-house-drawing { min-height:100px; }
.land-house-stats { margin-inline:24px; }
.house-camera-controls { margin:0 24px 14px; }
.land-house-note { margin:14px 24px 20px; }
/* A saved brief has variable text and must participate in normal document flow. */
.land-chapter[data-land-mode=plot] .land-stage { height:auto; min-height:0; max-height:none; }
.land-plot-panel { position:relative; grid-template-rows:180px auto; }
.land-plot-summary { padding:28px 32px 32px; }
.land-plot-summary h3 { margin:0 0 20px; font-size:38px; }
.land-save-choice { min-height:44px; }


/* A short editorial selection, with the full concept catalogue behind a disclosure. */
.atlas { padding:90px var(--gutter) 42px; }
.atlas-intro { display:grid; grid-template-columns:1.25fr 1fr; align-items:end; gap:10%; padding:0; margin-bottom:38px; }
.atlas-intro .eyebrow { font-size:10px; color:#c2cdae; margin-bottom:22px; }
.atlas-intro h2 { font-size:clamp(44px,4.5vw,64px); line-height:1.08; }
.atlas-intro>p { font-size:15px; line-height:1.85; margin:0; color:#c2cfb8; }
.atlas-preview,.atlas-collection { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.atlas .atlas-card { grid-column:auto; }
.atlas .atlas-card>picture { display:block; height:auto; aspect-ratio:1.2; }
.atlas .atlas-card h3 { font-size:28px; letter-spacing:-.02em; }
.atlas .place-top { display:none; }
.atlas .atlas-card:hover>picture img { transform:none; filter:saturate(.85); }
.atlas .atlas-card:hover h3 { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.atlas .atlas-card p { font-size:13px; color:#c2cfb8; }
.atlas .atlas-card .place-bottom { padding-bottom:24px; }
.atlas .place-top>span:first-child { font-size:10px; }
.atlas-more { margin-top:28px; border-block:1px solid #bec9aa50; }
.atlas-more>summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; list-style:none; cursor:pointer; font-size:14px; }
.atlas-more>summary::-webkit-details-marker { display:none; }
.atlas-more>summary>span { display:flex; align-items:center; gap:28px; font-size:12px; color:#c2cfb8; }
.atlas-more>summary b { font-weight:400; font-size:23px; }
.atlas-more[open]>summary b { transform:rotate(45deg); }
.atlas .gallery-toolbar { padding:18px 0; }
.atlas .gallery-result { padding:12px 0 22px; font-size:12px; }
.atlas-collection { padding-bottom:35px; row-gap:35px; }
.atlas-disclaimer { font-size:12px; color:#adbea2; margin-top:22px; }
.development-story { padding-block:42px 68px; }
.development-story h2 { font-size:49px; }
.development-plan>p,.development-details>p,.development-details .timeline-step p { font-size:14px; }
.development-story .story-source { font-size:11px; }
.season-section { height:auto; min-height:0; padding-block:90px; }
.season-content { top:auto; }
.season-content h2 { font-size:clamp(44px,4.5vw,64px); line-height:1.08; }
.season-frame,.season-frame.is-active { transform:none; }
.season-frame:nth-child(even) { margin-top:0; }
.season-frame { opacity:.68; }
.season-frame.is-active { opacity:1; }
.season-tabs { margin-top:28px; }
#season-panel p { font-size:14px; }
#season-panel>span { font-size:10px; }
.season-counter,.season-caption { display:none; }
.faq-section { padding-block:76px; }
.faq-list summary { font-size:15px; padding:22px 0; }
.faq-answer,.faq-grid>div>p { font-size:14px; line-height:1.8; }
.faq-section { background:#eeeee5; }
.faq-grid h2 { font-size:clamp(40px,4vw,58px); line-height:1.08; }
.faq-section .section-label { display:none; }
.contact-main h2 { font-size:clamp(58px,6.2vw,90px); line-height:1.06; }
.contact .section-label { margin-bottom:48px; }
.contact .section-label svg { display:none; }
.contact-copy { max-width:310px; }
.contact-copy>p { font-size:14px; line-height:1.9; }
.contact-landscape .contact-shade { z-index:2; background:linear-gradient(180deg,#172b2330,#172b2340 35%,#172b23eb 90%); pointer-events:none; }
.contact .section-label>span:first-child::before { display:none; }

@media(max-width:1000px) {
 .land-workspace { grid-template-columns:minmax(0,1fr) 330px; }
 .land-choice { padding:24px; }.land-mode-tabs { gap:4px; }
 .scene-tools { gap:20px; }
 .atlas-preview,.atlas-collection { gap:20px; }.atlas .atlas-card h3 { font-size:27px; }
}
@media(max-width:800px) {
 .landscape-experience.is-immersive { height:165svh; }
 .scene-tools { bottom:76px; right:var(--gutter); left:var(--gutter); justify-content:space-between; }
 .landscape-experience .hero-footer { bottom:20px; }
 .landscape-experience .scroll-cue>span:last-child { font-size:10px; }
 .scene-settings-panel { width:min(310px,calc(100vw - 48px)); bottom:54px; }
 .scene-settings>summary { font-size:12px; gap:15px; }
 .landscape-experience .hero-postcard { width:auto; }
 .landscape-experience .hero-postcard .postcard-bottom { display:block; }
 .landscape-experience .hero-bottom-copy { font-size:13px; }
 .place-route-nav { height:66px; padding-inline:var(--gutter); }.place-route-nav a { font-size:12px; }.place-route-nav small { display:none; }
 .anos-intro { padding-block:50px; }.anos-copy h2 { font-size:104px; }
 .anos-description,.meadow-copy p,.land-section-intro p { font-size:14px; }
 .anos-river-photo figcaption { font-size:9px; letter-spacing:0; }.anos-photo-credit { font-size:10px; }
 .meadow-copy { padding-block:48px 40px; }.meadow-copy h2 { font-size:54px; }.meadow-map { min-height:0; height:360px; }
 .place-route .land-chapter { padding-block:50px; }
 .land-section-heading { gap:22px; margin-bottom:27px; }.land-section-heading h2 { font-size:56px; }
 .place-route .land-toolbar { padding:7px 9px; }.land-mode-tabs { gap:0; }.land-mode-tabs button { font-size:13px; padding-inline:12px; }
 .land-workspace { grid-template-columns:1fr; }.land-choice { border-left:0; padding:26px; }
 .land-stage { min-height:0; height:370px; }.land-map-message { top:auto; bottom:63px; left:15px; padding:9px 12px; max-width:260px; }
 .land-map-hint { font-size:12px; }.land-map-top { top:14px; }.land-map-tools { top:88px; }
 .land-choice-heading { margin-bottom:22px; }.land-choice-heading h3 { font-size:32px; }
 .land-chapter .plot-option { min-height:88px; }.land-chapter .plot-area { font-size:36px; }
 .land-price { padding-block:22px; }.land-chapter #selected-price { font-size:45px; }
 .land-primary-cta { font-size:14px; }.land-explorer-footer { padding:18px 26px; }



 .land-house-note { font-size:10px; }.land-house-heading .eyebrow { display:none; }
 .land-house-heading { padding:20px 20px 0; }
 .land-house-heading h3 { font-size:30px; }
 .land-house-stats { margin-inline:20px; }
 .house-camera-controls { flex-wrap:wrap; }
 .house-camera-controls .house-scene-status { order:1; width:100%; font-size:10px; }
 .land-house-note { margin:12px 20px 16px; }
 .house-camera-controls { margin:0 20px 12px; }
 .land-chapter[data-land-mode=plot] .land-plot-panel { grid-template-rows:170px auto; }
 .land-plot-summary { padding:25px; }.land-plot-summary h3 { font-size:34px; }
 .atlas { padding:50px var(--gutter) 30px; }.atlas-intro { grid-template-columns:1fr; gap:24px; margin-bottom:30px; }
 .atlas-intro h2 { font-size:46px; }.atlas-intro>p { font-size:14px; }
 .atlas-preview,.atlas-collection { grid-template-columns:1fr; gap:24px; }
 .atlas .atlas-card>picture { aspect-ratio:1.6; }.atlas .atlas-card h3 { font-size:28px; }
 .atlas .atlas-card p { font-size:13px; }.atlas .atlas-card .place-bottom { padding-block:17px 20px; }
 .atlas-more>summary { font-size:13px; gap:12px; }.atlas-more>summary>span { gap:8px; font-size:11px; }
 .atlas .filter { font-size:12px; padding-inline:10px; min-height:44px; }
 .atlas-disclaimer { font-size:11px; line-height:1.8; }
 .development-story { padding-block:35px 48px; }.development-story h2 { font-size:42px; }
 .season-section { height:auto; padding-block:55px; }.season-content { top:auto; }.season-content h2 { font-size:46px; }
 .season-tabs { gap:18px; margin-top:30px; }.season-tabs button { font-size:13px; }
 .faq-section { padding-block:50px; }.faq-grid h2 { font-size:42px; }
 .faq-list summary { font-size:14px; }.faq-answer { font-size:14px; }
 .contact-main h2 { font-size:53px; }
 .horizon-after h2 { font-size:clamp(39px,10vw,60px); }
}
@media(max-width:380px) {
 .land-choice { padding:21px; }.land-mode-tabs button { padding-inline:6px; font-size:12px; }
 .place-route .land-toolbar { gap:2px; }
 .land-choice-heading h3 { font-size:29px; }
 .land-section-heading h2,.meadow-copy h2,.atlas-intro h2 { font-size:40px; }
 .land-chapter .plot-area { font-size:31px; }.land-primary-cta { font-size:13px; }
 .land-house-heading h3 { font-size:25px; }.house-view-toggle button { font-size:11px; padding-inline:8px; }
 .land-house-stats { gap:8px; }.land-house-stats strong { font-size:18px; white-space:nowrap; }
 .land-plot-summary { padding:22px; }.land-plot-summary h3 { font-size:31px; }
 .atlas .filter { font-size:11px; padding-inline:7px; }
}
@media(max-width:800px) and (max-height:790px) {
 .place-route .land-chapter[data-land-mode=home] .land-stage { position:relative; top:auto; }
}

/* Valley → village → meadow: a continuous story with a change of scale. */
.landscape-experience .expedition-stage::after { content:''; position:absolute; inset:auto 0 0; height:90px; background:linear-gradient(transparent,#172e2499); pointer-events:none; z-index:5; }
.location-chapter.anos-chapter { display:grid; grid-template-columns:1.3fr 1fr; column-gap:10%; background:#172e24; color:#f4f0e5; padding:96px var(--gutter) 0; scroll-margin-top:0; }
.location-chapter.anos-chapter,.meadow-chapter,.place-route .land-chapter { scroll-margin-top:calc(var(--route-top,80px) - var(--route-padding,108px)); }
.anos-chapter>.story-anchor { position:absolute; }
.anos-heading { grid-column:1; grid-row:1; align-self:center; margin-bottom:48px; }
.anos-heading>.eyebrow { font-size:10px; color:#b4c3aa; letter-spacing:.12em; }
.anos-heading h2 { font:400 clamp(76px,8vw,116px)/1 var(--serif); letter-spacing:-.035em; margin-top:24px; }
.anos-heading h2 em { display:block; font:400 25px/1.3 var(--serif); letter-spacing:0; color:#c7d2b7; margin-top:22px; }
.anos-copy { grid-column:2; grid-row:1; align-self:center; min-width:0; padding:0; margin-bottom:48px; }
.anos-copy .place-route-nav { position:static; display:block; padding:0; height:auto; background:none; border:0; backdrop-filter:none; margin-bottom:20px; }
.anos-copy .place-route-nav ol { display:flex; width:auto; max-width:none; justify-content:flex-start; gap:21px; }
.anos-copy .place-route-nav a { min-height:36px; font-size:11px; color:#a9bda5; }
.anos-copy .place-route-nav a[aria-current=step] { color:#f4f0e5; }
.anos-copy .place-route-nav a::after { background:#c7d2b7; height:1px; }
.anos-description { max-width:370px; margin:0 0 16px; font-size:14px; line-height:1.95; color:#c2cfbc; }
.anos-story-link { display:inline-flex; align-items:center; gap:42px; min-height:44px; border-bottom:1px solid #98ad8877; font-size:13px; color:#eeeede; }
.anos-story-link span { font-size:20px; }
.anos-river-photo { grid-column:1/-1; grid-row:2; margin:0; }
.anos-photo-window { overflow:hidden; background:#4c6254; }
.anos-river-photo img { display:block; width:100%; height:clamp(320px,35vw,530px); object-fit:cover; object-position:50% 61%; transform:translateY(calc(var(--place-y,0px) * .25)) scale(1.025); }
.anos-river-photo figcaption { display:flex; justify-content:space-between; gap:20px; padding:17px 0; font-size:11px; color:#afbea7; line-height:1.7; }
.anos-photo-credit { margin:0; max-width:none; font-size:10px; color:inherit; }
.anos-photo-credit a { text-decoration:underline; text-underline-offset:3px; }
.anos-next { grid-column:1/-1; grid-row:3; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:none; margin:20px 0 0; padding:28px 0 36px; border-top:1px solid #afbea736; }
.anos-next>span { font-size:11px; letter-spacing:0; color:#adbea5; }
.anos-next strong { display:block; font:400 27px/1.2 var(--serif); letter-spacing:-.015em; color:#eeefde; margin-top:8px; }
.anos-next i { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; font-size:23px; font-style:normal; color:#e4ebd5; transition:transform .2s; }
.anos-next:hover i { transform:translateY(3px); }
.meadow-chapter { grid-template-columns:1.08fr 1fr; padding:88px var(--gutter); gap:0 10%; align-items:center; background:#eeeee6; }
.meadow-copy { grid-column:2; grid-row:1; padding:0; align-self:end; }
.meadow-next { grid-column:2; grid-row:2; align-self:start; }
.meadow-copy h2 { font-size:clamp(44px,4.7vw,64px); line-height:1.08; margin:25px 0; }
.meadow-copy p { font-size:15px; line-height:1.85; max-width:390px; }
.meadow-next .meadow-invitation { margin-top:20px; color:#69795e; font-size:13px; line-height:1.85; max-width:390px; }
.meadow-next .button { margin-top:29px; font-size:13px; }
.meadow-map { grid-column:1; grid-row:1/3; min-height:0; height:auto; background:transparent; overflow:visible; }
.meadow-map-image { position:relative; width:100%; aspect-ratio:1; overflow:hidden; background:#718566; }
.meadow-map img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; object-fit:fill; }
.meadow-map::after { display:none; }
.meadow-location-label { font-size:12px; padding:9px 15px; border:0; background:#f4f2e7; color:#284932; box-shadow:none; }
.meadow-label-anos { left:47%; top:15%; transform:translate(-50%,-50%); }
/* Existing CRM reference point in the uncropped overview, not a parcel boundary. */
.meadow-label-meadow { left:55.531434%; top:59.505668%; transform:translate(-50%,-100%); display:flex; gap:20px; align-items:center; min-height:44px; background:#203e2e; color:#f4f4df; }
.meadow-label-meadow::after { content:''; position:absolute; top:100%; left:50%; border:6px solid transparent; border-top-color:#203e2e; transform:translateX(-50%); }
.meadow-river-label { position:absolute; left:68%; top:4%; color:#f9fff0; font:400 16px var(--sans); text-shadow:0 1px 5px #173b35; transform:rotate(16deg); }
.meadow-map figcaption { position:static; display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 16px; padding-top:14px; color:#5c6f51; font-size:10px; }
.meadow-map figcaption a { text-decoration:underline; text-underline-offset:3px; }
.land-section-heading { grid-template-columns:1.25fr .8fr; gap:8%; }
.land-section-heading h2 { font-size:clamp(44px,4.7vw,64px); line-height:1.08; }
.place-route .land-chapter { background:#f5f3ed; padding-block:88px; }
.land-section-intro .land-optional-note { display:block; margin-top:16px; font-size:12px; color:#728267; }
.development-story { border-top:1px solid #bec9aa33; margin-inline:var(--gutter); padding:38px 0 48px; background:transparent; }
.development-story h2 { font-size:34px; line-height:1.1; }
.development-story .eyebrow { font-size:9px; }
@media(max-width:1000px) { .location-chapter.anos-chapter { column-gap:7%; grid-template-columns:1.1fr 1fr; }.anos-description { font-size:14px; }.anos-copy .place-route-nav ol { gap:17px; }.meadow-chapter { column-gap:5%; }.meadow-copy h2 { font-size:49px; } }
@media(max-width:800px) {
 .location-chapter.anos-chapter { padding-top:56px; display:block; }
 .anos-heading { margin-bottom:27px; }.anos-copy { margin-top:25px; margin-bottom:0; }
 .anos-heading h2 { font-size:80px; margin-top:20px; }.anos-heading h2 em { font-size:23px; margin-top:16px; }
 .anos-description { max-width:530px; font-size:14px; }
 .anos-copy .place-route-nav { display:none; }
 .anos-river-photo img { height:clamp(240px,62vw,430px); object-position:51% 65%; }
 .anos-river-photo figcaption { flex-direction:column; gap:5px; font-size:10px; padding-block:13px; }
 .anos-photo-credit { font-size:10px; }
 .anos-next { margin-top:14px; padding:25px 0 32px; gap:17px; }.anos-next strong { font-size:26px; max-width:290px; }
 .meadow-chapter { display:flex; flex-direction:column; gap:29px; padding:56px var(--gutter); }
 .meadow-copy { width:100%; }.meadow-copy h2 { font-size:46px; margin-block:20px; }.meadow-copy p { max-width:530px; font-size:14px; }
 .meadow-next { width:100%; }.meadow-next .meadow-invitation { margin-top:0; }.meadow-next .button { margin-top:21px; }
 .meadow-map { width:100%; height:auto; min-height:0; }.meadow-map img { min-height:0; }.meadow-map figcaption { font-size:10px; }
 .meadow-location-label { font-size:11px; }.meadow-river-label { font-size:12px; }
 .land-section-heading { grid-template-columns:1fr; gap:21px; }.land-section-heading h2 { font-size:46px; }
 .place-route .land-chapter { padding-block:56px; }
 .development-story { padding:31px 0 42px; }.development-story h2 { font-size:33px; }
}
@media(max-width:380px) { .anos-heading h2 { font-size:72px; }.anos-heading>.eyebrow { font-size:9px; }.anos-heading h2 em { font-size:22px; }.anos-next strong { font-size:25px; }.meadow-copy h2,.land-section-heading h2 { font-size:41px; }.meadow-map figcaption { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .anos-river-photo img { transform:none; }.anos-next i { transition:none; } }
html[data-motion=off] .anos-river-photo img { transform:none; }

/* One chapter, one real map: context, area and an optional house sketch. */
.place-route .land-estate { position:relative; padding:86px var(--gutter) 76px; background:#f3f1e9; }
.land-story-anchor { position:absolute; top:0; scroll-margin-top:80px; }
.land-estate .land-section-heading { grid-template-columns:1.4fr 1fr; align-items:end; gap:8%; margin-bottom:46px; }
.land-estate .land-section-heading .eyebrow { font-size:10px; letter-spacing:.12em; color:#66715b; }
.land-estate .land-section-heading h2 { font-size:clamp(48px,5.3vw,76px); line-height:1.04; letter-spacing:-.035em; margin-top:24px; }
.land-estate .land-section-heading h2 em { color:#6b755e; }
.land-estate .land-section-intro { padding-bottom:4px; }
.land-estate .land-section-intro p { font-size:15px; line-height:1.85; color:#5c6855; max-width:350px; }
.land-intro-link { display:inline-flex; align-items:center; gap:42px; min-height:44px; margin-top:15px; font-size:12px; border-bottom:1px solid #a6b09b; }
.land-intro-link span { font-size:20px; }
.land-estate .land-explorer { border:0; background:#f9f8f3; }
.place-route .land-estate .land-toolbar { padding:0; min-height:64px; background:transparent; border-block:1px solid #c9cec0; }
.land-estate .land-mode-tabs { gap:36px; }
.land-estate .land-mode-tabs button { min-height:64px; padding:0 2px; font-size:13px; }
.land-estate .land-mode-tabs button[aria-selected=true] { box-shadow:inset 0 -2px #2e4835; }
.land-estate .land-mode-tabs button:hover { background:transparent; color:#263f2d; }
.land-estate .land-expand { font-size:11px; padding-inline:15px 0; }
.land-estate .land-workspace { grid-template-columns:minmax(0,1fr) 348px; }
.land-estate .land-stage { min-height:620px; background:#e9ebe1; }
.land-estate .land-choice { display:flex; flex-direction:column; justify-content:space-between; padding:30px; border-left:0; background:#f9f8f3; }
.land-estate .land-choice-heading { margin-bottom:18px; align-items:baseline; }
.land-estate .land-choice-heading h3 { font:400 27px/1.2 var(--serif); letter-spacing:-.02em; }
.land-estate .land-save-indicator { font-size:9px; color:#738168; }
.land-estate .plot-options { gap:10px; margin:0; }
.land-estate .plot-options legend { font-size:11px; color:#6b765f; margin-bottom:10px; }
.land-estate .plot-option { padding:14px 8px; min-height:66px; justify-content:center; align-items:center; border:0; border-bottom:1px solid #bfc6b5; }
.land-estate .plot-option.selected { border-color:#294531; background:#e9ecdf; box-shadow:inset 0 -1px #294531; }
.land-estate .plot-option:hover { background:#eef0e6; }
.land-estate .plot-area { font-size:30px; }
.land-estate .plot-area small,.land-estate .plot-check { display:none; }
.land-estate .land-price { padding:18px 0 12px; }
.land-estate .land-price>div,.land-estate #selected-area { font-size:11px; }
.land-estate #selected-price { display:block; font-size:36px; line-height:1.25; margin-top:5px; }
.land-estate .land-price small { margin-top:6px; font-size:10px; }
.land-estate .land-preferences { border-bottom:0; }
.land-estate .land-preferences>summary { font-size:12px; }
.land-estate .land-selection-offer { padding-top:20px; }
.land-estate .land-primary-cta { font-size:13px; min-height:52px; padding-inline:17px; }
.land-estate .land-cta-note { font-size:11px; margin-top:12px; line-height:1.7; }
.land-sketch-link { display:flex; width:100%; align-items:center; justify-content:space-between; gap:15px; min-height:48px; margin-top:16px; border-top:1px solid #d2d7c7; font-size:12px; text-align:left; }
.land-sketch-link span { font-size:18px; }
.land-estate[data-land-mode=home] .land-sketch-link { display:none; }
.land-estate .land-point-card { margin-top:8px; padding-top:10px; gap:9px; }
.land-estate .land-point-card button { min-height:32px; min-width:32px; margin:-8px -8px 0 0; }
.land-estate .land-point-status { font-size:11px; }
.land-estate .land-coordinate { font-size:10px; }
.land-estate .land-point-help { font-size:10px; margin-top:4px; }
.land-estate .land-point-icon { font-size:19px; }
.land-estate:not([data-land-mode=plot]) .land-point-card .land-coordinate,.land-estate:not([data-land-mode=plot]) .land-point-help { display:none; }
.land-estate .land-map-top { top:18px; left:18px; right:18px; }
.land-estate .land-districts { box-shadow:0 2px 12px #162b2420; padding:3px; background:#f8f7eff5; }
.land-estate .land-districts button { min-height:40px; padding:8px 13px; font-size:11px; }
.land-estate .land-districts [aria-pressed=true] { background:#2c4332; color:#f9f7ee; }
.land-estate .land-map-north { border:0; background:#18372699; width:35px; height:35px; border-radius:0; font-size:11px; }
.land-estate .land-map-tools { top:83px; right:18px; bottom:auto; gap:8px; }
.land-estate .land-focus-parcel,.land-estate .land-zoom button { width:40px; height:40px; }
.land-estate .land-satellite-credit { padding:6px 18px; background:#20382bbf; gap:12px; font-size:9px; }
.land-estate .land-scale { left:18px; bottom:36px; font-size:9px; }
.land-estate .land-zoom-value { right:20px; bottom:36px; }
.land-estate .land-map-foot { display:block; padding:12px 20px 9px; background:#e9ece1; }
.land-estate .land-map-hint { font:400 11px/1.6 var(--sans); letter-spacing:0; color:#58694d; max-width:none; margin:0 0 3px; }
.land-estate .land-map-foot>div { justify-content:flex-start; gap:28px; }
.land-estate .land-map-foot a { min-height:35px; padding:4px 0; border:0; font-size:11px; color:#334e36; }
.land-estate .land-map-foot a:hover { text-decoration:underline; text-underline-offset:4px; }
.land-context-labels { position:absolute; inset:0; pointer-events:none; }
.land-context-labels[hidden] { display:none; }
.land-context-village { position:absolute; left:49.4466%; top:12.7731%; transform:translate(-50%,-50%); padding:6px 11px; background:#f8f6eae8; color:#33432e; font-size:12px; }
.land-context-river { position:absolute; left:85.6164%; top:5.7423%; transform:translate(-50%,-50%) rotate(26deg); font:italic 22px/1 var(--serif); color:#fffef0; text-shadow:0 2px 5px #163828; letter-spacing:.06em; }
.land-meadow-marker { position:absolute; transform:translate(-50%,calc(-100% - 26px)); display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:15px 20px; background:#f5f3e9; color:#263e2c; pointer-events:auto; box-shadow:0 4px 24px #15271d33; text-align:left; }
.land-meadow-marker::after { content:''; position:absolute; top:100%; left:50%; width:1px; height:25px; background:#f5f3e9; }
.land-meadow-marker::before { content:''; position:absolute; top:calc(100% + 23px); left:calc(50% - 3px); width:7px; height:7px; background:#f5f3e9; border-radius:50%; }
.land-meadow-marker>span { font:400 28px/1 var(--serif); }
.land-meadow-marker small { display:flex; justify-content:space-between; gap:26px; align-items:center; width:100%; font-size:10px; color:#65705a; }
.land-meadow-marker i { font-style:normal; font-size:16px; }
.land-meadow-marker:hover { background:#fffef6; }
.land-meadow-marker[hidden] { display:none; }
.land-meadow-marker:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.land-estate .land-explorer-footer { padding:16px 0 0; border:0; background:transparent; }
.land-estate .land-explorer-footer p { font-size:10px; color:#717b65; max-width:780px; }
.land-estate .land-plot-summary { background:#eef0e6; }
.land-estate .land-viewer-dialog .land-toolbar { padding-inline:24px; }
.land-estate .land-viewer-dialog .land-explorer-footer { padding:14px 24px; }
.land-estate .land-viewer-dialog .land-stage { min-height:calc(100dvh - 165px); }
.land-estate[data-land-mode=home] .land-stage,.land-estate[data-land-mode=plot] .land-stage { min-height:0; }

@media(max-width:1000px) and (min-width:801px) {
 .land-estate .land-workspace { grid-template-columns:minmax(0,1fr) 310px; }
 .land-estate .land-choice { padding:24px; }
 .land-estate .land-choice-heading h3 { font-size:25px; }
 .land-estate .land-save-indicator { display:none; }
 .land-estate #selected-price { font-size:34px; }
}
@media(max-width:800px) {
 .place-route .land-estate { padding:54px var(--gutter) 48px; }
 .land-estate .land-section-heading { grid-template-columns:1fr; gap:23px; margin-bottom:30px; }
 .land-estate .land-section-heading h2 { font-size:clamp(43px,7.5vw,60px); margin-top:18px; }
 .land-estate .land-section-intro p { font-size:14px; }
 .land-estate .land-section-intro { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:0; }
 .land-intro-link { display:none; }
 .place-route .land-estate .land-toolbar { min-height:56px; }
 .land-estate .land-mode-tabs { gap:22px; flex:0 1 auto; }
 .land-estate .land-mode-tabs button { min-height:56px; font-size:12px; padding:0; }
 .land-estate .land-expand { width:32px; min-height:44px; padding:7px 0 7px 10px; }
 .land-estate .land-workspace { display:grid; grid-template-columns:1fr; }
 .land-estate .land-choice { display:contents; }
 .land-estate .land-selection-fields { grid-row:1; padding:24px; }
 .land-estate .land-stage { grid-row:2; min-height:0; height:420px; }
 .land-estate .land-selection-offer { grid-row:3; padding:24px; }
 .land-estate .land-choice-heading h3 { font-size:26px; }
 .land-estate .land-choice-heading { margin-bottom:17px; }
 .land-estate .plot-options legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .land-estate .plot-area small { display:inline; font-size:10px; margin-left:4px; }
 .land-estate .plot-area { font-size:28px; }
 .land-estate .plot-option { min-height:57px; padding:12px 5px; }
 .land-estate .land-price { position:relative; padding:18px 0 0; }
 .land-estate .land-price>div { display:block; }
 .land-estate #selected-area { display:none; }
 .land-estate #selected-price { font-size:30px; }
 .land-estate .land-price small { position:absolute; right:0; bottom:3px; width:109px; text-align:right; line-height:1.65; font-size:9px; }
 .land-estate .land-preferences { margin-top:15px; }
 .land-estate .land-preferences>summary { min-height:44px; }
 .land-estate .land-panel.land-map-panel { grid-template-rows:auto minmax(0,1fr) auto; }
 .land-estate .land-map-top { position:relative; top:auto; left:auto; right:auto; padding:7px 12px; background:#e9ece1; }
 .land-estate .land-map-north { color:#41583b; background:transparent; }
 .land-estate .land-districts { background:transparent; box-shadow:none; padding:0; }
 .land-estate .land-districts button { font-size:10px; min-height:40px; padding:8px 10px; }
 .land-estate .land-map-tools { right:14px; top:auto; bottom:34px; flex-direction:row; gap:6px; }
 .land-estate .land-zoom { flex-direction:row; }
 .land-estate .land-zoom button+button { border-top:0; border-left:1px solid #d8ddcf; }
 .land-estate .land-zoom-value { display:none; }
 .land-estate .land-map-foot { padding:12px 16px 9px; }
 .land-estate .land-map-hint { font-size:10px; }
 .land-estate .land-map-foot>div { gap:24px; }
 .land-estate .land-map-foot a { font-size:11px; }
 .land-estate .land-cta-note br { display:none; }
 .land-estate .land-cta-note { font-size:11px; }
 .land-context-village { font-size:11px; }
 .land-context-river { left:82%; font-size:16px; }
 .land-meadow-marker { padding:12px 16px; gap:5px; }
 .land-meadow-marker>span { font-size:26px; }
 .land-estate[data-land-mode=home] .land-stage,.land-estate[data-land-mode=plot] .land-stage { grid-row:1; height:auto; }
 .land-estate[data-land-mode=home] .land-selection-fields,.land-estate[data-land-mode=plot] .land-selection-fields { grid-row:2; }
 .land-estate .land-viewer-dialog .land-toolbar { padding-inline:16px; }
 .land-estate .land-viewer-dialog .land-stage { height:65svh; min-height:0; }
 .land-estate[data-land-mode=home] .land-viewer-dialog .land-stage,.land-estate[data-land-mode=plot] .land-viewer-dialog .land-stage { height:auto; }
 .land-estate .land-explorer-footer p { line-height:1.75; }
}
@media(max-width:380px) {
 .land-estate .land-mode-tabs { gap:15px; }
 .land-estate .land-mode-tabs button { font-size:11px; }
 .land-estate .land-selection-fields,.land-estate .land-selection-offer { padding:20px; }
 .land-estate .land-save-indicator { display:none; }
 .land-estate .plot-area { font-size:25px; }
 .land-estate .plot-area small { display:block; font-size:9px; margin:4px 0 0; text-align:center; }
 .land-estate #selected-price { font-size:28px; }
 .land-estate .land-price small { position:static; width:auto; text-align:left; }
}

/* Read the place first; choose land only after entering the selection view. */
.land-estate .land-section-heading { align-items:center; }
.land-estate .land-section-intro p { max-width:395px; }
.land-estate .land-toolbar { gap:24px; }
.land-view-nav { display:flex; gap:38px; min-width:0; }
.land-view-nav button { display:flex; align-items:center; gap:10px; min-height:68px; padding:0; color:#6d7765; font-size:13px; white-space:nowrap; border-bottom:2px solid transparent; }
.land-view-nav button small { font-size:9px; color:#8a9480; }
.land-view-nav button[aria-selected=true] { color:#213e2a; border-color:#213e2a; }
.land-view-nav button:hover { color:#213e2a; }
.land-estate .land-expand { padding-right:16px; }
.land-estate[data-land-mode=overview] .land-workspace { grid-template-columns:minmax(0,1fr) 320px; }
.land-estate[data-land-mode=overview] .land-stage { min-height:640px; }
.land-estate .land-choice[hidden],.land-overview-details[hidden],.land-panorama-panel[hidden] { display:none; }
.land-overview-details { display:flex; flex-direction:column; padding:30px 28px 25px; background:#f9f8f3; }
.land-overview-details>.eyebrow { font-size:9px; letter-spacing:.08em; color:#7a856d; margin-bottom:20px; }
.land-place-list { border-top:1px solid #d7dccf; }
.land-place-list button { width:100%; display:flex; align-items:center; gap:14px; padding:17px 0; border-bottom:1px solid #d7dccf; text-align:left; font-size:14px; color:#65715b; }
.land-place-list small { font-size:10px; color:#8f9982; }
.land-place-list i { font:16px var(--sans); margin-left:auto; opacity:0; }
.land-place-list [aria-pressed=true] { color:#203c29; }
.land-place-list [aria-pressed=true] i { opacity:1; }
.land-place-list [aria-pressed=true] small { color:#48623e; }
.land-place-copy { margin:28px 0; }
.land-place-copy h3 { font:400 29px/1.1 var(--serif); margin:0 0 13px; letter-spacing:-.025em; }
.land-place-copy p { font-size:12px; line-height:1.85; color:#6b755e; margin:0; }
.land-tour-link { display:flex; gap:15px; justify-content:space-between; align-items:center; min-height:50px; margin-top:auto; border-bottom:1px solid #a8b39a; font-size:12px; text-align:left; }
.land-tour-link span { font-size:11px; white-space:nowrap; }
.land-start-selection { display:flex; align-items:center; justify-content:space-between; min-height:47px; margin-top:10px; font-size:11px; color:#627358; text-align:left; }
.land-start-selection span { font-size:18px; }
.land-overview-note { font-size:10px; line-height:1.75; color:#89927d; margin-top:21px; }
.land-context-village,.land-context-river { pointer-events:auto; }
.land-context-village,.land-context-forest { min-height:38px; }
.land-context-forest { position:absolute; left:32.88%; top:31.65%; transform:translate(-50%,-50%); color:#fffde9; background:#25452ba8; font-size:12px; padding:8px 14px; pointer-events:auto; }
.land-context-labels [aria-pressed=true] { outline:1px solid #fffceb; outline-offset:4px; }
.land-context-river[aria-pressed=true] { outline:0; text-shadow:0 0 12px #ffffffaa,0 2px 5px #163828; }
.land-place-locator { position:absolute; width:90px; height:90px; border:1px solid #f8f3d477; border-radius:50%; background:#f5efc918; transform:translate(-50%,-50%); pointer-events:none; }
.land-place-locator::after { content:''; position:absolute; width:5px; height:5px; left:calc(50% - 2px); top:calc(50% - 2px); background:#fffdea; border-radius:50%; }
.land-estate:not([data-land-mode=overview]) .land-place-locator { display:none; }
.land-estate .land-selection-fields>.land-mode-tabs { gap:19px; border-bottom:1px solid #d7dccf; margin-bottom:24px; }
.land-estate .land-selection-fields>.land-mode-tabs button { min-height:44px; font-size:11px; padding:0; }
.land-estate .land-choice-heading h3 { font-size:25px; }
.land-estate .land-save-indicator { display:none; }
.land-estate[data-land-mode=panorama] .land-stage { grid-column:1/-1; grid-row:1; min-height:0; height:auto; background:#e8ecdd; }
.land-panorama-panel { position:relative; inset:auto; overflow:visible; background:#f8f7f1; }
.land-panorama-viewport { position:relative; height:clamp(360px,calc(100svh - 300px),580px); background:#7a8872; overflow:hidden; }
.land-panorama-canvas { position:absolute; inset:0; cursor:grab; touch-action:none; }
.land-panorama-canvas.is-dragging { cursor:grabbing; }
.land-panorama-canvas canvas { display:block; width:100%; height:100%; }
.land-panorama-canvas canvas:focus-visible { outline:3px solid #f8f4df; outline-offset:-5px; }
.land-panorama-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.land-panorama-canvas[hidden],.land-panorama-poster[hidden] { display:none; }
.land-panorama-caption { position:absolute; inset:0 0 auto; pointer-events:none; padding:28px 32px 45px; color:#fffdec; background:linear-gradient(#172d2580,transparent); }
.land-visualization-badge { display:inline-block; font-size:9px; letter-spacing:.08em; color:#f7f7e9; background:#263c32a6; padding:8px 11px; }
.land-panorama-caption h3 { font:400 37px/1.1 var(--serif); margin:20px 0 10px; text-shadow:0 1px 10px #1e34224d; }
.land-panorama-caption p { font-size:12px; color:#f6f6e6; margin:0; text-shadow:0 1px 5px #1e342266; }
.land-panorama-controls { position:absolute; inset:auto 24px 20px; display:flex; justify-content:space-between; align-items:center; gap:14px; pointer-events:none; }
.land-panorama-controls>div { display:flex; gap:1px; pointer-events:auto; box-shadow:0 2px 18px #23342224; }
.land-panorama-controls button { display:grid; place-items:center; width:42px; min-height:42px; padding:0; background:#f8f7edef; color:#29432d; font-size:23px; pointer-events:auto; }
.land-panorama-controls button:hover { background:#fffef9; }
.land-panorama-controls button:disabled { opacity:.4; cursor:default; }
.land-panorama-controls>span { background:#1d322aa8; color:#f6f7e7; padding:9px 13px; font-size:11px; text-align:center; }
.land-panorama-controls [data-pano-retry] { width:auto; padding-inline:15px; font-size:11px; }
.land-panorama-controls [hidden] { display:none; }
.land-panorama-bottom { display:flex; align-items:center; justify-content:space-between; padding:0 30px; gap:28px; }
.land-panorama-scenes { display:flex; gap:36px; }
.land-panorama-scenes button { display:flex; align-items:center; gap:15px; min-height:91px; padding:16px 0; border-bottom:2px solid transparent; text-align:left; color:#79816f; font-size:14px; }
.land-panorama-scenes button[aria-pressed=true] { border-color:#28482e; color:#234229; }
.land-panorama-scenes .pano-scene-number { font:25px var(--serif); color:#a4ae96; }
.land-panorama-scenes small { display:block; margin-top:6px; font-size:10px; color:#7b866e; }
.land-pano-next { display:flex; align-items:center; gap:32px; min-height:44px; border-bottom:1px solid #bac5a8; font-size:12px; }
.land-pano-next span { font-size:20px; }
.land-panorama-disclaimer { font-size:10px; color:#7b856e; line-height:1.7; padding:18px 30px; margin:0; border-top:1px solid #dbe0d2; }
.land-estate[data-land-mode=panorama] .land-explorer-footer { display:none; }
.land-estate[data-land-mode=panorama] .land-viewer-dialog .land-panorama-viewport { height:calc(100dvh - 264px); min-height:300px; }
.land-estate[data-land-mode=overview] .land-viewer-dialog .land-stage { min-height:calc(100dvh - 163px); }

@media(max-width:1000px) {
 .land-view-nav { gap:25px; }
 .land-view-nav button { font-size:12px; gap:8px; }
 .land-estate[data-land-mode=overview] .land-workspace { grid-template-columns:minmax(0,1fr) 280px; }
 .land-overview-details { padding:26px 24px; }
 .land-place-copy h3 { font-size:27px; }
}
@media(max-width:800px) {
 .land-estate .land-section-heading h2 { font-size:clamp(42px,7.4vw,58px); }
 .land-estate .land-section-intro p { font-size:13px; line-height:1.8; }
 .place-route .land-estate .land-toolbar { display:flex; gap:10px; padding:0; position:relative; }
 .land-view-nav { display:grid; flex:1; grid-template-columns:1.06fr 1fr .95fr; gap:12px; padding-right:0; }
 .land-view-nav button { display:block; white-space:normal; font-size:12px; text-align:left; min-height:73px; line-height:1.45; }
 .land-view-nav button small { display:block; margin-bottom:4px; font-size:9px; }
 .land-estate .land-expand { position:static; flex:0 0 32px; width:32px; min-height:40px; padding:6px; color:#294b31; }
 .land-estate[data-land-mode=overview] .land-workspace { display:flex; flex-direction:column; }
 .land-estate[data-land-mode=overview] .land-stage { order:0; width:100%; height:430px; min-height:0; }
 .land-estate[data-land-mode=overview] .land-overview-details { order:1; padding:25px 23px; }
 .land-overview-details>.eyebrow { font-size:9px; margin-bottom:18px; }
 .land-place-list { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
 .land-place-list button { padding:13px 0; font-size:12px; gap:9px; }
 .land-place-list small { font-size:9px; }
 .land-place-copy { margin:25px 0 18px; }
 .land-place-copy h3 { font-size:29px; }
 .land-place-copy p { font-size:12px; }
 .land-overview-note { margin-top:16px; }
 .land-estate .land-map-top { padding-right:50px; }
 .land-estate .land-map-north { display:none; }
 .land-estate .land-selection-fields>.land-mode-tabs { gap:24px; margin-top:0; }
 .land-estate .land-selection-fields>.land-mode-tabs button { font-size:12px; }
 .land-estate:is([data-land-mode=home],[data-land-mode=plot]) .land-expand { top:91px; }
 .land-estate[data-land-mode=home] .land-house-heading { padding-top:52px; }
 .land-estate[data-land-mode=plot] .land-brief-badge { max-width:calc(100% - 64px); font-size:8px; }
 .land-context-forest { font-size:10px; padding:6px 10px; min-height:32px; }
 .land-context-village { font-size:10px; min-height:32px; padding:7px 10px; }
 .land-estate .land-meadow-marker { padding:10px 12px; white-space:nowrap; }
 .land-estate .land-meadow-marker>span { font-size:22px; }
 .land-estate .land-meadow-marker small { display:none; }
 .land-estate[data-land-mode=panorama] .land-stage { grid-row:1; min-height:0; height:auto; }
 .land-panorama-viewport { height:430px; }
 .land-panorama-caption { padding:20px 21px; }
 .land-visualization-badge { padding:8px 9px; font-size:8px; }
 .land-panorama-caption h3 { font-size:30px; margin-top:19px; max-width:200px; }
 .land-panorama-caption p { font-size:11px; max-width:230px; line-height:1.7; }
 .land-panorama-controls { left:14px; right:14px; bottom:14px; gap:8px; flex-wrap:wrap; }
 .land-panorama-controls>span { order:-1; flex-basis:100%; font-size:10px; padding:8px 10px; margin-bottom:3px; }
 .land-panorama-controls button { width:37px; min-height:40px; font-size:21px; }
 .land-panorama-bottom { display:block; padding:0 22px; }
 .land-panorama-scenes { justify-content:space-between; gap:15px; }
 .land-panorama-scenes button { gap:10px; font-size:12px; min-height:86px; }
 .land-panorama-scenes .pano-scene-number { font-size:23px; }
 .land-panorama-scenes small { font-size:9px; line-height:1.5; max-width:96px; }
 .land-pano-next { width:100%; justify-content:space-between; font-size:12px; margin-top:8px; min-height:48px; }
 .land-panorama-disclaimer { padding:16px 22px 22px; border:0; font-size:10px; }
 .land-estate[data-land-mode=panorama] .land-viewer-dialog .land-panorama-viewport { height:60dvh; min-height:320px; }
 .land-estate[data-land-mode=overview] .land-viewer-dialog .land-stage { min-height:0; height:60dvh; }
 .land-estate .land-viewer-dialog .land-expand { display:none; }
 .land-estate .land-viewer-dialog .land-toolbar { padding-inline:20px; }
}
@media(max-width:380px) {
 .land-view-nav { gap:10px; }
 .land-view-nav button { font-size:11px; }
 .land-estate .land-section-heading h2 { font-size:39px; }
 .land-panorama-caption h3 { font-size:28px; }
 .land-overview-details { padding:22px 20px; }
 .land-place-list { column-gap:14px; }
 .land-place-list button { font-size:11px; }
}

/* Satellite terrain with an explicitly preliminary parcel overlay. */
.land-parcel-panel { display:grid; grid-template-rows:minmax(0,1fr) auto; background:#8b9c79; }
.land-parcel-panel[hidden] { display:none; }
.parcel-viewport { position:relative; min-height:540px; overflow:hidden; isolation:isolate; }
.parcel-canvas,.parcel-fallback,.parcel-labels { position:absolute; inset:0; }
.parcel-canvas { touch-action:none; cursor:grab; }
.parcel-canvas.is-over-parcel { cursor:pointer; }
.parcel-canvas.is-dragging { cursor:grabbing; }
.parcel-canvas canvas { width:100%; height:100%; display:block; }
.parcel-canvas canvas:focus-visible { outline:2px solid #fff7d9; outline-offset:-4px; }
.parcel-fallback[hidden],.parcel-canvas[hidden] { display:none; }
.parcel-fallback svg { width:100%; height:100%; display:block; }
.parcel-fallback polygon { fill:#fff2c71c; stroke:#fff4d9; stroke-width:1; cursor:pointer; }
.parcel-fallback polygon[data-selected=true] { fill:#f8df9475; stroke:#ffe399; stroke-width:2; }
.parcel-fallback polygon[data-match=false] { opacity:.45; }
.parcel-labels { pointer-events:none; }
.parcel-labels button { position:absolute; transform:translate(-50%,-50%); display:grid; place-items:center; width:29px; height:29px; padding:0; background:#173726d9; color:#f8f4dd; font-size:10px; border:1px solid #f6f0d58c; border-radius:50%; pointer-events:auto; box-shadow:0 2px 8px #1c30213d; transition:background .15s,opacity .15s; }
.parcel-labels button[data-match=false] { opacity:.58; }
.parcel-labels button:hover,.parcel-labels button[aria-pressed=true] { background:#fae7af; color:#223c2a; border-color:#fae7af; opacity:1; }
.parcel-labels button[hidden] { display:none; }
.parcel-heading { position:absolute; top:25px; left:25px; pointer-events:none; color:#fffbed; text-shadow:0 1px 10px #20372088; }
.parcel-heading>span { display:inline-block; font-size:8px; letter-spacing:.09em; padding:8px 10px; background:#203e2dcf; }
.parcel-heading h3 { font:400 33px/1.1 var(--serif); margin:16px 0 9px; }
.parcel-heading p { font-size:11px; margin:0; }
.parcel-view-toggle { position:absolute; top:25px; right:22px; display:flex; padding:3px; background:#f6f4e9e8; }
.parcel-view-toggle button { font-size:10px; min-height:35px; padding:7px 12px; }
.parcel-view-toggle [aria-pressed=true] { background:#2a4734; color:#fffbea; }
.parcel-compass { position:absolute; right:24px; top:90px; width:38px; height:38px; border:1px solid #fffae98c; border-radius:50%; background:#29433299; color:#fffbed; font-size:10px; display:grid; place-items:center; pointer-events:none; }
.parcel-compass span { display:block; }
.parcel-controls { position:absolute; bottom:62px; left:23px; right:23px; display:flex; justify-content:space-between; pointer-events:none; }
.parcel-controls>div { display:flex; gap:1px; pointer-events:auto; }
.parcel-controls button { display:grid; place-items:center; width:39px; height:39px; padding:0; background:#faf7e8eb; color:#2b4330; font-size:21px; }
.parcel-controls button:hover { background:#fffdf3; }
.parcel-controls button:disabled,.parcel-view-toggle button:disabled { opacity:.5; cursor:default; }
.parcel-status { position:absolute; left:20px; right:20px; bottom:29px; text-align:center; color:#fffae9; text-shadow:0 1px 5px #183521; font-size:10px; pointer-events:none; }
.parcel-credit { position:absolute; bottom:0; left:0; right:0; min-height:22px; padding:5px 20px; background:#163826a6; color:#e9efdd; font-size:8px; }
.parcel-note { display:flex; align-items:flex-start; gap:13px; padding:18px 23px; background:#e9eddf; color:#596b50; }
.parcel-note p { margin:0; font-size:10px; line-height:1.75; }
.parcel-note strong { font-weight:500; color:#354e32; }
.parcel-line-key { flex:0 0 21px; height:13px; margin-top:3px; border:1px solid #72815e; background:#c0caad38; }
.land-draft-summary { position:relative; min-height:134px; border-bottom:1px solid #d5dbc9; padding:0 0 19px; margin:0 0 20px; }
.land-draft-summary[hidden] { display:none; }
.land-draft-summary>span { font-size:8px; letter-spacing:.07em; color:#7a876c; }
.land-draft-summary h3 { font:400 29px/1.15 var(--serif); margin:12px 0 7px; color:#29442e; }
.land-draft-summary p { font-size:11px; color:#67765b; margin:0; }
.land-draft-summary button { font-size:10px; color:#728063; min-height:32px; padding:8px 0 0; }
.land-estate[data-land-mode=plan] .land-stage { height:635px; min-height:0; align-self:start; }
.land-estate[data-land-mode=plan] .land-parcel-panel { position:absolute; inset:0; }
.land-estate[data-land-mode=plan] .land-choice-heading h3 { font-size:23px; }
.land-estate[data-land-mode=plan] .land-explorer-footer p { max-width:850px; }
.land-panorama-panel { display:grid; grid-template-columns:minmax(0,1fr) 260px; }
.land-panorama-viewport { height:500px; }
.land-panorama-bottom { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:30px 25px; }
.land-panorama-aside-intro>span { font-size:8px; letter-spacing:.06em; color:#7d886e; }
.land-panorama-aside-intro h3 { font:400 33px/1.05 var(--serif); color:#29452e; margin:24px 0 17px; }
.land-panorama-aside-intro p { font-size:11px; line-height:1.85; color:#758065; margin:0 0 16px; }
.land-panorama-scenes { flex-direction:column; gap:0; }
.land-panorama-scenes button { min-height:78px; border-bottom:1px solid #d5dbc9; }
.land-panorama-scenes button[aria-pressed=true] { border-color:#637a53; }
.land-pano-next { margin-top:auto; justify-content:space-between; font-size:11px; gap:15px; }
.land-panorama-disclaimer { grid-column:1/-1; }
.land-estate[data-land-mode=panorama] .land-viewer-dialog .land-panorama-viewport { height:calc(100dvh - 188px); }
@media(max-width:1100px) {
 .parcel-heading h3 { font-size:29px; max-width:200px; }
 .parcel-view-toggle { top:23px; }
 .parcel-heading { top:80px; }
 .parcel-compass { top:25px; left:25px; right:auto; }
}
@media(max-width:800px) {
 .land-panorama-panel { display:block; }
 .land-panorama-viewport { height:430px; }
 .land-panorama-aside-intro { display:none; }
 .land-panorama-bottom { display:block; padding:0 22px; }
 .land-panorama-scenes { flex-direction:row; gap:15px; }
 .land-panorama-scenes button { min-height:86px; }
 .land-pano-next { margin-top:8px; }
 .land-estate[data-land-mode=panorama] .land-viewer-dialog .land-panorama-viewport { height:60dvh; }
 .land-estate[data-land-mode=plan] .land-stage { grid-row:1; height:565px; min-height:0; }
 .land-estate[data-land-mode=plan] .land-selection-fields { grid-row:2; }
 .parcel-viewport { min-height:450px; }
 .parcel-heading { left:20px; top:78px; }
 .parcel-heading h3 { font-size:27px; max-width:none; margin-top:13px; }
 .parcel-heading p { font-size:10px; }
 .parcel-heading>span { font-size:7px; }
 .parcel-view-toggle { top:19px; right:18px; }
 .parcel-compass { top:21px; left:20px; }
 .parcel-controls { left:16px; right:16px; bottom:64px; }
 .parcel-controls button { width:36px; height:39px; }
 .parcel-status { font-size:9px; bottom:32px; left:12px; right:12px; }
 .parcel-labels button { width:27px; height:27px; font-size:9px; }
 .parcel-note { padding:16px 19px; gap:11px; }
 .parcel-note p { font-size:9px; }
 .land-draft-summary { padding-bottom:14px; margin-bottom:20px; }
 .land-draft-summary h3 { font-size:27px; }
 .land-estate[data-land-mode=plan] .land-viewer-dialog .land-stage { height:70dvh; min-height:530px; }
}

/* Real source material in one generous viewer; parcel geometry is explicitly a sketch. */
.place-route .land-estate{padding:66px 0 0}
.land-estate .land-section-heading{margin:0 var(--gutter) 36px;grid-template-columns:1fr 1fr;gap:10%}
.land-estate .land-section-heading h2{font-size:clamp(42px,4.5vw,66px);margin-top:18px}
.land-estate .land-section-heading h2 em{display:inline}
.land-estate .land-section-intro p{max-width:420px;font-size:14px}
.land-estate .land-intro-link{display:none}
.place-route .land-estate .land-explorer{position:relative;scroll-margin-top:calc(76px - var(--route-padding,108px))}
.place-route .land-estate .land-toolbar{position:relative;inset:auto;z-index:12;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:12px 4.5%;border-block:1px solid #cbd2c2;gap:20px;background:#f3f1e9}
.land-estate .land-view-nav{display:flex;gap:28px;padding:0;background:none;border:0}
.land-estate .land-view-nav button{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 0;color:#75816e;font-size:12px;white-space:nowrap;border:0;border-bottom:1px solid transparent}
.land-estate .land-view-nav button small{display:inline;font-size:8px;color:#8c9784}
.land-estate .land-view-nav button[aria-selected=true]{color:#243f2e;border-bottom-color:#243f2e;background:none}
.land-view-utilities{display:flex;gap:16px;align-items:center}
.land-estate .land-expand,.land-estate .land-map-entry{position:static;display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:8px 0;background:transparent;color:#42583d;border:0;font-size:10px}
.land-map-entry svg,.land-expand svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.3;fill:none}
.land-estate .land-map-entry[aria-pressed=true]{color:#213b2a;text-decoration:underline;text-underline-offset:5px}
.land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk],[data-land-mode=plan]) .land-workspace{display:block}
.land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk],[data-land-mode=plan]) .land-stage{position:relative;height:clamp(630px,calc(100svh - 155px),1000px);min-height:0;background:#253d30}
.land-tour-panel{display:grid;grid-template-rows:minmax(0,1fr) auto auto;inset:0;background:#263d31}
.land-tour-panel[hidden],[hidden].real-panorama,[hidden].real-panorama-cover,[hidden].parcel-viewport,[hidden].parcel-fallback,[hidden].real-walk-stops{display:none}
.real-tour-stage{position:relative;min-height:0;overflow:hidden}
.real-panorama,.real-panorama-host,.real-panorama-cover,.parcel-viewport,.parcel-canvas,.parcel-fallback{position:absolute;inset:0}
.real-panorama-host iframe{display:block;width:100%;height:100%;border:0;background:#dce5da}
.real-panorama-cover{isolation:isolate;background:#264234}
.real-panorama-cover>img{width:100%;height:100%;object-fit:cover}
.real-panorama-cover:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#11271b99,transparent 75%),linear-gradient(0deg,#13291d88,transparent 65%)}
.real-cover-copy{position:absolute;z-index:2;left:5%;top:50%;transform:translateY(-50%);color:#fffbed;max-width:520px}
.real-cover-copy>span:first-child{font-size:9px;letter-spacing:.15em}
.real-cover-copy h3{font:400 clamp(37px,4.5vw,66px)/1.06 var(--serif);letter-spacing:-.025em;margin:20px 0 16px;max-width:500px}
.real-cover-copy p{font-size:12px;line-height:1.75;max-width:370px;color:#f0f0df}
.real-cover-copy button{display:block;padding:15px 23px;min-height:48px;background:#f6f1dd;color:#253f2e;font-size:12px;border:1px solid #f6f1dd;margin:26px 0 15px;border-radius:2px}
.real-cover-copy>a{display:inline-block;color:#fff9e6;font-size:10px;text-decoration:underline;text-underline-offset:4px}
.real-load-status{display:block;font-size:10px;line-height:1.5;margin-top:13px;max-width:320px}
.real-photo-credit{position:absolute;z-index:2;bottom:15px;right:20px;font-size:8px;color:#f5f4e4;text-shadow:0 1px 4px #152218}
.real-tour-bar{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 4.5%;background:#eff0e7;color:#253f2f}
.real-tour-location{display:grid;gap:5px}
.real-tour-location>span{font-size:8px;letter-spacing:.1em;color:#718067}
.real-tour-location strong{font-size:16px;font-weight:500}
.real-tour-location>small{font-size:10px;color:#6b775f}
.real-walk-stops{display:flex;gap:24px}
.real-walk-stops button{font-size:12px;min-height:44px;padding:6px 0;color:#76806b;border-bottom:1px solid #cad2c1;text-align:left}
.real-walk-stops button[aria-pressed=true]{color:#253f2f;border-color:#253f2f}
.real-walk-stops small{display:block;font-size:9px;margin-top:5px}
.tour-configure{min-height:44px;padding:12px 19px;border:1px solid #84967a;background:transparent;color:#2b4531;font-size:11px;border-radius:2px;white-space:nowrap}
.tour-footnote{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:11px 4.5%;font-size:9px;line-height:1.6;background:#e6ebdd;color:#63725a}
.tour-footnote>span{max-width:850px}.tour-footnote button,.tour-footnote a{font-size:10px;flex:none}
.parcel-viewport{background:#b2bda3;isolation:isolate;min-height:0}
.parcel-canvas canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}
.parcel-canvas.is-dragging canvas{cursor:grabbing}.parcel-canvas.is-over-parcel canvas{cursor:pointer}
.parcel-canvas canvas:focus-visible{outline:2px solid #f5df9c;outline-offset:-4px}
.parcel-labels{position:absolute;inset:0;pointer-events:none;z-index:3}
.parcel-labels button{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);width:36px;min-height:36px;border-radius:50%;background:#243c2ee8;border:1px solid #fffcddb3;color:#fff7dc;font-size:11px;box-shadow:0 2px 7px #1b2d2140}
.parcel-labels button[data-match=false]{opacity:.75}.parcel-labels button[aria-pressed=true]{background:#f4de9e;color:#203d2b;border-color:#fff6d0;opacity:1;box-shadow:0 0 0 5px #f4de9e33}
.parcel-labels button:hover,.parcel-labels button:focus-visible{background:#fff1c9;color:#233d29;outline:2px solid #fff3cd;outline-offset:3px}
.parcel-map-controls{position:absolute;z-index:4;left:24px;right:24px;top:22px;display:flex;justify-content:space-between;pointer-events:none}
.parcel-view-toggle{position:static;display:flex;background:#fbf9edee;padding:4px;pointer-events:auto;border:1px solid #f9f5df90}
.parcel-view-toggle button{min-height:37px;padding:8px 16px;font-size:10px;color:#5b6d51}
.parcel-view-toggle button[aria-pressed=true]{background:#2b4533;color:#fffbe7}
.parcel-north{display:grid;place-items:center;width:37px;height:37px;color:#f7f6e2;background:#25432a8c;font-size:11px}
.parcel-camera-controls{position:absolute;z-index:4;right:24px;bottom:44px;display:flex;background:#f7f6ece8;border:1px solid #fff4dc88}
.parcel-camera-controls button{width:39px;min-height:42px;font-size:20px;color:#304c32}
.parcel-camera-controls button:disabled{opacity:.35}
.parcel-credit{position:absolute;bottom:10px;right:24px;left:auto;min-height:0;z-index:4;font-size:8px;color:#fffde9;text-shadow:0 1px 3px #182719;background:#263f319e;padding:4px 7px}
.parcel-render-status{position:absolute;bottom:55px;left:24px;z-index:3;color:#fffee8;font-size:10px;background:#233c309e;padding:8px 12px;max-width:45%}
.parcel-fallback svg{display:block;width:100%;height:100%}
.parcel-fallback polygon{fill:#fbf2c02b;stroke:#fff1cd;stroke-width:1}
.parcel-fallback polygon[data-selected=true]{fill:#f3dc9680;stroke:#fff4d2;stroke-width:2}
.land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk],[data-land-mode=plan]) .land-explorer-footer{display:none}
.land-estate[data-land-mode=plan] .land-choice{position:absolute;z-index:10;right:4.5%;top:98px;bottom:145px;width:325px;overflow:auto;display:block;padding:23px;background:#faf8eff7;border:1px solid #fff9ed;box-shadow:0 12px 35px #243e292b}
.land-estate[data-land-mode=plan] .parcel-viewport{right:375px}
.land-estate[data-land-mode=plan] .tour-configure{visibility:hidden}
.land-estate[data-land-mode=plan] .land-draft-summary{min-height:0;padding-bottom:12px;margin-bottom:15px}
.land-estate[data-land-mode=plan] .land-draft-summary h3{font-size:25px;margin:8px 0 5px}
.land-estate[data-land-mode=plan] .land-draft-summary p{font-size:10px;margin:0}
.land-estate[data-land-mode=plan] .land-draft-summary button{min-height:28px;margin-top:5px;padding:0;font-size:9px}
.land-estate[data-land-mode=plan] .land-choice-heading{margin-bottom:10px}
.land-selection-close{width:100%;min-height:35px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#728264;margin-bottom:10px;border-bottom:1px solid #d2dac4}
.land-selection-close span{font-size:21px}.land-estate .land-selection-fields>.land-mode-tabs{margin-bottom:20px;gap:19px}
.land-estate .land-draft-summary{min-height:115px;margin-bottom:18px}.land-estate .land-choice-heading h3{font-size:21px}.land-estate #selected-price{font-size:31px}
.land-estate:is([data-land-mode=home],[data-land-mode=plot]) .land-choice{padding:28px}
.place-route .land-estate[data-land-mode=overview] .land-workspace{display:block;position:relative}
.land-estate[data-land-mode=overview] .land-stage{height:clamp(620px,calc(100svh - 150px),820px);min-height:0}
.land-estate[data-land-mode=overview] .land-overview-details{position:absolute;z-index:8;left:4.5%;bottom:35px;width:270px;padding:23px;background:#faf8eff2;border:1px solid #fff9e7}
.land-estate[data-land-mode=overview] .land-place-list{display:grid;grid-template-columns:1fr 1fr;column-gap:15px}
.land-estate[data-land-mode=overview] .land-place-list button{font-size:11px;padding:10px 0;gap:8px}
.land-estate[data-land-mode=overview] .land-place-copy{margin:20px 0 10px}.land-estate[data-land-mode=overview] .land-place-copy h3{font-size:26px}.land-estate[data-land-mode=overview] .land-overview-note{display:none}
.land-estate[data-land-mode=overview] .land-explorer-footer{padding:12px 4.5%}
.land-estate .land-viewer-dialog .land-expand{display:none}
.land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk],[data-land-mode=plan]) .land-viewer-dialog .land-stage{height:calc(100dvh - 126px);max-height:none;min-height:0}
@media(max-width:1000px){.land-view-utilities button span{display:none}.land-view-utilities{gap:12px}.land-estate .land-expand,.land-estate .land-map-entry{width:30px}.land-estate .land-view-nav{gap:22px}.real-tour-bar{gap:20px}.real-walk-stops{gap:16px}.tour-configure{padding-inline:13px}}
@media(max-width:800px){
 .place-route .land-estate{padding-top:48px}.land-estate .land-section-heading{display:block;margin:0 24px 29px}.land-estate .land-section-heading h2{font-size:43px;margin-top:16px}.land-estate .land-section-intro p{margin-top:18px;font-size:12px;max-width:360px}
 .place-route .land-estate .land-toolbar{padding:9px 16px;gap:12px;min-height:64px}.land-estate .land-view-nav{flex:1;justify-content:space-between;gap:12px}.land-estate .land-view-nav button{font-size:10px;padding:8px 0;min-height:43px}.land-estate .land-view-nav button small{display:none}.land-view-utilities{gap:8px}.land-estate .land-expand,.land-estate .land-map-entry{width:23px}
 .land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk],[data-land-mode=plan]) .land-stage{height:clamp(630px,calc(100svh - 135px),950px);min-height:0;grid-row:auto}
 .place-route .land-estate .land-explorer{scroll-margin-top:calc(70px - var(--route-padding,90px))}
 .real-cover-copy{left:24px;right:24px;max-width:340px;top:46%}.real-cover-copy h3{font-size:40px;margin:16px 0}.real-cover-copy p{font-size:11px}.real-cover-copy button{font-size:11px;padding:13px 17px;margin-top:22px}.real-photo-credit{left:24px;right:20px;font-size:7px;line-height:1.5}
 .real-tour-bar{padding:17px 22px;gap:14px;flex-wrap:wrap}.real-tour-location{flex:1;min-width:140px}.real-tour-location strong{font-size:15px}.real-tour-location>small{font-size:9px}.tour-configure{font-size:10px;padding:10px 12px}
 .real-walk-stops{order:3;width:100%;justify-content:flex-start;gap:26px}.real-walk-stops button{font-size:11px}.tour-footnote{padding:11px 22px;display:block;font-size:8px}.tour-footnote a,.tour-footnote button{display:inline-block;margin-top:6px;font-size:9px}
 .parcel-map-controls{left:16px;right:16px;top:16px}.parcel-view-toggle button{padding:7px 12px}.parcel-camera-controls{right:16px;bottom:45px}.parcel-camera-controls button{width:34px;min-height:43px}.parcel-render-status{left:16px;bottom:100px;font-size:9px;max-width:80%}.parcel-credit{right:16px;left:16px;bottom:10px;font-size:7px;text-align:right}.parcel-labels button{width:34px;min-height:34px;font-size:10px}
 .land-estate[data-land-mode=plan] .land-choice{right:16px;left:16px;top:auto;bottom:133px;width:auto;height:260px;padding:18px}.land-estate[data-land-mode=plan] .parcel-viewport{right:0;bottom:280px}.land-estate[data-land-mode=plan] .parcel-render-status,.land-estate[data-land-mode=plan] .parcel-camera-controls{display:none}.land-estate[data-land-mode=plan] .land-choice .land-selection-fields,.land-estate[data-land-mode=plan] .land-choice .land-selection-offer{padding:0}.land-estate[data-land-mode=plan] .land-selection-offer{margin-top:20px}
 .land-estate:is([data-land-mode=home],[data-land-mode=plot]) .land-choice{display:contents}.land-estate[data-land-mode=overview] .land-stage{height:600px;min-height:0}.land-estate[data-land-mode=overview] .land-overview-details{position:relative;inset:auto;width:auto;padding:23px;border:0}.land-estate[data-land-mode=overview] .land-map-top{padding-right:12px}
}
@media(max-width:360px){.land-estate .land-view-nav{gap:9px}.land-estate .land-view-nav button{font-size:9px}.land-view-utilities{gap:5px}.place-route .land-estate .land-toolbar{gap:8px}.real-cover-copy h3{font-size:35px}}

.parcel-road-toggle{pointer-events:auto;min-height:42px;padding:9px 13px;background:#fbf9edee;color:#304c35;font-size:10px;margin-left:auto;margin-right:10px;border:1px solid transparent}.parcel-road-toggle[aria-pressed=true]{background:#2b4533;color:#fff9e4;border-color:#e5ddb2}

.parcel-osm-credit{position:absolute;z-index:4;bottom:32px;right:24px;padding:3px 7px;background:#263f319e;font-size:8px;color:#fffde9;text-shadow:0 1px 3px #182719}
@media(max-width:800px){.parcel-osm-credit{right:16px;bottom:29px;font-size:7px}.land-estate[data-land-mode=plan] .parcel-credit{font-size:6px}}

/* Direct exploration: free panorama, a linked mini-plan, and plots drawn on the land. */
.land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk]) .land-stage{height:clamp(460px,calc(100svh - 160px),880px)}
.parcel-fallback polygon[data-match=false]{opacity:1}
.parcel-cluster{position:absolute;z-index:4;transform:translate(-50%,-50%);min-height:44px;padding:11px 19px;border:1px solid #fff1c3;border-radius:3px;background:#243e2ded;color:#fff5d2;font-size:12px;box-shadow:0 3px 20px #1f302a40;white-space:nowrap}.parcel-cluster[hidden]{display:none}
.parcel-context-toggle{pointer-events:auto;margin-left:auto;margin-right:12px;background:#f5f3e9ec;color:#304b35;font-size:10px;min-height:42px;padding:9px 13px;border-radius:3px}.parcel-context-toggle[aria-pressed=true]{background:#2a4834;color:#fff7df}.parcel-context-toggle[hidden],.parcel-osm-credit[hidden]{display:none}
.real-focus-control[hidden]{display:none!important}
.real-focus-control{position:absolute;z-index:3;left:24px;bottom:28px;width:244px;background:#f5f3e9;box-shadow:0 8px 26px #13251c26;border:1px solid #ffffff9c;border-radius:5px;overflow:hidden;color:#294330}
.meadow-map-entry{display:flex;align-items:center;width:100%;text-align:left;gap:14px;padding:10px;background:transparent}
.meadow-mini-map{display:block;flex:none;width:82px;height:79px;overflow:hidden;border-radius:2px;background:#657b52}.meadow-mini-map svg{width:100%;height:100%;display:block}.meadow-mini-map polygon{fill:#f7ecc24d;stroke:#fff5d2;stroke-width:1}.meadow-mini-map polygon[data-selected=true]{fill:#ffdb80ad;stroke:#ffe8a7}.meadow-mini-map .parcel-map-road{fill:#f9eadc80;stroke:none}
.meadow-map-copy{display:grid;gap:8px}.meadow-map-copy>small{font-size:8px;letter-spacing:.09em;color:#708065}.meadow-map-copy strong{font-size:13px;font-weight:500}.meadow-map-copy strong span{margin-left:8px}.meadow-map-copy>span{font-size:9px;color:#738069}
.meadow-return{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:40px;border-top:1px solid #d9decf;font-size:10px;background:#ecede2;color:#506144}.meadow-return>span{font-size:17px}.meadow-map-entry:hover,.meadow-return:hover{background:#e3e8d8}.real-focus-control button:focus-visible{outline:2px solid #3b5d40;outline-offset:-3px}
.parcel-fallback{cursor:grab;touch-action:none}.parcel-fallback:active{cursor:grabbing}.parcel-fallback:focus-visible{outline:2px solid #fff3ca;outline-offset:-4px}.parcel-fallback svg image{filter:contrast(1.08) saturate(.85)}
.parcel-fallback polygon{fill:#203f3138;stroke:#fff9df;stroke-width:1.5;cursor:pointer;transition:fill .18s}.parcel-fallback polygon:hover{fill:#fff3b84d}.parcel-fallback polygon[data-selected=true]{fill:#efcf7d85;stroke:#fff1b1;stroke-width:3}.parcel-fallback .parcel-map-road{fill:#eee2b78f;stroke:#f9efd177;stroke-width:1;pointer-events:none}
.parcel-labels button{display:grid;place-content:center;gap:3px;min-width:44px;width:auto;min-height:44px;border:0;border-radius:2px;background:transparent;box-shadow:none;padding:4px 7px;text-shadow:0 1px 5px #153a27,0 1px 2px #153a27;transition:background .15s}
.parcel-labels button strong{font-size:15px;font-weight:500;line-height:1.1}.parcel-labels button small{font-size:9px;white-space:nowrap;line-height:1.2}.parcel-labels button[data-match=false]{opacity:1}.parcel-labels button[aria-pressed=true]{color:#263d26;background:#fff0c4e8;box-shadow:0 2px 12px #23392326;text-shadow:none}.parcel-labels button:hover,.parcel-labels button:focus-visible{color:#203c2c;background:#fff7df;outline:1px solid #fff0c0;text-shadow:none}
.parcel-road-caption{position:absolute;z-index:2;transform:translate(-50%,-50%);color:#29432e;letter-spacing:.05em;font-size:8px;pointer-events:none;white-space:nowrap}.parcel-road-caption[hidden]{display:none}
.parcel-map-controls{top:20px;left:24px;right:24px;align-items:center}.parcel-view-toggle{border-radius:4px;box-shadow:0 4px 15px #1c33201a}.parcel-view-toggle button{font-size:11px;min-height:40px;padding:9px 17px;border-radius:2px}.parcel-north{background:#f4f3e8e8;color:#2c4834;border-radius:50%;width:38px;height:38px}
.parcel-camera-controls{bottom:46px;right:24px;flex-direction:column;border-radius:4px;box-shadow:0 4px 15px #1c33201a}.parcel-camera-controls button{width:42px;min-height:42px}.parcel-camera-controls button+button{border-top:1px solid #d9dece}
[data-parcel-view=top] .parcel-camera-controls [data-parcel-control=left],[data-parcel-view=top] .parcel-camera-controls [data-parcel-control=right],[data-parcel-view=top] .parcel-road-toggle{display:none}
.parcel-render-status{bottom:16px;left:24px;max-width:60%;font-size:10px;background:#203d2dc9;border-radius:2px;padding:7px 10px}.parcel-credit{right:24px;bottom:16px;max-width:40%;font-size:7px}.parcel-osm-credit{bottom:36px}.real-tour-bar{min-height:95px;padding-block:17px}.real-tour-location strong{font-size:18px}.tour-configure{background:#2a4834;color:#fffbed;border-color:#2a4834;min-height:46px;padding-inline:24px;font-size:12px}.tour-configure:hover{background:#385a40}.tour-footnote{background:#eff0e7;border-top:1px solid #dce1d3;font-size:9px;padding-block:9px}
@media(max-width:800px){
 .real-focus-control{left:14px;bottom:36px;width:215px}.meadow-map-entry{gap:10px;padding:8px}.meadow-mini-map{width:64px;height:61px}.meadow-map-copy{gap:6px}.meadow-map-copy strong{font-size:12px}.meadow-map-copy>small{font-size:7px}.meadow-return{min-height:38px;font-size:9px}
 .parcel-map-controls{left:14px;right:14px;top:14px}.parcel-view-toggle button{min-height:40px;padding:8px 12px;font-size:10px}.parcel-north{width:34px;height:34px;font-size:10px}.parcel-camera-controls{right:14px;bottom:43px}.parcel-camera-controls button{width:40px;min-height:40px}.parcel-labels button{min-height:44px;min-width:44px;padding:4px}.parcel-labels button strong{font-size:14px}.parcel-labels button small{font-size:9px}
 .parcel-render-status{left:14px;bottom:14px;max-width:70%;font-size:8px;padding:6px 8px}.parcel-credit{bottom:0;left:14px;right:14px;max-width:none;text-align:left;font-size:6px;padding:2px 0;background:transparent}.parcel-osm-credit{bottom:28px;right:14px}
 .real-tour-bar{padding:15px 20px;gap:12px;min-height:105px}.real-tour-location strong{font-size:16px}.tour-configure{padding:12px 15px;font-size:11px}.tour-footnote{font-size:8px;padding:8px 20px}
 .parcel-context-toggle{font-size:9px;padding:8px 10px;margin-right:10px;min-height:40px}
 .land-estate:is([data-land-mode=panorama],[data-land-mode=drone],[data-land-mode=walk]) .land-stage{height:clamp(590px,calc(100svh - 140px),880px)}
}
@media(max-width:360px){
 .parcel-map-controls{gap:6px}.parcel-map-controls .parcel-north{display:none}.parcel-view-toggle button{font-size:9px;padding:8px 11px;white-space:nowrap}.parcel-context-toggle{margin-right:0;white-space:nowrap}
 .real-tour-bar{padding-inline:14px;gap:8px}.real-tour-location{min-width:0}.real-tour-location strong{font-size:14px}.tour-configure{font-size:10px;padding-inline:10px}
}

/* A second home: an editorial introduction between the landscape and the land. */
.altai-life {
  --life-ink:#f1eee3;
  --life-muted:#bac3b7;
  --life-accent:#d0d1b3;
  position:relative;
  padding:44px var(--gutter) 0;
  background:#172e24;
  color:var(--life-ink);
  scroll-margin-top:70px;
}
.altai-life-anchor { position:absolute; top:0; scroll-margin-top:100px; }
.altai-life-topline { display:flex; justify-content:space-between; gap:24px; padding-bottom:23px; border-bottom:1px solid #d3d9b530; color:var(--life-muted); }
.altai-life-topline .eyebrow { font-size:9px; letter-spacing:.15em; }
.altai-life-topline>span:last-child { font-size:11px; }
.altai-life-heading { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:8%; padding-block:46px 53px; }
.altai-life h2 { font:400 clamp(66px,6.6vw,106px)/1 var(--serif); letter-spacing:-.04em; }
.altai-life h2 em { color:var(--life-accent); font-style:italic; }
.altai-life-intro { max-width:365px; padding-bottom:7px; }
.altai-life-intro p { font-size:14px; line-height:1.9; color:#d8ddd2; text-wrap:pretty; }
.altai-life-stories { display:grid; grid-template-columns:1fr 1.5fr; gap:10%; align-items:center; padding:34px 0 38px; border-top:1px solid #d3d9b530; }
.altai-life-selector { min-width:0; max-width:340px; }
.altai-life-selector>p { font-size:10px; color:var(--life-muted); margin-bottom:14px; }
.altai-life-tabs { display:grid; }
.altai-life-tabs button { position:relative; display:grid; grid-template-columns:25px 1fr 20px; align-items:center; gap:14px; min-height:57px; padding:8px 0; border-bottom:1px solid #d3d9b528; color:#aeb9a8; text-align:left; transition:color .25s; }
.altai-life-tabs button>small { font-size:9px; letter-spacing:.04em; }
.altai-life-tabs button>span:not(.altai-life-tab-arrow) { font:400 clamp(20px,1.9vw,27px)/1.2 var(--serif); letter-spacing:-.015em; }
.altai-life-tabs button::after { content:''; position:absolute; inset:auto 0 -1px; height:1px; background:var(--life-accent); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.altai-life-tab-arrow { opacity:0; font-size:19px; transition:opacity .25s,transform .25s; transform:translate(-3px,3px); }
.altai-life-tabs button[aria-selected=true],.altai-life-tabs button:hover { color:var(--life-ink); }
.altai-life-tabs button[aria-selected=true]::after { transform:scaleX(1); }
.altai-life-tabs button[aria-selected=true] .altai-life-tab-arrow { opacity:1; transform:none; }
.altai-life-tabs button:focus-visible,.altai-life-cta:focus-visible,.altai-life-panel:focus-visible { outline:2px solid var(--life-accent); outline-offset:5px; }
.altai-life-pages { display:grid; align-items:center; min-height:212px; }
.altai-life-panel { grid-area:1/1; min-width:0; }
.altai-life-panel h3 { max-width:650px; font:400 clamp(30px,3.05vw,46px)/1.14 var(--serif); letter-spacing:-.025em; color:var(--life-ink); }
.altai-life-panel p { max-width:470px; margin-top:18px; font-size:13px; line-height:1.9; color:#c6cebf; text-wrap:pretty; }
.altai-life-invitation { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:29px 0 36px; border-top:1px solid #d3d9b540; }
.altai-life-invitation .eyebrow { font-size:8px; letter-spacing:.12em; color:var(--life-muted); }
.altai-life-invitation p { margin-top:10px; font:400 clamp(25px,2.4vw,35px)/1.2 var(--serif); letter-spacing:-.02em; }
.altai-life-invitation p br { display:none; }
.altai-life-invitation p>span { color:var(--life-accent); }
.altai-life-action { flex:none; }
.altai-life-cta { display:flex; align-items:center; justify-content:space-between; gap:54px; min-height:59px; padding:16px 22px; background:#dedfc4; color:#1c3528; font-size:13px; transition:background .25s; }
.altai-life-cta>svg { width:22px; height:22px; transition:transform .3s var(--ease); }
.altai-life-cta:hover { background:#f0edda; }
.altai-life-cta:hover>svg { transform:translate(3px,-3px); }
.altai-life-action>span { display:block; margin-top:10px; color:var(--life-muted); font-size:9px; text-align:center; }
@keyframes altai-life-reveal { from { opacity:.2; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) { html:not([data-motion=off]) .altai-life-panel:not([hidden]) { animation:altai-life-reveal .35s var(--ease) both; } }
@media(min-width:1600px) { .altai-life-heading { padding-block:65px; }.altai-life-stories { padding-block:43px; } }
@media(max-width:1000px) {
  .altai-life-heading { gap:5%; grid-template-columns:1.25fr 1fr; }
  .altai-life h2 { font-size:clamp(55px,6.7vw,75px); }
  .altai-life-stories { gap:7%; }
  .altai-life-intro p { font-size:13px; }
  .altai-life-tabs button { gap:8px; grid-template-columns:21px 1fr 18px; }
  .altai-life-invitation p br { display:block; }
}
@media(max-width:760px) {
  .altai-life { padding-top:30px; }
  .altai-life-topline { align-items:flex-start; flex-direction:column; gap:5px; padding-bottom:21px; }
  .altai-life-topline>span:last-child { font-size:10px; }
  .altai-life-heading { grid-template-columns:1fr; gap:24px; padding:31px 0; }
  .altai-life h2 { font-size:clamp(57px,10.8vw,82px); }
  .altai-life-intro { max-width:440px; padding:0; }
  .altai-life-intro p { font-size:13px; line-height:1.85; }
  .altai-life-stories { grid-template-columns:1fr; gap:28px; padding:25px 0 28px; }
  .altai-life-selector { max-width:none; }
  .altai-life-selector>p { margin-bottom:7px; }
  .altai-life-tabs button { min-height:53px; grid-template-columns:24px 1fr 20px; gap:10px; }
  .altai-life-tabs button>span:not(.altai-life-tab-arrow) { font-size:23px; }
  .altai-life-pages { min-height:191px; align-items:start; }
  .altai-life-panel h3 { font-size:clamp(29px,5.4vw,38px); line-height:1.15; }
  .altai-life-panel p { max-width:440px; margin-top:15px; font-size:12px; line-height:1.85; }
  .altai-life-invitation { flex-direction:column; align-items:stretch; gap:24px; padding:26px 0 33px; }
  .altai-life-invitation p { margin-top:10px; font-size:29px; }
  .altai-life-invitation p br { display:none; }
  .altai-life-action>span { font-size:9px; }
}
@media(max-width:380px) {
  .altai-life h2 { font-size:49px; }
  .altai-life-panel h3 { font-size:27px; }
  .altai-life-pages { min-height:207px; }
  .altai-life-invitation p { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { .altai-life *, .altai-life *::after { transition:none!important; animation:none!important; } }
html[data-motion=off] .altai-life *,html[data-motion=off] .altai-life *::after { transition:none!important; animation:none!important; }

