:root{--night:#101b35;--night-soft:#233455;--gold:#dfc58c;--gold-hover:#ecd7ab;--gold-ink:#76602d;--paper:#faf7ef;--ink:#30343d;--muted:#62616a;--line:#dad4c7;--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--gutter:48px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.95 var(--sans);letter-spacing:.035em}a{color:inherit;text-underline-offset:.25em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(27px,2.8vw,38px);line-height:1.65;letter-spacing:.08em}h3{font-size:22px;line-height:1.7}::selection{background:var(--gold);color:var(--night)}:focus-visible{outline:3px solid #927135;outline-offset:5px}section[id]{scroll-margin-top:24px}[hidden]{display:none!important}.container{width:min(1120px,calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.19em;color:var(--gold-ink);margin-bottom:22px}.eyebrow.light{color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:12px;padding:12px 20px;background:white;color:var(--night);z-index:100}.skip-link:focus{top:12px}.announcement{background:var(--gold);color:var(--night);min-height:38px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;letter-spacing:.08em;padding:6px 20px}.announcement strong{font-size:17px;font-family:Georgia,serif;margin-left:5px}.announcement-line{height:14px;width:1px;background:rgb(16 27 53 / 25%)}.site-header{background:var(--night);color:var(--paper);padding:24px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:14px;letter-spacing:.12em;line-height:1.5}.brand small{display:block;font:10px/1.7 var(--sans);letter-spacing:.08em;margin-top:4px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:12px}.site-header nav a{text-decoration:none}.nav-detail:hover{text-decoration:underline}.nav-cta{border:1px solid rgb(223 197 140 / 60%);padding:9px 23px;border-radius:100px;color:var(--gold);min-height:44px}.hero{position:relative;display:grid;grid-template-columns:1.08fr 1fr;background:var(--night);color:var(--paper);isolation:isolate;overflow:hidden}.hero-copy{padding:56px 35px 68px max(var(--gutter),calc((100vw - 1120px)/2));align-self:center;z-index:1}.hero-kicker{font-size:12px;letter-spacing:.12em;margin-bottom:20px;color:#c5cddc}.hero h1{font-size:clamp(38px,4.1vw,60px);line-height:1.55;letter-spacing:.1em;font-weight:400}.hero h1 span{color:var(--gold)}.hero-english{font:12px/1.5 Georgia,serif;letter-spacing:.2em;margin-top:24px;color:var(--gold)}.hero-english span{margin-left:14px;font-size:18px}.hero-description{margin:30px 0;color:#c5cddc;line-height:2.1;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:16px 30px;border:1px solid transparent;border-radius:100px;min-height:56px;min-width:250px;font-size:15px;font-weight:500;letter-spacing:.06em;text-decoration:none;transition:background-color 180ms ease-out}.button-gold{color:var(--night);background:var(--gold)}.button-gold:hover{background:var(--gold-hover)}.button-dark{background:var(--night);color:var(--paper)}.button-dark:hover{background:var(--night-soft)}.hero-note{font-size:11px;margin-top:16px;color:#c5cddc}.hero-note span{padding-inline:10px}.hero-visual{position:relative;background:#ece1ce;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-visual figcaption{position:absolute;bottom:22px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;color:#57503f}.hero-star{position:absolute;color:var(--gold);pointer-events:none;opacity:.45;z-index:0}.star-one{font-size:58px;left:43%;top:14%}.star-two{font-size:13px;left:39%;top:62%}.book-ribbon{min-height:88px;border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:48px;padding:22px 20px;font-family:var(--serif);font-size:15px;letter-spacing:.13em}.moon-phases{font:18px/1 Georgia,serif;letter-spacing:.3em;color:var(--gold-ink)}.story{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center}.story-image img{display:block;width:100%;border-radius:220px 220px 3px 3px}.story-image figcaption{font-size:10px;color:var(--muted);margin-top:14px;text-align:center}.story-copy p:not(.eyebrow){margin-top:24px;font-size:15px;line-height:2.15}.heading-soft{font-size:.82em}.short-rule{width:45px;height:1px;background:#ad9157;margin-top:30px}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:13px;font-weight:500;min-height:44px;margin-top:22px;color:var(--gold-ink)}.preview-section{background:#f0ece2;border-top:1px solid #e5dfd2;border-bottom:1px solid #e5dfd2}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-intro{font-size:14px;line-height:2.15;color:var(--muted);padding-bottom:6px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.preview-switch{display:flex;gap:4px;background:#e5dfd2;border-radius:100px;padding:5px}.preview-choice{border:0;color:#585347;background:transparent;border-radius:100px;padding:10px 24px;font-size:13px;min-height:44px;transition:background-color 180ms ease-out}.preview-choice[aria-pressed="true"]{background:var(--night);color:var(--paper)}.zoom-link{font-size:12px;min-height:44px;display:flex;align-items:center;gap:12px}.preview-paper{background:white;box-shadow:0 14px 40px rgb(16 27 53 / 6%);border:1px solid #e6e1d8}.preview-paper img{display:block;width:100%}.preview-caption{font-size:12px;color:var(--muted);margin-top:18px;min-height:48px}.page-notes{border-top:1px solid #d4ccbd;margin-top:25px;padding-top:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-size:13px}.page-notes span{font:italic 22px Georgia,serif;color:var(--gold-ink);padding-right:10px}.howto{display:grid;grid-template-columns:.9fr 1.2fr;gap:100px}.howto-heading>p:last-child{font-size:14px;color:var(--muted)}.orbit{width:110px;height:110px;border:1px solid #d8c9a9;border-radius:50%;position:relative;margin:35px 0}.orbit span{font:60px/110px Georgia,serif;display:block;text-align:center;color:#987b40}.orbit i{position:absolute;right:10px;top:12px;width:9px;height:9px;background:var(--gold-ink);border:3px solid var(--paper);box-sizing:content-box;border-radius:50%}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:25px;padding:30px 0;border-top:1px solid var(--line)}.steps li:last-child{border-bottom:1px solid var(--line)}.step-number{color:#9c8046;font:italic 29px/1.5 Georgia,serif}.steps h3{font-size:22px;margin-bottom:12px}.steps p{font-size:14px;line-height:2;color:var(--muted)}.reservation-section{background:var(--night);color:var(--paper);padding:90px 24px}.reservation-heading{max-width:860px;text-align:center;width:100%}.reservation-heading h2{font-size:clamp(28px,3vw,40px)}.reservation-lead{color:#c5cddc;font-size:14px;margin-top:20px}.reservation-meta{display:grid;grid-template-columns:1fr 1fr;max-width:800px;margin:38px auto 32px;border-block:1px solid rgb(223 197 140 / 30%);padding:25px 0}.reservation-meta>div+div{border-left:1px solid rgb(223 197 140 / 30%)}.meta-label{display:block;font-size:12px;color:#c5cddc;margin-bottom:8px}.reservation-meta strong{font:400 31px/1.5 var(--serif);color:var(--gold)}.meta-small{font-size:14px}.meta-year{font-size:13px}.event-info{max-width:630px;margin:auto;text-align:left;font-size:14px}.event-info p{padding:5px 0}.event-info p>span{display:inline-block;width:105px;font-size:12px;color:#c5cddc}.event-info strong{font-weight:500}.event-info small{font-size:12px}.event-info>a{display:inline-flex;gap:25px;align-items:center;min-height:44px;color:var(--gold);font-size:13px;margin-top:14px}.entry-note{color:#c5cddc;font-size:12px;margin:25px 0 40px;line-height:1.9}.form-card{background:white;color:var(--ink);border-radius:12px;max-width:800px;margin:auto;overflow:hidden}.form-intro{padding:35px 30px 20px;text-align:center}.form-icon{font:34px Georgia,serif;color:var(--gold-ink)}.form-intro h3{font-size:25px;margin:8px 0 12px}.form-intro>p{font-size:13px;color:var(--muted)}.form-fallback{background:var(--paper);padding:12px;margin-top:20px;border-radius:4px}.form-fallback a{color:var(--gold-ink);white-space:normal}.form-card iframe{display:block;width:100%;border:0;min-height:0;background:white}.form-bottom-note{font-size:11px;text-align:center;padding:12px 24px 25px;color:var(--muted)}#reservation-closed{padding:60px 24px;text-align:center}#reservation-closed p{margin-top:20px}#reservation-closed h3{font-size:24px}.faq{display:grid;grid-template-columns:.75fr 1.5fr;gap:65px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-size:15px;font-weight:500;line-height:1.8}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span[aria-hidden]{font-size:21px;color:#96773e;transition:transform 180ms}.faq-list details[open] summary>span[aria-hidden]{transform:rotate(45deg)}.faq-list details p{font-size:14px;color:var(--muted);padding:0 25px 24px 0}.closing{text-align:center;padding:68px 24px 80px;border-top:1px solid var(--line);background:#f0ece2}.closing>span{font:48px Georgia,serif;color:#987b40}.closing p{font:400 28px/1.9 var(--serif);letter-spacing:.1em;margin:20px 0 30px}.closing small{display:block;font-size:11px;color:var(--muted);margin-top:16px}.site-footer{padding:38px var(--gutter);background:var(--night);color:var(--paper);display:flex;gap:24px;align-items:center;justify-content:space-between}.site-footer>p{font-size:10px;color:#c5cddc}.back-top{font-size:11px;color:#c5cddc;min-height:44px;display:flex;align-items:center}.image-dialog{width:min(1200px,calc(100% - 24px));max-height:92dvh;padding:22px;border:0;border-radius:12px;background:var(--paper);color:var(--ink)}.image-dialog::backdrop{background:rgb(6 13 30 / 85%)}.dialog-header{display:flex;justify-content:space-between;gap:15px;align-items:center}.dialog-header h2{font-size:20px}.dialog-header button{border:1px solid var(--line);background:white;color:var(--night);padding:10px 18px;border-radius:100px;min-height:44px;font-size:13px}.image-dialog>p,.image-dialog>a{font-size:12px;margin:14px 0}.dialog-image-scroll{overflow:auto;background:white}.dialog-image-scroll img{display:block;width:100%;min-width:1000px;max-width:none}.image-dialog>a{display:inline-block;min-height:44px}.mobile-break{display:none}
@media(min-width:1500px){.hero-visual img{object-fit:contain;max-height:820px}.hero-copy{padding-block:85px}}
@media(max-width:1023px){:root{--gutter:32px}.site-header nav{gap:20px}.hero-copy{padding:40px 28px 48px 32px}.hero h1{font-size:44px}.hero-description{font-size:14px}.hero-visual img{object-fit:contain}.hero-note{font-size:10px}.story{gap:45px}.section{padding-block:80px}.story-copy h2{font-size:29px}.howto{gap:55px}.section-top{align-items:start}.faq{gap:40px}.site-footer{flex-wrap:wrap}.hero .eyebrow{font-size:9px}.star-one{left:41%}}
@media(max-width:767px){:root{--gutter:20px}body{font-size:16px}.announcement{font-size:10px;gap:12px}.announcement strong{font-size:15px}.site-header{padding:20px;gap:10px}.brand{font-size:11px;gap:8px;letter-spacing:.07em}.brand small{font-size:8px}.brand img{width:26px;height:26px}.site-header nav{gap:0}.nav-detail{display:none}.nav-cta{padding:8px 16px;font-size:11px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 26px 38px}.hero h1{font-size:clamp(35px,8.8vw,51px);line-height:1.5}.hero .eyebrow{font-size:10px;margin-bottom:18px}.hero-kicker{font-size:11px;margin-bottom:15px}.hero-english{margin-top:19px;font-size:10px}.hero-description{margin:24px 0;font-size:14px}.hero .button{min-width:0;width:100%;max-width:340px}.hero-note{font-size:10px}.hero-visual{margin:0 20px 24px;border-radius:160px 160px 4px 4px;overflow:hidden}.hero-visual img{width:100%;height:auto;max-height:520px;object-fit:contain}.hero-visual figcaption{font-size:8px;left:20px;right:20px;bottom:15px}.star-one{left:auto;right:25px;top:80px;font-size:38px}.star-two{display:none}.book-ribbon{gap:14px;font-size:10px;letter-spacing:.05em;min-height:76px;padding-inline:12px}.moon-phases{font-size:11px;letter-spacing:.13em}.section{padding-block:65px}.story{grid-template-columns:1fr;gap:36px}.story-image{width:85%;max-width:380px;justify-self:center;order:2}.story-copy{order:1}.story-copy h2{font-size:30px}.story-copy p:not(.eyebrow){font-size:15px}.eyebrow{font-size:10px;margin-bottom:17px}.story-image img{border-radius:190px 190px 3px 3px}.section-top{display:block;margin-bottom:28px}.section-intro{margin-top:22px;font-size:13px}.preview-toolbar{align-items:start;gap:12px;flex-wrap:wrap}.preview-choice{font-size:12px;padding:8px 19px}.preview-switch{padding:4px}.zoom-link{font-size:11px;margin-left:auto}.preview-caption{font-size:11px;min-height:0}.page-notes{grid-template-columns:1fr;gap:12px;margin-top:24px;padding-top:20px;font-size:13px}.page-notes span{font-size:20px}.howto{grid-template-columns:1fr;gap:30px}.howto-heading{position:relative}.howto-heading>p:last-child{margin-top:20px}.orbit{position:absolute;right:3px;bottom:0;width:70px;height:70px;margin:0}.orbit span{font-size:42px;line-height:70px}.orbit i{right:1px;top:8px}.steps li{gap:18px;padding:25px 0}.steps h3{font-size:20px}.steps p{font-size:14px}.reservation-section{padding:65px 16px}.reservation-heading h2{font-size:27px}.reservation-lead{font-size:12px}.reservation-meta{grid-template-columns:1fr;margin-top:26px;padding:20px 0;gap:20px}.reservation-meta>div+div{border-left:0;border-top:1px solid rgb(223 197 140 / 25%);padding-top:20px}.reservation-meta strong{font-size:32px}.meta-label{font-size:11px}.event-info{font-size:13px;padding-inline:5px}.event-info p>span{display:block;font-size:10px;width:auto}.event-info small{display:block}.event-info>a{font-size:12px}.entry-note{font-size:11px}.form-intro{padding:26px 14px 10px}.form-intro h3{font-size:23px}.form-intro>p{font-size:12px}.form-card iframe{min-height:0}.form-fallback a{display:inline-block}.faq{grid-template-columns:1fr;gap:28px}.faq-list summary{font-size:14px;padding:21px 0}.faq-list details p{font-size:13px}.closing{padding:55px 20px 60px}.closing p{font-size:25px}.closing .button{width:100%;max-width:340px}.site-footer{flex-direction:column;align-items:flex-start;gap:18px;padding:30px 24px}.site-footer .brand{font-size:12px}.site-footer .brand small{font-size:9px}.image-dialog{padding:14px}.dialog-header h2{font-size:17px}.dialog-header button{font-size:12px;padding:8px 14px}.image-dialog>p{font-size:11px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.special-thanks{padding:40px 24px 44px;text-align:center;border-top:1px solid var(--line);background:var(--paper)}.special-thanks h2{font:400 20px/1.6 Georgia,serif;letter-spacing:.1em;color:var(--gold-ink)}.special-thanks ul{list-style:none;padding:0;margin:20px auto 0;display:flex;flex-wrap:wrap;justify-content:center;column-gap:28px;row-gap:10px;max-width:800px}.special-thanks li{font-size:14px;color:var(--ink);white-space:nowrap}@media(max-width:767px){.special-thanks{padding:34px 24px 38px}.special-thanks ul{column-gap:22px;row-gap:10px}.special-thanks li{font-size:13px}}


/* Admission notices and quantity-based reservations */
.announcement{flex-wrap:wrap;row-gap:4px}.announcement a{font-weight:600}
.hero-stock{font-size:13px;color:var(--gold);margin:0 0 16px}.hero-stock a{font-size:11px;margin-left:12px;color:#c5cddc}
.admission-note{border:1px solid #d3c29d;border-radius:8px;padding:18px 20px;font-size:13px;line-height:1.9;text-align:left;background:#f5eddb;color:var(--ink)}
.admission-note strong{display:block;font-size:14px;line-height:1.8}.admission-note p{margin:5px 0 4px;font-size:12px}.admission-note a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;color:var(--gold-ink)}
.admission-note-dark{background:rgb(223 197 140 / 7%);border-color:rgb(223 197 140 / 40%);color:var(--paper)}.admission-note-dark a{color:var(--gold)}.admission-note-dark p{color:#c5cddc}
.hero-copy>.admission-note{margin-top:22px;max-width:480px;padding:13px 16px}.hero-copy>.admission-note strong{font-size:12px}.hero-copy>.admission-note p{font-size:11px}.hero-copy>.admission-note a{font-size:12px}
.reservation-meta .reservation-status{font-size:23px}.quantity-guidance{max-width:630px;margin:0 auto 32px;padding:22px 24px;border:1px solid rgb(223 197 140 / 40%);text-align:left}.quantity-guidance h3{font-family:var(--sans);font-size:15px;color:var(--gold);margin-bottom:10px}.quantity-guidance p{font-size:14px;color:var(--paper);line-height:2}
.reservation-admission{max-width:630px;margin:26px auto 38px}.form-admission{margin:24px 0}.admission-note .entry-button{background:var(--night);color:var(--paper);padding:10px 20px;border-radius:100px;text-decoration:none;margin:10px 0 3px}.closing-admission{max-width:510px;margin:28px auto 0;text-align:center}
.hero-visual img{object-fit:contain}
@media(max-width:767px){.announcement{font-size:11px;padding:10px 16px;gap:4px;flex-direction:column}.announcement-line{display:none}.hero-copy>.admission-note{padding:13px}.hero-stock{font-size:12px}.hero-stock a{display:inline-block;margin-left:8px}.quantity-guidance{padding:18px}.quantity-guidance p{font-size:13px}.admission-note{padding:16px}.admission-note strong{font-size:13px}.admission-note a{font-size:12px}.reservation-meta .reservation-status{font-size:23px}.form-admission .entry-button{justify-content:center;width:100%;font-size:13px}}

.cognito-form-wrap{padding:0 24px}@media(max-width:767px){.cognito-form-wrap{padding:0 14px}}

/* Event context at the beginning of the page */
.hero-event{border-left:2px solid var(--gold);padding-left:18px;margin-bottom:26px}.hero-event-date{color:var(--gold);font-size:14px;letter-spacing:.07em;margin-bottom:8px}.hero-event-title{font-family:var(--sans);font-size:20px;line-height:1.8;letter-spacing:.03em;color:var(--paper)}.hero-event-title strong{font-weight:600}.hero-event-shop{font-size:12px;color:#c5cddc;margin-top:9px}@media(max-width:767px){.hero-event{padding-left:14px;margin-bottom:24px}.hero-event-date{font-size:13px}.hero-event-title{font-size:17px}.hero-event-shop{font-size:11px}}

.announcement a{text-align:center}

/* Official event links stay inline with the surrounding copy. */
a.event-link{display:inline;min-height:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.18em}
a.event-link:hover{text-decoration-thickness:.12em}

/* A journey through the actual pages of the notebook. */
.journey-section{border-top:1px solid var(--line);padding-top:84px}
.journey-heading{text-align:center}.journey-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:22px}
.journey-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:58px 0 0}
.journey-path li{border-top:1px solid #baa16a;position:relative}.journey-path li::before{content:"";position:absolute;top:-5px;left:24px;width:9px;height:9px;border-radius:50%;background:var(--gold-ink);border:2px solid var(--paper)}
.journey-path a{display:block;padding:24px 18px 10px;text-decoration:none}.journey-path a:hover h3{text-decoration:underline;text-underline-offset:.3em}
.journey-number{font:italic 25px Georgia,serif;color:var(--gold-ink)}.journey-path h3{font-size:17px;margin:15px 0 10px;letter-spacing:0}.journey-path p{font-size:12px;color:var(--muted);line-height:1.9}.journey-arrow{display:block;color:var(--gold-ink);margin-top:16px;font-size:14px}
.gallery-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:32px}
.gallery-tab{min-height:64px;border:1px solid #ccc2af;background:transparent;color:var(--ink);font-size:12px;padding:9px 7px;line-height:1.7;border-radius:3px;transition:background-color 180ms}.gallery-tab>span{display:block;font:italic 15px Georgia,serif;margin-bottom:3px;color:var(--gold-ink)}.gallery-tab[aria-pressed="true"]{background:var(--night);border-color:var(--night);color:var(--paper)}.gallery-tab[aria-pressed="true"]>span{color:var(--gold)}.gallery-tab:hover{border-color:var(--gold-ink)}
.gallery-description{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;min-height:65px}.gallery-description h3{font-size:22px}.gallery-description p{font:12px Georgia,serif;color:var(--gold-ink);margin-bottom:8px}
#example-toggle{border:1px solid #b9ab8d;padding:9px 16px;border-radius:100px;background:transparent;font-size:12px;min-height:44px;color:var(--ink)}#example-toggle[aria-pressed="true"]{background:#e4d8be}
#preview-panel{touch-action:pan-y pinch-zoom}#preview-image{aspect-ratio:2200/1556;object-fit:contain;background:white}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.gallery-paging{display:flex;align-items:center;gap:16px}.gallery-paging button{width:44px;height:44px;border:1px solid #c8bea9;border-radius:50%;color:var(--night);background:transparent}.gallery-paging button:hover{background:var(--paper)}#gallery-count{font:14px Georgia,serif;color:var(--muted);min-width:40px;text-align:center}
.preview-caption{margin-top:14px;min-height:46px;max-width:800px}.gallery-footnote{border-top:1px solid #d4ccbd;padding-top:22px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.gallery-footnote p{font-size:11px;color:var(--muted)}.gallery-footnote .text-link{margin-top:0}.gallery-fallback{font-size:13px;line-height:2.2}
.feature-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.feature-copy>p:not(.eyebrow):not(.quote-source){font-size:14px;color:var(--muted);margin-top:24px;line-height:2.1}.feature-copy h2{font-size:clamp(27px,2.8vw,36px)}
.feature-paper{max-width:440px;width:100%;margin-inline:auto}.feature-paper>a{display:block;box-shadow:0 12px 40px rgb(16 27 53 / 7%);border:1px solid #e3ddcf;background:white;transition:box-shadow 180ms}.feature-paper>a:hover{box-shadow:0 16px 44px rgb(16 27 53 / 12%)}.feature-paper img{display:block;width:100%;height:auto}.feature-paper figcaption,.keys-paper figcaption{font-size:10px;color:var(--muted);margin-top:14px;display:flex;justify-content:space-between;gap:8px}
.wish-example{margin-top:28px;padding:22px 24px;border-left:2px solid #b89b60;background:#f0eadd}.example-label{font-size:10px;letter-spacing:.12em;color:var(--gold-ink);margin-bottom:13px}.wish-before{font-size:14px;color:var(--muted)}.wish-example>span{display:block;color:var(--gold-ink);padding:8px 0;font-size:17px}.wish-after{font-family:var(--serif);font-size:18px;line-height:1.9;color:var(--night)}
.howto{border-top:1px solid var(--line)}.reflection-section{background:#f0ece2;border-block:1px solid #e5dfd2}.reflection-quote{font:500 21px/1.9 var(--serif);color:var(--night);margin:28px 0 8px;padding:16px 0 16px 18px;border-left:2px solid #b89b60}.quote-source{font-size:10px;color:var(--muted)}.feature-links{display:flex;flex-wrap:wrap;gap:0 28px}.feature-links .text-link{font-size:12px}
.keys-section{background:var(--night);color:var(--paper);position:relative}.keys-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.keys-heading>div>p:last-child{font-size:14px;color:#c5cddc;margin-top:24px;line-height:2.1}.keys-paper img{display:block;width:100%;border:6px solid rgb(223 197 140 / 18%)}.keys-paper figcaption{color:#c5cddc}.key-excerpts{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:60px 0 0;border-top:1px solid rgb(223 197 140 / 35%)}.key-excerpts li{padding:30px 26px 5px}.key-excerpts li:first-child{padding-left:0}.key-excerpts li:last-child{padding-right:0}.key-number{font:11px Georgia,serif;color:var(--gold);letter-spacing:.15em}.key-excerpts h3{font-size:22px;color:var(--gold);margin:15px 0}.key-excerpts p{font-size:13px;color:#c5cddc;line-height:2}.keys-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid rgb(223 197 140 / 25%);padding-top:25px;margin-top:35px}.keys-bottom p{font-size:12px;color:#c5cddc}.keys-bottom .text-link{color:var(--gold);margin-top:0}.keys-section+.reservation-section{border-top:1px solid rgb(223 197 140 / 25%)}
.dialog-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0}.dialog-tools p{font-size:12px;color:var(--muted)}#dialog-zoom{font-size:12px;min-height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:100px;background:white;padding:8px 16px;color:var(--ink)}.image-dialog.is-fit .dialog-image-scroll img{min-width:0;width:100%}
.writing-scene{position:relative;margin-top:-15px;margin-bottom:90px}.writing-scene img{display:block;width:100%;aspect-ratio:2.1;object-fit:cover;border-radius:3px}.writing-scene figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 34px 24px;color:white;background:linear-gradient(transparent,rgb(16 27 53 / 72%));font:20px/1.8 var(--serif)}.writing-scene figcaption small{display:block;font:10px/1.8 var(--sans);margin-top:5px;color:#e5dfd2}
@media(max-width:1023px){.feature-section{gap:45px}.keys-heading{gap:35px}.journey-path a{padding-inline:10px}.journey-path h3{font-size:15px}.gallery-tab{font-size:11px}.key-excerpts h3{font-size:19px}}
@media(max-width:767px){.journey-section{padding-top:60px}.journey-heading{text-align:left}.journey-heading h2{font-size:26px}.journey-heading>p:last-child{font-size:13px}.journey-path{grid-template-columns:1fr;margin-top:32px;gap:0}.journey-path li{border-top:0;border-left:1px solid #baa16a;margin-left:11px}.journey-path li::before{left:-5px;top:29px}.journey-path a{display:grid;grid-template-columns:28px 1fr 22px;column-gap:15px;padding:17px 0 17px 20px;align-items:center}.journey-number{font-size:20px;grid-row:1/3}.journey-path h3{font-size:17px;margin:0 0 3px;grid-column:2}.journey-path p{font-size:12px;grid-column:2}.journey-path p br{display:none}.journey-arrow{grid-column:3;grid-row:1/3;margin:0}.journey-path li:last-child{border-left-color:transparent}.journey-path li:last-child::after{content:"";position:absolute;left:-1px;top:0;height:29px;border-left:1px solid #baa16a}
.gallery-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:24px}.gallery-tab{font-size:11px;padding:8px 3px;min-height:62px}.gallery-tab>span{font-size:14px}.gallery-description{display:block;min-height:105px;margin-bottom:15px}.gallery-description h3{font-size:19px}.gallery-description p{font-size:11px}#example-toggle{font-size:11px;margin-top:12px;padding:5px 14px;min-height:40px}.gallery-controls{margin-top:16px;gap:8px}.gallery-paging{gap:10px}.gallery-controls .zoom-link{font-size:11px}.preview-caption{font-size:12px;min-height:72px}.gallery-footnote{display:block}.gallery-footnote .text-link{margin-top:12px}.feature-section{grid-template-columns:1fr;gap:32px}.feature-copy{order:0}.feature-paper{order:1;width:88%;max-width:380px}.feature-copy h2{font-size:29px}.feature-copy>p:not(.eyebrow):not(.quote-source){font-size:14px;margin-top:20px}.wish-example{padding:18px 20px}.wish-after{font-size:17px}.feature-paper figcaption{font-size:9px;flex-wrap:wrap}.reflection-quote{font-size:18px;padding-left:14px}.feature-links{gap:0 20px}.feature-links .text-link{font-size:12px}.keys-heading{grid-template-columns:1fr;gap:32px}.keys-heading h2{font-size:29px}.keys-heading>div>p:last-child{font-size:14px}.key-excerpts{grid-template-columns:1fr;margin-top:32px}.key-excerpts li,.key-excerpts li:first-child,.key-excerpts li:last-child{padding:22px 0;border-bottom:1px solid rgb(223 197 140 / 20%)}.key-excerpts h3{font-size:21px;margin:7px 0 10px}.key-excerpts p{font-size:13px}.keys-bottom{display:block;border-top:0;padding-top:0;margin-top:24px}.keys-bottom .text-link{margin-top:10px}.dialog-tools p{font-size:10px}.dialog-tools{align-items:center}#dialog-zoom{font-size:11px;padding:8px 12px}.writing-scene{margin-top:-10px;margin-bottom:60px}.writing-scene img{aspect-ratio:1.1}.writing-scene figcaption{font-size:18px;padding:40px 20px 18px}}

.example-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:16px}

/* Keep the close control visible while reading a zoomed spread. */
.image-dialog{height:min(900px,92dvh)}.image-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.dialog-header,.dialog-tools,.image-dialog>a{flex-shrink:0}.dialog-header button{flex-shrink:0;white-space:nowrap}.dialog-image-scroll{min-height:0}.dialog-image-scroll img{min-width:1600px}.image-dialog.is-fit .dialog-image-scroll img{min-width:0}

/* Only excerpts are served for the guide and the keys. The fade is decorative. */
.preview-paper.is-sample,.sample-paper>a{position:relative;overflow:hidden}


#dialog-sample-note{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 12px;flex-shrink:0}
.image-dialog.is-sample .dialog-image-scroll{position:relative}



/* Keep the paper proportions and surrounding controls steady between selections. */
#preview-panel{aspect-ratio:2200/1556;overflow:hidden}
#preview-image{width:100%;height:100%;aspect-ratio:2200/1556;object-fit:contain}
.guide-paper>a{aspect-ratio:1100/1556;background:white}
.keys-paper>a{display:block;aspect-ratio:2200/1556;background:white}
.gallery-description{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:82px}
.gallery-description>div{min-width:0}
#example-toggle{white-space:nowrap}
#example-toggle.is-unavailable{visibility:hidden;pointer-events:none}
@media(max-width:767px){.gallery-description{grid-template-columns:minmax(0,1fr);gap:12px;min-height:146px}.gallery-description h3{min-height:3.4em}.gallery-description #example-toggle{justify-self:start;margin-top:0}.preview-caption{min-height:96px}}

/* Post-reservation guidance */
.reservation-change-note{margin:0 30px 30px;padding:22px 24px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:left}
.reservation-change-note h3{margin-bottom:10px;font-family:var(--sans);font-size:15px;font-weight:600;line-height:1.8;color:var(--night)}
.reservation-change-note p{font-size:14px;line-height:1.95;color:var(--ink);overflow-wrap:anywhere}
.reservation-change-note strong{font-weight:600}
@media(max-width:600px){.reservation-change-note{margin:0 14px 24px;padding:18px 16px}.reservation-change-note h3{font-size:14px}}
