/* Home (CH-GUEST-DESIGN v2): film scrub, sun and moon scene, villas, life, reviews, plan. */
.lp-icon-legacy{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* 01 · Film scrub */
.lp-film{position:relative;background:var(--night-950)}
.lp-stage{position:sticky;top:0;height:min(100vh,1000px);min-height:560px;overflow:hidden;isolation:isolate}
.lp-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;will-change:opacity,transform}
.lp-scrim{position:absolute;inset:0;background:var(--scrim-hero);pointer-events:none}
.lp-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 52%,rgb(7 9 12 / .6));pointer-events:none}
.lp-intro{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(56px,11vh,128px);max-width:980px;display:grid;gap:var(--s-5);color:var(--bone-50)}
.lp-intro .ch-overline{color:var(--lamp-300)}
.lp-intro .ch-display-xl em,.lp-caption em,.lp-hill em{color:var(--lamp-300);font-style:italic}
.lp-lede{font-size:var(--text-lg);line-height:1.6;color:var(--bone-100);max-width:46ch;margin:0;text-wrap:pretty}
.lp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-5)}
.lp-cue{display:inline-flex;align-items:center;gap:var(--s-3);font:600 .75rem/1.4 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-200)}
.lp-cue__line{width:48px;height:1px;background:rgb(247 242 233 / .35);position:relative;overflow:hidden}
.lp-cue__line::after{content:"";position:absolute;inset:0;background:var(--lamp-300);animation:lp-cue 2.2s var(--ease-in-out) infinite}
@keyframes lp-cue{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.lp-caption{position:absolute;left:0;right:0;top:44%;margin:0;text-align:center;color:var(--bone-50);text-shadow:0 2px 36px rgb(7 9 12 / .55);padding-inline:var(--gutter)}
.lp-hill{position:absolute;left:var(--gutter);top:clamp(104px,15vh,168px);max-width:600px;display:grid;gap:var(--s-4);color:var(--bone-50);text-shadow:0 2px 30px rgb(7 9 12 / .45)}
.lp-hill .ch-overline{color:var(--lamp-300)}
.lp-hill p.lp-lede{color:var(--bone-100)}
.lp-pin{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-100%);text-decoration:none;color:var(--bone-50)}
.lp-pin__tag{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;box-sizing:border-box;padding:6px 16px 6px 6px;border-radius:var(--r-pill);background:rgb(7 9 12 / .66);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgb(247 242 233 / .22);font:600 .9375rem/1 var(--font-sans);white-space:nowrap;transition:background-color var(--dur-fast)}
.lp-pin:hover .lp-pin__tag{background:rgb(7 9 12 / .86)}
.lp-pin__num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--lamp-400);color:var(--night-950);font:600 .75rem/1 var(--font-sans);font-variant-numeric:tabular-nums}
.lp-pin__side{font-weight:500;color:var(--bone-200);font-size:.8125rem}
.lp-pin__stem{width:1px;height:34px;background:linear-gradient(rgb(247 242 233 / .85),rgb(247 242 233 / .2))}
.lp-pin__dot{width:10px;height:10px;border-radius:50%;background:var(--lamp-300);box-shadow:0 0 0 5px rgb(255 198 128 / .28)}
.lp-rail{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);display:flex;gap:var(--s-4);color:var(--bone-100)}
.lp-rail__bar{width:2px;border-radius:2px;background:rgb(247 242 233 / .22);position:relative;overflow:hidden}
.lp-rail__fill{position:absolute;left:0;right:0;top:0;background:var(--lamp-400)}
.lp-rail ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-6)}
.lp-rail li{font:600 .75rem/1.4 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-300);transition:color var(--dur-base)}
.lp-rail li.is-on{color:var(--lamp-300)}
.lp-rail li span{display:block;font-variant-numeric:tabular-nums;color:inherit;opacity:.7;letter-spacing:.1em}
.lp-fade{position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(rgb(244 236 221 / 0),#f4ecdd 92%);pointer-events:none}

/* 02 · Sun and moon (retained scene) */
.lp-sun{position:relative;background:#f4ecdd}
.day-scene{position:sticky;top:0;height:min(100vh,1000px);min-height:600px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 14% 46%,#f4d39d66,transparent 43%),radial-gradient(ellipse at 90% 62%,#efb08a77,transparent 44%),#f4ecdd}
.day-canvas{position:absolute;inset:0;pointer-events:none}
.day-clouds{position:absolute;left:0;top:0;width:100%;height:64%;max-width:none;object-fit:fill;z-index:0;opacity:.85}
.day-landscape,.day-night-landscape{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:fill}
.day-landscape{z-index:3}
.day-night-landscape{z-index:4;-webkit-mask-image:linear-gradient(90deg,transparent 27%,#0002 39%,#0007 52%,#000c 65%,#000 79%);mask-image:linear-gradient(90deg,transparent 27%,#0002 39%,#0007 52%,#000c 65%,#000 79%)}
.day-morning-wash,.day-night-sky,.day-twilight-bridge,.day-glow{position:absolute;inset:0;pointer-events:none}
.day-morning-wash{z-index:1;inset:0 46% 23% 0;background:radial-gradient(ellipse at 30% 40%,#fffef4 0%,#fff3bc75 38%,transparent 72%);mix-blend-mode:screen}
.day-night-sky{z-index:1;background:linear-gradient(180deg,#172e4c 0%,#3c4266 33%,#9e697b 66%,#e39a7488 76%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 24%,#0001 36%,#0005 48%,#000a 61%,#000 79%);mask-image:linear-gradient(90deg,transparent 24%,#0001 36%,#0005 48%,#000a 61%,#000 79%)}
.day-twilight-bridge{z-index:1;background:linear-gradient(90deg,transparent 28%,#edd2aa45 40%,#c9a9a271 52%,#aa91a46b 65%,transparent 79%)}
.day-glow{inset:25% 0 0;z-index:1;background:radial-gradient(ellipse at 90% 50%,#e5915d55,transparent 60%)}
.day-sun{position:absolute;z-index:2;width:clamp(96px,10.7vw,200px);aspect-ratio:1;isolation:isolate;will-change:transform}
.day-sun span{position:absolute;display:block;pointer-events:none;border-radius:50%}
.sun-core{inset:0;background:radial-gradient(circle,#fffce0 0 25%,#fff29a 49%,#ffcb3d 76%,#eea221cc 92%,#e9a03700 100%);box-shadow:0 0 22px 7px #ffda6588;filter:blur(.5px)}
.sun-light{inset:-12%;background:radial-gradient(circle,#fffef0 0 24%,#fffbd2dd 38%,#fff1a177 53%,transparent 72%)}
.sun-aura{inset:-95%;background:radial-gradient(circle,#ffe58a99 12%,#ffc43e70 28%,#f8c25233 45%,transparent 70%)}
.sun-rays{inset:-65%;background:repeating-conic-gradient(from 3deg,#ffd66288 0deg 3deg,transparent 5deg 20deg);-webkit-mask-image:radial-gradient(circle,transparent 28%,#000 37%,#0008 49%,transparent 70%);mask-image:radial-gradient(circle,transparent 28%,#000 37%,#0008 49%,transparent 70%);filter:blur(1.2px)}
.sun-rise{left:15%;top:calc(37% + 2.6vw)}
.sun-set{left:83%;top:3vw}
.sun-set .sun-core{background:radial-gradient(circle at 50% 38%,#fff0a2 0 18%,#ffbb48 43%,#f77b32 74%,#e3512688 93%,transparent);box-shadow:0 0 28px 10px #ff883e70}
.sun-set .sun-aura{inset:-105% -140%;background:radial-gradient(ellipse,#ffbe4a99 14%,#ef733877 32%,#dc6a3633 48%,transparent 70%)}
.sun-set .sun-rays{inset:-55% -85%;background:repeating-conic-gradient(from 12deg,#fca45388 0deg 7deg,transparent 10deg 30deg);filter:blur(2px)}
.day-moon{position:absolute;z-index:2;left:66%;top:8%;width:clamp(52px,4.8vw,88px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fffdf4 0 30%,#f3ead0 62%,#d9cdaa 100%);box-shadow:0 0 30px 8px rgb(255 240 205 / .38),0 0 110px 36px rgb(255 226 184 / .16);will-change:transform,opacity}
.day-moon::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 62% 58%,rgb(190 176 142 / .45) 0 9%,transparent 10%),radial-gradient(circle at 34% 66%,rgb(190 176 142 / .32) 0 6%,transparent 7%),radial-gradient(circle at 56% 28%,rgb(190 176 142 / .3) 0 5%,transparent 6%)}
.day-stars{position:absolute;inset:0;z-index:2;pointer-events:none}
.day-stars i{position:absolute;display:block;width:2px;height:2px;border-radius:50%;background:#fff6dc;box-shadow:0 0 6px 1px #fff3d0;animation:home-city-twinkle 3.2s ease-in-out infinite alternate}
.day-city-lights,.day-lake-sheen{position:absolute;inset:0;z-index:5;pointer-events:none}
.day-city-lights i,.day-lake-sheen i{position:absolute;display:block;pointer-events:none}
.day-city-lights i{border-radius:50%;background:#fff5ce;box-shadow:0 0 3px 1px #fff6d9,0 0 9px 3px #ffc66c9c;animation:home-city-twinkle 3s ease-in-out infinite alternate}
.day-city-lights i.star-light::before,.day-city-lights i.star-light::after{content:"";position:absolute;left:50%;top:50%;background:#ffe5a4;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #ffcf7a}
.day-city-lights i.star-light::before{width:14px;height:1px}.day-city-lights i.star-light::after{width:1px;height:14px}
.day-lake-sheen i{height:2.5px;border-radius:60%;background:linear-gradient(90deg,transparent,#ffe6a7 30%,#fff6d1 54%,#f5ae61 80%,transparent);box-shadow:0 0 9px 2px #f5b86dba;animation:home-lake-sparkle 3s ease-in-out infinite alternate}
.day-lake-sheen::before{content:"";position:absolute;left:76%;top:69%;width:24%;height:20%;background:radial-gradient(ellipse at 54% 20%,#e8af6550,transparent 64%);filter:blur(10px)}
@keyframes home-city-twinkle{from{opacity:.28;transform:scale(.75)}to{opacity:1;transform:scale(1.35)}}
@keyframes home-lake-sparkle{from{opacity:.2;transform:translateX(-3px) scaleX(.72)}to{opacity:.95;transform:translateX(3px) scaleX(1.18)}}
.day-foliage-wrap{position:absolute;inset:-2% -3% -1%;z-index:6;pointer-events:none}
.day-foliage{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:fill;transform-origin:center bottom;animation:hill-breeze 9s ease-in-out infinite alternate}
@keyframes hill-breeze{from{transform:translateX(-1.1%) rotate(-.65deg) skewX(-.45deg) scale(1.055)}to{transform:translateX(1.1%) rotate(.65deg) skewX(.45deg) scale(1.055)}}
.day-copy{position:absolute;left:0;right:0;top:0;z-index:8;display:grid;justify-items:center;gap:var(--s-4);text-align:center;padding:clamp(92px,12vh,136px) var(--gutter) 0;color:var(--text)}
.day-copy .ch-overline{color:var(--lamp-700)}
.day-title{font-size:clamp(3.25rem,1.2rem + 5.6vw,7rem)}
.word{position:relative;display:inline-block;white-space:nowrap}
.word-base,.word-shift{display:block;color:transparent;-webkit-background-clip:text;background-clip:text;padding-inline:.04em}
.sunrise .word-base{background-image:linear-gradient(110deg,#674a7c,#9271a6)}
.sunrise .word-shift{position:absolute;inset:0;background-image:linear-gradient(110deg,#e9bd63,#e89850);filter:drop-shadow(0 1px 2px #543c22b8)}
.moonrise .word-base{background-image:linear-gradient(110deg,#ebc471,#e99e58);filter:drop-shadow(0 1px 2px #543c22b8)}
.moonrise .word-shift{position:absolute;inset:0;background-image:linear-gradient(110deg,#aa89c4,#dbc3e7);filter:drop-shadow(0 1px 1px #382a51ab)}
.word-sparkles{position:absolute;inset:-6% -3%;pointer-events:none}
.word-sparkles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff2b6;box-shadow:0 0 6px 2px #fff4cf,0 0 15px 4px #ffb857;animation:home-word-twinkle 1.9s ease-in-out infinite alternate}
.word-sparkles i:nth-child(1){top:10%;right:8%}.word-sparkles i:nth-child(2){top:52%;left:40%;animation-delay:.65s;width:3px;height:3px}.word-sparkles i:nth-child(3){bottom:10%;right:34%;animation-delay:1.2s;width:2px;height:2px}.word-sparkles i:nth-child(4){bottom:13%;right:2%;animation-delay:.9s}
@keyframes home-word-twinkle{from{opacity:.18;transform:scale(.6)}to{opacity:1;transform:scale(1.35)}}
.lp-daylede{margin:0;max-width:34ch;font-size:var(--text-lg);line-height:1.5;color:var(--text-muted);text-wrap:balance}
.lp-scene-foot{position:absolute;left:50%;bottom:clamp(20px,4vh,44px);transform:translateX(-50%);z-index:9;width:min(100% - 2 * var(--gutter),880px)}
.lp-day{display:grid;gap:var(--s-3);padding:var(--s-4) var(--s-5) var(--s-5);border-radius:var(--r-xl)}
.lp-day__track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.lp-day__track li{display:grid;justify-items:center;gap:6px;font:600 .75rem/1.2 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-subtle);transition:color var(--dur-base)}
.lp-day__track li i{display:block;width:12px;height:12px;border-radius:50%;background:var(--bg-raised);box-shadow:inset 0 0 0 2px var(--border-strong);transition:background-color var(--dur-base),box-shadow var(--dur-base)}
.lp-day__track li.is-past i{background:var(--accent);box-shadow:none}
.lp-day__track li.is-on{color:var(--text)}
.lp-day__track li.is-on i{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.lp-day__bar{height:2px;margin:0 8%;border-radius:2px;background:var(--border-strong);overflow:hidden}
.lp-day__bar span{display:block;height:100%;background:var(--accent);transform-origin:left center}
.lp-day__stage{position:relative;height:136px}
.lp-moment{position:absolute;inset:0;display:grid;grid-template-columns:184px minmax(0,1fr);gap:var(--s-5);align-items:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out),visibility var(--dur-slow)}
.lp-moment.is-on{opacity:1;visibility:visible;transform:none}
.lp-moment img{width:184px;height:136px;object-fit:cover;border-radius:var(--r-md);display:block}
.lp-moment__copy{display:grid;gap:4px;align-content:center;justify-items:start}
.lp-moment__copy h3{margin:0}
.lp-moment__time{margin:0;display:flex;gap:var(--s-3);align-items:baseline;font:600 .75rem/1.4 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text)}
.lp-moment__time strong{letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--text)}
.lp-moment__line{margin:0;font-size:var(--text-sm);color:var(--text-muted);text-wrap:pretty}

/* 03+ · Content sections */
.lp-section-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:var(--s-9);margin-bottom:var(--stack-y)}
.lp-section-head__text{display:grid;gap:var(--s-4)}
.lp-villas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6);align-items:start}
.lp-villas > .ch-villa-card:nth-child(2){margin-top:var(--s-9)}
.lp-villa-media{aspect-ratio:4 / 5}
.lp-villa-media img{object-position:var(--pos,50% 50%)}
.lp-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text)}
.lp-life{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s-9);align-items:center}
.lp-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--s-4);height:clamp(520px,48vw,700px)}
.lp-mosaic > :first-child{grid-row:span 2}
.lp-mosaic .ch-media{height:100%}
.lp-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-6)}
.lp-features .ch-feature{align-items:center}
.lp-features .ch-feature:last-child{border-bottom:0}
.lp-features .ch-feature:nth-last-child(-n+2){border-bottom:1px solid var(--border)}
.lp-features .ch-feature h3{margin:0}
.lp-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.lp-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font:600 .875rem/1 var(--font-sans);flex:none}
.lp-star{width:16px;height:16px;fill:currentColor;stroke:none}
.lp-rating{display:flex;align-items:center;gap:var(--s-5)}
.lp-rating__value{font:var(--display-weight) var(--display-lg)/1 var(--font-display);font-variation-settings:"SOFT" var(--display-soft);font-variant-numeric:tabular-nums}
.lp-plan{position:relative}
.lp-plan__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.lp-plan__veil{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg-sunken) 0%,rgb(4 5 7 / .6) 45%,var(--bg-sunken) 100%)}
.lp-plan__inner{position:relative;display:grid;gap:var(--s-7)}
.lp-plan__head{display:grid;gap:var(--s-4);justify-items:center;text-align:center}
.lp-seg-label{font:600 .75rem/1.2 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle)}
.lp-seg-control{appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;margin:0;font:500 1rem/1.3 var(--font-sans);color:var(--text);width:100%;min-height:24px;cursor:pointer;color-scheme:dark}
.lp-seg-control:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--r-xs)}
.lp-seg-control option{background:var(--night-800);color:var(--bone-100)}
.lp-guests{display:flex;align-items:center;gap:var(--s-3)}
.lp-guests button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:none;color:var(--text);cursor:pointer}
.lp-guests button:hover{border-color:var(--text)}
.lp-guests output{font:500 1rem/1 var(--font-sans);font-variant-numeric:tabular-nums;min-width:2ch;text-align:center}
.lp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.lp-fact{display:grid;gap:var(--s-2);padding:var(--s-5) var(--s-6);border-radius:var(--r-lg);background:var(--bg-raised);border:1px solid var(--border)}
.lp-fact .ch-price__amount{font:var(--display-weight) var(--display-sm)/1.1 var(--font-display);font-variation-settings:"SOFT" var(--display-soft);font-variant-numeric:tabular-nums}
.lp-fact p{margin:0;font-size:var(--text-sm);color:var(--text-muted)}
.lp-note{margin:0;text-align:center;font-size:var(--text-sm);color:var(--text-subtle)}
.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);counter-reset:none}
.lp-step{display:grid;gap:var(--s-2);padding-top:var(--s-5);border-top:1px solid var(--border)}
.lp-step b{font:var(--display-weight) var(--display-xs)/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-text)}
.lp-step h3{margin:0;font:600 1.0625rem/1.3 var(--font-sans)}
.lp-step p{margin:0;font-size:var(--text-sm);color:var(--text-muted)}
.lp-footer-contact li{display:flex;align-items:center;gap:var(--s-2)}

@media (max-width:1023px){
  .lp-rail{display:none}
  .lp-section-head{grid-template-columns:1fr;gap:var(--s-5)}
  .lp-life{grid-template-columns:1fr;gap:var(--s-7)}
}
@media (max-width:900px){
  .lp-villas,.lp-reviews,.lp-facts,.lp-steps{grid-template-columns:1fr}
  .lp-villas > .ch-villa-card:nth-child(2){margin-top:0}
}
@media (max-width:640px){
  .lp-features{grid-template-columns:1fr}
  .lp-features .ch-feature:nth-last-child(2){border-bottom:0}
  .lp-mosaic{height:auto;grid-template-rows:none}
  .lp-mosaic > :first-child{grid-row:auto;grid-column:span 2;aspect-ratio:4 / 3}
  .lp-mosaic > :not(:first-child){aspect-ratio:1}
  .lp-pin__side{display:none}
  .lp-pin__tag{padding-right:12px;font-size:.8125rem}
  .day-clouds,.day-landscape,.day-night-landscape{left:-15%;width:130%}
  .day-foliage-wrap{inset:0 -15%}
  .sun-rise{left:-2%;top:55%}.sun-set{left:auto;right:4%;top:15%}
  .day-sun{width:86px}
  .day-moon{left:58%;top:14%}
  .day-city-lights i.star-light::before{width:6px}.day-city-lights i.star-light::after{height:6px}
  .lp-day__track li span{display:none}
  .lp-day__stage{height:104px}
  .lp-moment{grid-template-columns:96px minmax(0,1fr);gap:var(--s-3)}
  .lp-moment img{width:96px;height:96px}
  .lp-moment__line{display:none}
  .lp-daylede{font-size:var(--text-md)}
}
@media (prefers-reduced-motion:reduce){
  .lp-moment,.lp-day__track li,.lp-day__track li i{transition:none}
  .day-foliage,.day-city-lights i,.day-lake-sheen i,.day-stars i,.word-sparkles i,.lp-cue__line::after{animation:none}
}
/* Scroll lengths: the stage stays pinned while the page scrolls past these. */
.lp-film { height: calc(max(560px, min(100vh, 1000px)) + 4200px); }
.lp-sun { height: calc(max(600px, min(100vh, 1000px)) + 2600px); }
.lp-intro, .lp-caption, .lp-hill { will-change: opacity, transform; }
.lp-star { width: 16px; height: 16px; }
.lp .g-icon { width: 18px; height: 18px; }
@media (prefers-reduced-motion: reduce) {
  .lp-film { height: calc(max(560px, min(100vh, 1000px)) + 2400px); }
  .lp-sun { height: calc(max(600px, min(100vh, 1000px)) + 1600px); }
}
/* The hill copy sits low-left over the foliage so it never covers the villa pins. */
.lp-hill { top: auto; bottom: clamp(40px, 9vh, 110px); max-width: 520px; }
.lp-hill .ch-display-lg { font-size: var(--display-md); }
@media (max-width: 640px) { .lp-hill { bottom: 32px; right: var(--gutter); } }

/* Owner (2026-10-14): two colours only. "sunrise" matches "From"; "moonrise." matches "to". */
.day-title .word-base{color:inherit;background:none;-webkit-background-clip:border-box;background-clip:border-box;filter:none}
.day-title .word-shift,.day-title .word-sparkles{display:none}
/* The colour-shift copy of each word is generated here so crawlers read the word once. */
.word-shift::before{content:attr(data-word)}
