/* Dedicated collection edition. Original PHP, forms and application logic remain authored. */
body.quality-edition{--brand:#206f75;--accent:#206f75;--ink:#183b39;--bg:#f5f9f7;--surface:#fff;--surface-2:#edf1f2;--muted:#4e626b;background:#f5f9f7;color:#183b39;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
.quality-edition .navbar{background:#f5f9f7!important;color:#183b39!important;border-bottom:1px solid #7c8b8e30!important;box-shadow:none!important}
.quality-edition .navbar .nav-brand,.quality-edition .navbar a{color:#183b39!important}
.quality-edition .edition-cover{position:relative;isolation:isolate;display:flex;align-items:center;min-height:610px;max-width:none;width:100%;margin:0;padding:70px max(5vw,24px);overflow:hidden;text-align:left;background:#edf0ed;color:#183b39}
.quality-edition .edition-cover-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;border-radius:0;animation:edition-drift 16s ease-in-out infinite alternate}
.quality-edition .edition-cover-shade{position:absolute;inset:0;z-index:-2;pointer-events:none}
.quality-edition .edition-cover>.container{width:100%;max-width:1280px;padding:0;margin:auto}
.quality-edition .edition-cover>:not(.edition-cover-image,.edition-cover-shade){position:relative;z-index:1}
.quality-edition .edition-cover h1{max-width:850px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:64px!important;font-weight:500;line-height:1.35!important;letter-spacing:.01em;text-wrap:balance;color:#183b39!important;margin:18px 0 24px;text-shadow:none!important}
.quality-edition .edition-cover p{max-width:640px;color:#183b39!important;font-size:16px;line-height:2}
.quality-edition .edition-cover .eyebrow{color:#183b39!important;background:transparent!important;font-size:11px;letter-spacing:.22em;padding:0!important}
.quality-edition .edition-cover .btn{display:inline-flex;align-items:center;gap:16px;min-height:52px;padding:12px 26px;background:#183b39!important;color:#fff!important;border:1px solid #183b39!important;border-radius:4px;box-shadow:none;transition:transform .25s,box-shadow .25s}
.quality-edition .edition-cover .btn:hover{transform:translateY(-3px);box-shadow:0 9px 24px #0002}
.quality-edition .edition-cover .btn::after{content:"↗";font-size:19px}
.quality-edition main,.quality-edition .container{max-width:1280px}
.quality-edition main>section,.quality-edition main>.container>section{padding-block:64px}
.quality-edition h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:32px;line-height:1.5;font-weight:500;letter-spacing:.02em}
.quality-edition h3{line-height:1.6}
.quality-edition .card{border-radius:6px;border:1px solid #83959832;box-shadow:0 9px 32px #15333b08;overflow:hidden;transition:transform .3s,box-shadow .3s}
.quality-edition .card:has(.card-img):hover{transform:translateY(-5px);box-shadow:0 17px 40px #15333b14}
.quality-edition .card-img{aspect-ratio:4/3;object-fit:cover;max-height:340px}
.quality-edition .btn{border-radius:4px}
.quality-edition :where(input,select,textarea){border-radius:5px}
.quality-edition .eyebrow{font-size:11px;letter-spacing:.2em}
.quality-edition .site-footer{padding:55px 24px}
.quality-edition[data-compact] .edition-cover{min-height:340px;padding-block:42px}
.quality-edition[data-compact] .edition-cover h1{font-size:44px!important;margin:8px 0 14px}
.quality-edition[data-compact] .edition-cover p{font-size:14px;margin-block:10px}
@keyframes edition-drift{from{transform:scale(1)}to{transform:scale(1.045)}}
@media(min-width:1600px){.quality-edition .edition-cover{min-height:670px}}
@media(max-width:800px){.quality-edition .edition-cover{min-height:530px;padding:48px 24px}.quality-edition .edition-cover h1{font-size:42px!important;max-width:620px}.quality-edition .edition-cover p{font-size:15px;max-width:530px}.quality-edition h2{font-size:27px}.quality-edition main>section,.quality-edition main>.container>section{padding-block:42px}.quality-edition[data-compact] .edition-cover h1{font-size:34px!important}}
@media(max-width:480px){.quality-edition .edition-cover{min-height:510px;padding:38px 22px}.quality-edition .edition-cover h1{font-size:34px!important;line-height:1.5!important;margin:14px 0 20px}.quality-edition .edition-cover p{font-size:14px}.quality-edition .edition-cover-image{object-position:62% center}.quality-edition[data-compact] .edition-cover{min-height:400px}.quality-edition[data-compact] .edition-cover h1{font-size:31px!important}.quality-edition .edition-cover .btn{font-size:14px;padding:11px 18px}}

.quality-edition .edition-cover-shade{background:linear-gradient(90deg,rgba(247,249,246,.95),rgba(247,249,246,.83) 43%,rgba(247,249,246,.06))}

/* AIB experience: opt-in details, never hide content or override art direction. */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid currentColor;outline-offset:4px}
.aib-motion-toggle{position:fixed;bottom:16px;left:16px;z-index:900;border:1px solid #ffffff70;border-radius:100px;background:#121820;color:#fff;font:500 12px/1.2 system-ui,sans-serif;padding:11px 15px;box-shadow:0 4px 18px #0002;cursor:pointer}
[data-aib-shine]{position:relative;isolation:isolate;overflow:hidden}
[data-aib-shine]::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#fff3,transparent 70%);transform:translateX(-150%);transition:transform .7s}
[data-aib-shine]:hover::after{transform:translateX(150%)}
html.aib-motion-paused *,html.aib-motion-paused *::before,html.aib-motion-paused *::after{animation-play-state:paused!important;transition-duration:0s!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:0s!important;scroll-behavior:auto!important}}
@media(max-width:600px){.aib-motion-toggle{bottom:10px;left:10px;padding:10px 12px}}

/* The legacy contrast helper must not infer a solid background under photographic layers. */
.quality-edition .edition-cover{background-image:linear-gradient(transparent,transparent)}
.quality-edition .edition-cover>.container{width:100%!important;max-width:1280px!important;padding:0!important;margin-inline:auto!important}
.quality-edition .edition-cover .btn::after{content:none}
.quality-edition .steps>div:has(.step-number)::before,.quality-edition .steps>div:has(.step-num)::before{content:none}
@media(max-width:480px){.quality-edition .edition-cover-image{object-position:78% center}}

/* Preserve readable horizontal cards against the legacy generic grid override. */
html body.quality-edition .hscroll{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:20px!important;align-items:stretch;scroll-snap-type:x mandatory}
html body.quality-edition .hscroll>.card{flex:0 0 min(360px,calc(100% - 8px))!important;width:auto!important;min-width:0!important;max-width:none!important;scroll-snap-align:start;box-sizing:border-box}
