/* Film Price Book v14 — a quiet, precise price reference. */
:root{
  color-scheme:light;
  --bg:#f4f5f1;--surface:#fff;--fg:#172826;--fg-2:#495753;--muted:#69756f;
  --line:#dfe5df;--rule:#b7c3ba;--soft:#edf1ec;--accent:#225849;--accent-ink:#fff;
  --in:#225849;--out:#737a75;
  --font-body:"Helvetica Neue",Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  --font-num:"Helvetica Neue",Arial,sans-serif;
  --font-display:"Helvetica Neue",Arial,"Hiragino Sans","Noto Sans JP",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}
button,input{font:inherit;color:inherit}button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3}img,svg{max-width:100%}
.wrap{max-width:1160px;margin:auto;padding-inline:max(32px,env(safe-area-inset-left,0px)) max(32px,env(safe-area-inset-right,0px));padding-bottom:44px}
.num,.price{font-family:var(--font-num);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}
.site{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;padding:30px 0 25px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:13px;justify-self:start;min-width:0}.brand:hover{text-decoration:none}
.brand-symbol{position:relative;display:inline-block;flex:none;width:30px;height:34px;color:var(--accent)}

.brand-symbol svg{display:block;width:100%;height:100%}
.brand-name{display:flex;flex-direction:column;gap:3px}.brand-name strong{font-size:19px;font-weight:700;letter-spacing:.06em;line-height:1.2;white-space:nowrap}.brand-name>span{font-size:10px;letter-spacing:.11em;line-height:1.4;color:var(--muted)}
.language-switch{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;padding:3px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.language-switch a{padding:6px 10px;line-height:1.4;border-radius:2px;color:var(--muted)}.language-switch a[aria-current="page"]{background:var(--soft);color:var(--fg);font-weight:600;text-decoration:none}
.meta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;font-size:12px;color:var(--muted);line-height:1.6}.meta:empty{display:none}.meta .pr{color:var(--fg-2)}
.scope-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 8px 1px 0;background:var(--accent)}
.preview-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px}.sample{border:1px solid var(--rule);padding:1px 7px;font-size:11px;background:var(--surface)}
.format-nav{display:flex;align-items:center;gap:32px;padding:0;border-bottom:1px solid var(--line);font-size:13px;font-weight:500;color:var(--muted);overflow:auto;scrollbar-width:none;white-space:nowrap}.format-nav::-webkit-scrollbar{display:none}
.format-nav a{position:relative;padding:18px 0;flex:none}.format-nav a:hover{text-decoration:none;color:var(--fg)}.format-nav a[aria-current="page"]{color:var(--accent);font-weight:700}.format-nav a[aria-current="page"]::after{content:"";height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;right:0}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;align-items:end;padding:64px 0 49px}
.eyebrow{font-family:var(--font-num);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--accent);margin-bottom:17px}
.intro h1{font-weight:650;font-size:clamp(32px,4.2vw,49px);letter-spacing:-.055em;line-height:1.35;text-wrap:balance}
html[lang="en"] .intro h1{font-size:clamp(36px,4.6vw,56px);letter-spacing:-.055em;line-height:1.06}
.lead{font-size:14px;line-height:1.9;color:var(--fg-2);margin-top:19px;max-width:53ch}.intro-meta{display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:19px}
.intro-note{align-self:end;border-left:1px solid var(--rule);padding:3px 0 3px 25px;margin-bottom:3px;color:var(--fg-2);font-size:13px;line-height:1.9}.intro-note .number,.intro-note .intro-number,.intro-note-index{display:block;color:var(--accent);font-family:var(--font-num);font-size:12px;letter-spacing:.12em;margin-bottom:10px}.intro-note strong,.intro-note h2{display:block;font-size:15px;font-weight:600;color:var(--fg);margin-bottom:9px}.intro-note p+p{margin-top:10px}.intro-note>a{display:inline-block;font-size:12px;font-weight:600;color:var(--accent);margin-top:13px}.intro-note-index>span{color:var(--rule);margin-inline:7px}
.section{margin-top:0}.board-heading,.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px 24px;flex-wrap:wrap;padding-bottom:20px}
.board-heading h2,.section-head h2{font-size:20px;font-weight:650;letter-spacing:-.025em}.count{font-size:12px;color:var(--muted)}.divider{display:inline-block;margin:0 9px;color:var(--rule)}
.filter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.search{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:13px 16px;flex:1;max-width:540px;color:var(--muted)}.search:focus-within{border-color:var(--accent);outline:1px solid var(--accent)}
.search svg{flex:none}.search input{border:0;background:none;font-size:14px;width:100%;min-width:0;outline:0}.search input::placeholder{color:var(--muted)}
.tabs{display:flex;gap:5px;flex:none;padding:4px;background:#e8ede6;border-radius:4px}.tabs button{background:none;border:0;border-radius:2px;padding:8px 15px;font-size:12px;color:var(--muted);line-height:1.4}.tabs button[aria-pressed="true"]{background:var(--surface);color:var(--fg);font-weight:600}
.table-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding:12px 25px;border-bottom:1px solid var(--line);letter-spacing:.04em}
.group{background:var(--surface);margin-top:20px;border:1px solid var(--line);border-radius:4px;overflow:hidden}.group-head{display:flex;gap:14px;align-items:baseline;padding:18px 25px;background:#f9faf7;border-bottom:1px solid var(--line)}
.group-head h3{font-size:16px;font-weight:650;letter-spacing:-.01em}.group-head .sub{font-size:12px;color:var(--muted)}.group-unit{margin-left:auto;color:var(--muted);font-size:11px}
.current-row{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(210px,300px);gap:21px;align-items:center;padding:24px 25px;border-bottom:1px solid var(--line);min-width:0;transition:background-color .15s}.current-row:last-child{border-bottom:0}.current-row:hover{background:#fbfcfa}
.format-badge{align-self:center;justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:26px;border:1px solid var(--line);border-radius:2px;padding:3px 6px;color:var(--fg-2);font-family:var(--font-num);font-size:11px;font-weight:500;white-space:nowrap}
.name{min-width:0}.brand-small{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.name .t{font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.25}.name .t a:hover{color:var(--accent);text-decoration:none}.row-arrow{font-size:15px;color:var(--accent);margin-left:9px;vertical-align:1px;opacity:0;transition:opacity .15s}.current-row:hover .row-arrow{opacity:1}.name .spec{color:var(--muted);font-size:12px;margin-top:7px;line-height:1.5}
.p{min-width:0;text-align:right}.price-line{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:2px 5px}.p .price{font-size:30px;font-weight:600;letter-spacing:-1.2px;line-height:1.05}.unit{color:var(--muted);font-size:12px;white-space:nowrap}.pack-detail{font-size:12px;color:var(--fg-2);margin-top:6px}.retailer-link{display:block;font-size:12px;color:var(--fg-2);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.retailer-link span{color:var(--accent)}.checked{font-family:var(--font-num);color:var(--muted);font-size:11px;line-height:1.5;margin-top:4px;font-variant-numeric:tabular-nums}
.compare-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:11px;font-size:12px;font-weight:600;color:var(--accent)}.compare-link:hover{color:var(--fg)}.compare-link span{font-size:15px}
.none{font-weight:500;color:var(--muted);font-size:15px;line-height:1.7}.p .none{font-size:13px;max-width:27ch;margin-left:auto}
.comparison-notes{margin-top:22px;font-size:12px;line-height:1.85;color:var(--muted);max-width:88ch}.comparison-notes p+p{margin-top:5px}.note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px}.quiet{padding:18px 20px;color:var(--muted);font-size:13px;border:1px solid var(--line);border-radius:3px;background:var(--surface);margin-top:18px}.expiry-message{border-color:var(--rule)}
.crumb{display:flex;gap:12px;color:var(--muted);font-size:12px;padding:27px 0 0;flex-wrap:wrap}.crumb span{color:var(--rule)}
.product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);column-gap:68px;row-gap:31px;padding:44px 0 48px;border-bottom:1px solid var(--line)}
.product-heading{min-width:0}.product-brand{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}.product-heading h1{font-size:clamp(39px,5vw,62px);letter-spacing:-.055em;font-weight:600;line-height:1.03;overflow-wrap:anywhere}.product-alias{font-size:14px;color:var(--muted);margin-top:13px}.product-spec{display:flex;flex-wrap:wrap;gap:7px 13px;font-size:12px;color:var(--fg-2);margin-top:23px}.product-spec span+span{border-left:1px solid var(--rule);padding-left:13px}
.purchase-panel{grid-column:2;grid-row:1/3;align-self:start;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;padding:26px;min-width:0}.purchase-label{font-size:12px;color:var(--fg-2);line-height:1.7}.purchase-price{display:flex;align-items:baseline;gap:9px;margin-top:14px;line-height:1.1;flex-wrap:wrap}.purchase-price .price{font-size:54px;font-weight:600;letter-spacing:-2.5px}.purchase-price .unit{font-size:13px}.purchase-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;color:var(--fg-2);font-size:12px}.purchase-total b{font-family:var(--font-num);font-weight:600;font-size:14px}.purchase-store{font-size:13px;margin-top:18px;color:var(--fg-2);overflow-wrap:anywhere}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:3px;padding:15px 19px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none}.btn:hover{background:#163f34;border-color:#163f34;color:var(--accent-ink);text-decoration:none}.purchase-button{display:flex;justify-content:space-between;margin-top:14px;width:100%}.purchase-button span{font-size:19px;line-height:1}.purchase-checked{font-size:11px;line-height:1.6;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:14px}.price-conditions{font-size:11px;color:var(--muted);margin-top:6px}.purchase-state{padding:6px 0 16px}.purchase-state .none{font-size:21px;color:var(--fg-2)}
.product-story{grid-column:1;min-width:0;align-self:start}.product-story h2{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:11px}.product-story p{font-size:14px;color:var(--fg-2);line-height:1.95;max-width:56ch}.film-kind{display:inline-block;margin-top:17px;border:1px solid var(--line);border-radius:2px;padding:3px 8px;font-size:11px;color:var(--muted)}
.panel{margin-top:37px}.section-head{padding-bottom:18px}.offer-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:3px;overflow:hidden}.offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 34px;padding:24px 26px;border-bottom:1px solid var(--line)}.offer:last-child{border-bottom:0}.offer-name{display:flex;align-items:baseline;gap:12px;min-width:0;grid-column:1;grid-row:1}.offer-name h3{font-size:14px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.stock{font-size:11px;flex:none;white-space:nowrap}.stock::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}.stock.ok{color:var(--in)}.stock.ng{color:var(--out)}.offer-price{text-align:right;grid-column:2;grid-row:1/3;white-space:nowrap}.offer-price .price{font-size:28px;letter-spacing:-1px;font-weight:600}.offer-price .unit{margin-left:5px}.offer-pack{grid-column:1;font-size:12px;color:var(--muted)}.offer-pack b{font-family:var(--font-num);font-weight:500;color:var(--fg-2)}.offer-checked{grid-column:1;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.offer-action{grid-column:2;grid-row:3;font-size:12px;text-align:right;color:var(--accent);font-weight:600}.offer-action span{margin-left:6px}.out .offer-price{color:var(--muted)}
.related{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:2px}.related a{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:18px 21px;min-width:240px;flex:1}.related a:hover{text-decoration:none;border-color:var(--rule)}.related strong{font-weight:600;color:var(--fg);font-size:14px}.related strong>span{float:right;color:var(--accent)}
.hero.fmt{padding:46px 0 24px}.hero.fmt h1{font-size:36px;font-weight:600;letter-spacing:-.04em}.info-copy{max-width:740px}.info-copy h2{font-size:18px;font-weight:600;margin-top:35px}.info-copy p{font-size:14px;line-height:2;color:var(--fg-2);margin-top:15px}.info-copy a{text-decoration:underline;text-underline-offset:3px}
footer{margin-top:65px;padding-top:27px;border-top:1px solid var(--rule);font-size:11px;line-height:1.85;color:var(--muted);display:flex;flex-direction:column;gap:9px}.footer-name{font-size:18px;font-weight:600;letter-spacing:-.025em;color:var(--fg);margin-bottom:9px}.footer-name span{display:inline-block;font-size:11px;font-weight:400;letter-spacing:.03em;margin-left:13px;color:var(--muted)}
.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}
@media(max-width:900px){
  .intro{grid-template-columns:minmax(0,1fr) 230px;gap:32px;padding-top:47px}.intro h1{font-size:38px}.intro-note{padding-left:20px;font-size:12px}
  .current-row{grid-template-columns:42px minmax(0,1fr) minmax(190px,39%);gap:15px}.product-hero{gap:30px;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.purchase-panel{padding:23px}.purchase-price .price{font-size:47px}
}
@media(max-width:640px){
  .wrap{padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));padding-bottom:30px}
  .site{padding:23px 0 20px;gap:14px 13px}.brand{gap:10px}.brand-symbol{width:25px;height:29px}.brand-name strong{font-size:17px;letter-spacing:.04em}.brand-name>span{font-size:9px}.language-switch{font-size:11px;padding:2px}.language-switch a{padding:6px 7px}.meta{font-size:11px;gap:4px 12px}.format-nav{gap:24px;font-size:12px;margin-right:-20px;padding-right:20px}.format-nav a{padding:15px 0}
  .intro{display:block;padding:36px 0 32px}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:14px}.intro h1{font-size:34px;letter-spacing:-.06em;line-height:1.4}.intro h1 br{display:block}html[lang="en"] .intro h1{font-size:42px;line-height:1.08}.lead{font-size:13px;line-height:1.9;margin-top:15px;max-width:40ch}.intro-meta{font-size:11px;margin-top:16px}.intro-note{display:none}
  .board-heading,.section-head{padding-bottom:15px;gap:7px 12px}.board-heading h2,.section-head h2{font-size:18px}.count{font-size:11px}.divider{margin:0 6px}
  .filter{display:block;margin-bottom:19px}.search{padding:13px;gap:10px;max-width:none}.search input{font-size:14px}.search svg{width:17px;height:17px}.tabs{display:inline-flex;margin-top:13px;padding:3px}.tabs button{font-size:11px;padding:7px 16px}.table-heading{display:none}
  .group{margin-top:19px}.group-head{padding:16px 18px;gap:9px;flex-wrap:wrap}.group-head h3{font-size:15px}.group-head .sub{font-size:11px}.group-unit{font-size:10px}
  .current-row{display:block;padding:21px 18px 19px}.format-badge{position:absolute;right:18px;top:23px;min-width:42px;font-size:10px;min-height:23px;padding:2px 5px}.name{padding-right:53px}.brand-small{font-size:10px;letter-spacing:.08em;margin-bottom:4px}.name .t{font-size:21px}.name .spec{font-size:11px;line-height:1.6;margin-top:6px}.row-arrow{display:none}
  .p{text-align:left;margin-top:17px}.p>div[data-live-price]:not(.none){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40%);gap:0 16px;align-items:start}.price-line{justify-content:flex-start;grid-column:1;grid-row:1;gap:4px}.p .price{font-size:30px;letter-spacing:-1.2px}.unit{font-size:11px}.pack-detail{grid-column:1;grid-row:2;font-size:11px;line-height:1.7;margin-top:7px}.retailer-link{grid-column:2;grid-row:1/3;align-self:center;font-size:11px;line-height:1.7;margin-top:0;white-space:normal;overflow-wrap:anywhere;text-align:right}.checked{grid-column:1/-1;font-size:10px;margin-top:10px}.p .none{margin-left:0;max-width:none;font-size:12px}.compare-link{font-size:11px;margin-top:9px}
  .comparison-notes{font-size:11px;line-height:1.9;margin-top:21px}.quiet{font-size:12px;padding:15px}.note{font-size:12px}.crumb{font-size:11px;padding-top:22px;gap:10px}
  .product-hero{display:block;padding:31px 0 31px}.product-brand{font-size:11px;margin-bottom:11px}.product-heading h1{font-size:47px}.product-alias{font-size:13px;margin-top:12px}.product-spec{font-size:11px;gap:6px 10px;margin-top:19px}.product-spec span+span{padding-left:10px}.purchase-panel{margin-top:28px;padding:23px}.purchase-label{font-size:12px}.purchase-price{margin-top:14px}.purchase-price .price{font-size:51px;letter-spacing:-2px}.purchase-price .unit{font-size:12px}.purchase-total{font-size:12px;margin-top:17px;padding-top:14px}.purchase-store{font-size:12px;margin-top:16px}.purchase-button{margin-top:13px;padding:14px 17px;font-size:13px}.purchase-checked,.price-conditions{font-size:10px}.product-story{margin-top:29px}.product-story h2{font-size:11px}.product-story p{font-size:13px;line-height:1.95}.film-kind{font-size:10px;margin-top:14px}
  .panel{margin-top:29px}.section-head .count{font-size:10px}.offer{padding:20px 18px;column-gap:15px;row-gap:5px}.offer-name{display:block}.stock{font-size:10px}.offer-name h3{font-size:13px;line-height:1.7;margin-top:3px}.offer-price{align-self:start;padding-top:19px}.offer-price .price{font-size:27px}.offer-price .unit{display:block;line-height:1.4;font-size:10px}.offer-pack{font-size:11px;line-height:1.7}.offer-checked{font-size:10px;line-height:1.6}.offer-action{font-size:11px;align-self:end}.related a{font-size:11px;min-width:0;padding:17px 18px}.related strong{font-size:13px}
  .hero.fmt{padding:33px 0 17px}.hero.fmt h1{font-size:29px}.info-copy h2{font-size:17px;margin-top:29px}.info-copy p{font-size:13px;line-height:2}footer{font-size:10px;margin-top:43px;padding-top:24px}.footer-name{font-size:17px}.footer-name span{display:block;font-size:10px;margin:3px 0 0}
}
@media(max-width:360px){.wrap{padding-inline:16px}.brand-name strong{font-size:15px}.brand-symbol{width:23px;height:27px}.brand{gap:8px}.language-switch{font-size:10px}.language-switch a{padding:6px}.intro h1{font-size:30px}html[lang="en"] .intro h1{font-size:37px}.current-row{padding-inline:15px}.format-badge{right:15px}.name .t{font-size:19px}.p .price{font-size:28px}.group-head{padding-inline:15px}.group-head .sub{display:none}.offer{padding-inline:15px;column-gap:10px}.offer-price .price{font-size:25px}.purchase-panel{padding:20px}}
@media(max-width:640px){
  .intro{padding-top:28px;padding-bottom:27px}
  .intro h1{font-size:32px}
  .current-row .compare-link{display:none}
  .current-row .row-arrow{display:inline;font-size:14px;opacity:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.current-row,.row-arrow{transition:none}}
