/* Dreamscape: original garden illustration, still text, action-driven motion. */
.home.dreamscape {
  --ink:#34324c; --ink-2:#4b3c60; --paper:#fffaf4; --cream:#f7f1e9;
  --lime:#e4dcff; --green:#684575; --orange:#684575;
  --line:#bdb3bf; --muted:#5c5265; --sans:Arial,Helvetica,sans-serif;
  background:var(--cream); font:17px/1.6 var(--sans);
}
.dreamscape .g-header, .dreamscape .g-header.is-scrolled {
  top:0; width:100%; min-height:94px; margin:0; padding:22px 4%;
  border:0; border-bottom:1px solid var(--line); border-radius:0;
  background:#f7f1e9; box-shadow:none; backdrop-filter:none; transition:none;
}
.dreamscape .g-brand, .dreamscape .g-brand:hover { color:var(--ink); }
.dreamscape .g-brand img { display:none; }
.dreamscape .g-brand span { display:flex; align-items:center; gap:18px; }
.dreamscape .g-brand strong { font-size:40px; letter-spacing:-.07em; }
.dreamscape .g-brand small { max-width:145px; color:var(--ink); font-size:10px; line-height:1.3; margin:0; }
.dreamscape .g-header nav > a:not(.btn) { color:var(--ink); font-size:13px; font-weight:400; }
.js .dreamscape .g-header nav { background:transparent; }
.dreamscape .g-menu { border-radius:100px; color:var(--ink); border-color:var(--line); }
.dreamscape .g-hero {
  width:100%; min-height:0; padding:54px 4% 40px;
  grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); gap:28px;
  border:0; border-radius:0; box-shadow:none; color:var(--ink);
  background:radial-gradient(ellipse at 85% 35%,#e4d4ee 0,transparent 58%),linear-gradient(120deg,#f6efe6,#f0d2ba);
}
.dreamscape .g-hero::before, .dreamscape .g-hero::after { content:none; }
.dreamscape h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.dreamscape .g-hero h1 { color:var(--ink); font:400 clamp(60px,7vw,112px)/1 Georgia,'Times New Roman',serif; letter-spacing:-.065em; margin:0 0 28px; }
.dreamscape .g-hero h1 span:last-child { font-style:italic; color:#684575; }
.dreamscape .eyebrow { font:700 11px/1.5 'Courier New',monospace; letter-spacing:.06em; color:#684575; }
.dreamscape .eyebrow::before { content:none; }
.dreamscape .g-hero .eyebrow { color:var(--ink); margin-bottom:25px; }
.dreamscape .g-hero .lede { max-width:580px; font-size:20px; line-height:1.5; letter-spacing:0; color:var(--ink); }
.dreamscape .g-hero .hero-copy > p:not(.eyebrow,.lede,.micro) { max-width:570px; color:var(--ink); font-size:14px; line-height:1.65; }
.dreamscape .g-hero .hero-copy > p strong { color:var(--ink); }
.dreamscape .g-hero .micro { max-width:570px; color:var(--ink); font:11px/1.6 'Courier New',monospace; }
.dreamscape .actions { gap:12px; margin:27px 0 17px; }
.dreamscape .btn { border-radius:100px; font-size:13px; font-weight:700; box-shadow:none; transition:background .2s,color .2s; }
.dreamscape .btn::after { display:none; }
.dreamscape .g-hero .btn, .dreamscape .btn { border-color:#4b3c60; background:#4b3c60; color:#fffaf4; }
.dreamscape .btn:hover, .dreamscape .g-hero .btn:hover { background:#e4dcff; color:var(--ink); border-color:#4b3c60; transform:none; box-shadow:none; }
.dreamscape .g-hero .btn.secondary { color:var(--ink); border-color:#4b3c60; background:transparent; }
.dreamscape .g-hero .btn.secondary:hover { background:#fffaf4; }
.dreamscape .btn.small { padding:10px 17px; min-height:44px; }
.dreamscape .motion-reveal, .js.motion-ready .dreamscape .g-hero .hero-copy > * { opacity:1; transform:none; animation:none; transition:none; }
.dreamscape .hero-art { position:relative; min-width:0; margin:0 -3vw 0 -5vw; align-self:center; }
.dreamscape .halo { position:absolute; inset:6% 5% 16%; background:conic-gradient(from 40deg,#e5a8a0,#b6a1df,#b2c6a2,#f3d5a4,#e5a8a0); filter:blur(24px); border-radius:50%; opacity:.45; pointer-events:none; }
.dreamscape .hero-art figcaption { position:relative; text-align:center; font:11px/1.5 'Courier New',monospace; letter-spacing:.06em; }
.dreamscape .house-scene { display:block; width:100%; padding:0; margin:0; border:0; border-radius:24px; background:transparent; color:inherit; appearance:none; -webkit-appearance:none; touch-action:manipulation; position:relative; --mx:0px; --my:0px; --turn:0deg; }
.dreamscape .house-scene:disabled { cursor:default; }
.dreamscape .house-scene .garden-scene { pointer-events:none; }
.dreamscape .house-scene:focus-visible { outline:3px solid #684575; outline-offset:5px; border-radius:24px; }
.dreamscape .garden-scene { display:block; width:100%; height:auto; filter:grayscale(1) saturate(.12) brightness(.93); transition:filter 650ms ease; overflow:visible; }
.dreamscape .is-awake .garden-scene { filter:grayscale(0) saturate(1) brightness(1); }
.dreamscape .garden-scene g[class] { transform-box:fill-box; transform-origin:center; transition:transform 900ms cubic-bezier(.2,.65,.2,1); }
.dreamscape .is-awake .house-layer { transform:translate(var(--mx),calc(var(--my) - 8px)) rotate(var(--turn)); }
.dreamscape .is-awake .island-layer { transform:translate(calc(var(--mx)*.25),calc(var(--my)*.3)); }
.dreamscape .is-awake .shadow-layer { transform:translate(calc(var(--mx)*.1),3px) scale(.96); }
.dreamscape .is-awake .plant-left { transform:translate(calc(var(--mx)*1.3),calc(var(--my)*.6 - 2px)); }
.dreamscape .is-awake .plant-right { transform:translate(calc(var(--mx)*1.5),calc(var(--my)*.7 - 2px)); }
.dreamscape .is-awake .flower-left { transform:translate(calc(var(--mx)*1.8),calc(var(--my)*1.3)); }
.dreamscape .is-awake .flower-right { transform:translate(calc(var(--mx)*2),calc(var(--my)*1.5)); }
.dreamscape .is-awake .star-layer { transform:translate(calc(var(--mx)*.5),calc(var(--my)*.4 - 5px)); animation:ds-star-glow 4s ease-in-out infinite; }
.dreamscape .is-awake .house-breathe { animation:ds-house-breathe 5s ease-in-out infinite; }
.dreamscape .is-awake .plant-sway { animation:ds-plant-sway 4.8s ease-in-out infinite; transform-origin:center bottom!important; }
.dreamscape .is-awake .plant-right .plant-sway { animation-delay:-2s; }
.dreamscape .is-awake .flower-sway { animation:ds-flower-sway 4.2s ease-in-out infinite; transform-origin:center bottom!important; }
.dreamscape .is-awake .flower-right .flower-sway { animation-delay:-1.5s; }
.dreamscape .scene-controls { position:absolute; right:18px; bottom:34px; }
.dreamscape .scene-motion { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #8b789a; border-radius:50%; background:#fff8ed; color:#4b3c60; touch-action:manipulation; }
.dreamscape .scene-motion svg { fill:currentColor; pointer-events:none; }
.dreamscape .scene-motion .play-icon { display:none; }
.dreamscape .scene-motion[aria-pressed=true] .pause-icon { display:none; }
.dreamscape .scene-motion[aria-pressed=true] .play-icon { display:block; }
.dreamscape .scene-motion:hover { background:#e4dcff; }
.dreamscape .scene-motion:focus-visible { outline:3px solid #684575; outline-offset:4px; }
.dreamscape .scene-motion:disabled { cursor:default; }
.dreamscape .scene-motion:disabled .pause-icon { display:block; }
.dreamscape .scene-motion:disabled .play-icon { display:none; }
.dreamscape .scene-motion-off .garden-scene g[class] { transform:none!important; animation:none!important; transition:none!important; }
.dreamscape .scene-motion-off .garden-scene { transition:filter 180ms ease; }
/* Preserve main's centered masthead, practical game plan and open brand line. */
.dreamscape .g-brand strong { font-family:var(--sans); }
.js .dreamscape .g-header nav > a:not(.btn),
.js .dreamscape .g-header nav > a:not(.btn):hover { color:var(--ink); }
.js .dreamscape .g-header nav > a:focus-visible { outline:3px solid #684575; outline-offset:4px; }
.js .dreamscape .g-header nav > a.btn { border-color:#4b3c60; background:#4b3c60; color:#fffaf4; border-radius:100px; }
.js .dreamscape .g-header nav > a.btn:hover { background:#e4dcff; color:var(--ink); }
.dreamscape .g-hero { align-items:center; }
.dreamscape .g-hero .hero-copy > p:not(.eyebrow,.lede,.micro) { font-size:17px; }
.dreamscape .home-plan h2, .dreamscape .fun-line h2 { font:400 clamp(40px,4.9vw,76px)/1.02 Georgia,'Times New Roman',serif; letter-spacing:-.055em; }
.dreamscape .home-plan { padding-block:80px; }
.dreamscape .home-plan li { font-family:var(--sans); }
.dreamscape .fun-line { padding-block:80px; }
.dreamscape .g-footer { width:100%; border-radius:0; margin-top:0; background:#dce4c4; color:var(--ink); border-color:var(--line); }
.dreamscape .g-footer a, .dreamscape .g-footer p, .dreamscape .g-footer .fineprint { color:var(--ink); }
.dreamscape .g-footer .wordmark { font-family:var(--sans); letter-spacing:-.07em; }
@keyframes ds-house-breathe { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes ds-plant-sway { 0%,100%{transform:rotate(-.6deg)} 50%{transform:rotate(.9deg)} }
@keyframes ds-flower-sway { 0%,100%{transform:rotate(-1.2deg)} 50%{transform:rotate(1.2deg)} }
@keyframes ds-star-glow { 0%,100%{opacity:.7} 50%{opacity:1} }
@media(max-width:1080px) {
  .dreamscape .g-brand small { display:none; }
  .dreamscape .g-header { gap:14px; }
  .dreamscape .g-hero h1 { font-size:6.9vw; }
}
@media(max-width:900px) {
  .dreamscape .g-header, .dreamscape .g-header.is-scrolled { padding:18px 5%; min-height:76px; }
  .js .dreamscape .g-header nav { background:#f7f1e9; border-color:var(--line); border-radius:0; box-shadow:0 15px 30px #34324c18; inset:100% 0 auto; }
  .dreamscape .g-hero { padding:35px 5% 40px; grid-template-columns:1fr; gap:20px; }
  .dreamscape .hero-copy { display:contents; }
  .dreamscape .hero-copy > * { min-width:0; }
  .dreamscape .hero-copy .eyebrow { order:1; margin:0; font-size:10px; }
  .dreamscape .g-hero h1 { order:2; font-size:clamp(50px,13.5vw,100px); margin:0; }
  .dreamscape .g-hero h1 span { white-space:normal; }
  .dreamscape .hero-art { order:3; margin:0 -3%; }
  .dreamscape .garden-scene { max-height:390px; }
  .dreamscape .hero-copy .lede { order:4; font-size:18px; margin:0; }
  .dreamscape .hero-copy > p:not(.eyebrow,.lede,.micro) { order:5; margin:0; }
  .dreamscape .hero-copy .actions { order:6; margin:4px 0; }
  .dreamscape .hero-copy .micro { order:7; margin:0; }
}
@media(max-width:680px) {
  .home.dreamscape { font-size:16px; }
  .dreamscape .g-brand strong { font-size:34px; }
  .dreamscape .garden-scene { max-height:320px; }
  .dreamscape .section { padding-block:70px; }
}
@media(prefers-reduced-motion:reduce) {
  .dreamscape .garden-scene { transition:none!important; }
  .dreamscape .garden-scene g[class] { transform:none!important; animation:none!important; transition:none!important; }
}
@media print {
  .dreamscape .hero-art { display:none; }
  .dreamscape .g-hero { display:block; background:white; }
  .dreamscape .hero-copy { display:block; }
}
