/* A-108: latest seven Fable screens; owner text and existing fixture rules. */
body.adopted-top,body.adopted-rates{--font-body:system-ui,-apple-system,'Segoe UI','Noto Sans JP',sans-serif;--font-num:'Barlow Semi Condensed',system-ui,-apple-system,'Segoe UI','Noto Sans JP',sans-serif;font-family:var(--font-body)}
body.pc-shell{--top-navy:#243257;--top-bg:#e9ecf3;--top-line:#d5dbe7;--top-ink:#1e2942;--top-blue:#123a7a;--top-muted:#536072}
.pc-status,.rail-shell,.pc-shell .desktop-nav,.pc-parking{display:none}
.adopted-access .pc-parking{display:none}
.page-columns,.page-left,.access-guide-card{display:contents}
.rates-page-heading>.top-icon{display:none}
.adopted-access .access-floor{display:none}
.adopted-access .access-address{border:0;background:none;border-radius:0;padding:0;font-size:15px;line-height:1.6;margin:10px 0 12px}
.copyright{background:#243257;color:#dce3ef;text-align:center;font:10px/1.5 var(--font-body);padding:12px 8px;margin-top:24px}
.adopted-top .copyright{margin-top:20px}
@media(min-width:900px){
 body.adopted-top,body.adopted-rates.pc-shell{padding-bottom:0;background:#e9ecf3;color:#1e2942}
 .pc-shell .site-header{height:64px;background:#243257;border-color:#ffffff08}
 .pc-shell .header-inner{max-width:960px;height:63px;padding:0;gap:36px}
 .pc-shell .brand{font-size:20px;letter-spacing:.03em;color:#fff}
 .pc-shell .language{width:76px;height:40px;flex:none}
 .pc-shell .desktop-nav{display:flex;margin-left:auto;gap:30px;align-items:center}
 .pc-shell .desktop-nav a{color:#e1e8f2;text-decoration:none;font-size:16px;font-weight:500;white-space:nowrap}
 .pc-status{display:block}
 .pc-shell main{max-width:960px;margin:0 auto;padding:0;min-height:0}
 .pc-shell .rates-page-heading{height:72px;padding:0;color:#1e2942}
 .pc-shell .rates-page-heading h1{font-family:var(--font-body);font-size:26px;letter-spacing:normal;line-height:1.3}
 .pc-shell .rates-back{display:none}
 .page-columns{display:grid;grid-template-columns:minmax(0,616px) minmax(0,320px);gap:24px;align-items:start}
 .page-left,.rail-shell{display:block;min-width:0}
 .pc-shell .contact-dock{display:none}
 .pc-shell .top-sidebar{margin:0}
 .adopted-top .top-month .calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
 .adopted-top .top-month .calendar-toolbar h2{font:600 15px/1.4 var(--font-body);white-space:nowrap;color:#1e2942;margin:0}
 .adopted-top .top-month .calendar-toolbar a{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;font:400 24px/1.3 var(--font-body);color:#536072;text-decoration:none;border:0;padding:0 6px}
 .adopted-top .top-store-section .top-map{display:inline-flex;border:1px solid #aab7cc;border-radius:999px;padding:3px 10px;margin-top:10px;font-size:12px;font-weight:500;line-height:1.5;color:#344c77;text-decoration:none}
 .adopted-top .top-store-section .top-phone{font-size:18px;font-weight:600;line-height:1.5;color:#1e2942;margin:0}
 .adopted-top .top-store-section .top-phone-note{font-size:12px;line-height:1.65;color:#536072;margin:6px 0 0}
 .adopted-visit .visit-list section{padding:20px 28px;gap:16px}
 .adopted-visit .visit-list h2{font-size:17px}
 .adopted-visit .visit-list p{font-size:14px}
 .adopted-access .access-info,.adopted-access .access-hours{display:none}
 .adopted-access .access-guide-card{display:block;background:#fff;border:1px solid #d5dbe7;border-radius:16px;overflow:hidden}
 .adopted-access .access-guide-title{font-size:18px;color:#1e2942;margin:0;padding:22px 28px 0}
 .adopted-access .access-photos{border:0;border-radius:0;padding:24px 28px;background:transparent}
 .adopted-access .pc-parking{display:flex;padding:16px 28px}
 .calendar-page-card{background:#fff;border:1px solid #d5dbe7;border-radius:16px;overflow:hidden;padding:20px 22px}
 .adopted-calendar .calendar-page-card>.calendar-card,.adopted-calendar .calendar-page-card>.calendar-hours{border:0;border-radius:0}
 .adopted-calendar .calendar-page-card .calendar-toolbar{padding:0 0 12px;height:52px}
 .adopted-calendar .calendar-page-card .calendar-toolbar h2{font-family:var(--font-body);font-size:24px;letter-spacing:normal}
 .adopted-calendar .calendar-page-card .calendar-grid{padding:0 0 14px;gap:6px}
 .adopted-calendar .calendar-page-card .calendar-day{height:54px}
 .adopted-calendar .calendar-page-card .calendar-legend{padding:14px 0}
 .adopted-calendar .calendar-page-card .calendar-hours{margin:10px 0 0;border-top:1px solid #d5dbe7}
 .adopted-calendar .calendar-page-card .hours-row{padding:10px 0}
 .adopted-calendar .calendar-page-card .calendar-us-note{padding:12px 0 0}
 .copyright{font-size:12px;padding:14px 8px;margin-top:32px}
 .adopted-top .copyright{margin-top:32px}
 html[lang=en] .pc-shell .header-inner{gap:22px}
 html[lang=en] .pc-shell .desktop-nav{gap:20px}
 html[lang=en] .pc-shell .desktop-nav a{font-size:15px}
}
@media(min-width:900px) and (max-width:1007px){
 .pc-shell .header-inner,.pc-shell main,.pc-shell .pc-status .top-band-inner{max-width:calc(100% - 48px)}
 .page-columns{grid-template-columns:minmax(0,1fr) 320px}
 .pc-shell .header-inner{gap:18px}.pc-shell .desktop-nav{gap:18px}.pc-shell .desktop-nav a{font-size:14px}
}
/* A-109: scoped store typography and existing pack breakdown alignment. */
@media(min-width:900px){
 html[lang=ja] .adopted-top .top-store-section dd,
 html[lang=ja] .adopted-top .top-store-section .top-phone{font-family:var(--font-body);font-weight:400}
 html[lang=ja] .adopted-top .top-hours-heading .top-icon{transform:translateY(1px)}
}
.adopted-packs .pack-denomination{display:inline-grid;grid-template-columns:var(--denomination-width,7ch) auto;column-gap:10px;align-items:baseline}
.adopted-packs .pack-denomination-value{text-align:right;font-variant-numeric:tabular-nums}
.adopted-packs .pack-denomination-unit{text-align:left}
.pack-denominations.digits-1{--denomination-width:1ch}
.pack-denominations.digits-2{--denomination-width:2ch}
.pack-denominations.digits-3{--denomination-width:3ch}
.pack-denominations.digits-4{--denomination-width:4ch}
.pack-denominations.digits-5{--denomination-width:5ch}
.pack-denominations.digits-6{--denomination-width:6ch}
.pack-denominations.digits-7{--denomination-width:7ch}

/* Shared weekday and Japanese-holiday colors for the calendar and home mini calendar. */
.adopted-calendar .weekday.saturday,.adopted-calendar .calendar-day.saturday>span,body.adopted-top .weekday.saturday,body.adopted-top .calendar-day.saturday>span{color:#58789f}
.adopted-calendar .weekday.sunday,.adopted-calendar .calendar-day.sunday>span,.adopted-calendar .calendar-day.japanese-holiday>span,body.adopted-top .weekday.sunday,body.adopted-top .calendar-day.sunday>span,body.adopted-top .calendar-day.japanese-holiday>span{color:#a06370}

/* A127: iOS mobile typography, three adopted product screens only.
   Keep platform font families, desktop/Android and the accepted machine-row geometry.
   Roles have separate sizes; shared numeral weight is controlled in one place. */
@supports (-webkit-touch-callout: none) {
 @media screen and (max-width:767px) {
  html:has(>body.adopted-top),
  html:has(>body.adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes)) {
   -webkit-text-size-adjust:100%;text-size-adjust:100%;
  }
  body.adopted-top,body.adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes) {
   --mobile-number-weight:600;--mobile-hero-size:clamp(38px,10.77vw,42px);--mobile-pack-size:clamp(23px,6.41vw,25px);
  }
  .adopted-top .top-rate-value.usd-rate-number,
  .adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes) .usd-rate-number {
   font-weight:var(--mobile-number-weight);
  }
  .adopted-top .top-rate-value.usd-rate-number {font-size:var(--mobile-hero-size);line-height:1.2}
  .adopted-packs .pack-price.usd-rate-number {font-size:var(--mobile-pack-size)}
  html[lang=ja] .adopted-top .band-state,
  html[lang=ja] .adopted-top .top-rate-card h2,
  html[lang=ja] .adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes) .rates-page-heading h1 {font-weight:600}
  html[lang=ja] .adopted-top .top-rate-heading>span,
  html[lang=ja] .adopted-top .primary-nav a,
  html[lang=ja] .adopted-top .contact-dock a,
  html[lang=ja] .adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes) .rates-card-heading h2,
  html[lang=ja] .adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes) .rate-table tbody th,
  html[lang=ja] .adopted-rates:not(.adopted-calendar,.adopted-visit,.adopted-access,.adopted-banknotes) .contact-dock a,
  html[lang=ja] .adopted-packs .pack-row strong,
  html[lang=ja] .adopted-packs .packs-information h2 {font-weight:500}
 }
}
