/* Small Days: moving sunshine, pressed flowers, pencilled roads. */
.sd-cursor,.sd-spark-layer,.sd-flight-layer{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden}
.sd-cursor{inset:auto;left:0;top:0;width:30px;height:30px;overflow:visible;opacity:0;will-change:transform;transition:opacity .2s;color:var(--navy)}
.sd-cursor svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;overflow:visible}
.sd-cursor .sun-core{fill:var(--orange);fill-opacity:.72;stroke:var(--navy)}
.sd-cursor[data-near=photo]{color:var(--cream)}
.sd-cursor[data-near=photo] .sun-core{fill:var(--cream);stroke:var(--cream);fill-opacity:.2}
.sd-cursor[data-near=action] .sun-rays{transform:scale(1.27) rotate(22deg)}
.sd-cursor .sun-rays{transform-origin:center;transition:transform .4s var(--ease)}
.sd-spark{position:absolute;width:20px;height:20px;fill:none;stroke:var(--green);stroke-width:1.2;overflow:visible;transform-origin:center}
.sd-spark[data-light=true]{stroke:var(--cream)}
.sd-flight{position:fixed;left:0;top:0;width:36px;height:36px;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 3px #11283b20);transform-origin:center}
.sd-daylight{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .6s;mix-blend-mode:screen;background:radial-gradient(ellipse 220px 170px at var(--light-x,50%) var(--light-y,50%),#fff1ae66 0%,#fff6ca22 45%,transparent 76%)}
.sd-daylight:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(114deg,transparent 0 63px,#fff5c918 80px 104px,transparent 125px 192px);mask-image:radial-gradient(ellipse 300px 230px at var(--light-x,50%) var(--light-y,50%),#000,transparent);transform:translateX(var(--light-drift,0px))}
.sd-lit>.sd-daylight{opacity:1}
.sd-scene-border{position:absolute;inset:14px;z-index:2;border:1px solid #fff8df55;border-radius:2px;pointer-events:none;opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease),opacity .5s}
.sd-lit>.sd-scene-border{opacity:1;clip-path:inset(0)}
.sd-world .hero-sun{transform:rotate(calc(12deg + var(--sun-turn,0deg))) scale(var(--sun-scale,1));transition:transform .75s var(--ease);transform-origin:center;overflow:visible}
.sd-world .hero-sun .sd-sun-orbit{stroke-dasharray:1 7;stroke-width:1;opacity:.42}
.sd-world .hero-sun .sd-sun-warmth{pointer-events:none}
.sd-world .hero-sun .sd-sun-haze{fill:#ffe4a6;stroke:none;opacity:.25;filter:blur(4.6px);transform-origin:24px 24px;animation:sd-sun-slow-bloom 5.8s ease-in-out infinite}
.sd-world .hero-sun .sd-sun-aura{fill:#fff3c9;stroke:none;opacity:.17;transform-origin:24px 24px;animation:sd-sun-slow-bloom 5.8s ease-in-out -1.2s infinite}
.sd-world .hero-sun .sd-sun-soft-rays{fill:none;stroke:#fff1bb;stroke-width:1.5;stroke-linecap:round;opacity:.34;transform-origin:24px 24px;animation:sd-sun-ray-breath 7.2s ease-in-out infinite}
.sd-world .hero-sun:hover .sd-sun-haze{opacity:.53;filter:blur(3.8px)}
@keyframes sd-sun-slow-bloom{0%,100%{transform:scale(.82);opacity:.16}48%{transform:scale(1.16);opacity:.48}75%{transform:scale(1.02);opacity:.31}}
@keyframes sd-sun-ray-breath{0%,100%{transform:rotate(-3deg) scale(.93);opacity:.23}48%{transform:rotate(4deg) scale(1.09);opacity:.55}}
html.motion-off .sd-world .hero-sun .sd-sun-haze,html.motion-off .sd-world .hero-sun .sd-sun-aura,html.motion-off .sd-world .hero-sun .sd-sun-soft-rays{animation:none}
@media(prefers-reduced-motion:reduce){.sd-world .hero-sun .sd-sun-haze,.sd-world .hero-sun .sd-sun-aura,.sd-world .hero-sun .sd-sun-soft-rays{animation:none!important}}
.sd-world .hero-last svg path,.sd-world .underline-word svg path,.sd-world .hero-note svg path{stroke-dasharray:var(--ink-length,700);stroke-dashoffset:0}
.sd-world .intro-flower{transform:rotate(calc(15deg + var(--flower-bend,0deg)));transform-origin:50% 96%;transition:transform 1s cubic-bezier(.18,.75,.22,1.2)}
.sd-world .intro-flower .sd-blossom{transform-origin:53px 44px;transform:rotate(var(--flower-turn,0deg));transition:transform .8s var(--ease)}
.sd-world .tiny-spark{color:var(--orange);transform:rotate(var(--spark-turn,0deg));transition:transform .65s var(--ease)}
.sd-world .camper-heading-star{transform:rotate(calc(10deg + var(--spark-turn,0deg)));transition:transform .7s var(--ease)}
.sd-world .ribbon-flower{color:var(--orange)}
.sd-world .pet-stamp{will-change:auto;transform:rotate(calc(-10deg + var(--stamp-turn,0deg))) translateY(var(--stamp-lift,0px))}
.sd-world .pet-stamp:hover{--stamp-lift:-5px}
.sd-world .pet-stamp[aria-expanded=true]{--stamp-turn:14deg;--stamp-lift:-5px}
.sd-world .pet-stamp.sd-has-pet .icon{fill:var(--green);stroke:var(--green)}
.sd-paw-route{position:absolute;z-index:7;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.sd-paw-route svg{position:absolute;width:19px;height:22px;fill:var(--cream);stroke:none;opacity:0}
.sd-road-world{position:absolute;z-index:2;left:0;right:0;top:-45px;height:54px;pointer-events:none;overflow:visible}
.sd-road-world .sd-road-line{fill:none;stroke:var(--cream);stroke-width:1.15;stroke-dasharray:4 9;opacity:.6}
.sd-road-world .sd-road-van{overflow:visible}
.sd-mini-body{fill:var(--cream);stroke:var(--navy);stroke-width:1.2;stroke-linejoin:round}
.sd-mini-stripe{fill:var(--green);stroke:none}.sd-mini-window{fill:var(--sky);stroke:var(--navy);stroke-width:1.1}
.sd-mini-wheel{fill:var(--navy);stroke:var(--cream);stroke-width:1.2}.sd-mini-wheel line{stroke:var(--cream);stroke-width:1}
.sd-mini-door{stroke:var(--navy);stroke-width:1;fill:none}
.sd-road-flower{fill:none;stroke:var(--cream);stroke-width:1.2;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 100%}
.sd-road-flower .sd-petals{fill:var(--orange);stroke:none}.sd-road-flower .sd-center{fill:var(--navy);stroke:none}
.sd-garden{position:absolute;pointer-events:none;overflow:visible;z-index:2;width:180px;height:100px;color:var(--green)}
.sd-garden .sd-stem{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round}
.sd-garden .sd-bloom{fill:var(--orange)}
.sd-garden .sd-flower{transform-origin:center bottom;transform-box:fill-box;transition:transform .8s var(--ease)}
.sd-garden .sd-flower[data-tone=cream] .sd-bloom{fill:var(--cream);stroke:var(--green);stroke-width:.7}
.packing-section>.sd-garden{left:5%;bottom:1px;width:145px;height:65px}
.before-section>.sd-garden{right:4%;bottom:10px;width:122px;height:80px}
.sd-world .before-section{position:relative}
.sd-world .site-footer>.sd-garden{left:3.2%;top:-69px;width:100px;height:70px}
.sd-steam-art{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.sd-steam-art .sd-steam{opacity:.6;stroke-dasharray:22 50;stroke-dashoffset:0}
.sd-world .breakfast-note .icon{overflow:visible}
.sd-world .packing-item{transform-origin:50% 88%;overflow:visible}
.sd-world .packing-item:not(.item-dog) .packing-art{transform:translateY(var(--object-y,0px)) rotate(var(--object-r,0deg));transition:transform .55s var(--ease)}
.sd-world .packing-item:not(.item-dog):hover .packing-art,.sd-world .packing-item:not(.item-dog):focus-visible .packing-art{--object-y:-4px;--object-r:-5deg}
.sd-pack-seal{position:absolute;left:8px;bottom:12px;width:34px;height:34px;fill:none;stroke:var(--green);stroke-width:1.4;opacity:0;pointer-events:none;transform:rotate(-16deg) scale(1.4)}
.sd-world .packing-item[aria-pressed=true] .sd-pack-seal{opacity:.65;transform:rotate(-16deg) scale(1);transition:opacity .2s,transform .45s cubic-bezier(.16,1.4,.36,1)}
.sd-pack-seal circle{stroke-dasharray:2 2}
.sd-pack-satchel{position:relative;display:block;width:124px;height:72px;margin-top:15px;transform:rotate(-5deg);color:var(--navy)}
.sd-pack-satchel>svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--cream);stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.sd-pack-satchel .sd-satchel-lid{transform-origin:25px 24px;transition:transform .6s var(--ease)}
.sd-pack-satchel[data-packed=true] .sd-satchel-lid{transform:translateY(-2px) rotate(-3deg)}
.sd-satchel-charm{position:absolute;top:28px;width:21px;height:21px;border-radius:50%;padding:4px;background:var(--orange);border:1px solid var(--navy);opacity:.17;transform:translateY(5px) rotate(-15deg);transition:opacity .3s,transform .5s var(--ease)}
.sd-satchel-charm:nth-of-type(1){left:31px}.sd-satchel-charm:nth-of-type(2){left:55px;background:var(--palegreen)}.sd-satchel-charm:nth-of-type(3){left:79px;background:var(--sky)}
.sd-satchel-charm[data-packed=true]{opacity:1;transform:translateY(0) rotate(0)}
.sd-satchel-charm svg{width:100%;height:100%;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sd-world .before-sticker{transform:rotate(calc(-12deg + var(--stamp-turn,0deg)));transition:transform .7s var(--ease)}
.sd-world .breakfast-ticket{transform:rotate(calc(-8deg + var(--ticket-turn,0deg))) translateY(var(--ticket-lift,0px));transition:transform .8s var(--ease)}
.sd-world .camper-photo-tag{transform:rotate(calc(-4deg + var(--ticket-turn,0deg)));transition:transform .6s var(--ease)}
.sd-world .camper-tabs button[aria-selected=true]{box-shadow:inset 0 -3px 0 var(--green)}
.sd-world .camper-tabs .tab-number{transition:color .3s}.sd-world .camper-tabs button[aria-selected=true] .tab-number{color:var(--green)}
.sd-world .before-accordion summary{position:relative}
.sd-world .before-accordion summary:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--green);transform-origin:left;transform:scaleX(0);transition:transform .65s var(--ease)}
.sd-world .before-accordion details[open] summary:after{transform:scaleX(1)}
.sd-world .desktop-nav a{position:relative}
.sd-world .desktop-nav a:after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:3px;border-radius:50%;background:var(--green);transform:scaleX(0) rotate(-2deg);transform-origin:left;transition:transform .45s var(--ease)}
.sd-world .desktop-nav a:hover:after,.sd-world .desktop-nav a:focus-visible:after{transform:scaleX(1) rotate(-2deg)}
.sd-world .button-dark:before{content:'';position:absolute;inset:5px;border:1px dashed #f8f1df65;border-radius:30px;pointer-events:none;clip-path:inset(0 100% 0 0);transition:clip-path .6s var(--ease)}
.sd-world .button-dark:hover:before,.sd-world .button-dark:focus-visible:before{clip-path:inset(0)}
.sd-world .button-dark:active{transform:translateY(1px) scale(.985)}
.sd-plan-charms{display:flex;gap:9px;align-items:center;height:0;overflow:visible;position:relative;top:-82px;left:3px;pointer-events:none}
.sd-plan-charm{height:26px;width:26px;background:var(--cream);border:1px solid var(--navy);border-radius:50%;padding:6px;opacity:0;transform:translateY(7px) rotate(-12deg);transition:opacity .25s,transform .6s var(--ease)}
.sd-plan-charm[data-packed=true]{opacity:1;transform:translateY(0) rotate(0)}
.sd-plan-charm svg{width:100%;height:100%;fill:none;stroke:var(--navy);stroke-width:2}
.sd-quiet .sd-spark-layer,.sd-quiet .sd-flight-layer,.motion-off .sd-spark-layer,.motion-off .sd-flight-layer{display:none}
.sd-quiet .sd-daylight,.motion-off .sd-daylight,.motion-off .sd-scene-border{opacity:0!important}
.motion-off.sd-world .intro-flower,.sd-quiet .intro-flower{transition:none}
@media(max-width:1280px){.sd-world .pet-stamp{transform:rotate(calc(9deg + var(--stamp-turn,0deg))) translateY(var(--stamp-lift,0px))}.sd-road-world{height:44px;top:-37px}}
@media(max-width:680px){
 .sd-cursor,.sd-spark-layer{display:none}.sd-daylight{background:radial-gradient(ellipse 150px 115px at var(--light-x,50%) var(--light-y,50%),#fff1ae3d,transparent 75%)}
 .sd-world .intro-flower{transform:rotate(calc(18deg + var(--flower-bend,0deg)))}
 .sd-road-world{top:-24px;height:34px}.sd-road-world .sd-road-flower{display:none}
 .sd-pack-satchel{position:absolute;right:20px;top:212px;margin:0;width:80px;height:48px;opacity:.9}
 .sd-satchel-charm{top:18px;width:15px;height:15px;padding:2px}
 .sd-satchel-charm:nth-of-type(1){left:20px}.sd-satchel-charm:nth-of-type(2){left:36px}.sd-satchel-charm:nth-of-type(3){left:52px}
 .sd-pack-seal{width:23px;height:23px;bottom:6px;left:5px}
 .packing-section>.sd-garden{width:70px;height:38px;left:8px;bottom:2px}
 .before-section>.sd-garden{display:none}.sd-world .site-footer>.sd-garden{width:65px;height:45px;top:-44px}
 .sd-plan-charms{top:-48px;left:0;gap:5px}.sd-plan-charm{width:19px;height:19px;padding:4px}
}
@media(prefers-reduced-motion:reduce){.sd-spark-layer,.sd-flight-layer,.sd-daylight,.sd-scene-border{display:none!important}}
/* The keepsake bag sits in the chapter's existing breathing room. */
.sd-pack-satchel{position:absolute;left:23%;bottom:32px;margin:0}
@media(max-width:680px){
 .sd-pack-satchel{display:none}
 .sd-world .plan-doodle{position:relative;inset:auto}
 .sd-plan-charms{position:absolute;top:14px;left:0}
}
@media(max-width:350px){
 .sd-world .site-header{gap:8px}
 .sd-world .header-actions .button{white-space:nowrap}
 .sd-world .hero-photo .photo-caption{max-width:calc(100% - 165px)}
 .sd-world .hero h1{font-size:clamp(49px,15.6vw,54px)}
 .sd-world .before-main h2,.sd-world .camper-info h3{font-size:36px}
}
