/* Editorial direction: an invitation to bring entertainment closer. */
:root{--paper:#f8f5ee;--ink:#172a3c;--red:#ba422f;--muted:#52616a;--rule:#cbc9bf;--blue:#172a3c;--cream:var(--paper);--teal:#38675a}
html{scroll-padding-top:110px}body.review-home,body.review-detail{background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.9;letter-spacing:.015em}*{box-sizing:border-box}img{max-width:100%}a{color:inherit}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{text-wrap:pretty}p{line-height:1.95}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #14746c;outline-offset:5px}::selection{background:#efd586;color:#172a3c}.wrap{width:min(1200px,calc(100% - 96px));max-width:1200px}section{padding:100px 0;scroll-margin-top:100px}.reveal{opacity:1!important;transform:none!important;visibility:visible!important}.serif{font-family:inherit}.heading{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;align-items:start;margin:0 0 48px}.heading-label{font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--red);padding:12px 0;border:0;background:none}.heading-label:before{content:"";display:inline-block;width:20px;height:1px;vertical-align:middle;background:currentColor;margin-right:10px}.heading h2,.special-copy h2{font-size:clamp(1.65rem,2.8vw,2.8rem);line-height:1.55;letter-spacing:-.045em;margin:0 0 20px;font-weight:750}.heading p{font-size:1rem;color:var(--muted);max-width:660px}.heading h2:after{display:none}header{background:var(--paper);border:0;border-bottom:1px solid var(--rule);box-shadow:none;position:sticky;top:0;z-index:100}header>.wrap{min-height:90px;gap:24px;padding:0}header a.brand{width:258px;height:68px;mix-blend-mode:multiply}header .brand img.service-logo{width:258px}header nav{gap:26px}header nav a{font-size:.8rem;font-weight:700}header nav a:not(.button){text-decoration:none;text-underline-offset:7px}header nav a:not(.button):hover{text-decoration:underline}.button,.button.black{border:1px solid var(--red);border-radius:4px;background:var(--red);color:#fff;box-shadow:none;padding:17px 25px;min-height:52px;font-size:.94rem;line-height:1.5;transition:transform .2s,background .2s;display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none}.button::after{content:"↗";font-size:1.2em;font-weight:400}.button:hover{transform:translateY(-2px);background:#9e3223;box-shadow:none}.button.outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button.outline:hover{background:#eee9de}.menu-button{border:1px solid var(--rule);background:transparent;color:var(--ink);border-radius:4px;min-width:44px;min-height:44px}.tokyo-link{display:flex;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--rule);font-size:.75rem;padding:12px 24px;gap:24px;justify-content:center}.tokyo-link a{color:var(--ink);text-underline-offset:4px}
.review-home .hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 32px;padding:64px 0 0;margin:0 auto;width:min(1200px,calc(100% - 96px));background:none;min-height:0;border:0}.hero-copy{display:contents}.hero-copy:after,.campaign:before{display:none}.hero .campaign{grid-column:1/-1;grid-row:1;letter-spacing:.16em;color:var(--red);border:0;background:none;padding:0;font-size:.8rem}.review-home .hero-copy h1{grid-column:1/-1;grid-row:2;font-size:clamp(2.9rem,5.5vw,4.7rem);font-weight:800;line-height:1.32;letter-spacing:-.065em;white-space:pre-line;margin:0 0 10px;text-wrap:balance}.hero-copy>p:not(.availability){grid-column:1/7;grid-row:3;margin:0;max-width:530px;color:var(--ink);font-size:1rem;font-weight:500}.hero .price-panel{grid-column:9/-1;grid-row:3;border:0;border-left:1px solid var(--rule);padding:0 0 0 28px;background:none;box-shadow:none;border-radius:0;margin:0}.hero .price-main{gap:8px}.hero .price-main strong{font-family:Arial,sans-serif;font-size:3.1rem;letter-spacing:-.07em;color:var(--red)}.hero .price-main small{width:100%;font-size:.75rem}.hero .price-sub{display:none}.hero-actions{grid-column:1/8;grid-row:4;display:flex;flex-wrap:wrap;gap:12px;margin:0;align-items:start}.hero-copy>.availability{grid-column:9/-1;grid-row:4;font-size:.78rem;color:var(--muted);line-height:1.8;margin:0}.hero .hero-photo{grid-column:1/-1;grid-row:5;position:relative;align-self:auto;height:auto;margin-top:28px;border:0;border-radius:0;background:#e8e0cf;overflow:hidden}.hero-photo img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;border-radius:0}.hero .photo-note{display:block;position:static;font-size:.7rem;text-align:right;color:var(--ink);padding:12px 20px;background:#e8e0cf;border:0;border-radius:0}.trustbar{padding:0;margin:0 auto;width:min(1200px,calc(100% - 96px));background:transparent;border-bottom:1px solid var(--rule)}.trustbar .wrap{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:none;gap:0}.trustbar .trust-item{width:auto;min-height:0;margin:0;padding:28px 10px;border:0!important;border-radius:0;box-shadow:none;text-align:center;display:block;background:none}.trust-item+.trust-item{border-left:1px solid var(--rule)!important}.trust-item strong{font-size:1rem;color:var(--ink);margin-right:14px}.trust-item small{font-size:.75rem;color:var(--muted)}
.scenes{background:none}.scene-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px}.scene-card{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;margin:0}.scene-card:first-child{grid-row:span 2}.scene-card:not(:first-child){display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.scene-card img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}.scene-card figcaption{padding:24px 0 0}.scene-card:not(:first-child) figcaption{padding:0}.scene-card h3{font-size:1.05rem;line-height:1.6;margin:0 0 12px}.scene-card:first-child h3{font-size:1.5rem}.scene-card h3 a{text-decoration:none}.scene-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.scene-card p{font-size:.875rem;color:var(--muted);margin:0}.guide-links{justify-content:flex-start!important;padding:24px 0;gap:16px 28px}.guide-links a{font-size:.85rem;text-underline-offset:6px}.consultation-section{background:#eaece3;border-block:1px solid var(--rule)}.consultations{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.consultation,.consultation:nth-child(n){padding:24px 0 0;border:0;border-top:1px solid #97a397;background:none;border-radius:0;box-shadow:none}.consultation b{font:12px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#476754}.consultation h3{font-size:1.1rem;line-height:1.8;margin:18px 0}.small-note{color:var(--muted);font-size:.8rem;margin-top:32px}.services{background:var(--ink);color:var(--paper);border:0}.services .heading-label{color:#f5bd8f}.services .heading p{color:#d0d6d8!important}.service-list{counter-reset:genres;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.service,.service:nth-child(n){background:none;border:0;border-top:1px solid #51616b;border-radius:0;box-shadow:none;padding:0;overflow:visible}.genre-link{display:block;position:relative;min-height:120px;padding:24px 38px 24px 48px;color:inherit;transition:background .2s,transform .2s}.genre-link:before{counter-increment:genres;content:counter(genres,decimal-leading-zero);position:absolute;left:0;top:27px;color:#f5bd8f;font:12px/1.5 Arial,sans-serif}.genre-link:after{content:"↗";position:absolute;right:10px;top:28px;font-size:1.35rem}.genre-link:hover{background:#263e50;transform:translateY(-2px)}.services .service h3{color:var(--paper);font-size:1.2rem;text-align:left;margin:0 0 8px}.services .service p{color:#c9d1d3;font-size:.8rem;text-align:left;margin:0}.genre-space{display:none}.photo-band{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px}.photo-band figure{display:block;background:none;border:0;margin:0}.photo-band img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:2px}.photo-band figcaption{padding:12px 0;font-size:.75rem;color:#d0d6d8}.services .foot{color:#c9d1d3;font-size:.75rem;border-top:1px solid #51616b;padding-top:20px;margin:24px 0 0}
.pricing{background:none}.decision-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:0;border:1px solid var(--ink);border-radius:0;overflow:hidden}.price-card,.fit-card{background:none;border:0;border-radius:0;box-shadow:none;padding:48px;margin:0}.price-card{border-right:1px dashed var(--rule);background:#fffdf6}.card-kicker{background:none;border:0;color:var(--red);font:11px/1.5 Arial,sans-serif;letter-spacing:.16em;padding:0}.price-card h3,.fit-card h3{font-size:1.1rem;margin:24px 0}.big-price{font-size:clamp(1.25rem,2.3vw,2rem);font-weight:800;color:var(--red);line-height:1.6;letter-spacing:-.045em;margin:0 0 24px}.plain-list li{font-size:.9rem;padding:12px 0 12px 25px;border-bottom:1px solid #deddd3}.plain-list li:before{color:#38675a}.caution{font-size:.78rem;color:var(--muted)}.special{background:#eaece3;border-block:1px solid var(--rule)}.special-inner{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:start}.special-copy>p{max-width:700px;color:var(--muted)}.saving-list{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;counter-reset:saving}.saving,.saving:nth-child(n){background:none;border:0;border-top:1px solid #acb5a6;border-radius:0;box-shadow:none;padding:24px 0;position:relative}.saving:before{position:static;display:block;counter-increment:saving;content:counter(saving,decimal-leading-zero);font:12px/1.5 Arial,sans-serif;color:#38675a;background:none;width:auto;height:auto;border:0;margin:0 0 12px}.saving h3{font-size:1rem;margin:0 0 12px}.saving p{font-size:.85rem;color:var(--muted)}.quality-note{background:none;border:0;border-top:1px solid #acb5a6;border-radius:0;padding:22px 0 0;text-align:left;font-size:.85rem;line-height:1.9;color:var(--ink)}.flow{background:none}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:step}.step{padding:24px 0;border:0;border-top:1px solid var(--rule);border-radius:0;box-shadow:none;background:none}.step:before{position:static;counter-increment:step;content:counter(step,decimal-leading-zero);display:block;font:48px/1 Arial,sans-serif;color:var(--red);background:none;border:0;width:auto;height:auto;margin:0 0 28px}.step:after{display:none}.step h3{font-size:1rem}.step p{font-size:.85rem;color:var(--muted)}.faq-section{background:none;border-top:1px solid var(--rule)}.faq{max-width:1200px}.faq details,.magic-section details{background:none;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:none;padding:0;margin:0}.faq summary,.magic-section summary{padding:25px 42px 25px 0;color:var(--ink);font-size:1rem;line-height:1.8;cursor:pointer}.faq details p,.magic-section details p{padding:0 40px 28px 0;color:var(--muted);font-size:.95rem}.faq summary:before{display:none}.cta{background:var(--red);color:#fff9ed;padding:90px 0;border:0}.cta-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}.cta h2{font-size:clamp(1.7rem,3vw,3rem);line-height:1.6;color:#fff9ed;letter-spacing:-.04em}.cta p{color:#fff9ed;font-size:.95rem}.request-list{grid-template-columns:1fr 1fr;gap:0 20px}.request-list li{background:none;border:0;border-bottom:1px solid #df8a78;color:#fff9ed;font-size:.8rem;padding:10px 0}.request-list li:before{display:none}.cta-card{padding:0;background:none;border:0;box-shadow:none;color:#fff9ed;text-align:left}.cta-card strong{font-size:1.2rem}.cta-card small,.cta-card em{color:#fff9ed;font-size:.8rem}.cta-card .button{width:100%;background:var(--paper);border-color:var(--paper);color:var(--red);margin:24px 0 16px;padding:24px}.cta-card .button:hover{background:#eae4d7}footer,.magic-footer{background:var(--paper);color:var(--ink);border:0;padding:60px 0 30px}.footer-inner{align-items:start;gap:40px}.footer-brand{font-size:1.35rem;font-weight:800;letter-spacing:-.03em}.footer-inner p{font-size:.8rem;color:var(--muted);max-width:460px}.operator-info{border-top:1px solid var(--rule);color:var(--muted);padding-top:28px;margin-top:28px;font-size:.8rem}.operator-info dl{font-size:.8rem}.operator-info dd{margin-left:0}.mobile-cta{background:var(--paper);border-top:1px solid var(--rule);padding:10px 16px}.mobile-cta .button{width:100%;font-size:.85rem;min-height:48px}
/* Shared editorial rhythm for service, guide and form pages. */
.review-detail .magic-hero{background:var(--paper);border-bottom:1px solid var(--rule);padding:64px 0 72px}.reading{max-width:1000px}.breadcrumbs{font-size:.75rem;color:var(--muted);margin-bottom:30px}.review-detail .magic-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.5;letter-spacing:-.045em;max-width:950px}.magic-hero p{color:var(--muted);max-width:750px}.magic-hero .hero-actions{margin-top:32px}.magic-section,.magic-section:nth-of-type(2n+1):not(.magic-contact){background:var(--paper);border-bottom:1px solid var(--rule);padding:64px 0}.magic-section h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.6;letter-spacing:-.03em;margin:0 0 24px}.magic-section p{color:var(--muted)}.magic-grid,.reading .magic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.magic-section .magic-card{background:transparent;border:0;border-top:1px solid var(--rule);border-radius:0;padding:24px 0;box-shadow:none}.magic-card h3{font-size:1.1rem}.magic-card p{font-size:.9rem}.magic-contact,.magic-section.magic-contact{background:var(--ink);color:var(--paper)}.magic-contact p{color:#d0d6d8}.magic-contact .button{background:var(--paper);border-color:var(--paper);color:var(--ink)}.magic-table{border-collapse:collapse;border:1px solid var(--rule)}.magic-table th{background:#eaece3;color:var(--ink)}.magic-table td{background:none}.magic-table td,.magic-table th{padding:20px;border-color:var(--rule);font-size:.9rem}.inquiry-wrap{max-width:900px}.form-progress{padding:0;gap:16px}.form-progress li{background:none;border:0;border-bottom:2px solid var(--rule);border-radius:0;padding:16px 0;color:var(--muted)}.form-progress li[aria-current=step]{background:none;color:var(--red);border-color:var(--red)}.form-fields{gap:28px}.form-fields label,.form-fields legend{font-size:.9rem}.form-fields input:not([type=checkbox]),.form-fields select,.form-fields textarea{background:#fffdf8;border:1px solid #858d87;border-radius:3px;font:inherit;font-size:1rem;color:var(--ink);min-height:48px;padding:12px}.checkbox-grid label{background:none;border:1px solid var(--rule);border-radius:3px;padding:14px;min-height:48px}.checkbox-grid label:has(input:checked){border-color:#38675a;background:#eaece3}.form-fields fieldset{border:0;padding:24px 0;margin:0}.form-actions{margin-top:36px}.email-alternative{border:1px solid var(--rule);background:none;border-radius:0}.required{background:#f1dbd2;color:#8c2719;border-radius:2px}
/* Purposeful choice controls: progressively enhanced, never hides the catalogue. */
.genre-finder{padding:0 0 32px;margin-bottom:12px;border-bottom:1px solid #51616b}.finder-label{display:block;color:#f5bd8f;font-size:.8rem;margin-bottom:16px}.finder-options{display:flex;flex-wrap:wrap;gap:10px}.finder-options button{font:inherit;font-size:.85rem;min-height:44px;padding:10px 18px;background:transparent;color:var(--paper);border:1px solid #83939b;border-radius:3px;cursor:pointer}.finder-options button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.finder-result{max-width:800px;margin-top:20px;font-size:.9rem;line-height:1.9}.finder-result a{color:#f5bd8f;display:inline-block;padding:6px 0;min-height:40px;text-underline-offset:6px}.finder-result:empty{display:none}
@media(min-width:1001px){.scene-card:first-child img{margin-bottom:4px}.scene-card:not(:first-child){padding-top:12px;border-top:1px solid var(--rule)}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}header nav{gap:14px}header a.brand,header .brand img.service-logo{width:210px}.review-home .hero,.trustbar{width:calc(100% - 48px)}.review-home .hero{gap:24px}.hero .price-panel,.hero-copy>.availability{grid-column:8/-1}.hero-copy>p:not(.availability){grid-column:1/8}.hero-actions{grid-column:1/8}.heading,.special-inner{grid-template-columns:140px minmax(0,1fr);gap:24px}.scene-grid{gap:24px}.scene-card:not(:first-child){display:block}.scene-card:not(:first-child) figcaption{padding-top:16px}.price-card,.fit-card{padding:32px}.consultations,.steps{grid-template-columns:repeat(2,1fr)}.cta-inner{gap:32px}.review-home .hero-copy h1{font-size:clamp(2.6rem,5.8vw,4rem)}}
@media(max-width:760px){header .wrap{width:calc(100% - 32px);min-height:76px}header a.brand,header .brand img.service-logo{width:236px}header nav{display:none;position:absolute;inset:76px 0 auto;background:var(--paper);padding:20px 24px 28px;border-bottom:1px solid var(--rule);gap:0;max-height:calc(100dvh - 76px);overflow:auto}header nav.open{display:flex;flex-direction:column;align-items:stretch}header nav a{padding:14px 0;min-height:48px}header nav a.button{margin-top:12px;padding:16px}.menu-button{display:block}body.menu-open{overflow:auto}.tokyo-link{padding:12px 24px;font-size:.72rem;gap:6px;flex-wrap:wrap}.tokyo-link>span{display:none}.wrap{width:calc(100% - 40px)}section{padding:64px 0}.review-home .hero{width:calc(100% - 40px);display:flex;flex-direction:column;gap:0;padding-top:40px}.hero-copy{display:contents}.hero .campaign{order:0;font-size:.7rem;margin-bottom:18px}.review-home .hero-copy h1{order:1;font-size:clamp(1.6rem,6.4vw,2.8rem);line-height:1.5;margin:0 0 22px;letter-spacing:-.065em;text-wrap:initial}.hero-copy>p:not(.availability){order:2;font-size:.9rem;max-width:none;margin:0 0 24px}.hero .price-panel{order:3;padding:16px 0;margin:0 0 24px;border:0;border-block:1px solid var(--rule)}.hero .price-main{align-items:baseline;gap:12px}.hero .price-main strong{font-size:2.25rem}.hero .price-main small{width:auto;font-size:.72rem}.hero .hero-actions{order:4;display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:24px}.hero-actions .button{width:100%;font-size:.85rem}.hero-copy>.availability{order:6;margin:16px 0 24px;font-size:.75rem;line-height:1.9}.hero .hero-photo{order:5;margin:0 -20px;border-radius:0}.hero .photo-note{font-size:.65rem;padding:10px 20px;text-align:left}.trustbar{width:calc(100% - 40px)}.trustbar .trust-item{padding:20px 8px}.trustbar .trust-item strong,.trustbar .trust-item small{display:block;margin:0}.trust-item strong{font-size:.85rem}.trust-item small{font-size:.65rem;margin-top:6px!important}.heading,.special-inner{display:block;margin-bottom:28px}.heading-label{padding:0;margin:0 0 18px;font-size:.72rem}.heading h2,.special-copy h2{font-size:1.6rem;line-height:1.6;letter-spacing:-.04em;margin-bottom:16px}.heading p{font-size:.875rem}.scene-grid{display:block}.scene-card{margin-bottom:32px}.scene-card:first-child h3{font-size:1.2rem}.scene-card:not(:first-child){display:block;border-top:1px solid var(--rule);padding-top:28px}.scene-card figcaption{padding-top:18px}.scene-card p{font-size:.85rem}.guide-links{gap:18px}.guide-links a{font-size:.8rem;line-height:1.7}.consultations{gap:20px}.consultation h3{font-size:.9rem}.consultation b{font-size:10px}.small-note{font-size:.78rem}.service-list{grid-template-columns:1fr}.genre-link{min-height:100px;padding:22px 30px 22px 34px}.services .service h3{font-size:1.05rem}.services .service p{font-size:.75rem}.photo-band{gap:28px;grid-template-columns:1fr}.services .foot{line-height:2}.decision-grid{display:block}.price-card,.fit-card{padding:28px 24px}.price-card{border:0;border-bottom:1px dashed var(--rule)}.big-price{font-size:1.3rem}.plain-list li{font-size:.85rem}.saving-list{gap:16px 24px}.saving h3{font-size:.95rem}.saving p{font-size:.8rem}.steps{gap:24px}.step:before{font-size:36px}.step p{font-size:.8rem}.step h3{font-size:.95rem}.faq summary,.magic-section summary{font-size:.9rem;padding-block:22px}.faq details p,.magic-section details p{font-size:.875rem;padding-right:0}.cta-inner{display:block}.cta h2{font-size:1.75rem}.cta-card{margin-top:36px}.cta-card strong{font-size:1rem}.cta-card .button{padding:20px}.footer-inner{display:block}.footer-brand{font-size:1.2rem}.footer-inner p{margin-top:18px}.operator-info dl{display:block}.operator-info dl>div{margin-top:12px}.operator-info dt{font-weight:700}.operator-info dd{margin:4px 0}.magic-hero .reading{width:calc(100% - 40px)}.review-detail .magic-hero{padding:36px 0 42px}.review-detail .magic-hero h1{font-size:1.9rem}.breadcrumbs{font-size:.7rem;margin-bottom:24px}.magic-hero p{font-size:.9rem}.magic-section,.magic-section:nth-of-type(2n+1):not(.magic-contact){padding:44px 0}.magic-section h2{font-size:1.4rem}.magic-section p{font-size:.9rem}.magic-grid,.reading .magic-grid{grid-template-columns:1fr;gap:8px}.magic-table td,.magic-table th{padding:14px 9px;font-size:.8rem}.form-fields{grid-template-columns:1fr}.checkbox-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:1fr}.form-progress li{font-size:.8rem}.finder-options{gap:8px}.finder-options button{font-size:.8rem;padding:9px 12px}.finder-result{font-size:.85rem}.mobile-cta{display:block}body{padding-bottom:74px}}
@media(max-width:360px){header a.brand,header .brand img.service-logo{width:210px}.review-home .hero-copy h1{font-size:1.45rem}.hero .price-main small{font-size:.65rem}.consultations,.saving-list{grid-template-columns:1fr}.request-list{grid-template-columns:1fr}.wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
/* Avoid double increment inherited from the previous component styles. */
.saving,.step{counter-increment:none}
