/* Uses TCS Cardo/Inter, cream/green and existing editorial spacing. Library reference: typography-directional-index. */
.tcs-season-wrap{position:relative;z-index:2;background:var(--tcs-paper,#f6f4ee)}
.tcs-season{max-width:1440px;margin:0 auto;padding:44px clamp(24px,5vw,88px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:48px;border-bottom:1px solid #294d3c33;background:#e9ece3;color:#263e31;font:400 15px/1.7 Inter,sans-serif}
.tcs-season p{margin:0;max-width:62ch}.tcs-season .tcs-season__date{font-size:11px;letter-spacing:.14em;margin-bottom:8px}
.tcs-season h2{font:400 clamp(25px,2.5vw,36px)/1.2 Cardo,serif;margin:0 0 14px}
.tcs-season nav{display:flex;flex-direction:column;justify-content:center;min-width:0}.tcs-season a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #294d3c44;color:inherit;text-decoration:none;line-height:1.5}.tcs-season a span{flex:none}
.tcs-handoff{padding:150px clamp(24px,6vw,100px) 100px;max-width:1440px;margin:auto;color:#263e31}.tcs-handoff h1{max-width:1000px;font:400 clamp(40px,5.5vw,80px)/1.1 Cardo,serif;letter-spacing:-.025em;overflow-wrap:anywhere}.tcs-handoff .intro{max-width:780px;font:400 18px/1.7 Inter,sans-serif}.tcs-handoff__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:56px}.tcs-handoff__grid section{border-top:1px solid #294d3c66;padding:24px 0;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.tcs-handoff__grid h2{font:400 32px/1.2 Cardo,serif;margin:0}.tcs-handoff__grid p{font:400 15px/1.7 Inter,sans-serif;margin:0}.tcs-handoff .button{white-space:normal;max-width:100%;gap:12px}.tcs-handoff__grid .button{margin-top:auto}.tcs-request{max-width:760px;margin-top:36px;font:400 17px/1.7 Inter,sans-serif}.tcs-request p{margin:0 0 24px}.tcs-launch-fine{font:400 13px/1.6 Inter,sans-serif!important;margin-top:18px!important}
.tcs-tour{padding-bottom:80px}.tcs-tour__hero{max-width:1280px;margin:0 auto;padding:110px 48px 72px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px}.tcs-tour__hero h1{font:400 clamp(44px,5.5vw,82px)/1.08 Cardo,serif;letter-spacing:-.035em;margin:16px 0 28px}.tcs-tour__hero .intro{font:400 18px/1.7 Inter,sans-serif}.tcs-tour__facts{padding:30px;background:#e9ece3;align-self:start}.tcs-tour__facts dl{margin:0 0 26px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;font:400 14px/1.6 Inter,sans-serif}.tcs-tour__facts dt{opacity:.7}.tcs-tour__facts dd{margin:0}.tcs-tour__facts .button{white-space:normal;max-width:100%}.tcs-tour__body{max-width:1184px;padding:0 48px;margin:auto}.tcs-tour__body section{padding:48px 0;border-top:1px solid #294d3c33}.tcs-tour__body h2{font:400 36px/1.2 Cardo,serif;margin:0 0 24px}.tcs-tour__body p,.tcs-tour__body li{font:400 17px/1.8 Inter,sans-serif;max-width:72ch}.tcs-tour__body ul{padding-left:22px}.tcs-tour__itinerary{list-style:none;padding:0!important}.tcs-tour__itinerary li{padding:18px 0;border-bottom:1px solid #294d3c22;max-width:none;display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px}.tcs-tour__itinerary strong{font-weight:500}.tcs-tour__itinerary p{margin:7px 0 0;font-size:15px}
@media(max-width:767px){.tcs-season{padding:30px 24px;display:block}.tcs-season nav{margin-top:16px}.tcs-season h2{font-size:28px}.tcs-handoff{padding:128px 24px 64px}.tcs-handoff h1{font-size:42px}.tcs-handoff__grid{grid-template-columns:1fr;gap:20px;margin-top:32px}.tcs-handoff__grid h2{font-size:30px}.tcs-tour__hero{display:block;padding:64px 24px 40px}.tcs-tour__hero h1{font-size:46px}.tcs-tour__facts{margin-top:30px;padding:24px}.tcs-tour__body{padding:0 24px}.tcs-tour__body section{padding:32px 0}.tcs-tour__body h2{font-size:30px}.tcs-tour__itinerary li{display:block;padding:20px 0}.tcs-tour__itinerary time{display:block;font-size:14px;margin-bottom:10px}.tcs-tour__facts dl{grid-template-columns:1fr;gap:6px}.tcs-tour__facts dd{margin-bottom:12px}}
/* Longer client-supplied hero copy has its own paragraphs and safe desktop separation. */
.p-top-kv__text .tcs-hero-line+.tcs-hero-line{margin-top:12px}
@media(min-width:768px){html body .p-top-kv,html body .p-top-kv__inner{min-height:1100px}html body .p-top-kv__content{top:180px!important;right:6vw!important;width:min(42vw,560px)!important;max-width:none!important;transform:none!important;-webkit-transform:none!important}html body .p-top-kv__text{font-size:15px!important;max-width:36em!important}}

.tcs-tour__guide{display:flex;align-items:center;gap:18px;margin-bottom:28px}.tcs-tour__guide img{width:80px;height:80px;border-radius:50%;object-fit:cover}.tcs-tour__guide p{font:400 14px/1.6 Inter,sans-serif;margin:0}

/* Independent review refinements. */
.tcs-season nav a{justify-content:space-between!important;text-align:left!important;margin-left:0!important;margin-right:0!important;width:100%}
.p-top-kv__slider::after{background:linear-gradient(0deg,rgba(18,24,19,.55),rgba(18,24,19,.18) 45%,transparent 70%),linear-gradient(270deg,rgba(18,24,19,.52),transparent 62%)}
@media(min-width:768px){body:has(.tcs-tour) .tcs-book-dock .c-floating-reservation{bottom:24px!important;right:24px!important}.tcs-tour__facts{padding-bottom:105px}}

.sf__recipient{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.sf__recipient input{width:100%;min-width:0}@media(max-width:767px){.sf__recipient{grid-template-columns:1fr}}

.tcs-season--compact{padding:18px 24px;gap:24px;align-items:center;font-size:14px;grid-template-columns:minmax(0,1fr) auto}.tcs-season--compact nav{flex-direction:row;gap:24px}.tcs-season--compact nav a{padding:6px 0;gap:12px;white-space:nowrap}@media(max-width:767px){.tcs-season--compact{padding:18px 20px}.tcs-season--compact nav{margin-top:12px;gap:18px}.tcs-season--compact nav a{white-space:normal;font-size:13px}}

/* Keep the guide caption in the facts card despite global page image rules. */
.page.tcs-tour{padding:0!important}
.tcs-tour .tcs-tour__guide{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;min-width:0}
.tcs-tour .tcs-tour__guide img{width:80px!important;height:80px!important;max-width:100%;flex:none;object-fit:cover}
.tcs-tour .tcs-tour__guide p{position:static!important;width:100%;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;margin:0!important}
@media(min-width:768px){.tcs-tour__hero{padding-top:60px}.tcs-tour__facts{padding-bottom:110px!important}}

html[lang] body .tcs-tour__hero h1{font-family:Cardo,serif!important;font-size:clamp(40px,5vw,74px)!important;line-height:1.15!important;letter-spacing:-.025em!important;margin:16px 0 32px!important}
html[lang] body .tcs-tour__hero h1 .pm-reveal{line-height:1.15!important}

.tcs-season-wrap:has(.tcs-season--compact){margin-bottom:24px}

@media(min-width:768px){body:has(.tcs-tour) .tcs-book-dock{display:none!important}.tcs-tour__facts{padding-bottom:30px!important}}
/* Request form (early launch): same ink and hairlines as the handoff; fields stay single-column on phones. */
.tcs-inquiry{margin-top:32px;max-width:720px;display:grid;gap:18px;font:400 15px/1.6 Inter,sans-serif;color:#263e31}
.tcs-inquiry__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.tcs-inquiry__field{display:grid;gap:6px}.tcs-inquiry__field span{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.tcs-inquiry select{width:100%;box-sizing:border-box;padding:12px 0;border:0;border-bottom:1px solid #294d3c66;background:transparent;color:inherit;font:inherit;border-radius:0}.tcs-inquiry select:focus{outline:none;border-bottom-color:#263e31}
.tcs-inquiry input,.tcs-inquiry textarea{width:100%;box-sizing:border-box;padding:12px 0;border:0;border-bottom:1px solid #294d3c66;background:transparent;color:inherit;font:inherit;border-radius:0}
.tcs-inquiry input:focus,.tcs-inquiry textarea:focus{outline:none;border-bottom-color:#263e31}
.tcs-inquiry textarea{resize:vertical;min-height:96px}
.tcs-inquiry__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.tcs-inquiry .button{justify-self:start}.tcs-inquiry .button[disabled]{opacity:.6;cursor:wait}
.tcs-inquiry__status{margin:0;min-height:1.6em}.tcs-inquiry__status a{color:inherit}
.tcs-inquiry__done{margin:24px 0 0;max-width:62ch;font:400 17px/1.7 Inter,sans-serif;outline:none}
.tcs-inquiry [hidden],form.enquiry [hidden]{display:none!important}
form.enquiry .sf__done{outline:none}
@media (max-width:720px){.tcs-inquiry{margin-top:24px}}

/* ---------- Season note (Kotaro 2026-10-22, accepted prototype B1) ----------
   A rounded, outlined slip that rises from the Book now dock after the hero. Text only. */
:root{--tcs-note-ease:cubic-bezier(.22,1,.36,1)}
.tcs-notice{position:fixed;right:30px;bottom:96px;z-index:9990;width:420px;max-width:calc(100vw - 32px);pointer-events:none}
.tcs-notice.is-open{pointer-events:auto}
.tcs-notice__tab{display:inline-block;margin:0 0 8px 18px;padding:9px 15px;border-radius:999px;background:#263228;color:#f6f4ee;font:500 11px/1 Inter,'Noto Sans JP',sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(100%);transition:transform 700ms var(--tcs-note-ease) 300ms,opacity 500ms var(--tcs-note-ease) 300ms}
.tcs-notice.is-open .tcs-notice__tab{opacity:1;transform:none}
.tcs-notice__card{padding:24px 26px 26px;border:1px solid rgba(41,45,40,.24);border-radius:28px;background:#f9f8f6;color:#292d28;box-shadow:0 1px 2px rgba(17,23,19,.10),0 10px 22px rgba(17,23,19,.14),0 32px 80px rgba(17,23,19,.26);clip-path:inset(100% 0 0 0 round 28px);transition:clip-path 800ms var(--tcs-note-ease)}
.tcs-notice.is-open .tcs-notice__card{clip-path:inset(0 0 0 0 round 28px)}
.tcs-notice__card>*{opacity:0;transform:translateY(14px);transition:opacity 600ms var(--tcs-note-ease),transform 800ms var(--tcs-note-ease)}
.tcs-notice.is-open .tcs-notice__card>*{opacity:1;transform:none}
.tcs-notice.is-open .tcs-notice__card>*:nth-child(2){transition-delay:80ms}.tcs-notice.is-open .tcs-notice__card>*:nth-child(3){transition-delay:140ms}
.tcs-notice__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-6px -10px 12px 0}
/* 松下さん's four-paragraph notice (10-25): the text scrolls inside the card so it never covers the whole screen */
.tcs-notice__text{max-height:calc(100vh - 300px);max-height:calc(100dvh - 300px);overflow-y:auto;overscroll-behavior:contain}
.tcs-notice__body+.tcs-notice__body{margin-top:10px}
.tcs-notice__date{margin:0;font:500 12px/1.6 Inter,'Noto Sans JP',sans-serif;letter-spacing:.08em;text-transform:uppercase}
html[lang] body .tcs-notice__title{margin:6px 0 0;font:400 24px/1.2 Cardo,'Noto Serif JP',serif!important;letter-spacing:0!important;color:#292d28}
.tcs-notice__body{margin:0;font:400 14px/1.65 Inter,'Noto Sans JP',sans-serif}
.tcs-notice__close{position:relative;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:#292d28;cursor:pointer;transition:background 180ms ease,transform 280ms var(--tcs-note-ease)}
.tcs-notice__close span::before,.tcs-notice__close span::after{content:'';position:absolute;left:50%;top:50%;width:16px;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.tcs-notice__close span::after{transform:translate(-50%,-50%) rotate(-45deg)}
.tcs-notice__close:hover{background:rgba(41,45,40,.07);transform:rotate(90deg)}
.tcs-notice__close:focus-visible,.tcs-notice-pill:focus-visible{outline:2px solid #738368;outline-offset:3px}
.tcs-notice-pill{position:fixed;right:218px;bottom:24px;z-index:9990;display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 24px;border:1px solid rgba(41,45,40,.22);border-radius:999px;background:#f9f8f6;color:#292d28;font:500 14px/1 Inter,'Noto Sans JP',sans-serif;cursor:pointer;opacity:0;transform:translateY(12px);box-shadow:0 1px 2px rgba(17,23,19,.08),0 10px 28px rgba(17,23,19,.16);transition:opacity 500ms var(--tcs-note-ease),transform 600ms var(--tcs-note-ease)}
.tcs-notice-pill.is-on{opacity:1;transform:none}
.tcs-notice-pill i{width:7px;height:7px;border-radius:50%;background:#263228}
@media(max-width:767px){.tcs-notice{left:16px;right:16px;bottom:84px;width:auto}html[lang] body .tcs-notice__title{font-size:21px!important}.tcs-notice__card{padding:20px 20px 22px}.tcs-notice__text{max-height:calc(100dvh - 280px)}.tcs-notice-pill{right:auto;left:16px;bottom:84px;height:40px;padding:0 16px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.tcs-notice__card,.tcs-notice__card>*,.tcs-notice__tab,.tcs-notice-pill{transition:none!important}}

/* ---------- The tour as one line (Kotaro 2026-10-22, accepted prototype T3) ---------- */
.tcs-tour-line{position:relative;z-index:1;padding:clamp(80px,9vw,140px) clamp(20px,4.2vw,60px);background:#f9f8f6;color:#292d28;border-top:1px solid rgba(41,45,40,.14)}
.tcs-tour-line__in{max-width:1320px;margin:0 auto}
.tcs-tour-line [data-tcs-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity 900ms var(--tcs-note-ease),transform 1100ms var(--tcs-note-ease)}
.tcs-tour-line [data-tcs-reveal].is-in{opacity:1;transform:none}
.tcs-tour-line__head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px 48px;align-items:end;margin-bottom:72px}
.tcs-tour-line__eyebrow{grid-column:1/-1;margin:0;font:500 12px/1.6 Inter,'Noto Sans JP',sans-serif;letter-spacing:.08em;text-transform:uppercase}
html[lang] body .tcs-tour-line__title{margin:0;font:400 clamp(42px,4.6vw,76px)/1.04 Cardo,'Noto Serif JP',serif!important;letter-spacing:-.02em!important}
html[lang=ja] body .tcs-tour-line__title{line-height:1.25!important;letter-spacing:.02em!important}
.tcs-tour-line__lead{margin:0;max-width:30em;font:400 18px/1.65 Inter,'Noto Sans JP',sans-serif}
.tcs-tour-line__day{position:relative}
.tcs-tour-line__day::before,.tcs-tour-line__track{content:'';position:absolute;top:7px;left:7.5px;right:calc((100% - 112px)/5 - 7.5px);height:1px}
.tcs-tour-line__day::before{background:rgba(41,45,40,.14)}
.tcs-tour-line__track{pointer-events:none}
.tcs-tour-line__track i{position:absolute;inset:-.5px 0;background:#e37222;transform:scaleX(0);transform-origin:left;transition:transform 1100ms cubic-bezier(.65,0,.35,1)}
.tcs-tour-line__runner{position:absolute;left:-6px;top:-6px;z-index:2;width:12px;height:12px;border-radius:50%;background:#e37222;box-shadow:0 0 0 5px rgba(227,114,34,.16);opacity:0;pointer-events:none;transition:transform 1100ms cubic-bezier(.65,0,.35,1),opacity 260ms ease}
.tcs-tour-line__runner.is-on{opacity:1}.tcs-tour-line__runner.is-done{opacity:0;transition-duration:0ms,600ms}
.tcs-tour-line__day ol{position:relative;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin:0;padding:0}
.tcs-tour-line__day li{display:flex;flex-direction:column;gap:8px;padding-right:12px;opacity:0;transform:translateY(16px);transition:opacity 700ms var(--tcs-note-ease) var(--d),transform 900ms var(--tcs-note-ease) var(--d)}
.tcs-tour-line__day.is-in li{opacity:1;transform:none}
.tcs-tour-line__dot{position:relative;width:15px;height:15px;margin-bottom:18px;border-radius:50%;background:#f9f8f6;border:1px solid rgba(41,45,40,.9);transition:background 200ms ease,border-color 200ms ease}
.tcs-tour-line__dot::after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid #e37222;opacity:0;pointer-events:none}
.tcs-tour-line__day li.is-hit .tcs-tour-line__dot{background:#e37222;border-color:#e37222;animation:tcs-dink 560ms cubic-bezier(.34,1.56,.64,1)}
.tcs-tour-line__day li.is-hit .tcs-tour-line__dot::after{animation:tcs-ring 700ms var(--tcs-note-ease)}
@keyframes tcs-dink{0%{transform:scale(.55)}55%{transform:scale(1.32)}100%{transform:scale(1)}}
@keyframes tcs-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
.tcs-tour-line__day strong{font:400 clamp(20px,1.6vw,26px)/1.2 Cardo,'Noto Serif JP',serif}
.tcs-tour-line__day li>span:last-child{font:400 15px/1.6 Inter,'Noto Sans JP',sans-serif}
.tcs-tour-line__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:72px;padding-top:28px;border-top:1px solid rgba(41,45,40,.14)}
.tcs-tour-line__foot dl{display:flex;flex-wrap:wrap;gap:20px 48px;margin:0}
.tcs-tour-line__foot dt{margin-bottom:6px;font:500 12px/1.4 Inter,'Noto Sans JP',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.tcs-tour-line__foot dd{margin:0;font:400 20px/1.3 Cardo,'Noto Serif JP',serif}
.tcs-tour-line__cta{display:flex;align-items:center;gap:28px}
.tcs-tour-line__link{color:#292d28;font:400 16px/1.5 Inter,'Noto Sans JP',sans-serif;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px;transition:background-size 420ms var(--tcs-note-ease)}
.tcs-tour-line__link:hover{background-size:0 1px;background-position:100% 100%}
@media(max-width:900px){.tcs-tour-line__head{grid-template-columns:1fr}.tcs-tour-line__day ol{grid-template-columns:1fr;padding-left:36px}.tcs-tour-line__day::before,.tcs-tour-line__track{left:7.5px;right:auto;top:7.5px;width:1px;height:calc(100% - 40px)}.tcs-tour-line__track i{inset:0 -.5px;transform:scaleY(0);transform-origin:top}.tcs-tour-line__runner{left:1.5px;top:1.5px}.tcs-tour-line__day li{position:relative}.tcs-tour-line__dot{position:absolute;left:-36px;top:0}.tcs-tour-line__cta{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.tcs-tour-line [data-tcs-reveal],.tcs-tour-line__day li{opacity:1!important;transform:none!important;transition:none!important}.tcs-tour-line__runner{display:none}.tcs-tour-line__dot{animation:none!important}.tcs-tour-line__track i{transition:none}}

@media(prefers-reduced-motion:reduce){.tcs-notice,.tcs-notice__card,.tcs-notice-pill{transition:none!important;animation:none!important}}
.tcs-notice-pill.is-on.is-away{opacity:0;transform:translateY(12px);pointer-events:none}

/* Review link: the second line under the tour's booking button (launch-policy.js bookableTour). */
.tcs-tour-request{display:block;width:fit-content;margin-top:16px;font:400 15px/1.6 Inter,sans-serif;color:#263e31;text-decoration:underline;text-underline-offset:3px}
