
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');
#love-terraces{--lt-accent:#ffdc32;background:#fffefb;color:#28271f;font:400 15px/1.6 Manrope,Arial,sans-serif;color-scheme:light;overflow:hidden}
#love-terraces *{box-sizing:border-box}#love-terraces button,#love-terraces a{-webkit-tap-highlight-color:transparent}#love-terraces a{color:inherit;text-decoration:none}
#love-terraces .lt-header{padding:22px 6%;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #ece8dc;font-size:12px}#love-terraces .lt-brand{font:400 21px/1.1 Georgia,serif}#love-terraces .lt-header span{color:#766f5c;font-size:11px;letter-spacing:1.6px;text-transform:uppercase}
#love-terraces .lt-intro{padding:55px 8% 42px}#love-terraces .lt-kicker{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#857033;margin:0 0 19px}#love-terraces h1{font:400 clamp(38px,6.5vw,63px)/1.08 Georgia,serif;letter-spacing:-2px;margin:0 0 25px}#love-terraces h1 em{font-weight:400;color:#8b7118}#love-terraces .lt-description{max-width:600px;font-size:16px;color:#615c50;margin:0 0 16px}#love-terraces .lt-description:last-child{color:#363229;margin-bottom:0}
#love-terraces .lt-program{background:linear-gradient(145deg,#fff9dd,#fffdf4 65%,#fff8d4);border-block:1px solid #eee5bc;padding:35px 5% 30px}#love-terraces .lt-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 3%}#love-terraces .lt-heading h2{font:400 30px/1.15 Georgia,serif;margin:0}#love-terraces .lt-heading span{font-size:11px;color:#82764f}
#love-terraces .lt-layout{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:25px;margin-top:24px}#love-terraces .lt-sculpture{position:relative;height:375px;isolation:isolate}#love-terraces .lt-ground{position:absolute;bottom:10px;left:8%;width:84%;height:42px;background:radial-gradient(ellipse,#9c7b2340,transparent 69%);filter:blur(9px);z-index:0}
#love-terraces .lt-tier{position:absolute;left:50%;transform:translateX(-50%);height:82px;border:0;border-radius:50% / 21px;background:linear-gradient(90deg,#e7d599 0%,#fbefc7 27%,#f4e5b5 65%,#d5c18b 100%);box-shadow:0 7px 10px -8px #795f39b3,inset 0 -1px 0 #b09e5d55;cursor:pointer;color:#4e452d;font:400 12px Manrope,Arial,sans-serif;transition:transform .22s,filter .22s}
#love-terraces .lt-tier:before{content:'';position:absolute;left:0;top:0;width:100%;height:40px;border-radius:50%;background:linear-gradient(155deg,#fffcef,#f3e7bd);box-shadow:inset 0 1px 0 #fffef9}
#love-terraces .lt-tier[data-step="0"]{width:98%;bottom:25px;z-index:1}#love-terraces .lt-tier[data-step="1"]{width:85%;bottom:83px;z-index:2}#love-terraces .lt-tier[data-step="2"]{width:72%;bottom:141px;z-index:3}#love-terraces .lt-tier[data-step="3"]{width:59%;bottom:199px;z-index:4}#love-terraces .lt-tier[data-step="4"]{width:46%;bottom:257px;z-index:5}
#love-terraces .lt-tier[aria-pressed="true"]{background:linear-gradient(90deg,#d7ad13,#ffde3b 28%,#f6cf2e 70%,#cba015);color:#3b300d}#love-terraces .lt-tier[aria-pressed="true"]:before{background:linear-gradient(150deg,#fff0a0,var(--lt-accent));box-shadow:inset 0 1px 0 #fff8ca}#love-terraces .lt-tier:hover{transform:translateX(-50%) translateY(-5px)}#love-terraces .lt-tier:focus-visible{outline:3px solid #625519;outline-offset:4px}#love-terraces .lt-tierlabel{position:absolute;top:42px;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}#love-terraces .lt-tierlabel small{font-size:10px;opacity:.65}
#love-terraces .lt-detail{padding:0 15px 0 0;min-width:0}#love-terraces .lt-stepnumber{font:400 61px/.95 Georgia,serif;color:#dac473;margin-bottom:16px}#love-terraces .lt-detail h3{font:400 28px/1.15 Georgia,serif;letter-spacing:-.6px;margin:0 0 15px}#love-terraces .lt-detail p{font-size:14px;color:#6b6250;margin:0}#love-terraces .lt-rule{width:42px;height:3px;background:var(--lt-accent);margin:20px 0}#love-terraces .lt-detail .lt-takeaway{font-size:12px;color:#605433}#love-terraces .lt-controls{display:flex;gap:7px;margin-top:23px}#love-terraces .lt-dot{width:32px;height:32px;background:transparent;border:1px solid #d9cfac;border-radius:50%;font:400 11px Manrope,Arial,sans-serif;color:#6b6040;cursor:pointer}#love-terraces .lt-dot[aria-pressed=true]{background:var(--lt-accent);border-color:var(--lt-accent);color:#28271f}#love-terraces .lt-footnote{text-align:center;color:#8a7b4c;font-size:11px;margin:5px 0 0}
#love-terraces .lt-bottom{padding:36px 8% 42px;display:flex;gap:30px;justify-content:space-between;align-items:center}#love-terraces .lt-bottom h2{font:400 26px/1.2 Georgia,serif;margin:0 0 8px}#love-terraces .lt-bottom p{font-size:12px;color:#736b5b;margin:0}#love-terraces .lt-book{display:inline-flex;align-items:center;gap:15px;white-space:nowrap;background:var(--lt-accent);border-radius:30px;padding:15px 20px;font-size:12px}
@media(prefers-reduced-motion:reduce){#love-terraces .lt-tier{transition:none}}
@media(max-width:620px){#love-terraces .lt-layout{grid-template-columns:1fr;gap:10px}#love-terraces .lt-sculpture{width:min(100%,410px);margin:auto;height:360px}#love-terraces .lt-detail{padding:10px 5% 20px;min-height:245px}#love-terraces .lt-stepnumber{font-size:35px;margin-bottom:10px}#love-terraces .lt-controls{margin-top:15px}#love-terraces .lt-dot{width:44px;height:44px}#love-terraces .lt-bottom{flex-direction:column;align-items:start;gap:23px}#love-terraces .lt-heading{align-items:start}#love-terraces .lt-heading span{max-width:90px;text-align:right}#love-terraces .lt-header span{max-width:120px;text-align:right;font-size:9px}#love-terraces .lt-intro{padding:36px 7%}#love-terraces .lt-tierlabel{font-size:11px;gap:6px}}
/* Five connected facets, inspired by the system shapes on page 66. */
#love-terraces .lt-sculpture{height:auto;aspect-ratio:1;width:100%;max-width:430px;margin:auto}
#love-terraces .lt-ground{display:none}
#love-terraces .lt-wheel{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 9px 7px #b8942520)}
#love-terraces .lt-tier[data-step]{width:27%;height:21%;bottom:auto;z-index:2;transform:translate(-50%,-50%);border-radius:25px;background:transparent;box-shadow:none;font-size:12px;padding:0}
#love-terraces .lt-tier:before{display:none}
#love-terraces .lt-tier[data-step="0"]{left:50%;top:18%}
#love-terraces .lt-tier[data-step="1"]{left:80.5%;top:40%}
#love-terraces .lt-tier[data-step="2"]{left:69%;top:76%}
#love-terraces .lt-tier[data-step="3"]{left:31%;top:76%}
#love-terraces .lt-tier[data-step="4"]{left:19.5%;top:40%}
#love-terraces .lt-tier[aria-pressed="true"]{background:transparent}
#love-terraces .lt-tier:hover{transform:translate(-50%,-50%);background:#ffffff35}
#love-terraces .lt-tierlabel{position:static;flex-direction:column;gap:6px;line-height:1.25;white-space:normal;font-size:12px}
#love-terraces .lt-tierlabel small{font-size:10px;letter-spacing:1px}
#love-terraces .lt-center{position:absolute;inset:35%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font:400 24px/1.05 Georgia,serif;letter-spacing:-.5px;pointer-events:none}
#love-terraces .lt-center small{font:400 8px Manrope,Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:9px;color:#8a7844}
#love-terraces .lt-footnote{margin-top:17px}
@media(max-width:620px){#love-terraces .lt-sculpture{height:auto;width:min(100%,390px)}#love-terraces .lt-center{font-size:24px}#love-terraces .lt-tierlabel{font-size:12px}}
#love-terraces .lt-center{inset:30.4%;border-radius:50%;overflow:hidden;background:#fff}
#love-terraces .lt-center img{display:block;width:100%;height:100%;object-fit:cover}
#love-terraces .lt-sculpture{aspect-ratio:1.4;max-width:490px}
#love-terraces .lt-layout{grid-template-columns:1.45fr 1fr;gap:24px;margin-top:36px;margin-bottom:20px}
@media(max-width:620px){#love-terraces .lt-layout{grid-template-columns:1fr;gap:24px}#love-terraces .lt-sculpture{width:100%;max-width:460px;aspect-ratio:1.4}#love-terraces .lt-tierlabel{font-size:11px;gap:3px}#love-terraces .lt-tierlabel small{font-size:9px}}
#love-terraces .lt-sculpture{container-type:inline-size;max-width:540px}
#love-terraces .lt-sculpture .lt-tier[data-step]{inset:0;width:100%;height:100%;transform:none;border-radius:0;background:transparent;transition:none;z-index:2}
#love-terraces .lt-sculpture .lt-tier:hover{transform:none;background:transparent}
#love-terraces .lt-sculpture .lt-tierlabel{position:absolute;top:var(--label-y);left:var(--label-x);width:28%;transform:translate(-50%,-50%);font-size:clamp(11px,3.25cqw,15px);line-height:1.2;gap:5px;pointer-events:none;text-align:center}
#love-terraces .lt-sculpture .lt-tierlabel small{font-size:clamp(9px,2.5cqw,11px);line-height:1;letter-spacing:1px}
#love-terraces .lt-layout{grid-template-columns:1.65fr 1fr}
@media(max-width:620px){#love-terraces .lt-layout{grid-template-columns:1fr}}
#love-terraces .lt-sculpture .lt-tier[data-step="2"] .lt-tierlabel{transform:translate(-50%,-50%) rotate(-27deg)}
#love-terraces .lt-sculpture .lt-tier[data-step="3"] .lt-tierlabel{transform:translate(-50%,-50%) rotate(27deg)}
#love-terraces .lt-intro .lt-description:not(:last-child){color:#756e60}
#love-terraces .lt-intro .lt-description:last-child{font-size:19px;font-weight:500;line-height:1.6;color:#302d24;border-left:3px solid var(--lt-accent);padding-left:19px;margin-top:28px;max-width:570px}
#love-terraces .header.wrap{width:min(1240px,88%);margin-inline:auto;min-height:105px;color:#202020;background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);border-bottom:1px solid #20202025;justify-content:space-between;align-items:center;gap:24px;display:flex}
#love-terraces .header .brand{white-space:nowrap;align-items:center;gap:13px;font-size:18.4px;font-weight:600;display:flex}
#love-terraces .header .brand small{letter-spacing:.12em;margin-top:6px;font-size:12px;font-weight:400;display:block}
#love-terraces .header nav{align-items:center;gap:30px;font-size:14px;display:flex}
#love-terraces .header nav a{padding:12px 0}
#love-terraces .header nav a:hover{color:#6b5300}
#love-terraces .header .nav-contact{border-bottom:1px solid #807a60}
#love-terraces .header .nav-contact span{margin-left:24px}
@media(max-width:1000px){#love-terraces .header nav{gap:18px}}
@media(max-width:700px){#love-terraces .header{flex-wrap:wrap;gap:20px;padding:22px 0}#love-terraces .header .brand{font-size:16.8px}#love-terraces .header .brand small{font-size:11.2px}#love-terraces .header nav{justify-content:space-between;gap:8px;width:100%;font-size:13px}#love-terraces .header nav a{padding:6px 0}#love-terraces .header .nav-contact span{margin-left:8px}}
#love-terraces .lt-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;padding:48px 8% 52px;background:#fffefb}
#love-terraces .lt-bottom h2{font-size:30px;line-height:1.2;max-width:620px;margin:0 auto 12px}
#love-terraces .lt-bottom p{font-size:14px;line-height:1.6}
#love-terraces .lt-book{font-size:14px;padding:17px 27px;gap:25px}
@media(max-width:620px){#love-terraces .lt-bottom{padding:38px 7% 42px;gap:24px;align-items:center}#love-terraces .lt-bottom h2{font-size:29px}#love-terraces .lt-bottom p{font-size:13px}#love-terraces .lt-book{font-size:13px;padding:16px 24px;gap:20px}}

#love-terraces [hidden]{display:none!important}

#love-terraces .lt-intro{text-align:center;padding:58px 8% 52px}
#love-terraces .lt-intro h1{max-width:960px;margin-inline:auto}
#love-terraces .lt-intro .lt-description{max-width:610px;margin-inline:auto;line-height:1.75}
#love-terraces .lt-intro .lt-description:last-child{border-left:0;padding-left:0;margin-top:26px;line-height:1.6}
#love-terraces .lt-intro .lt-description:last-child:before{content:'';display:block;width:48px;height:3px;background:var(--lt-accent);margin:0 auto 20px}
#love-terraces .lt-program{padding:42px 6% 36px}
#love-terraces .lt-heading{flex-direction:column;align-items:center;text-align:center;gap:12px;padding:0}
#love-terraces .lt-heading h2{max-width:780px;font-size:36px;line-height:1.2}
#love-terraces .lt-heading span{max-width:none;text-align:center;font-size:12px}
#love-terraces .lt-layout{max-width:1080px;grid-template-columns:1.35fr 1fr;gap:42px;margin:32px auto 18px}
#love-terraces .lt-detail{padding-right:0}
#love-terraces .lt-stepnumber{font-size:48px}
@media(max-width:620px){
 #love-terraces .lt-intro{padding:38px 7% 38px}
 #love-terraces .lt-program{padding:32px 6% 30px}
 #love-terraces .lt-heading h2{font-size:29px;max-width:360px}
 #love-terraces .lt-layout{grid-template-columns:1fr;gap:22px;margin-top:24px}
 #love-terraces .lt-detail{padding:6px 3% 10px;min-height:245px}
 #love-terraces .lt-stepnumber{font-size:35px}
}

#love-terraces .lt-center{border:0;padding:0;cursor:pointer;pointer-events:auto;z-index:4;-webkit-tap-highlight-color:transparent;transition:transform .25s ease;box-shadow:0 0 0 1px #ffffff90}
#love-terraces .lt-center:hover{transform:scale(1.025)}
#love-terraces .lt-center:focus-visible{outline:3px solid #8b7118;outline-offset:5px}
#love-terraces .lt-center img{position:absolute;inset:0;transition:opacity .48s ease;pointer-events:none}
#love-terraces .lt-center .lt-logo-inverted{filter:url(#lt-logo-colour-swap);opacity:0}
#love-terraces .lt-center[aria-pressed="true"] .lt-logo-inverted{opacity:1}
#love-terraces .lt-center[aria-pressed="true"] .lt-logo-original{opacity:0}
#love-terraces .lt-center.lt-logo-playing{animation:lt-logo-turn .7s cubic-bezier(.22,.7,.25,1) both}
#love-terraces .lt-logo-wave{position:absolute;inset:30.4%;border-radius:50%;border:2px solid #ffdc50;pointer-events:none;z-index:3;opacity:0}
#love-terraces .lt-logo-wave.lt-logo-playing{animation:lt-logo-ripple .85s ease-out both}
#love-terraces .lt-logo-filters{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
@keyframes lt-logo-turn{0%{transform:scale(1) rotate(0)}25%{transform:scale(.94) rotate(-7deg)}62%{transform:scale(1.045) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
@keyframes lt-logo-ripple{0%{transform:scale(.95);opacity:.75}100%{transform:scale(1.65);opacity:0}}
@media(prefers-reduced-motion:reduce){#love-terraces .lt-center,#love-terraces .lt-center img{transition:none}#love-terraces .lt-center.lt-logo-playing,#love-terraces .lt-logo-wave.lt-logo-playing{animation:none}#love-terraces .lt-center:hover{transform:none}}

/* Light spreads over the viewport; page controls remain usable beneath it. */
.lt-magic{position:fixed;inset:0;z-index:10000;pointer-events:none;overflow:hidden;isolation:isolate}
.lt-magic-bloom,.lt-magic-rays,.lt-magic-halo{position:absolute;left:var(--magic-x);top:var(--magic-y);width:var(--magic-size);height:var(--magic-size);border-radius:50%;pointer-events:none}
.lt-magic-bloom{background:radial-gradient(circle,#fff 0%,#fffdf0e0 12%,#ffefb59c 31%,#ffe5a32e 49%,transparent 68%);animation:lt-magic-spread 6s cubic-bezier(.2,.65,.25,1) both}
.lt-magic-rays{background:repeating-conic-gradient(from 10deg,transparent 0deg 14deg,#fff9d980 19deg,transparent 27deg 42deg);mask-image:radial-gradient(circle,transparent 3%,#0009 18%,#000 40%,transparent 68%);animation:lt-magic-orbit 6s ease-out both}
.lt-magic-halo{background:radial-gradient(circle,transparent 18%,#fff8db70 20%,#ffe29540 23%,transparent 28%);animation:lt-magic-halo 5s ease-out both}
.lt-magic-bubble{position:absolute;display:block;border-radius:50%;border:1px solid #fff9dcbb;background:radial-gradient(circle at 30% 25%,#fff 0%,#fff8dd9c 14%,#ffe5ac30 38%,transparent 64%);box-shadow:inset -2px -3px 8px #ffdc6045,0 0 12px #ffe1a480;will-change:transform,opacity}
@keyframes lt-magic-spread{0%{transform:translate(-50%,-50%) scale(.025);opacity:0}12%{opacity:1}40%{transform:translate(-50%,-50%) scale(1);opacity:.9}65%{opacity:.65}100%{transform:translate(-50%,-50%) scale(1.15);opacity:0}}
@keyframes lt-magic-orbit{0%{transform:translate(-50%,-50%) scale(.04) rotate(-30deg);opacity:0}20%{opacity:.65}60%{opacity:.35}100%{transform:translate(-50%,-50%) scale(1.1) rotate(75deg);opacity:0}}
@keyframes lt-magic-halo{0%{transform:translate(-50%,-50%) scale(.04);opacity:0}15%{opacity:.8}100%{transform:translate(-50%,-50%) scale(1.2);opacity:0}}
.lt-magic-still .lt-magic-rays,.lt-magic-still .lt-magic-halo{display:none}
.lt-magic-still .lt-magic-bloom{animation:lt-magic-calm 1.2s ease-in-out both}
@keyframes lt-magic-calm{0%,100%{transform:translate(-50%,-50%);opacity:0}50%{transform:translate(-50%,-50%);opacity:.35}}

/* Sustain the light while enabled, then fade the whole effect together. */
#love-terraces .lt-center{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.lt-magic{opacity:1;transition:opacity .85s ease-out}
.lt-magic.lt-magic-fading{opacity:0}
.lt-magic-bloom{animation:lt-magic-open 2s cubic-bezier(.2,.65,.25,1) both}
.lt-magic-rays{animation:lt-magic-rays-open 2s ease-out both,lt-magic-spin 24s linear infinite}
.lt-magic-halo{animation:lt-magic-breathe 5s ease-in-out infinite}
@keyframes lt-magic-open{0%{transform:translate(-50%,-50%) scale(.025);opacity:0}30%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.1);opacity:.85}}
@keyframes lt-magic-rays-open{0%{opacity:0}100%{opacity:.65}}
@keyframes lt-magic-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes lt-magic-breathe{0%{transform:translate(-50%,-50%) scale(.12);opacity:0}25%{opacity:.65}100%{transform:translate(-50%,-50%) scale(1.15);opacity:0}}
.lt-magic-still .lt-magic-bloom{animation:none;transform:translate(-50%,-50%);opacity:.35}
@media(prefers-reduced-motion:reduce){.lt-magic{transition-duration:.2s}}

/* Small, crisp light points breathe independently of their slow flight. */
.lt-magic-bubble{border:0;background:none;box-shadow:none}
.lt-magic-spark{display:block;width:100%;height:100%;border-radius:50%;border:0;background:radial-gradient(circle,#fff9df 0% 20%,#d99c19 45% 100%);box-shadow:0 0 1px #bd830dcc,0 0 4px #ffc53690;animation:lt-firefly-pulse var(--pulse-time,3s) ease-in-out var(--pulse-delay,0s) infinite}
@keyframes lt-firefly-pulse{0%,100%{opacity:.55}50%{opacity:1}}

/* An opening wave gives way to a continuous sun-like corona. */
.lt-magic-corona,.lt-magic-wave-front,.lt-magic-wave-echo{position:absolute;left:var(--magic-x);top:var(--magic-y);width:var(--magic-size);height:var(--magic-size);border-radius:50%;pointer-events:none}
.lt-magic-corona{background:repeating-conic-gradient(from 0deg,transparent 0deg 6deg,#fffbea 6.6deg,#ffe69b95 7.1deg,transparent 8deg 12deg);mask-image:radial-gradient(circle,transparent 2%,#000 9%,#0009 28%,transparent 62%);animation:lt-corona-reveal 3s ease-out both,lt-corona-turn 48s linear infinite}
.lt-magic-wave-front,.lt-magic-wave-echo{box-sizing:border-box;border:2px solid #ffdd78b0;background:radial-gradient(circle,transparent 64%,#fff9d440 69%,#fff7da 70%,#ffeab855 71%,transparent 73%);box-shadow:0 0 24px #ffe7a14d,inset 0 0 24px #fff3c960;animation:lt-opening-wave 3.5s cubic-bezier(.16,.6,.28,1) both}
.lt-magic-wave-echo{animation-delay:.4s;border-width:1px}
.lt-magic-halo{animation:lt-corona-heart 8s ease-in-out infinite;background:radial-gradient(circle,#fff 0%,#fffbe6a0 5%,#ffeab640 12%,transparent 22%)}
@keyframes lt-opening-wave{0%{transform:translate(-50%,-50%) scale(.015);opacity:0}10%{opacity:.9}65%{opacity:.4}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes lt-corona-reveal{0%{opacity:0}100%{opacity:.6}}
@keyframes lt-corona-turn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes lt-corona-heart{0%,100%{transform:translate(-50%,-50%) scale(.85);opacity:.45}50%{transform:translate(-50%,-50%) scale(1.05);opacity:.7}}
.lt-magic-still .lt-magic-corona,.lt-magic-still .lt-magic-wave-front,.lt-magic-still .lt-magic-wave-echo{display:none}

/* Lens-like discs at different depths, in the site's warm palette. */
.lt-bokeh-field{position:absolute;inset:0;overflow:hidden;animation:lt-bokeh-arrive 1.6s ease-out both}
.lt-bokeh-disc{position:absolute;display:block;border-radius:50%;opacity:var(--bokeh-opacity);background:radial-gradient(circle,rgba(var(--bokeh-rgb),.42) 0%,rgba(var(--bokeh-rgb),.5) 62%,rgba(var(--bokeh-rgb),.8) 80%,rgba(var(--bokeh-rgb),.3) 89%,rgba(var(--bokeh-rgb),0) 100%);filter:blur(var(--bokeh-blur));box-shadow:inset 0 0 12px rgba(var(--bokeh-rgb),.15);will-change:transform;mix-blend-mode:multiply}
.lt-magic-bloom{animation:lt-bokeh-light 1.8s ease-out both}
@keyframes lt-bokeh-arrive{from{opacity:0}to{opacity:1}}
@keyframes lt-bokeh-light{from{transform:translate(-50%,-50%) scale(.025);opacity:0}to{transform:translate(-50%,-50%) scale(1.1);opacity:.52}}
.lt-magic-still .lt-magic-bloom{animation:none;transform:translate(-50%,-50%);opacity:.3}

/* Yellow illumination blooms across the whole viewport behind the lens discs. */
.lt-magic:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--magic-x) var(--magic-y),#fff 0%,#fffbd870 40%,#fff7b933 100%);animation:lt-bokeh-arrive 1.8s ease-out both}

/* The light belongs to document coordinates; the off control belongs to the viewport. */
.lt-magic{position:absolute;inset:auto;left:0;top:0;width:100%;height:var(--magic-page-height);mask-image:radial-gradient(ellipse var(--magic-cutout-x) var(--magic-cutout-y) at var(--magic-x) var(--magic-y),transparent 97%,#000 100%)}
.lt-magic-control{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:10001;width:76px;height:56px;border-radius:50%;border:2px solid #fff;background:#ffdc50;padding:0;overflow:hidden;cursor:pointer;box-shadow:0 4px 22px #74510d40;touch-action:manipulation}
.lt-magic-control img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.lt-magic-control[hidden]{display:none}
.lt-magic-control:focus-visible{outline:3px solid #8b7118;outline-offset:4px}

/* Native disclosure keeps questions usable with touch, keyboard, and without scripts. */
#love-terraces .lt-faq{padding:60px 6% 72px;background:#fffefb}
#love-terraces .lt-faq h2{text-align:center;font:400 36px/1.2 Georgia,serif;letter-spacing:-.7px;margin:0 0 32px}
#love-terraces .lt-faq-item{max-width:880px;margin:0 auto;border-top:1px solid #e4d9a8;border-bottom:1px solid #e4d9a8}
#love-terraces .lt-faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:18px;font-weight:500;cursor:pointer}
#love-terraces .lt-faq-item summary::-webkit-details-marker{display:none}
#love-terraces .lt-faq-item summary:after{content:"";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffdc50;color:#4d4016;font-size:23px;font-weight:400;transition:transform .2s ease}
#love-terraces .lt-faq-item[open] summary:after{transform:none}
#love-terraces .lt-faq-item summary:focus-visible{outline:2px solid #927115;outline-offset:6px}
#love-terraces .lt-faq-answer{max-width:750px;padding:0 42px 26px 0;color:#635c4b;font-size:15px;line-height:1.8}
#love-terraces .lt-faq-answer p{margin:0 0 14px}
#love-terraces .lt-faq-answer p:last-child{margin-bottom:0}
@media(max-width:620px){#love-terraces .lt-faq{padding:44px 6% 52px}#love-terraces .lt-faq h2{font-size:29px;margin-bottom:24px}#love-terraces .lt-faq-item summary{font-size:16px;gap:16px;padding:20px 0}#love-terraces .lt-faq-answer{padding-right:0;font-size:14px}}
@media(prefers-reduced-motion:reduce){#love-terraces .lt-faq-item summary:after{transition:none}}

/* Q&A is a distinct warm section, with a light disclosure card. */
#love-terraces .lt-faq{background:#fff5c7;border-top:1px solid #eedb91;padding:70px 6% 80px}
#love-terraces .lt-faq h2{margin-bottom:34px}
#love-terraces .lt-faq-item{background:#fffefb;border:1px solid #eee2b1;border-radius:18px;padding:0 30px;box-shadow:0 7px 24px #b9983510}
#love-terraces .lt-faq-item summary{padding:25px 0}
#love-terraces .lt-faq-answer{padding-bottom:30px}
@media(max-width:620px){#love-terraces .lt-faq{padding:46px 6% 54px}#love-terraces .lt-faq h2{margin-bottom:26px}#love-terraces .lt-faq-item{border-radius:14px;padding:0 20px}#love-terraces .lt-faq-item summary{padding:22px 0}#love-terraces .lt-faq-answer{padding-bottom:24px}}

/* Draw a centred plus/minus from two strokes, independent of font metrics. */
#love-terraces .lt-faq-item summary:after{background-color:#ffdc50;background-image:linear-gradient(#4d4016,#4d4016),linear-gradient(#4d4016,#4d4016);background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transform:none;transition:background-size .18s ease}
#love-terraces .lt-faq-item[open] summary:after{background-size:12px 2px,2px 0}

#love-terraces .lt-faq-item + .lt-faq-item{margin-top:16px}

#love-terraces .lt-faq-item{background:#fffbea;border-color:#eadfac}
