:root{--paper:#f4f8fa;--ink:#2a4556;--muted:#5e7584;--line:#cbd9e1;--pale:#eaf1f5;--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Zen Kaku Gothic New",system-ui,sans-serif;--latin:"Cormorant Garamond",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;letter-spacing:.055em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #557d97;outline-offset:6px}::selection{background:#cbdde8;color:#223f52}.wrap{width:min(1120px,calc(100% - 100px));margin:auto}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:100;top:12px;left:12px;padding:12px;background:white}header{position:relative;z-index:2}.nav{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand b{font-family:var(--latin);font-size:30px;font-weight:400;letter-spacing:.22em}.links{display:flex;align-items:center;gap:36px;margin-left:auto;font-size:14px}.links a{border-bottom:1px solid transparent}.links a:hover{border-color:var(--muted)}.sound-toggle{display:flex;align-items:center;gap:11px;min-height:44px;padding:8px 0 8px 27px;margin-left:5px;border:0;border-left:1px solid var(--line);background:none;cursor:pointer;font-size:13px;letter-spacing:.06em}.sound-lines{height:17px;display:flex;align-items:center;gap:3px}.sound-lines i{display:block;width:1px;height:4px;background:currentColor;transition:height .4s}.sound-lines i:nth-child(2){height:12px}.sound-lines i:nth-child(3){height:8px}.sound-lines i:nth-child(4){height:15px}.sound-toggle[aria-pressed=true] .sound-lines i{animation:sound-wave 1.1s ease-in-out infinite alternate}.sound-toggle[aria-pressed=true] .sound-lines i:nth-child(2){animation-delay:-.4s}.sound-toggle[aria-pressed=true] .sound-lines i:nth-child(3){animation-delay:-.8s}@keyframes sound-wave{to{height:3px}}
section{padding:100px 0;border-bottom:1px solid var(--line)}.prologue{position:relative;text-align:center;padding:70px 28px 62px;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#d9e8f280 0,transparent 63%);border-bottom:0}.prologue-inner{position:relative;z-index:1}.prologue h1{display:flex;align-items:center;justify-content:center;gap:24px;font-weight:300;margin:0 0 48px;line-height:1.4}.echo-word{font-family:var(--latin);font-size:clamp(74px,8.5vw,120px);font-weight:300;letter-spacing:.17em}.title-divider{font-size:32px;font-family:var(--sans);font-weight:300;color:#8ba2b0}.echo-japanese{font-family:var(--sans);font-size:clamp(18px,2vw,25px);letter-spacing:.25em;font-weight:300}.opening-poem{font-family:var(--serif);font-size:16px;letter-spacing:.12em;line-height:2.25}.opening-poem p{margin:0 0 26px}.opening-poem .poem-last{margin-top:32px}.mobile-break{display:none}.enter-link{display:inline-flex;flex-direction:column;align-items:center;gap:18px;margin-top:22px;font-size:13px;letter-spacing:.16em}.enter-link span{height:49px;width:1px;background:linear-gradient(var(--muted),transparent)}.margin-note{position:absolute;top:44%;left:30px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.25em;color:#738b9b}.availability{background:#e6eff4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.availability .wrap{display:grid;grid-template-columns:1fr 1.7fr auto;align-items:center;gap:24px;padding:23px 0}.avail-label{font-family:var(--serif);font-size:16px}.avail-date{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.avail-date strong{font-size:14px;font-weight:400;color:var(--ink)}.avail-date .sep{width:20px;border-top:1px solid #8fa6b4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid #8da4b3;min-height:48px;padding:12px 24px;background:transparent;color:var(--ink);font-size:14px;letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s}.btn:hover{background:var(--ink);color:var(--paper)}.text-link{display:inline-block;border-bottom:1px solid #829caa;padding:7px 0;font-size:14px;letter-spacing:.09em}.text-link:hover{color:#6389a0}.eyebrow{font-size:12px;letter-spacing:.19em;color:var(--muted);line-height:1.8}.inn-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:64px;margin:10px 0 100px}.inn-name{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.9;letter-spacing:.12em;margin:24px 0}.inn-lead{font-family:var(--serif);font-size:16px;line-height:2.4;margin-bottom:28px}.hero-art{position:relative;display:grid;place-items:center;min-height:410px;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#e2edf4,transparent 70%)}.hero-art svg{width:100%;height:auto;filter:grayscale(1);opacity:.88}.stamp{position:absolute;top:15px;right:18px;font-family:var(--serif);font-size:13px;letter-spacing:.2em;writing-mode:vertical-rl}.art-caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.16em;color:var(--muted)}.section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;margin-bottom:40px}.section-head h2{margin:0;font-family:var(--serif);font-weight:400;font-size:29px;letter-spacing:.12em}.section-head p{margin:4px 0 0;color:var(--muted);font-size:16px;line-height:2}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.story-card{position:relative;padding:28px 0 32px;border-top:1px solid var(--line)}.story-card .num{font-family:var(--latin);font-size:14px;letter-spacing:.14em;color:var(--muted)}.story-card h3{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:.06em;margin:14px 0}.story-card p{font-size:16px;color:var(--muted);margin:0;max-width:85%}.story-card svg{position:absolute;width:68px;height:58px;right:0;bottom:24px;opacity:.55;filter:grayscale(1)}.quote{margin:50px 0 0;text-align:center;font-family:var(--serif);font-size:21px;letter-spacing:.1em;line-height:2.3}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px}.rule{padding:26px 0 30px;border-top:1px solid var(--line)}.rule small{font-family:var(--latin);font-size:14px;letter-spacing:.14em;color:var(--muted)}.rule h3{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.06em;margin:9px 0 12px}.rule p{font-size:16px;line-height:2;color:var(--muted);margin:0}.timeline{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.day{padding:30px;border-right:1px solid var(--line)}.day:last-child{border:0}.dayno{font-family:var(--latin);font-size:14px;letter-spacing:.15em;color:var(--muted)}.day h3{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:.14em;margin:13px 0 17px}.day p{font-size:16px;margin:0;color:var(--muted)}.day .task{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;line-height:1.9}.reservation{background:var(--pale)}.reservation-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.reservation h2{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:.14em;margin:14px 0 25px}.intro{font-size:16px;color:var(--muted);line-height:2.1}.reservation .dates{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;font-size:14px}.dates strong{display:block;font-family:var(--serif);font-size:18px;font-weight:400;margin-top:8px}.reservation svg{opacity:.7}form{background:var(--paper);border:1px solid var(--line);padding:30px}.form-title{font-family:var(--serif);font-size:20px;letter-spacing:.1em;margin:0 0 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:block;font-size:14px;color:var(--muted)}input,select{width:100%;margin-top:8px;background:#ffffff80;border:1px solid var(--line);border-radius:0;padding:12px 10px;color:var(--ink);font-size:16px;letter-spacing:0}input::placeholder{color:#778995;font-size:14px}.notice{font-size:13px;color:var(--muted);line-height:1.9;margin:19px 0}.booking-disclaimer{margin-bottom:0}form .btn{width:100%}.calendar{border-bottom:1px solid var(--line);padding:0 0 20px;margin:0 0 20px}.cal-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:20px}.cal-head strong{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:.06em}.cal-head span{font-size:12px;color:var(--muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.cal-week{font-size:13px;color:var(--muted);padding:3px 0 12px}.cal-day{min-height:59px;padding:8px 0 5px;border:1px solid transparent;background:none;color:#728593;font-size:14px;line-height:1.25;letter-spacing:0}.cal-day.available{border-color:#b6cbd7;background:#e9f1f6;cursor:pointer;color:var(--ink)}.cal-day.available:hover,.cal-day.available.selected{background:#35586e;border-color:#35586e;color:white}.cal-day.full{grid-column:auto;background:#e2e9ee;color:#617583;cursor:not-allowed}.cal-day .status{display:block;margin-top:5px;font-size:12px;line-height:1.2;white-space:nowrap}.cal-legend{display:flex;gap:20px;margin-top:16px;font-size:12px;color:var(--muted)}.cal-legend span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border:1px solid #b6cbd7;background:#e9f1f6}.cal-legend .legend-full:before{background:#e2e9ee}.selected-stay{background:#e9f1f6;padding:13px 14px;font-size:14px;line-height:1.8;min-height:50px}.after-booking{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.after-booking .text{border-left:1px solid var(--line);padding-left:30px;color:var(--muted);font-size:16px;line-height:2.2}.after-booking h2{margin:10px 0}footer{padding:55px 0 60px}.foot{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-brand{display:flex;align-items:center;gap:20px}.footer-brand b{font-family:var(--latin);font-size:34px;font-weight:300;letter-spacing:.18em}.footer-brand span{font-size:13px;letter-spacing:.13em}.footer-links{display:flex;flex-direction:column;align-items:end;gap:10px;font-size:14px}.footer-links a{border-bottom:1px solid #9bafbc}.footer-links span{font-size:12px;color:var(--muted)}.toast{position:fixed;z-index:10;left:50%;bottom:25px;transform:translate(-50%,150%);opacity:0;width:max-content;max-width:calc(100% - 32px);background:#2a4556;color:white;padding:16px 22px;font-size:14px;line-height:1.8;transition:transform .3s,opacity .3s;box-shadow:0 10px 40px #2a455620}.toast.show{transform:translate(-50%,0);opacity:1}
.letter-page{background:#eef4f7}.letter-header{border-bottom:1px solid var(--line)}.letter-header .nav{height:92px}.back-link{font-size:14px;margin-left:auto}.letter-shell{width:min(710px,calc(100% - 48px));margin:80px auto 95px;padding:0 15px}.letter-kicker{font-family:var(--latin);font-size:14px;letter-spacing:.18em;color:var(--muted)}.letter-title{font-family:var(--serif);font-size:clamp(25px,4vw,34px);font-weight:400;line-height:1.8;letter-spacing:.1em;margin:22px 0 43px}.letter-body{font-family:var(--serif);font-size:16px;line-height:2.3;letter-spacing:.055em}.letter-body p{margin:0 0 28px}.letter-body .letter-question{font-size:19px;line-height:2.2;margin:40px 0;color:#254b64}.signature{text-align:right;margin-top:45px!important;font-family:var(--sans);font-size:14px;line-height:1.9}.letter-return{margin-top:55px;border-top:1px solid var(--line);padding-top:30px;display:flex;gap:30px;flex-wrap:wrap;align-items:center}.letter-footer{text-align:center;border-top:1px solid var(--line);padding:30px 24px;font-size:12px;color:var(--muted)}
@media(min-width:1500px){.prologue{padding-top:95px;padding-bottom:80px}.prologue h1{margin-bottom:64px}.opening-poem{font-size:18px}.opening-poem p{margin-bottom:31px}}
@media(max-width:950px){.wrap{width:calc(100% - 56px)}.links{gap:20px}.nav{gap:20px}.availability .wrap{grid-template-columns:1fr auto}.avail-date{grid-column:1;grid-row:2}.availability .btn{grid-column:2;grid-row:1/3}.inn-intro{gap:30px}.hero-art{min-height:340px}.section-head{gap:30px}.reservation-layout{gap:35px}.rules{gap:0 25px}.day{padding:24px}.footer-brand{gap:14px}.footer-brand span{font-size:12px}.margin-note{left:15px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.nav{height:80px;gap:15px}.brand b{font-size:26px}.links{gap:18px;font-size:13px}.links a:not(:last-child){display:none}.sound-toggle{font-size:12px;gap:8px;padding-left:15px;margin-left:0}.prologue{padding:50px 24px 42px}.prologue h1{flex-direction:column;gap:7px;margin-bottom:44px}.echo-word{font-size:90px;line-height:1.1;padding-left:.17em}.title-divider{display:none}.echo-japanese{font-size:17px;letter-spacing:.18em;margin-top:14px}.opening-poem{font-size:16px;line-height:2.3;letter-spacing:.07em}.opening-poem p{margin-bottom:28px}.mobile-break{display:inline}.margin-note{display:none}.enter-link{margin-top:18px}.enter-link span{height:35px}.availability .wrap{gap:8px 18px;padding:23px 0}.avail-label{font-size:15px}.avail-date{gap:8px;flex-wrap:wrap}.avail-date>span{flex-basis:100%;font-size:12px}.avail-date strong{font-size:13px}.availability .btn{font-size:13px;padding:9px 15px}section{padding:70px 0}.inn-intro{grid-template-columns:1fr;gap:25px;margin:0 0 60px}.inn-name{font-size:28px}.inn-lead{font-size:16px}.hero-art{min-height:320px;max-width:490px;width:100%;margin:auto}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.section-head h2{font-size:26px}.section-head p{font-size:16px}.story-grid{gap:24px}.story-card p{max-width:100%}.story-card svg{display:none}.story-card h3{font-size:20px}.quote{font-size:18px;margin-top:30px}.rules{grid-template-columns:1fr 1fr;gap:0 25px}.timeline{grid-template-columns:1fr}.day{border-right:0;border-bottom:1px solid var(--line);padding:25px}.day .task{margin-top:20px}.reservation-layout{grid-template-columns:1fr;gap:30px}.reservation svg{display:none}.reservation h2{font-size:29px}.reservation .dates{margin-top:24px}.after-booking{grid-template-columns:1fr;gap:20px}.after-booking .text{padding-left:20px}.foot{align-items:start;flex-direction:column;gap:26px}.footer-links{align-items:start}.footer-brand b{font-size:32px}.footer-brand span{font-size:13px}.letter-shell{margin:52px auto 65px;padding:0}.letter-title{margin-bottom:30px}.letter-body{font-size:16px;line-height:2.2}.letter-body .letter-question{font-size:18px}}
@media(max-width:430px){.prologue{padding-left:19px;padding-right:19px}.opening-poem{font-size:16px;letter-spacing:.025em}.echo-word{font-size:82px}.links{font-size:12px}.sound-toggle{padding-left:11px}.sound-lines{gap:2px}.nav{gap:12px}.story-grid{grid-template-columns:1fr;gap:0}.rules{grid-template-columns:1fr}.rule{padding:23px 0}.availability .wrap{grid-template-columns:1fr}.availability .btn{grid-column:1;grid-row:3;justify-self:start;margin-top:8px}.avail-date>span{flex-basis:auto}.fields{grid-template-columns:1fr}form{padding:23px 16px}.cal-grid{gap:3px}.cal-day{min-height:53px;font-size:14px}.cal-day .status{font-size:10px}.cal-head strong{font-size:18px}.cal-head span{font-size:11px}.form-title{font-size:19px}.dates strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.inn-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.quiet-link{font-size:13px;color:var(--muted);border-bottom:1px solid transparent}.quiet-link:hover{border-color:var(--muted)}.hero-art svg{filter:none}
/* ECHO editorial adjustments */
:root{--serif:"Zen Kaku Gothic New",system-ui,sans-serif;--latin:"Zen Kaku Gothic New",system-ui,sans-serif}
.cal-day.stay-window{background:#d4e4ed;border-color:#b6cbd7;color:var(--ink)}
.cal-legend .legend-stay:before{background:#d4e4ed;border-color:#b6cbd7}

/* Shared footer signature and mobile navigation */
.footer-project-link{grid-column:2;justify-self:center;border-bottom:1px solid #9bafbc;font-size:14px}
.footer-signature{grid-column:3;justify-self:end;font-size:12px;letter-spacing:.08em;color:var(--muted);text-align:right}
.footer-copyright{margin:28px auto 0;text-align:center;font-size:11px;letter-spacing:.08em;color:var(--muted)}
.footer-attribution{max-width:calc(100% - 40px);margin:22px auto 0;text-align:center;font-size:11px;line-height:1.8;letter-spacing:.035em;color:var(--muted)}
.footer-brand{grid-column:1}
form .btn{margin-top:18px}
.letter-page .letter-header{border-bottom:0}
.letter-page .letter-body section{border:0}
.letter-page .letter-return{border-top:0;padding-top:0}
.letter-page .letter-footer{border-top:0;display:flex;flex-direction:column;gap:12px;padding:22px 24px 30px}
.letter-page .letter-footer small{font-size:10px;letter-spacing:.08em;color:var(--muted)}
@media(max-width:720px){
  .home-page .nav{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 48px;gap:8px 10px;padding:10px 0}
  .home-page .brand{grid-column:1;grid-row:1;align-self:center}
  .home-page .sound-toggle{grid-column:2;grid-row:1;justify-self:end;min-height:44px;padding:6px 0 6px 12px}
  .home-page .links{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:0;font-size:13px;line-height:1.35}
  .home-page .links a,.home-page .links a:not(:last-child){display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:7px 5px;border:1px solid var(--line);white-space:nowrap}
  .home-page .links a:hover{border-color:#829caa}
  .home-page .nav .sound-toggle{font-size:12px}
  .site-footer .foot{grid-template-columns:1fr;grid-template-rows:auto;justify-items:start;gap:18px}
  .site-footer .footer-brand,.site-footer .footer-project-link,.site-footer .footer-signature{grid-column:1;grid-row:auto;justify-self:start}
  .site-footer .footer-signature{text-align:left}
  .site-footer .footer-copyright{margin-top:24px}
  .letter-page .letter-footer{padding-bottom:24px}
}
.echo-word{font-size:clamp(58px,6.5vw,88px)}
.ozone-mark{font-size:12px;letter-spacing:.13em;color:var(--muted)}
@media(max-width:720px){.echo-word{font-size:68px}}
.photo-art{background:#edf4f7;padding:0;min-height:0;aspect-ratio:1/1}
.photo-art img{display:block;width:100%;height:100%;object-fit:cover}
.credits{display:flex;flex-direction:column;align-items:flex-end;gap:3px;margin-top:6px;color:var(--muted);font-size:11px;letter-spacing:.04em;line-height:1.7}
.credits a{color:var(--ink);border-bottom:1px solid #9bafbc;align-self:center}
@media(max-width:720px){.credits{align-items:center}.credits a{align-self:center}}
.foot{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.rule h3 strong{font-weight:500}
.letter-body .letter-section{margin:0;padding:0 0 34px}
.letter-body .letter-section+.letter-section{padding-top:0}
.letter-body .letter-section h2{margin:0 0 28px;font-family:var(--sans);font-size:21px;line-height:1.9;letter-spacing:.07em;font-weight:500;color:#2a4556}
.letter-body .letter-section p{margin:0 0 25px}
.letter-body .letter-opening{padding-bottom:0}
.letter-body .letter-opening .letter-question{margin:35px 0 0;font-weight:400}
.letter-body .letter-coda{margin-top:38px;color:inherit}
.letter-body .letter-coda p{margin:0 0 20px}
.letter-body .letter-coda p:last-child{margin-bottom:0}
.letter-body .signature{margin-top:34px;text-align:right;font-size:14px;line-height:2.1;color:#536d7c}
@media(max-width:720px){.letter-body .letter-section h2{font-size:19px;margin-bottom:22px}}
.links a{white-space:nowrap}
@media(max-width:720px){.links a:not(:last-child){display:inline}.links{flex-direction:column;align-items:flex-start;gap:2px;font-size:10px;line-height:1.5}}
#stay .day-copy{margin:0 0 25px}
#stay .day-copy p{margin:0 0 16px;font-size:15px;line-height:2.05;color:var(--muted)}
#stay .day-copy p:last-child{margin-bottom:0}
#stay .task-label strong{font-weight:500}
.footer-brand{grid-column:1}
.footer-garden-link{grid-column:2;justify-self:center;align-self:center;color:var(--ink);border-bottom:1px solid #9bafbc;font-size:11px;letter-spacing:.04em;line-height:1.7}
.footer-links{grid-column:3;justify-self:end}
@media(max-width:720px){.foot{grid-template-columns:1fr;justify-items:start}.footer-brand,.footer-links{grid-column:1;justify-self:start}.footer-garden-link{grid-column:1;justify-self:center;width:100%;text-align:center;grid-row:2}.footer-links{grid-row:3}}

/* Quiet reading cards and a three-day itinerary. */
#rules .rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#rules .rule{padding:32px 38px 36px;border:1px solid #d6e1e7;border-radius:3px;background:#f8fbfc}
#rules .rule small{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.12em;color:#718a99}
#rules .rule small span{padding-left:18px;border-left:1px solid #cbd9e1;font-size:10px;letter-spacing:.18em}
#rules .rule h3{margin:23px 0 16px;font-size:21px;font-weight:400;letter-spacing:.06em;line-height:1.7}
#rules .rule p{margin:0;font-size:15px;line-height:2.15;color:var(--muted);letter-spacing:.025em}
#stay .timeline{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}
#stay .timeline::before{content:"";position:absolute;top:72px;left:10%;right:10%;border-top:1px solid #c1d2dc}
#stay .day{position:relative;display:flex;flex-direction:column;min-width:0;padding:30px 28px;border:1px solid #d1dfe7;border-radius:3px;background:#f8fbfc}
#stay .day:nth-child(2){background:#e7f0f5;border-color:#c7d9e4}
#stay .journey-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:26px}
#stay .journey-number{font-size:68px;font-weight:300;line-height:1;letter-spacing:-.05em;color:#9db6c5}
#stay .dayno{font-size:10px;letter-spacing:.17em;color:#627f90}
#stay .day h3{font-size:25px;font-weight:400;letter-spacing:.15em;margin:0 0 20px}
#stay .day p{font-size:15px;line-height:2.1;color:var(--muted);margin:0 0 30px}
#stay .task{margin-top:auto;padding-top:22px;border-top:1px solid #d0dde5}
#stay .task-label{display:block;font-size:11px;letter-spacing:.06em;color:#718a99;margin-bottom:12px}
#stay .journey-tags{display:flex;flex-wrap:wrap;gap:7px}
#stay .journey-tags span{font-size:11px;line-height:1.7;letter-spacing:.025em;padding:4px 9px;background:#edf3f6;color:#557183;border-radius:2px}
#stay .day:nth-child(2) .journey-tags span{background:#f5f9fb}
@media(max-width:950px){#rules .rule{padding:28px}#rules .rule p br{display:none}#stay .timeline{gap:14px}#stay .day{padding:26px 20px}#stay .journey-header{align-items:flex-start;flex-direction:column;gap:14px}#stay .journey-number{font-size:60px}}
@media(max-width:720px){#rules .rules{grid-template-columns:1fr;gap:14px}#rules .rule{padding:28px}#rules .rule h3{font-size:20px;margin-top:20px}#stay .timeline{grid-template-columns:1fr;gap:24px}#stay .timeline::before{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid #c1d2dc}#stay .day{padding:28px}#stay .journey-header{flex-direction:row;align-items:center;margin-bottom:24px}#stay .journey-number{font-size:64px}#stay .day p{margin-bottom:26px}#stay .dayno{font-size:11px}}
.booking-illustration{display:block;width:100%;max-width:300px;height:auto;margin-top:25px;mix-blend-mode:multiply}
.cal-day.available{background:#dceaf1;border-color:#93adbd;color:#17384a}
.cal-day.occupied-stay,.cal-day.full{background:#d0d4d7;border-color:#b9c0c4;color:#505a60}
.cal-day.full{font-weight:500;cursor:not-allowed}
.cal-day.full .status,.cal-day.calendar-end-date .status{color:#505a60}
.cal-day.calendar-end-date{background:#f0f3f5;border-color:#d9dfe2;color:#677781}
.cal-legend{gap:12px;flex-wrap:wrap}
.cal-legend span:before{width:13px;height:13px;vertical-align:-2px}
.cal-legend .legend-full:before{background:#d0d4d7;border-color:#b9c0c4}
.cal-legend .legend-available:before{background:#dceaf1;border-color:#93adbd}
.cal-legend .legend-stay:before{background:#d4e4ed;border-color:#b6cbd7}
