/* Guide pages read as long-form articles on paper, sharing the FAQ header, intro band and footer. */
.guide-page{--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif}
.guide-intro h1{font-size:clamp(21px,2.4vw,28px);line-height:1.75;letter-spacing:.14em;margin-top:18px}
.guide-intro .section-title{font-size:clamp(34px,4vw,48px)}
.guide-breadcrumb{width:min(86%,820px);margin:26px auto 0;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.guide-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}
.guide-breadcrumb li+li:before{content:"›";margin-right:8px}
.guide-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.guide-article{width:min(86%,820px);margin:0 auto;padding:56px 0 110px;font-size:15px;line-height:2.1;letter-spacing:.06em}
.guide-article section+section{margin-top:76px}
.guide-article h2{font-size:21px;line-height:1.7;letter-spacing:.1em;color:var(--forest);padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:26px}
.guide-article h3{font-size:16px;letter-spacing:.08em;color:var(--forest);margin:32px 0 8px}
.guide-article p+p{margin-top:1em}
.guide-article a{text-decoration:underline;text-underline-offset:5px}
.guide-article .guide-table-wrap+p,.guide-article .guide-list+p{margin-top:22px}
.guide-note{font-size:12.5px;line-height:2;letter-spacing:.04em;color:var(--muted);margin-top:16px!important}
.guide-list{margin:0;padding-left:1.3em}
.guide-list li+li{margin-top:.45em}
.guide-list li::marker{color:var(--moss)}
.guide-list--tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.guide-list--tags li{margin:0!important;border:1px solid var(--line);padding:5px 14px;font-size:13px;background:var(--wash)}
.guide-table-wrap{overflow-x:auto;margin-top:26px}
.guide-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.85;letter-spacing:.04em}
.guide-table th,.guide-table td{text-align:left;vertical-align:top;padding:15px 12px;border-bottom:1px solid var(--line);font-weight:400}
.guide-table thead th{font-size:12px;color:var(--muted);border-bottom-color:var(--forest);padding-block:10px}
.guide-table tbody th{color:var(--forest);min-width:8.5em}
.guide-table .guide-price{text-align:right;white-space:nowrap}
.guide-compare thead th:not(:first-child),.guide-compare td{text-align:center}
.guide-compare td.guide-price{text-align:center;font-size:18px;color:var(--forest)}
.guide-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0 0}
.guide-photos--single{grid-template-columns:min(100%,400px);justify-content:center}
.guide-photos img{aspect-ratio:3/4;object-fit:cover}
.guide-photos figcaption{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:8px}
/* Guide cards: homepage, FAQ and each guide's related links. */
.guide-related,.guide-home{padding:95px 0 105px}
.guide-home{border-top:1px solid var(--line)}
.guide-related .center-heading,.guide-home .center-heading{margin-bottom:46px}
.guide-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.guide-related .guide-cards{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-inline:auto}
.guide-card{display:block;transition:opacity .3s}
.guide-card img{aspect-ratio:4/5;object-fit:cover}
.guide-card strong{display:block;font-weight:400;font-size:15px;letter-spacing:.1em;margin-top:16px;color:var(--forest)}
.guide-card strong:after{content:" →";font-family:var(--sans);font-size:13px}
.guide-card span{display:block;font-size:12px;line-height:1.8;letter-spacing:.05em;color:var(--muted);margin-top:4px}
.guide-card:hover{opacity:.82}
.guide-related .outline-button,.guide-home .outline-button{margin-top:46px}
.plan-intro .section-subtitle{font-size:14px;line-height:1.6;letter-spacing:.2em;margin-top:8px}
.footer-guides{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin-top:20px;font-size:12px;letter-spacing:.08em;color:#d0d8bb}
.footer-guides a{text-underline-offset:5px}
.footer-guides a:hover{text-decoration:underline}
@media(max-width:1000px){.guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .guide-intro h1{font-size:19px;letter-spacing:.1em}
  .guide-article{width:88%;padding:40px 0 80px;font-size:14px;line-height:2;letter-spacing:.04em}
  .guide-article section+section{margin-top:58px}
  .guide-article h2{font-size:18px;letter-spacing:.06em;padding-bottom:12px;margin-bottom:20px}
  .guide-table{font-size:13px;letter-spacing:.02em}
  .guide-table th,.guide-table td{padding:12px 6px}
  .guide-table tbody th{min-width:6.5em}
  .guide-compare td.guide-price{font-size:16px}
  /* Three-column rows stack on phones: name and price, then the description. */
  .guide-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .guide-table--stack tr{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:14px 4px;border-bottom:1px solid var(--line)}
  .guide-table--stack th,.guide-table--stack td{border:0;padding:0}
  .guide-table--stack td:not(.guide-price){grid-row:2;grid-column:1/-1;color:var(--muted);font-size:12.5px}
  .guide-photos{gap:10px}
  .guide-related,.guide-home{padding:70px 0 75px}
  .guide-related .guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide-cards{gap:22px 12px}
  .guide-card strong{font-size:13px;letter-spacing:.02em;margin-top:12px}
  .guide-card strong:after{content:none}
  .guide-card span{font-size:11px}
}
