/* 日光AI食堂の元サイトと共有する、紙・墨・朱の上映会案内。
   配給許諾の映画画像は全体をそのまま表示する。画像上に装飾を重ねない。 */
.ds-page{--ds-paper:var(--brand-paper,#f8f1dc);--ds-cream:var(--brand-cream,#f4ecd2);--ds-ink:var(--brand-ink,#241c17);--ds-sumi:var(--brand-sumi,#1b1512);--ds-shu:var(--brand-shu,#cf3f25);--ds-shu-dark:var(--brand-shu-d,#a5331f);--ds-ai:var(--brand-ai,#2f5170);--ds-gold:var(--brand-kin,#d8a23c);--ds-rule:color-mix(in srgb,var(--ds-ink) 22%,transparent);--ds-serif:"Shippori Mincho B1","Noto Serif JP",serif;margin:0;background:var(--ds-paper);color:var(--ds-ink);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
.ds-page *,.ds-page *::before,.ds-page *::after{box-sizing:border-box}
.ds-page [hidden]{display:none!important}
.ds-page :where(h1,h2,h3,p,figure,dl,dd){margin:0}
.ds-page a{color:inherit;text-underline-offset:.24em}
.ds-page a:hover{color:var(--ds-shu-dark)}
.ds-page img{display:block;max-width:100%;height:auto}
.ds-page input,.ds-page textarea,.ds-page select,.ds-page button{font:inherit;color:inherit}
.ds-page button,.ds-page a,.ds-page input,.ds-page textarea,.ds-page select,.ds-page summary{-webkit-tap-highlight-color:transparent}
.ds-page :focus-visible{outline:3px solid var(--ds-ai);outline-offset:5px}
.ds-page :where(section[id],article[id],div[id],h2[id]){scroll-margin-top:100px}
.ds-page ::selection{background:var(--ds-gold);color:var(--ds-sumi)}
.ds-visually-hidden,.ds-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ds-skip{position:fixed;top:8px;left:12px;z-index:100;transform:translateY(-160%);padding:10px 20px;background:var(--ds-paper);border:2px solid var(--ds-ink)}
.ds-skip:focus{transform:none}
.ds-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px clamp(20px,4.2vw,72px);background:var(--ds-paper);border-bottom:1px solid var(--ds-rule)}
.ds-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--ds-serif);font-size:18px;font-weight:800;line-height:1.2}
.ds-brand small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:10px;letter-spacing:.2em;margin-top:6px;font-weight:500}
.ds-seal{display:grid;place-items:center;width:35px;height:42px;flex-shrink:0;border:1px solid var(--ds-shu);box-shadow:inset 0 0 0 2px var(--ds-paper);color:var(--ds-paper);background:var(--ds-shu);font-size:14px;letter-spacing:.08em;writing-mode:vertical-rl;border-radius:2px}
.ds-nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,36px);font-size:12px;font-weight:700}
.ds-nav a{text-decoration:none}
.ds-nav-detail{padding:12px 0}
.ds-nav .ds-nav-book{padding:10px 18px;color:var(--ds-paper);background:var(--ds-shu-dark);border:1px solid var(--ds-shu-dark);border-radius:2px;white-space:nowrap}
.ds-nav .ds-nav-book:hover{background:var(--ds-sumi);border-color:var(--ds-sumi);color:var(--ds-paper)}
.ds-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,4vw,80px);align-items:center;max-width:1480px;margin:0 auto;padding:clamp(38px,5vw,72px) clamp(24px,5vw,80px) clamp(40px,5vw,72px)}
.ds-eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:22px;color:var(--ds-shu-dark)}
.ds-eyebrow>span{width:22px;height:1px;background:currentColor}
.ds-main-copy{font-family:var(--ds-serif);font-weight:800;font-size:clamp(26px,3.05vw,46px);line-height:1.65;letter-spacing:-.035em;word-break:keep-all}
.ds-main-copy em{font-style:normal;color:var(--ds-shu-dark)}
.ds-film-title{max-width:490px;margin-top:26px}
.ds-film-title img{width:100%;height:auto;object-fit:contain}
.ds-logo-credit{font-size:9px;color:var(--ds-ink);margin-top:6px;line-height:1.4}
.ds-hero-lead{font-size:13px;line-height:1.9;margin-top:17px;font-weight:500}
.ds-hero-date{display:flex;gap:20px;align-items:center;margin:23px 0 20px;padding:15px 0;border-top:1px solid var(--ds-rule);border-bottom:1px solid var(--ds-rule)}
.ds-hero-date time{display:flex;gap:7px;align-items:baseline;white-space:nowrap;font-family:var(--ds-serif);line-height:1.15}
.ds-hero-date time>span{font-size:14px;font-weight:700}
.ds-hero-date strong{font-size:40px;letter-spacing:-.04em;font-weight:800}
.ds-hero-date b{font-size:12px;border:1px solid currentColor;border-radius:50%;width:23px;height:23px;display:inline-grid;place-items:center;font-weight:700}
.ds-hero-date p{font-size:15px;font-weight:900;line-height:1.65}
.ds-hero-date p>span{font-size:11px;font-weight:500}
.ds-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 22px;border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer;transition:background .15s,box-shadow .15s}
.ds-page .ds-button-primary{background:var(--ds-shu-dark);color:var(--ds-paper);box-shadow:3px 3px 0 var(--ds-ink)}
.ds-page .ds-button-primary:hover:not(:disabled){background:var(--ds-sumi);color:var(--ds-paper);box-shadow:1px 1px 0 var(--ds-ink)}
.ds-button-primary:disabled{background:color-mix(in srgb,var(--ds-ink) 11%,var(--ds-paper));color:color-mix(in srgb,var(--ds-ink) 70%,var(--ds-paper));box-shadow:none;border:1px solid var(--ds-rule);cursor:not-allowed}
.ds-hero-note{font-size:11px;margin-top:12px}
.ds-hero-figure{min-width:0}
.ds-hero-figure>img{width:100%;height:auto;object-fit:contain}
.ds-hero-figure figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;padding-top:8px;font-size:9px;line-height:1.6}
.ds-photo-note{font-family:var(--ds-serif);font-size:clamp(20px,2.3vw,34px);line-height:1.8;text-align:right;margin-top:26px;margin-right:3px;letter-spacing:.08em}
.ds-hero-trailer{min-width:0;align-self:center}
.ds-trailer-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:2px solid var(--ds-shu-dark);padding-top:14px}
.ds-trailer-heading h2{font-family:var(--ds-serif);font-size:clamp(20px,2.1vw,29px);font-weight:700}
.ds-trailer-heading>span{font-size:10px;white-space:nowrap}
.ds-trailer-warning{font-size:11px;line-height:1.9;margin:7px 0 14px}
.ds-trailer-screen{width:100%;aspect-ratio:16/9;min-height:200px;background:var(--ds-sumi)}
.ds-trailer-screen>div,.ds-trailer-screen iframe{display:block;width:100%;height:100%;min-height:200px;border:0}
.ds-trailer-screen img{width:100%;height:100%;object-fit:contain}
.ds-trailer-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ds-trailer-controls button{min-height:44px;padding:9px 18px;border:1px solid var(--ds-ink);background:transparent;border-radius:2px;font-size:12px;cursor:pointer}
.ds-trailer-controls button:hover{background:var(--ds-cream)}
.ds-trailer-status{font-size:11px;line-height:1.8;min-height:20px;margin-top:8px;color:var(--ds-ai)}
.ds-trailer-credit{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;line-height:1.8;margin-top:12px;padding-top:10px;border-top:1px solid var(--ds-rule)}
.ds-trailer-credit a{font-size:11px;min-height:44px;display:inline-flex;align-items:center}
.ds-trailer-privacy{font-size:9px;line-height:1.7;margin-top:4px;color:var(--ds-ai)}
.ds-gallery-grid .ds-gallery-main{grid-column:1/-1;max-width:860px;width:100%;justify-self:center;padding-top:0}
@media print{.ds-hero-trailer{display:none!important}}
.ds-mobile-break{display:none}
.ds-fact-band{display:grid;grid-template-columns:repeat(3,1fr);max-width:none;padding:26px max(5vw,calc((100vw - 1320px)/2));background:var(--ds-sumi);color:var(--ds-paper)}
.ds-fact-band p{padding:0 30px;border-right:1px solid color-mix(in srgb,var(--ds-paper) 26%,transparent)}
.ds-fact-band p:first-child{padding-left:0}
.ds-fact-band p:last-child{padding-right:0;border:0}
.ds-fact-band span{display:block;color:var(--ds-gold);font-size:10px;letter-spacing:.12em;margin-bottom:4px}
.ds-fact-band strong{font-size:clamp(12px,1.35vw,17px);font-weight:500}
.ds-section{display:grid;grid-template-columns:145px minmax(0,1fr);gap:clamp(28px,4vw,66px);max-width:1340px;margin:auto;padding:90px clamp(24px,5vw,80px);border-bottom:1px solid var(--ds-rule)}
.ds-section-label>span{display:block;font-family:var(--ds-serif);font-size:46px;line-height:1;color:var(--ds-shu-dark);font-weight:500;margin-bottom:16px}
.ds-section-label>p{font-size:12px;line-height:1.9;letter-spacing:.12em;font-weight:700}
.ds-section h2{font-family:var(--ds-serif);font-size:clamp(25px,3.1vw,43px);line-height:1.65;font-weight:700;letter-spacing:-.035em;text-wrap:pretty}
.ds-invitation-grid,.ds-about-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:44px;margin-top:30px;align-items:start}
.ds-prose{font-size:14px;line-height:2.15}
.ds-prose>p+p{margin-top:18px}
.ds-prose .ds-attribution{font-size:10px;line-height:1.8;letter-spacing:.08em;color:var(--ds-ai);margin-top:22px}
.ds-question-note{position:relative;border-top:2px solid var(--ds-shu-dark);border-bottom:1px solid var(--ds-rule);padding:24px 0 28px}
.ds-note-label,.ds-note-foot{display:block;font-size:10px;letter-spacing:.08em}
.ds-question-note p{font-family:var(--ds-serif);font-size:clamp(20px,2.1vw,28px);font-weight:700;line-height:1.9;margin:22px 0 18px;letter-spacing:-.03em}
.ds-question-note em{font-style:normal;color:var(--ds-shu-dark)}
.ds-note-foot{text-align:right}
.ds-salon-path{border-top:2px solid var(--ds-shu-dark);padding-top:5px}
.ds-salon-path>div{position:relative;padding:20px 0 20px 24px;border-bottom:1px solid var(--ds-rule);border-left:1px solid var(--ds-rule)}
.ds-salon-path>div::before{content:"";position:absolute;left:-5px;top:27px;width:9px;height:9px;border:1px solid var(--ds-ink);border-radius:50%;background:var(--ds-paper)}
.ds-salon-path .ds-path-current::before{background:var(--ds-shu-dark);border-color:var(--ds-shu-dark)}
.ds-salon-path>div>span{font-size:10px;color:var(--ds-ai);letter-spacing:.08em}
.ds-salon-path strong{display:block;font-family:var(--ds-serif);font-size:23px;font-weight:700;margin:4px 0 2px}
.ds-salon-path .ds-path-current strong{color:var(--ds-shu-dark)}
.ds-salon-path p{font-size:10px;line-height:1.8}
.ds-archive-heading{margin-top:46px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--ds-rule);padding-top:22px}
.ds-archive-heading h3{font-family:var(--ds-serif);font-size:20px;font-weight:700}
.ds-archive-heading .ds-text-link{font-size:10px}
.ds-salon-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px}
.ds-archive-card{min-width:0;border-bottom:1px solid var(--ds-rule)}
.ds-archive-card>a{display:block;text-decoration:none;height:100%}
.ds-archive-card img{width:100%;height:auto;object-fit:contain}
.ds-archive-card>a>div{padding:15px 0 18px}
.ds-archive-meta{font-size:9px;letter-spacing:.04em;color:var(--ds-ai);font-weight:700}
.ds-archive-card h4{font-family:var(--ds-serif);font-size:17px;line-height:1.85;font-weight:700;margin:9px 0}
.ds-archive-card h4+p{font-size:10px;line-height:1.8;min-height:36px}
.ds-archive-link{font-size:10px;display:inline-flex;gap:20px;align-items:center;min-height:44px;margin-top:5px;font-weight:700}
.ds-archive-note{font-size:9px;line-height:1.8;margin-top:14px;color:var(--ds-ai)}
.ds-viewing-note{font-size:11px;line-height:1.9;margin-top:28px;padding-top:18px;border-top:1px solid var(--ds-rule)}
.ds-viewing-note a{color:var(--ds-ai)}
.ds-film-gallery{max-width:1340px;padding:0 clamp(24px,5vw,80px) 75px;margin:0 auto}
.ds-gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:40px 0 28px}
.ds-gallery-intro h2{font-family:var(--ds-serif);font-size:clamp(25px,3vw,41px);font-weight:700;line-height:1.7}
.ds-gallery-intro p{font-size:11px;line-height:1.9;max-width:32ch}
.ds-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 30px;align-items:start}
.ds-gallery-grid figure{min-width:0;break-inside:avoid}
.ds-gallery-grid figure:nth-child(even){padding-top:55px}
.ds-gallery-grid figure>img{display:block;width:100%;height:auto;object-fit:contain}
.ds-gallery-grid figcaption{font-size:9px;line-height:1.7;padding-top:8px;display:flex;justify-content:space-between;gap:4px 15px;flex-wrap:wrap}
.ds-awards{border-block:1px solid var(--ds-rule);display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:25px 0;margin-top:32px}
.ds-awards article+article{border-left:1px solid var(--ds-rule);padding-left:26px}
.ds-awards p{font-size:10px;line-height:1.8;color:var(--ds-ai)}
.ds-awards h3{font-family:var(--ds-serif);font-size:19px;line-height:1.7;font-weight:700;margin-top:7px}
.ds-awards .ds-award-name{color:var(--ds-shu-dark);font-size:13px;font-weight:700;margin-top:7px}
.ds-awards .ds-text-link{font-size:10px;margin-top:5px}
.ds-kicker{font-size:11px;letter-spacing:.06em;margin-bottom:13px;color:var(--ds-ai);font-weight:700}
.ds-about h2{font-size:clamp(24px,2.7vw,38px)}
.ds-about-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:46px;margin-top:22px}
.ds-prose .ds-small{font-size:11px;line-height:1.8;margin:22px 0 7px}
.ds-text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:8px 0;min-height:44px}
.ds-credits{border-top:1px solid var(--ds-rule);font-size:11px}
.ds-credits>div{padding:11px 0;border-bottom:1px solid var(--ds-rule)}
.ds-credits dt{font-size:10px;color:var(--ds-ai)}
.ds-credits dd{font-size:13px;margin-top:2px}
.ds-content-note{margin-top:40px;padding:24px 28px;background:var(--ds-cream);border-left:3px solid var(--ds-ai)}
.ds-content-note h3{font-size:13px;font-weight:700;margin-bottom:9px}
.ds-content-note p{font-size:12px;line-height:1.95}
.ds-content-note p+p{margin-top:10px}
.ds-section-lead{font-size:13px;line-height:2;margin-top:15px}
.ds-weekday{display:inline-block;font-size:.58em;white-space:nowrap}
.ds-showtimes{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:32px}
.ds-showtime{border-top:2px solid var(--ds-ink);border-bottom:1px solid var(--ds-rule);padding:18px 0 20px}
.ds-showtime-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}
.ds-showtime-label span:last-child{font-size:10px;color:var(--ds-ai)}
.ds-showtime-time{display:flex;align-items:baseline;gap:14px;margin:15px 0 6px}
.ds-showtime-time time{font-family:var(--ds-serif);font-size:clamp(38px,5.2vw,66px);line-height:1.1;font-weight:500;letter-spacing:-.055em}
.ds-showtime-time span{font-size:11px}
.ds-showtime-meta{font-size:12px;line-height:1.9;margin:12px 0 9px}
.ds-showtime .ds-text-link{font-size:11px}
.ds-salon-note{padding:23px 0 30px;border-bottom:1px solid var(--ds-rule)}
.ds-salon-note h3{font-size:14px;font-family:var(--ds-serif);font-weight:800;margin-bottom:8px}
.ds-salon-note p{font-size:12px;line-height:1.95;max-width:66ch}
.ds-event-details{margin-top:18px}
.ds-event-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--ds-rule);padding:19px 0;font-size:13px;line-height:1.9}
.ds-event-details dt{font-size:11px;font-weight:700;padding-top:3px}
.ds-event-details dd strong{font-size:15px;font-weight:700}
.ds-event-details .ds-text-link{font-size:11px;margin-top:4px}
.ds-contact-link{display:inline-block;overflow-wrap:anywhere;min-height:44px;padding:8px 0;font-size:12px}
.ds-reservation{background:var(--ds-cream);max-width:none;padding-left:max(5vw,calc((100vw - 1180px)/2));padding-right:max(5vw,calc((100vw - 1180px)/2));grid-template-columns:145px minmax(0,1fr)}
.ds-booking-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr);gap:40px;margin-top:36px;align-items:start}
.ds-booking-aside{font-size:11px;line-height:1.95}
.ds-booking-aside>p{margin-top:18px}
.ds-booking-aside a{color:var(--ds-ai);font-weight:700}
.ds-booking-stamp{border-top:2px solid var(--ds-shu-dark);border-bottom:1px solid var(--ds-rule);padding:16px 0 20px;display:grid;gap:5px}
.ds-booking-stamp span{font-size:11px;letter-spacing:.08em}
.ds-booking-stamp strong{font-family:var(--ds-serif);font-size:29px;color:var(--ds-shu-dark);font-weight:800}
.ds-form-wrap{padding:28px;background:var(--ds-paper);border:1px solid var(--ds-rule);box-shadow:5px 5px 0 color-mix(in srgb,var(--ds-ink) 12%,transparent);min-width:0}
.ds-booking-status{padding:12px 14px;border-left:3px solid var(--ds-ai);background:color-mix(in srgb,var(--ds-ai) 5%,var(--ds-paper));font-size:12px;line-height:1.8;margin-bottom:22px}
.ds-form fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.ds-form legend,.ds-field>label{display:block;padding:0;margin:0 0 9px;font-size:12px;font-weight:700}
.ds-required,.ds-optional{font-family:"Noto Sans JP",sans-serif;font-size:9px;font-weight:700;margin-left:6px;white-space:nowrap;vertical-align:middle;display:inline-block;padding:0 5px;line-height:1.9}
.ds-required{background:var(--ds-shu-dark);color:var(--ds-paper);border:1px solid var(--ds-shu-dark)}
.ds-optional{border:1px solid var(--ds-rule)}
.ds-session-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ds-session-option{position:relative;display:flex;gap:10px;padding:16px 12px;border:1px solid var(--ds-rule);border-radius:2px;cursor:pointer;min-width:0;align-items:flex-start;transition:background .15s,border-color .15s}
.ds-session-option:has(input:checked){border:2px solid var(--ds-ai);padding:15px 11px;background:color-mix(in srgb,var(--ds-ai) 6%,var(--ds-paper))}
.ds-session-option:has(input:disabled){opacity:.65;cursor:not-allowed}
.ds-session-option input{margin:4px 0 0;flex-shrink:0;accent-color:var(--ds-ai);width:18px;height:18px}
.ds-session-body{min-width:0;display:grid;gap:6px;line-height:1.6}
.ds-session-body strong{font-size:12px;font-weight:700}
.ds-session-body b{display:block;font-family:var(--ds-serif);font-size:24px;font-weight:800;line-height:1.5}
.ds-session-body>span{font-size:10px}
.ds-session-body .ds-seat-status{color:var(--ds-ai);font-weight:700;font-size:11px}
.ds-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ds-field{margin-bottom:20px;min-width:0}
.ds-field-pair .ds-field{margin-bottom:0}
.ds-field input,.ds-field select,.ds-field textarea{display:block;width:100%;min-height:48px;border:1px solid color-mix(in srgb,var(--ds-ink) 46%,transparent);background:#fffdf7;border-radius:3px;padding:10px 12px;font-size:16px;line-height:1.5;color:var(--ds-ink)}
.ds-field textarea{resize:vertical;min-height:100px}
.ds-field [aria-invalid="true"]{border:2px solid var(--ds-shu-dark)}
.ds-field input:focus,.ds-field textarea:focus,.ds-field select:focus{outline:2px solid var(--ds-ai);outline-offset:2px}
.ds-field-hint{margin-top:7px;font-size:10px;line-height:1.8}
.ds-privacy{padding:16px 0;border-top:1px solid var(--ds-rule);border-bottom:1px solid var(--ds-rule);margin:6px 0 16px}
.ds-privacy h3{font-size:11px;font-weight:700;margin-bottom:6px}
.ds-privacy p{font-size:10px;line-height:1.9}
.ds-consent{display:flex;gap:12px;align-items:flex-start;min-height:48px;font-size:11px;line-height:1.9;cursor:pointer;margin-bottom:20px}
.ds-consent input{margin:3px 0 0;width:19px;height:19px;flex-shrink:0;accent-color:var(--ds-ai)}
.ds-consent a{color:var(--ds-ai)}
.ds-error{padding:14px 16px;background:color-mix(in srgb,var(--ds-shu) 7%,var(--ds-paper));border:1px solid var(--ds-shu-dark);color:var(--ds-shu-dark);font-size:12px;line-height:1.9;margin:0 0 18px;overflow-wrap:anywhere}
.ds-error:empty{display:none}
.ds-submit{width:100%;font-size:14px;min-height:56px}
.ds-submit-note{font-size:10px;line-height:1.9;margin-top:14px}
.ds-booking-result{border-top:3px solid var(--ds-ai);padding:22px 0;font-size:14px;line-height:2;overflow-wrap:anywhere}
.ds-booking-result h2,.ds-booking-result h3{font-family:var(--ds-serif);font-size:25px;color:var(--ds-ai);margin-bottom:12px}
.ds-booking-result p{margin-top:12px}
.ds-booking-result dl>div{padding:9px 0;border-bottom:1px solid var(--ds-rule)}
.ds-booking-result dt{font-size:11px}
.ds-booking-result dd{font-weight:700}
.ds-booking-result button{margin-top:16px;min-height:48px;padding:10px 14px;border:1px solid var(--ds-ai);border-radius:3px;background:var(--ds-paper);cursor:pointer}
.ds-faq-list{margin-top:25px;border-top:1px solid var(--ds-rule)}
.ds-faq details{border-bottom:1px solid var(--ds-rule)}
.ds-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;font-size:13px;font-weight:700;padding:23px 0;min-height:56px}
.ds-faq summary::-webkit-details-marker{display:none}
.ds-faq summary::after{content:"＋";font-weight:400;color:var(--ds-shu-dark);font-size:20px;flex-shrink:0}
.ds-faq details[open] summary::after{content:"−"}
.ds-faq details>div{padding:0 36px 24px 0;font-size:12px;line-height:2;max-width:72ch}
.ds-faq details a{color:var(--ds-ai)}
.ds-footer{background:var(--ds-sumi);color:var(--ds-paper);padding:55px max(5vw,calc((100vw - 1180px)/2)) 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:34px 70px}
.ds-footer-title{font-family:var(--ds-serif);font-size:28px;line-height:1.7;margin-bottom:18px;font-weight:700}
.ds-footer p:not(.ds-footer-title){font-size:11px;line-height:2}
.ds-footer-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.ds-footer-links a{font-size:12px;text-decoration:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid color-mix(in srgb,var(--ds-paper) 30%,transparent)}
.ds-footer a:hover{color:var(--ds-gold)}
.ds-footer .ds-footer-credit{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--ds-paper) 20%,transparent);padding-top:19px;font-size:9px}
@media(min-width:1550px){.ds-hero{padding-top:80px;padding-bottom:80px}}
@media(max-width:1100px){.ds-hero{grid-template-columns:1fr 1.1fr;gap:30px}.ds-main-copy{font-size:clamp(26px,3.2vw,36px)}.ds-hero-date{gap:12px}.ds-hero-date strong{font-size:34px}.ds-hero-date time>span{font-size:11px}.ds-hero-date p{font-size:13px}.ds-hero-date p>span{font-size:10px}.ds-section,.ds-reservation{grid-template-columns:98px minmax(0,1fr);gap:32px}.ds-invitation-grid,.ds-about-grid{gap:26px}.ds-booking-layout{grid-template-columns:minmax(0,.6fr) minmax(0,1.45fr);gap:26px}.ds-form-wrap{padding:22px}.ds-session-options{gap:8px}.ds-session-option{padding:14px 9px;gap:7px}.ds-session-option:has(input:checked){padding:13px 8px}}
@media(max-width:800px){.ds-header{padding:12px 24px}.ds-nav-detail{display:none}.ds-hero{grid-template-columns:1fr;padding:30px 24px 38px;gap:32px}.ds-hero-copy{max-width:620px;width:100%}.ds-main-copy{font-size:clamp(29px,6.5vw,48px);line-height:1.5}.ds-eyebrow{margin-bottom:16px}.ds-film-title{max-width:510px;margin-top:22px}.ds-hero-lead{font-size:13px;margin-top:13px}.ds-hero-date{margin:20px 0 18px;justify-content:flex-start;gap:24px;max-width:510px}.ds-hero-date strong{font-size:42px}.ds-hero-date time>span{font-size:13px}.ds-hero-date p{font-size:15px}.ds-hero-date p>span{font-size:11px}.ds-hero-figure{max-width:760px}.ds-photo-note{font-size:23px;line-height:1.7;margin-top:20px}.ds-fact-band{padding:22px 24px}.ds-fact-band p{padding:0 16px}.ds-fact-band strong{font-size:11px}.ds-fact-band span{font-size:9px}.ds-section,.ds-reservation{grid-template-columns:1fr;gap:22px;padding:54px 24px}.ds-section-label{display:flex;align-items:center;gap:14px}.ds-section-label>span{font-size:28px;margin:0}.ds-section-label>p{font-size:11px;letter-spacing:.08em}.ds-section-label br{display:none}.ds-section h2{font-size:32px;line-height:1.65}.ds-about h2{font-size:28px}.ds-invitation-grid,.ds-about-grid{gap:30px}.ds-booking-layout{grid-template-columns:1fr;gap:24px}.ds-booking-aside{display:grid;grid-template-columns:1fr 1.5fr;gap:10px 26px;font-size:11px}.ds-booking-stamp{grid-row:span 4;align-self:start}.ds-booking-aside>p{margin:0}.ds-form-wrap{padding:28px;max-width:660px;width:100%;margin:auto}.ds-session-options{gap:14px}.ds-session-option{padding:17px 14px;gap:10px}.ds-session-option:has(input:checked){padding:16px 13px}.ds-section-lead{font-size:13px}.ds-footer{padding:42px 24px 24px;gap:28px}.ds-footer-title{font-size:25px}}
@media(max-width:540px){.ds-header{padding:10px 18px;gap:12px}.ds-brand{font-size:15px;gap:8px}.ds-brand small{font-size:9px;margin-top:5px;letter-spacing:.1em}.ds-seal{width:29px;height:36px;font-size:12px}.ds-nav .ds-nav-book{padding:10px 12px;font-size:11px;min-height:44px;display:flex;align-items:center}.ds-hero{padding:27px 20px 32px;gap:26px}.ds-eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:13px}.ds-main-copy{font-size:clamp(25px,7vw,36px);line-height:1.65;letter-spacing:-.05em}.ds-mobile-break{display:block}.ds-main-copy .ds-mobile-break{display:none}.ds-film-title{margin-top:18px}.ds-logo-credit{font-size:8px}.ds-hero-lead{font-size:12px;line-height:1.85;margin-top:12px}.ds-hero-lead .ds-mobile-break{display:none}.ds-hero-date{gap:18px;padding:13px 0;margin:17px 0}.ds-hero-date time{gap:5px}.ds-hero-date time>span{font-size:11px}.ds-hero-date strong{font-size:38px}.ds-hero-date b{width:21px;height:21px;font-size:10px}.ds-hero-date p{font-size:13px}.ds-hero-date p>span{font-size:10px}.ds-hero .ds-button{width:100%;font-size:13px;min-height:51px}.ds-hero-note{font-size:10px;margin-top:10px}.ds-hero-figure figcaption{font-size:8px;line-height:1.7;gap:1px 5px}.ds-photo-note{font-size:22px;margin-top:22px}.ds-fact-band{padding:20px;grid-template-columns:1fr;gap:12px}.ds-fact-band p,.ds-fact-band p:first-child,.ds-fact-band p:last-child{border:0;padding:0;display:grid;grid-template-columns:64px 1fr;align-items:baseline;gap:16px}.ds-fact-band span{margin:0;font-size:9px}.ds-fact-band strong{font-size:12px}.ds-section,.ds-reservation{padding:44px 20px;gap:18px}.ds-section h2{font-size:clamp(25px,6.6vw,32px);line-height:1.7}.ds-invitation-grid,.ds-about-grid{grid-template-columns:1fr;gap:26px;margin-top:22px}.ds-prose{font-size:13px;line-height:2.15}.ds-prose>p+p{margin-top:16px}.ds-question-note{padding:20px 0 21px;margin:0 16px 0 0}.ds-question-note p{font-size:25px;margin:18px 0 14px}.ds-about h2{font-size:clamp(21px,6vw,27px)}.ds-kicker{font-size:10px}.ds-credits{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.ds-content-note{padding:19px 18px;margin-top:28px}.ds-content-note p{font-size:11px}.ds-content-note h3{font-size:12px}.ds-section-lead{font-size:12px}.ds-showtimes{gap:20px;margin-top:25px}.ds-showtime{padding:15px 0 16px}.ds-showtime-label{font-size:12px}.ds-showtime-label span:last-child{font-size:9px}.ds-showtime-time{display:block;margin-top:15px}.ds-showtime-time time{font-size:48px}.ds-showtime-time>span{display:block;font-size:9px;margin-top:5px}.ds-showtime-meta{font-size:11px}.ds-showtime .ds-text-link{font-size:10px;gap:9px;line-height:1.6}.ds-salon-note{padding:23px 0}.ds-salon-note h3{font-size:13px}.ds-salon-note p{font-size:11px}.ds-event-details>div{grid-template-columns:70px minmax(0,1fr);gap:14px;padding:16px 0;font-size:12px}.ds-event-details dt{font-size:10px}.ds-event-details dd strong{font-size:14px}.ds-contact-link{font-size:11px}.ds-booking-aside{display:block}.ds-booking-stamp{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0}.ds-booking-stamp strong{font-size:23px}.ds-booking-stamp span{font-size:10px;letter-spacing:0}.ds-booking-aside>p{margin-top:13px}.ds-booking-layout{margin-top:24px;gap:22px}.ds-form-wrap{padding:22px 17px;box-shadow:3px 3px 0 color-mix(in srgb,var(--ds-ink) 12%,transparent)}.ds-booking-status{font-size:11px;padding:10px 11px;margin-bottom:20px}.ds-session-options{gap:9px}.ds-session-option{padding:13px 9px;gap:7px}.ds-session-option:has(input:checked){padding:12px 8px}.ds-session-body strong{font-size:11px}.ds-session-body b{font-size:24px}.ds-session-body>span{font-size:9px}.ds-session-body .ds-seat-status{font-size:10px}.ds-session-option input{width:16px;height:16px}.ds-field-pair{gap:12px}.ds-field>label,.ds-form legend{font-size:11px}.ds-field-hint{font-size:10px}.ds-consent{font-size:10px}.ds-submit{font-size:13px;padding:14px;gap:14px}.ds-faq summary{font-size:12px;padding:19px 0;gap:15px}.ds-faq details>div{padding-right:12px;font-size:11px}.ds-footer{grid-template-columns:1fr;padding:36px 20px 22px;gap:26px}.ds-footer-title{font-size:24px}.ds-footer p:not(.ds-footer-title){font-size:10px}.ds-footer-links{gap:8px}.ds-footer-links a{font-size:11px}.ds-footer .ds-footer-credit{font-size:8px;padding-top:16px}}
@media(max-width:350px){.ds-main-copy{font-size:25px}.ds-hero-date{gap:12px}.ds-hero-date strong{font-size:32px}.ds-hero-date p{font-size:11px}.ds-hero-date p>span{font-size:9px}.ds-hero-date time>span{font-size:10px}.ds-showtime-time time{font-size:41px}.ds-showtime-label{display:block}.ds-showtime-label span:last-child{display:block}.ds-form-wrap{padding:18px 12px}.ds-session-option{gap:5px;padding:12px 7px}.ds-session-option:has(input:checked){padding:11px 6px}.ds-session-body strong{font-size:10px}.ds-session-body b{font-size:22px}.ds-booking-stamp{flex-wrap:wrap}.ds-brand{font-size:14px}.ds-nav .ds-nav-book{font-size:10px;padding:10px}.ds-header{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.ds-page *, .ds-page *::before, .ds-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:1100px){.ds-salon-archive{gap:16px}.ds-archive-card h4{font-size:15px}.ds-salon-path strong{font-size:21px}.ds-gallery-grid{gap:26px}.ds-gallery-grid figure:nth-child(even){padding-top:35px}}
@media(max-width:800px){.ds-film-gallery{padding:0 24px 54px}.ds-gallery-intro{padding:32px 0 24px}.ds-gallery-intro h2{font-size:31px}.ds-archive-heading h3{font-size:18px}.ds-archive-card h4{font-size:17px}.ds-gallery-grid{gap:26px 20px}.ds-gallery-grid figure:nth-child(even){padding-top:30px}}
@media(max-width:540px){.ds-salon-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:0;padding:0;border-bottom:1px solid var(--ds-rule)}.ds-salon-path>div{padding:20px 8px 20px 0;border-left:0;border-bottom:0;border-top:1px solid var(--ds-rule)}.ds-salon-path>div::before{left:0;top:-5px}.ds-salon-path>div>span{font-size:9px}.ds-salon-path strong{font-size:16px;line-height:1.7;letter-spacing:-.035em;max-width:5em;margin:7px 0}.ds-salon-path p{font-size:9px;max-width:11ch}.ds-archive-heading{margin-top:28px;padding-top:18px;gap:6px}.ds-archive-heading h3{font-size:17px}.ds-salon-archive{grid-template-columns:1fr;gap:19px;margin-top:16px}.ds-archive-card>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}.ds-archive-card>a>div{padding:0 0 15px}.ds-archive-meta{font-size:8px}.ds-archive-card h4{font-size:15px;line-height:1.8;margin:7px 0}.ds-archive-card h4+p{font-size:9px;min-height:0}.ds-archive-link{font-size:9px;margin-top:0;min-height:40px}.ds-archive-note{font-size:9px}.ds-viewing-note{font-size:10px;margin-top:22px}.ds-film-gallery{padding:0 20px 40px}.ds-gallery-intro{display:block;padding:30px 0 22px}.ds-gallery-intro h2{font-size:28px}.ds-gallery-intro p{font-size:10px;margin-top:12px;max-width:none}.ds-gallery-grid{grid-template-columns:1fr;gap:25px}.ds-gallery-grid figure:nth-child(even){padding-top:0}.ds-gallery-grid figcaption{font-size:8px}.ds-awards{grid-template-columns:1fr;padding:20px 0;gap:20px;margin-top:25px}.ds-awards article+article{border-left:0;border-top:1px solid var(--ds-rule);padding:20px 0 0}.ds-awards h3{font-size:20px}.ds-awards p{font-size:10px}.ds-faq details p+p{margin-top:12px}}
@media(max-width:540px){.ds-salon-path strong{font-size:15px;max-width:none;text-wrap:balance}}
@media print{.ds-header{position:static}.ds-nav,.ds-skip,.ds-form-wrap,.ds-button,.ds-booking-aside,.ds-faq{display:none!important}.ds-page{color:#000;background:#fff;font-size:10pt}.ds-hero,.ds-section,.ds-reservation{padding:20px 0;break-inside:avoid;background:#fff}.ds-hero{grid-template-columns:1fr 1fr;gap:24px}.ds-main-copy{font-size:22pt}.ds-hero-date strong{font-size:26pt}.ds-section{display:block}.ds-section-label{display:none}.ds-section h2{font-size:19pt}.ds-section-body{max-width:none}.ds-fact-band{background:#fff;color:#000;border-block:1px solid #000;padding:15px 0}.ds-fact-band span{color:#000}.ds-footer{background:#fff;color:#000;padding:20px 0}.ds-footer-links{display:none}.ds-reservation{display:none}.ds-photo-note{font-size:18pt}.ds-content-note{background:#fff;border:1px solid #000}}

.ds-guide-seats{margin-top:14px;font-weight:700;color:var(--ds-ai);font-size:15px;line-height:1.7}
.ds-booking-result.is-pending{border-top-color:#805317}
.ds-booking-result.is-pending h3{color:#805317}

/* Keep the existing visual identity while exposing the page hierarchy. */
.ds-breadcrumb{max-width:1480px;margin:0 auto;padding:18px clamp(24px,5vw,80px) 0;font-size:11px;color:var(--ds-ai)}
.ds-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}
.ds-breadcrumb li+li::before{content:"/";margin-right:10px;color:var(--ds-ai)}
.ds-breadcrumb a{text-underline-offset:3px}
.ds-trailer-screen picture{display:block;width:100%;height:100%}
.ds-gallery-grid figure>picture{display:block;width:100%}
.ds-gallery-grid figure>picture>img{display:block;width:100%;height:auto;object-fit:contain}
