/* Full-frame photography: portrait, square and landscape images keep their composition. */
.photo-gallery{width:100%;height:100%;display:flex;flex-direction:column;background:#202f29;color:#f5f1e8;position:relative;overflow:hidden;isolation:isolate}
.gallery-stage{position:relative;flex:1;min-height:0;width:100%}.gallery-slide{position:absolute;inset:0;animation:photo-arrive .65s ease}.gallery-zoom{display:block;border:0;background:transparent;padding:0;width:100%;height:100%;cursor:zoom-in;position:relative}.photo-gallery .gallery-slide img{position:static;inset:auto;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;filter:none}
.experience-panel:hover .experience-image .photo-gallery img{transform:none}.gallery-controls{min-height:58px;display:flex;gap:7px;align-items:center;padding:8px 12px;background:#253a31;position:relative;z-index:2}.gallery-controls button{color:#f5f1e8;background:transparent;border:1px solid #74827065;border-radius:50%;height:34px;min-width:34px;font-size:19px;line-height:1;display:grid;place-items:center;transition:background .2s}.gallery-controls button:hover{background:#667657}.gallery-controls button:disabled{opacity:.25;cursor:default}.gallery-counter{font-size:10px;letter-spacing:1px;white-space:nowrap;min-width:51px;text-align:center}.gallery-caption{font-size:10px;line-height:1.4;padding:0 8px;flex:1;color:#d3dbca}.gallery-controls [data-play]{font-size:14px;margin-left:auto}.zoom-hint{position:absolute;top:14px;right:14px;background:#18251cab;color:#fff;border:1px solid #f5f1e849;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:21px}.experience-image>.photo-gallery{min-height:530px}.route-image{height:475px}.route-image>.photo-gallery{height:100%}.pause-photos{height:490px}.pause-photos>.photo-gallery{transform:rotate(-2deg);box-shadow:15px 20px 0 #dedbcb}.pause-scribble{display:block;text-align:right;margin:22px 5px 0}.guide-photo{height:480px}.guide-photo .photo-gallery{height:100%}.guide-photo .gallery-caption{display:none}.guide-photo .gallery-controls{justify-content:center}.guide-photo .gallery-controls [data-play]{margin-left:8px}
.photo-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#111c17f5;color:#f8f3e6;border:0;padding:60px 65px 35px;overflow:hidden}.photo-dialog::backdrop{background:#0e1710ef}.photo-dialog[open]{display:flex;align-items:center;justify-content:center}.photo-dialog figure{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0}.photo-dialog img{width:100%;height:calc(100% - 55px);min-height:0;object-fit:contain}.photo-dialog figcaption{padding:17px;text-align:center;font-size:13px;color:#dddcca}.photo-dialog>button{position:absolute;background:#344438c7;border:1px solid #b8c5a566;color:#fff;border-radius:50%;width:42px;height:42px;font-size:24px;z-index:2}.dialog-close{top:16px;right:22px}.dialog-prev{left:12px;top:50%}.dialog-next{right:12px;top:50%}.dialog-open{overflow:hidden}
.food-ribbon{padding:22px 0 0;background:#a8402c;color:#fff5e2;overflow:hidden}.food-ribbon-heading{display:flex;align-items:center;justify-content:space-between;padding:0 6vw 20px;gap:20px}.food-ribbon-heading>span{font:italic 25px var(--serif)}.food-toggle{background:transparent;border:1px solid #f5f1e85e;padding:7px 14px;color:inherit;font-size:12px;min-height:36px}.food-window{width:100%;overflow:hidden}.food-track{width:max-content;display:flex;animation:food-drift 100s linear infinite}.food-group{display:flex;gap:10px;padding-right:10px}.food-group figure{width:290px;height:250px;overflow:hidden}.food-group img{object-fit:cover;transition:transform .5s}.food-group figure:hover img{transform:scale(1.07)}.food-ribbon:hover .food-track,.food-ribbon:focus-within .food-track,.food-ribbon.is-paused .food-track{animation-play-state:paused}.food-ribbon.is-paused .food-window{overflow-x:auto}.food-ribbon.is-paused .food-track{animation:none}.food-ribbon.is-paused .food-group[aria-hidden]{display:none}@keyframes food-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.day-list{max-width:1500px}.day{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:55px 0}.day:nth-child(even) .day-story{order:2}.day-story{display:flex;gap:22px}.day-story>div{flex:1}.day .photo-gallery{height:360px}.day h2{font-size:31px;line-height:1.15}.day p{line-height:1.85}.day-intro{font-weight:600;color:var(--ink)!important}.day-story .day-number{flex-basis:46px;font-size:36px}.itinerary-cover{height:auto;margin-top:40px;background:#e6e4d8}.itinerary-cover img{height:auto;max-height:600px;width:100%;object-fit:contain}.itinerary-cover figcaption{padding:14px 20px;font:italic 15px var(--serif);color:#61705d}
.hero-image{object-position:68% 32%}.hero-shade{background:linear-gradient(90deg,#102820c9 0%,#132c2545 48%,transparent 78%),linear-gradient(0deg,#0a201e99,transparent 55%)}.hero h1{font-size:clamp(54px,6.2vw,94px)}.hero-content{padding-top:clamp(130px,20vh,215px)}.hero-stamp{animation:stamp-drift 8s ease-in-out infinite}.little-flower{animation:flower-turn 32s linear infinite}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:90;background:#c55938;transform:scaleX(0);transform-origin:left;pointer-events:none}.postcard{transition:transform .6s,box-shadow .6s}.story-collage:hover .postcard-main{transform:rotate(-9deg) translate(-7px,-7px);box-shadow:0 25px 45px #283d3524}.story-collage:hover .postcard-tea{transform:rotate(11deg) translate(12px,-10px)}.ornament-one,.ornament-two,.ornament-three,.ornament-four{position:relative;isolation:isolate}.ornament-one:before,.ornament-two:before,.ornament-three:before,.ornament-four:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-size:65% auto;background-position:left bottom;opacity:.075;mix-blend-mode:multiply}.ornament-one:before{background-image:url('/assets/images/web_ornament1-1600.webp')}.ornament-two:before{background-image:url('/assets/images/web_ornament2-1600.webp');background-position:right top;opacity:.045}.ornament-three:before{background-image:url('/assets/images/web_ornament3-1600.webp');background-position:right bottom}.ornament-four:before{background-image:url('/assets/images/web_ornament4-1600.webp');background-size:40% auto;opacity:.09}.footer-links{display:flex;flex-direction:column;gap:8px;font-size:12px;position:relative;z-index:1}.footer-links h2{font:12px var(--sans);letter-spacing:1px;text-transform:uppercase;margin:16px 0 8px;color:#e5d3a7}.footer-links a:hover,.studio-credit:hover{color:#e5d3a7}.studio-credit{font-size:11px;margin-top:15px;border-top:1px solid #f5f1e822;padding-top:15px}.studio-credit strong{font-weight:500;text-decoration:underline;text-underline-offset:4px}#turnstile-widget{margin:20px 0;min-height:0}
@keyframes photo-arrive{from{opacity:.35;filter:blur(4px);transform:scale(1.025)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes stamp-drift{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(15deg) translateY(-12px)}}@keyframes flower-turn{to{transform:rotate(360deg)}}
@media(max-width:1050px){.gallery-caption{font-size:9px}.day{gap:30px}.day-story{gap:14px}.day h2{font-size:27px}.footer{gap:24px}.footer-right{max-width:250px}.hero h1{font-size:clamp(54px,6.1vw,80px)}}
@media(max-width:760px){.hero-image{object-position:65% 25%}.hero-content{padding-top:210px}.hero h1{font-size:clamp(43px,7.8vw,60px)}.hero{min-height:790px;max-height:1000px}.hero-shade{background:linear-gradient(0deg,#102b25de 0%,#102b2577 50%,#102b2508 83%)}.hero-side{top:35px}.experience-image{min-height:350px}.experience-image>.photo-gallery{min-height:350px;height:350px}.route-image{height:350px}.gallery-caption{font-size:9px;padding:0 3px}.gallery-controls{gap:4px;padding:8px}.gallery-controls button{height:34px;min-width:34px}.pause-photos{width:100%;height:375px;margin-bottom:10px}.guide-photo{height:375px;width:100%}.guide-photo .gallery-controls{min-height:52px}.food-group figure{width:230px;height:210px}.food-ribbon-heading{padding:0 24px 20px}.food-ribbon-heading>span{font-size:22px}.food-toggle{font-size:11px}.day{grid-template-columns:1fr;padding:35px 0;gap:25px}.day:nth-child(even) .day-story{order:0}.day .photo-gallery{height:330px}.day h2{font-size:28px}.day-story{gap:15px}.day-story .day-number{flex-basis:38px;font-size:30px}.itinerary-cover{margin-top:30px}.itinerary-cover img{max-height:460px}.footer{gap:18px}.footer-right{max-width:none}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;align-self:flex-start}.footer-links h2{grid-column:1/-1}.photo-dialog{padding:70px 12px 75px}.photo-dialog img{height:calc(100% - 75px)}.photo-dialog figcaption{font-size:11px;padding:12px 20px}.dialog-prev,.dialog-next{top:auto!important;bottom:25px}.dialog-prev{left:calc(50% - 55px)}.dialog-next{right:calc(50% - 55px)}.ornament-one:before,.ornament-two:before,.ornament-three:before,.ornament-four:before{background-size:100% auto}}
@media(prefers-reduced-motion:reduce){.food-track{animation:none}.food-window{overflow-x:auto}.food-group[aria-hidden]{display:none}.hero-stamp,.little-flower,.gallery-slide{animation:none}.postcard,.story-collage:hover .postcard-main,.story-collage:hover .postcard-tea{transition:none}.reading-progress{display:none}}
@media(max-width:760px){.header-actions .button{white-space:nowrap}.header-actions .button span{display:none}.brand small{white-space:nowrap;font-size:6px}.brand{font-size:25px}.header-actions{gap:10px}}
.probability-hint{font-size:14px;color:#53634b;margin-bottom:20px}.period-option{min-width:0}.period-confidence{margin:12px 0 0;padding:20px 18px;animation:appear .35s ease}.period-confidence>label{display:block;font-size:12px;line-height:1.6}.period-confidence .probability-output{display:block;min-height:100px;margin:14px 0 8px}.period-confidence output{display:block;font-size:36px;margin-bottom:5px}.period-confidence .probability-output span{display:block;font-size:17px;line-height:1.4}.period-confidence input{height:36px}.period-confidence .range-ends{font-size:11px}.comments-field{display:flex;flex-direction:column;gap:8px;margin:28px 0 32px;font-size:13px;color:#51614b}.comments-field small{font-size:11px;color:#65725c}.comments-field textarea{width:100%;min-height:130px;resize:vertical;font:16px/1.6 var(--sans);color:var(--ink);background:#f7f5eb;border:1px solid #bfc6b4;border-radius:0;padding:14px}.comments-field textarea::placeholder{color:#78836e}.faq-sources{display:flex;gap:20px;font-size:12px}.faq-sources a{text-decoration:underline;text-underline-offset:4px}.day-story .day-number{position:relative}.day-story .day-number:before{content:'';position:absolute;left:-12px;top:0;bottom:0;width:2px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .7s .15s}.day.visible .day-number:before{transform:scaleY(1)}
@media(max-width:760px){.month-number--range>span{display:block;line-height:1.05}.month-number--range{font-size:29px;max-width:62px}.period-confidence{padding:18px 22px;margin-top:8px}.period-confidence .probability-output{min-height:85px}.period-confidence>label{font-size:13px}.month-card:has(.month-number--range){min-height:195px}.comments-field textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.period-confidence{animation:none}.day-story .day-number:before{transition:none}}

/* Quiet jade counters remain separate from personal probability sliders. */
.interest-meter{padding:18px 16px 12px;background:#e7ece3;border-radius:0 0 12px 12px;color:#263c35}
.interest-meter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.72rem;line-height:1.45}
.interest-meter-heading strong{white-space:nowrap;font-size:.95rem;font-variant-numeric:tabular-nums}
.interest-meter meter{display:block;width:100%;height:18px;margin:8px 0;accent-color:#567c61}
.interest-meter meter::-webkit-meter-bar{background:#d2ddcf;border:0;border-radius:10px}
.interest-meter meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#74966c,#305844);border-radius:10px}
.interest-meter meter::-moz-meter-bar{background:#567c61;border-radius:10px}
.interest-meter small{font-size:.72rem}
.interest-explanation,.interest-status{font-size:.78rem;line-height:1.7;max-width:850px;margin:22px 0 0;color:#536258}
.interest-status{color:#8b462d}
.form-details[hidden]{display:none}
