:root{
  --bg:#F7F4EE; --surface:#FFFFFF; --text:#33322E; --sub:#6E6C64;
  --accent:#5C6E58; --accent-hover:#4A5A47; --accent2:#B08968;
  --footer:#2E2D29; --footer-text:#C9C5BA; --line:#E3DFD5;
  --serif:"Shippori Mincho",serif; --sans:"Zen Kaku Gothic New",sans-serif; --label:"Jost",sans-serif;
  --color-bg:var(--bg); --color-surface:var(--surface); --color-text:var(--text); --color-text-sub:var(--sub);
  --color-accent:var(--accent); --color-accent-2:var(--accent2); --color-line:var(--line);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:0}
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}

/* ── header ── */
.topbar{border-bottom:1px solid var(--line);background:var(--bg)}
.topbar .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.14em}
.brand small{display:block;font-family:var(--label);font-weight:400;font-size:9px;letter-spacing:.3em;color:var(--sub);text-transform:uppercase;margin-top:2px}
nav{display:flex;gap:32px;font-family:var(--label);font-size:12px;letter-spacing:.16em;color:var(--sub)}
nav a{padding:4px 0;border-bottom:1px solid transparent}
nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ── hero ── */
.hero{position:relative}
.hero img{width:100%;height:62vh;min-height:380px;object-fit:cover;filter:saturate(.92)}
.heroTitle{padding-top:72px}
.heroGrid{display:grid;grid-template-columns:56px 1fr;gap:32px;align-items:start}
.vlabel{writing-mode:vertical-rl;font-family:var(--serif);font-size:12px;letter-spacing:.5em;color:var(--accent2);border-right:1px solid var(--line);padding-right:16px;height:180px}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4.4vw,44px);line-height:1.7;letter-spacing:.12em;overflow-wrap:anywhere;word-break:normal;line-break:strict}
.lead{max-width:38em;color:var(--sub);margin-top:28px}
.prnote{margin-top:24px;font-size:11px;color:var(--sub);letter-spacing:.08em}
.dateline{font-family:var(--label);font-size:11px;letter-spacing:.2em;color:var(--sub);margin-top:10px;text-transform:uppercase}
.heroActions{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.heroAction{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-family:var(--label);font-size:12px;letter-spacing:.12em;text-decoration:none}
.heroAction--primary,.heroAction:hover,.heroAction:focus-visible{background:var(--accent);color:#fff}
.heroAction--primary:hover,.heroAction--primary:focus-visible{background:var(--accent-hover);border-color:var(--accent-hover)}
.heroAction:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ── section frame ── */
.section{padding:120px 0 0}
.genre-hero{margin:0 0 40px;width:100%}
.genre-hero img{display:block;width:100%;height:38vh;min-height:240px;max-height:430px;object-fit:cover;border:1px solid var(--line);filter:brightness(.96)}
.eyebrow{display:flex;align-items:center;gap:16px;font-family:var(--label);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent2);margin-bottom:20px}
.eyebrow::after{content:"";flex:0 0 48px;height:1px;background:var(--line)}
h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,32px);letter-spacing:.12em;line-height:1.6;margin-bottom:16px;overflow-wrap:anywhere;word-break:normal;line-break:strict}
.secLead{color:var(--sub);max-width:38em}

/* ── feature article ── */
.feature{margin-top:72px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.feature.rev .fMedia{order:2}
.fMedia{background:var(--surface);border:1px solid var(--line);padding:48px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fMedia img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.fBody .kicker{font-family:var(--label);font-size:11px;letter-spacing:.24em;color:var(--accent2);text-transform:uppercase}
.fBody h3{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:.1em;line-height:1.6;margin:12px 0 20px}
.fBody p{color:var(--sub);max-width:36em}

/* 購入前の確認メモ — signature */
.minutes{margin-top:36px;border:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:52px 1fr}
.minutes .rail{writing-mode:vertical-rl;font-family:var(--serif);font-size:11px;letter-spacing:.42em;color:var(--accent);border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:20px 0}
.minutes .rows{padding:28px 32px}
.minutes .row+.row{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.minutes .who{font-family:var(--label);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent2)}
.minutes .say{margin-top:6px;font-size:14px;line-height:2;color:var(--text)}

/* メーカー公表情報 */
.spec{margin-top:28px;border-top:1px solid var(--line)}
.spec .caption{font-family:var(--label);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent2);padding:14px 0 6px}
.spec dl{display:grid;grid-template-columns:110px 1fr}
.spec dt{font-size:12px;color:var(--sub);padding:10px 0;border-bottom:1px solid var(--line);letter-spacing:.06em}
.spec dd{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}
.spec .src{font-size:10px;color:var(--sub);padding-top:8px}


/* 買い物サポート */
.shopinfo{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.badge{font-family:var(--label);font-size:10px;letter-spacing:.14em;color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:5px 12px;background:transparent}
.badge.soft{color:var(--sub);border-color:var(--line)}
.badge.point{color:var(--accent2);border-color:var(--accent2)}
.asuraku{margin-top:10px;font-size:12px;color:var(--sub)}
.asuraku strong{color:var(--accent);font-weight:500}

.toolbar{margin-top:48px;background:var(--surface);border:1px solid var(--line);padding:24px 28px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.toolbar .tl{font-family:var(--label);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent2);width:100%}
.toolbar select{font-family:var(--sans);font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:10px 14px;letter-spacing:.06em}
.toolbar label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sub);cursor:pointer;user-select:none}
.toolbar input[type=checkbox]{appearance:none;width:16px;height:16px;border:1px solid var(--line);border-radius:2px;background:var(--bg);cursor:pointer;display:grid;place-content:center}
.toolbar input[type=checkbox]::before{content:"";width:8px;height:8px;background:var(--accent);transform:scale(0);transition:transform .12s}
.toolbar input[type=checkbox]:checked::before{transform:scale(1)}
.toolbar input[type=checkbox]:checked+span{color:var(--text)}
.card.hidden{display:none}
.card .meta{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.card .meta .badge{font-size:9px;padding:4px 9px}
.card .delivery{margin-top:8px;font-size:11px;color:var(--sub)}
.card .delivery strong{color:var(--accent);font-weight:500}

.buyrow{margin-top:32px;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.price{font-family:var(--label);font-weight:500;font-size:24px;letter-spacing:.04em}
.rate{font-size:12px;color:var(--sub)}
.note{font-size:11px;color:var(--sub);width:100%}
.cta{display:inline-block;margin-top:14px;background:var(--accent);color:#fff;font-size:13px;letter-spacing:.14em;padding:14px 32px;border-radius:2px;transition:background .2s}
.cta:hover{background:var(--accent-hover)}

/* ── quote band ── */
.band{margin-top:120px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px 0}
.band blockquote{font-family:var(--serif);font-size:clamp(17px,2vw,21px);line-height:2.1;letter-spacing:.1em;max-width:30em;margin:0 auto;text-align:center}
.band cite{display:block;margin-top:20px;text-align:center;font-style:normal;font-family:var(--label);font-size:10px;letter-spacing:.3em;color:var(--accent2);text-transform:uppercase}

/* ── TOC ── */
.toc{margin-top:56px;border-top:1px solid var(--line)}
.toc a{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:baseline;padding:26px 8px;border-bottom:1px solid var(--line);transition:background .2s}
.toc a:hover{background:var(--surface)}
.toc .cat{font-family:var(--label);font-size:10px;letter-spacing:.22em;color:var(--accent2);text-transform:uppercase}
.toc .name{font-family:var(--serif);font-size:18px;letter-spacing:.12em}
.toc .cnt{font-family:var(--label);font-size:12px;color:var(--sub);letter-spacing:.1em}

/* ── standards grid ── */
.grid{margin-top:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.card{background:var(--surface);border:1px solid var(--line);transition:border-color .2s;min-width:0}
.card:hover{border-color:var(--accent)}
.card .ph{padding:28px;border-bottom:1px solid var(--line);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--surface)}
.card .ph img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.card .cb{padding:24px 26px 30px}
.card h4{font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:.08em;line-height:1.7}
.card .judge{margin-top:10px;font-size:13px;line-height:1.9;color:var(--sub)}
.card .p2{margin-top:14px;font-family:var(--label);font-size:17px}
.card .p2 small{font-family:var(--sans);font-size:11px;color:var(--sub);margin-left:8px}

/* ── generated top sections ── */
.sectionBand{padding:120px 0;border-top:1px solid var(--line)}
.sectionBand.bg{background:var(--bg)}
.sectionBand.deep{background:var(--surface)}
.sectionBand .inner{max-width:1120px;margin:0 auto;padding:0 28px}
.sectionHead{display:grid;grid-template-columns:56px minmax(0,1fr);gap:32px;align-items:start;margin-bottom:48px}
.sectionNo{font-family:var(--label);font-size:11px;letter-spacing:.18em;color:var(--accent2);border-top:1px solid var(--line);padding-top:12px}
.microLabel{font-family:var(--label);font-size:11px;letter-spacing:.22em;color:var(--accent2);text-transform:uppercase;margin-bottom:12px}
.sectionHead h1,.sectionHead h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.7;letter-spacing:.12em}
.sectionHead p:last-child{max-width:42em;margin-top:14px;color:var(--sub);font-size:14px;line-height:1.9}
.featureGrid{display:grid;grid-template-columns:1fr;gap:48px;margin-top:44px}
.featureGrid .feature{margin-top:0;display:grid;grid-template-columns:minmax(260px,36%) minmax(0,1fr);gap:44px;align-items:start;background:var(--surface);border:1px solid var(--line);padding:28px;min-width:0}
.featureGrid .feature:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(260px,36%)}
.featureGrid .feature:nth-child(even) .imageLink{order:2}
.featureGrid .imageLink{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:28px;background:#fff;border:1px solid var(--line);overflow:hidden;color:inherit;text-decoration:none;min-width:0}
.featureGrid .imageLink img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.featureGrid .body{min-width:0;max-width:48em}
.featureGrid .itemTitle{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.65;letter-spacing:.1em;color:var(--text);margin:10px 0 0}
.featureGrid .editorNote{font-size:15px;line-height:2;letter-spacing:0;color:var(--sub)}
.featureGrid .quoteBlock{margin:20px 0 0;font-family:var(--sans);font-size:13px;line-height:1.9;letter-spacing:0;color:var(--text);background:rgba(255,255,255,.62)}
.featureGrid .judgment-list{margin-top:20px}
.product-card{background:var(--surface);border:1px solid var(--line);min-width:0;overflow:hidden;transition:border-color .2s}
.product-card:hover{border-color:var(--accent)}
.product-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;padding:28px;background:var(--surface);border-bottom:1px solid var(--line);overflow:hidden;color:inherit;text-decoration:none}
.product-card__image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.product-card__body{padding:24px 26px 28px}
.product-card__label{font-family:var(--label);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent2);margin-bottom:12px}
.product-card__title{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.65;letter-spacing:.08em;color:var(--text)}
.product-card__desc,.editorNote{margin-top:12px;font-size:13px;line-height:1.9;color:var(--sub)}
.product-card__meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--label);font-size:12px;color:var(--text)}
.product-card__tax{display:block;margin-top:8px;font-size:10px;line-height:1.7;color:var(--sub)}
.quoteBlock{margin:24px 0;padding:20px 22px;border:1px solid var(--line);background:rgba(255,255,255,.56);font-family:var(--serif);font-size:15px;line-height:1.9;letter-spacing:.04em;color:var(--text)}
.judgment-list{margin-top:20px;border-top:1px solid var(--line)}
.judgment-list div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.judgment-list dt{font-family:var(--label);font-size:10px;letter-spacing:.16em;color:var(--accent2)}
.judgment-list dd{font-size:12px;line-height:1.85;color:var(--sub)}
.compareButtons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.compareButtons a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--label);font-size:12px;letter-spacing:.12em;text-decoration:none}
.compareButtons a:hover,.compareButtons a:focus-visible{background:var(--accent-hover);border-color:var(--accent-hover)}
.compareButtons a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ── top genre directory ── */
.lineMotif{display:block;width:64px;height:auto;margin:48px auto 0;color:var(--accent2);opacity:.72}
#guide{padding:120px 0;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#guide .inner{max-width:1120px;margin:0 auto;padding:0 28px}
#guide .sectionHead{display:grid;grid-template-columns:56px 1fr;gap:32px;align-items:start;margin-bottom:40px}
#guide .sectionNo{font-family:var(--label);font-size:11px;letter-spacing:.18em;color:var(--accent2);border-top:1px solid var(--line);padding-top:12px}
#guide .microLabel{font-family:var(--label);font-size:11px;letter-spacing:.22em;color:var(--accent2);text-transform:uppercase;margin-bottom:12px}
#guide h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.7;letter-spacing:.12em}
#guide .sectionHead p:last-child{max-width:38em;margin-top:14px;color:var(--sub);font-size:14px;line-height:1.9}
.linkDirectory{margin-top:48px;border-top:1px solid var(--line)}
.directoryLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.directoryLinks a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:22px 4px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:18px;line-height:1.6;letter-spacing:.08em;color:var(--text);transition:color .2s,border-color .2s,background .2s}
.directoryLinks a::after{content:"";width:26px;height:1px;background:var(--accent);flex:0 0 auto;opacity:.85;transition:width .2s,background .2s}
.directoryLinks a:hover,.directoryLinks a:focus-visible{color:var(--accent);border-bottom-color:var(--accent);background:rgba(92,110,88,.035)}
.directoryLinks a:hover::after,.directoryLinks a:focus-visible::after{width:38px;background:var(--accent-hover)}
.directoryLinks a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* ── about / footer ── */
.about{margin-top:120px;border-top:1px solid var(--line);padding:64px 0}
.about .inner{display:grid;grid-template-columns:200px 1fr;gap:48px}
.about h5{font-family:var(--serif);font-size:15px;letter-spacing:.2em;font-weight:500}
.about p{color:var(--sub);font-size:13px;max-width:44em}
.about p+p{margin-top:10px}
footer{background:var(--footer);color:var(--footer-text);margin-top:0}
footer .wrap{padding:56px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
footer .fb{font-family:var(--serif);letter-spacing:.14em}
footer nav{color:var(--footer-text)}
footer nav a:hover{color:#fff;border-bottom-color:#fff}
footer small{font-family:var(--label);letter-spacing:.12em;font-size:10px}

@media(max-width:820px){
  .section{padding:72px 0 0}
  .genre-hero{margin-bottom:28px}
  .genre-hero img{height:28vh;min-height:180px;max-height:300px}
  .heroTitle{padding-top:48px}
  .heroGrid{grid-template-columns:1fr;gap:16px}
  .vlabel{writing-mode:horizontal-tb;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 10px;letter-spacing:.3em}
  .heroActions{display:grid;grid-template-columns:1fr}
  .feature{grid-template-columns:1fr;gap:32px;margin-top:56px}
  .feature.rev .fMedia{order:0}
  .fMedia{padding:28px}
  .minutes{grid-template-columns:1fr}
  .minutes .rail{writing-mode:horizontal-tb;border-right:0;border-bottom:1px solid var(--line);padding:12px 0}
  .toc a{grid-template-columns:1fr;gap:4px;padding:20px 4px}
  .sectionBand{padding:72px 0}
  .sectionBand .inner{padding:0 22px}
  .sectionHead{grid-template-columns:1fr;gap:16px;margin-bottom:32px}
  .sectionNo{border-top:0;padding-top:0}
  .sectionHead h1,.sectionHead h2{font-size:24px}
  p,.lead,.secLead,.editorNote,.product-card__desc,.card .judge,.fBody p{overflow-wrap:anywhere;word-break:break-word;line-break:anywhere}
  .featureGrid{grid-template-columns:1fr;gap:28px;margin-top:32px}
  .featureGrid .feature,.featureGrid .feature:nth-child(even){grid-template-columns:1fr;gap:22px;padding:22px}
  .featureGrid .feature:nth-child(even) .imageLink{order:0}
  .featureGrid .imageLink{padding:22px}
  .grid{grid-template-columns:1fr;gap:24px;margin-top:32px}
  .product-card__image{padding:24px}
  .product-card__body{padding:22px 22px 26px}
  .product-card__meta{display:grid;grid-template-columns:1fr;justify-content:start;gap:6px}
  .judgment-list div{grid-template-columns:1fr;gap:6px}
  .lineMotif{width:52px;margin-top:36px}
  #guide{padding:72px 0}
  #guide .inner{padding:0 22px}
  #guide .sectionHead{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  #guide .sectionNo{border-top:0;padding-top:0}
  .directoryLinks{grid-template-columns:1fr}
  .directoryLinks a{min-height:68px;font-size:16px;padding:18px 2px}
  .about .inner{grid-template-columns:1fr;gap:20px}
  .band{margin-top:72px;padding:48px 0}
  .about{margin-top:72px}
  nav{display:none}
}

/* The home navigation has its own desktop hook; keep that hook inside a phone viewport. */
@media(max-width:820px){
  body#top .navband{width:100%;max-width:100%;overflow:hidden}
  body#top .navband nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:6px 18px!important;
    box-sizing:border-box!important;
  }
  body#top .navband nav a{
    display:flex!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:38px;
    padding:8px 5px!important;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
}

/* Keep the top travel CTAs readable even when older theme rules are present. */
body#top .killerCard__cta,
body#top .killerCard__cta:hover,
body#top .killerCard__cta:focus-visible{
  background:#223026!important;
  border-color:#223026!important;
  color:#FFFDF8!important;
}

/* ── masthead(縦積みロゴ) ── */
.masthead{background:var(--bg);text-align:center;padding:44px 0 0}
.masthead svg{display:block;margin:0 auto;width:min(260px,78vw);max-width:78vw;height:auto;max-height:150px}
.navband{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:hidden}
.navband nav{display:flex;justify-content:center;gap:44px;padding:16px 28px;font-family:var(--label);font-size:12px;letter-spacing:.16em;color:var(--sub)}
.navband nav a{padding:2px 0;border-bottom:1px solid transparent}
.navband nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}
@media(max-width:820px){.masthead{padding:28px 0 0}.navband nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;width:100%;padding:14px 18px;font-size:11px;letter-spacing:.04em;line-height:1.8}.navband nav a{display:inline-flex;min-width:0;max-width:calc(50vw - 24px);white-space:normal;text-align:center;overflow-wrap:anywhere;word-break:break-word;line-break:anywhere}}
.imgfallback{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:var(--color-line,var(--line));color:var(--color-text-sub,var(--sub));font-size:12px;line-height:1.6}


/* amazon associate links */
.cta--amazon{background:var(--accent);color:#fff;border:1px solid var(--accent);margin-left:10px}
.cta--amazon:hover{background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}
.storeNote{margin-top:10px;font-size:11px;line-height:1.7;color:var(--sub)}
.card-main{display:block;color:inherit;text-decoration:none}
.cardActions{display:flex;flex-wrap:wrap;gap:8px;padding:0 26px 18px}
.cardAction{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);padding:9px 12px;font-size:11px;letter-spacing:.08em;color:#fff;text-decoration:none;background:var(--accent)}
.cardAction--rakuten{background:var(--accent);border-color:var(--accent);color:#fff}
.cardAction--amazon{background:var(--accent);color:#fff}
.cardStoreNote{padding:0 26px 24px;margin-top:-6px}
.stayHotelPhoto+.cardStoreNote{padding:10px 26px 0;margin:0;font-size:10px;line-height:1.7;color:var(--sub)}
.staySummary{margin:42px 0 0;padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.55);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:start}
.staySummary h2{font-family:var(--serif);font-size:22px;line-height:1.7;letter-spacing:.08em;font-weight:500;color:var(--text)}
.staySummaryList{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.staySummaryList li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.staySummaryList span{font-family:var(--label);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2)}
.staySummaryList strong{font-family:var(--label);font-size:13px;letter-spacing:.08em;color:var(--text);font-weight:500;text-align:right}
.stayChooser{margin-top:58px;padding-top:54px;border-top:1px solid var(--line)}
.stayChooser>h2{font-family:var(--serif);font-size:24px;line-height:1.7;letter-spacing:.08em;font-weight:500;color:var(--text)}
.stayChooserGrid{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.stayChoiceCard{padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.55);min-width:0}
.stayChoiceCard h3{font-family:var(--serif);font-size:18px;line-height:1.7;letter-spacing:.04em;font-weight:500;color:var(--text)}
.stayChoiceCard ol{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.stayChoiceCard li{padding:12px 0;border-bottom:1px solid var(--line)}
.stayChoiceCard a{display:inline;color:var(--text);text-decoration:none;border-bottom:1px solid var(--accent)}
.stayChoiceCard a:hover,.stayChoiceCard a:focus-visible{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}
.stayChoiceCard li span{display:block;margin-top:6px;font-size:11px;line-height:1.7;color:var(--sub)}
.stayMetricStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:14px 0 16px;border:1px solid var(--line);background:var(--line)}
.stayMetricStrip p{margin:0;padding:10px;background:var(--surface);min-width:0}
.stayMetricStrip span{display:block;font-family:var(--label);font-size:9px;letter-spacing:.16em;color:var(--accent2);text-transform:uppercase}
.stayMetricStrip strong{display:block;margin-top:4px;font-size:12px;line-height:1.55;color:var(--text);font-weight:500;overflow-wrap:anywhere}
.petFacts{margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.petFacts p{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;margin:0;padding:10px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:var(--sub)}
.petFacts p:first-child{border-top:0}
.petFacts strong{font-family:var(--label);font-size:10px;letter-spacing:.14em;color:var(--accent2);font-weight:500}
.petFacts span{min-width:0}

.stayRegions{margin-top:56px}
.stayRegion+.stayRegion{margin-top:72px;padding-top:48px;border-top:1px solid var(--line)}
.stayRegionVisual{margin:0 0 28px;border:1px solid var(--line);background:var(--surface)}
.stayRegionVisual img{display:block;width:100%;height:clamp(220px,34vw,420px);object-fit:cover;filter:saturate(.92) brightness(.97)}
.stayRegion h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.7;letter-spacing:.1em;color:var(--text)}
.stayRegion .card h4{letter-spacing:0;overflow-wrap:anywhere}
.stayRegionLead{max-width:46em}
.nearbyBlock{margin-top:34px;padding:24px 26px;border:1px solid var(--line);background:rgba(255,255,255,.48)}
.nearbyBlock>h4{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.08em;line-height:1.7;color:var(--text)}
.nearbyGrid{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.nearbyCard{border-top:1px solid var(--line);padding-top:18px;min-width:0}
.nearbyCard h4{font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.7;letter-spacing:.08em;color:var(--text)}
.nearbyMeta{margin-top:12px;border-top:1px solid var(--line)}
.nearbyMeta div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.nearbyMeta dt{font-family:var(--label);font-size:10px;letter-spacing:.14em;color:var(--accent2)}
.nearbyMeta dd{font-size:12px;line-height:1.75;color:var(--sub)}
.nearbyLinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.nearbyLinks a{display:inline-flex;align-items:center;border-bottom:1px solid var(--accent);font-size:12px;line-height:1.7;color:var(--accent);letter-spacing:.04em}
.nearbyLinks a:hover,.nearbyLinks a:focus-visible{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}



/* regression guard: article prose must remain horizontal */
main p, article p, .essayBody p, .ebody p, .articleBody p {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}

/* adult travel planning pages */
.adultTravel .secLead{max-width:46em}
.adultTravelHero{padding-top:72px}
.travelPhoto{margin:0 0 40px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.travelPhoto img{display:block;width:100%;height:clamp(220px,42vw,520px);object-fit:cover;filter:saturate(.92) brightness(.96)}
.travelPhoto--hero img{height:clamp(260px,48vw,560px);min-height:0}
.adultTravelNav{margin-top:36px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.adultTravelNav a{display:flex;flex-direction:column;gap:6px;min-height:92px;padding:22px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:16px;letter-spacing:.08em;line-height:1.6;background:rgba(255,255,255,.34);transition:color .2s,background .2s}
.adultTravelNav a:first-child{border-left:1px solid var(--line)}
.adultTravelNav a span{font-family:var(--label);font-size:10px;letter-spacing:.22em;color:var(--accent2)}
.adultTravelNav a:hover,.adultTravelNav a:focus-visible{color:var(--accent);background:var(--surface)}
.adultArea{padding-top:112px}
.travelPlanGrid{margin-top:44px;display:grid;grid-template-columns:1.15fr .85fr;gap:32px}
.travelPanel,.travelInfoCard{border:1px solid var(--line);background:var(--surface);padding:28px;min-width:0}
.travelPanel h3,.travelSubhead h3{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:.1em;line-height:1.7;margin-bottom:14px}
.travelPanel p{font-size:14px;line-height:1.95;color:var(--sub)}
.travelPanel p+p{margin-top:12px}
.travelTimeline{list-style:none;display:grid;gap:18px}
.travelTimeline li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.travelTimeline li:last-child{border-bottom:0;padding-bottom:0}
.travelTimeline strong{font-family:var(--label);font-size:11px;letter-spacing:.14em;color:var(--accent2);font-weight:500}
.travelTimeline span{font-size:14px;line-height:1.95;color:var(--sub)}
.travelSubhead{margin-top:64px;max-width:44em}
.travelSubhead p{color:var(--sub);font-size:14px;line-height:1.95}
.travelInfoGrid{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.travelInfoCard h4{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.08em;line-height:1.7}
.travelInfoCard .judge{margin-top:12px;font-size:13px;line-height:1.95;color:var(--sub)}
.travelFacts{margin-top:18px;border-top:1px solid var(--line)}
.travelFacts div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.travelFacts dt{font-family:var(--label);font-size:10px;letter-spacing:.18em;color:var(--accent2)}
.travelFacts dd{font-size:12px;line-height:1.75;color:var(--sub)}
.adultTravelActions{padding:18px 0 0}
.travelSubhead--stay{margin-top:38px}
.adultHotelGrid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.adultHotelCard{border:1px solid var(--line);background:var(--surface);min-width:0}
.adultHotelPhoto{margin:0;border-bottom:1px solid var(--line);background:var(--bg);overflow:hidden}
.adultHotelPhoto img{display:block;width:100%;height:clamp(190px,24vw,300px);object-fit:cover;filter:saturate(.92) brightness(.97)}
.adultHotelBody{padding:24px 24px 0;min-width:0}
.adultHotelBody h4{font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.7;letter-spacing:.04em;color:var(--text);overflow-wrap:anywhere}
.adultHotelMeta{margin:10px 0 0;font-size:12px;line-height:1.8;color:var(--accent)}
.travelPickGrid{margin-top:34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.travelPickCard{display:grid;gap:10px;min-height:178px;padding:26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.32);transition:background .2s,color .2s}
.travelPickCard:hover,.travelPickCard:focus-visible{background:var(--surface);color:var(--accent)}
.travelPickCard span{font-family:var(--label);font-size:10px;letter-spacing:.22em;color:var(--accent2);text-transform:uppercase}
.travelPickCard strong{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.65;letter-spacing:.08em;color:var(--text)}
.travelPickCard em{font-style:normal;font-size:13px;line-height:1.9;color:var(--sub)}
.travelSubhead--decision{margin-top:46px}
.travelDecisionGrid{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.travelDecisionCard{border:1px solid var(--line);background:rgba(255,255,255,.34);padding:22px 20px;min-width:0}
.travelDecisionCard h4{font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.7;letter-spacing:.08em;color:var(--text)}
.travelDecisionCard p{margin-top:10px;font-size:13px;line-height:1.9;color:var(--sub)}
.travelCheckList{margin-top:36px;border-top:1px solid var(--line);max-width:760px}
.travelCheckList p{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}
.travelCheckList strong{font-family:var(--serif);font-weight:500;letter-spacing:.1em}
.travelCheckList span{color:var(--sub)}
@media(max-width:820px){
  .adultTravelHero{padding-top:48px}
  h1{font-size:24px;line-height:1.75;letter-spacing:0}
  h2{letter-spacing:.07em}
  .sectionHead h1,.sectionHead h2{letter-spacing:.07em}
  .travelPhoto{margin-bottom:28px}
  .travelPhoto img,.travelPhoto--hero img{height:220px;min-height:0}
  .stayRegionVisual img{height:220px}
  .adultHotelPhoto img{height:210px}
  .adultTravelNav{grid-template-columns:1fr}
  .adultTravelNav a{border-left:1px solid var(--line);min-height:78px;letter-spacing:.04em;overflow-wrap:anywhere;word-break:break-word;line-break:anywhere}
  .adultArea{padding-top:72px}
  .travelPlanGrid{grid-template-columns:1fr;gap:20px}
  .travelPickGrid{grid-template-columns:1fr}
  .travelPickCard{min-height:0;padding:22px 20px}
  .travelDecisionGrid{grid-template-columns:1fr;gap:14px}
  .travelTimeline li,.travelFacts div,.travelCheckList p{grid-template-columns:1fr;gap:6px}
  .travelPanel,.travelInfoCard{padding:24px}
}

/* mobile masthead nav fix */
@media(max-width:820px){
  body{width:100%;max-width:100vw;overflow-x:hidden}
  .wrap,main.wrap,.sectionBand .inner,#guide .inner{width:100%!important;max-width:100vw!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden}
  p,.lead,.secLead,.judge,h1,h2,h3,h4,li,dd{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-break:anywhere}
  .navband{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}
  .navband nav.wrap{display:block!important;width:100vw!important;max-width:100vw!important;margin:0!important;padding:14px 18px!important;text-align:center}
  .navband nav.wrap a{display:block!important;max-width:100%!important;width:100%!important;padding:6px 0;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
}


/* standard genre enrichment */
.genreInsight{margin-top:48px;padding-top:48px;border-top:1px solid var(--line)}
.genreInsight h2{font-size:24px;line-height:1.7;letter-spacing:.1em;margin-top:12px}
.genreInsight .secLead{max-width:48em}
.genreInsight .travelDecisionGrid{margin-top:26px}
@media(max-width:820px){.genreInsight{margin-top:36px;padding-top:36px}.genreInsight h2{font-size:22px}}


/* reading links */
.src.readingLinks{max-width:1120px;margin:24px auto 0;padding:0 28px;color:var(--sub)}
.src.readingLinks p{margin:0}
.src.readingLinks p:first-child{font-family:var(--label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent2);margin-bottom:12px}
.src.readingLinks p+p{border-top:1px solid var(--line)}
.src.readingLinks a{display:block;padding:14px 0;color:var(--text);border-bottom:1px solid transparent;text-decoration:none;line-height:1.8}
.src.readingLinks a:hover,.src.readingLinks a:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}
.src.readingLinks a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:820px){.src.readingLinks{padding:0 22px}.src.readingLinks a{font-size:13px;overflow-wrap:anywhere;word-break:break-word}}

.visuallyHidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}


/* conversion enhancement */
.buyerGuide,.purchaseSupport{margin-top:46px;padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.58)}
.buyerGuide h2,.purchaseSupport h2{font-size:23px;letter-spacing:.08em;margin:8px 0 12px}
.buyerGuide .secLead,.purchaseSupport .secLead{max-width:48em;color:var(--sub);font-size:14px;line-height:2}
.buyerGuideGrid{margin-top:22px;display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}
.budgetTable{width:100%;border-collapse:collapse;font-size:13px;line-height:1.8;background:var(--surface)}
.budgetTable th,.budgetTable td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.budgetTable th{width:34%;font-weight:500;color:var(--accent)}
.buyerCheckList,.purchaseCheckList{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.buyerCheckList li,.purchaseCheckList li{border-bottom:1px solid var(--line);padding-bottom:12px;color:var(--sub);font-size:13px;line-height:1.8}
.buyerCheckList b,.purchaseCheckList b{display:block;color:var(--text);font-weight:500;margin-bottom:2px}
.supportNote{font-size:12px;line-height:1.8;color:var(--sub);margin-top:18px}
.homeSupportLinks{margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.homeSupportLinks a{display:block;border:1px solid var(--line);padding:18px;text-decoration:none;color:var(--text);background:var(--surface)}
.homeSupportLinks b{display:block;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:.08em;margin-bottom:8px}
.homeSupportLinks span{display:block;color:var(--sub);font-size:13px;line-height:1.8}
@media(max-width:820px){.buyerGuide,.purchaseSupport{padding:22px}.buyerGuideGrid,.homeSupportLinks{grid-template-columns:1fr}.budgetTable th,.budgetTable td{display:block;width:auto}}


/* price comparison blocks:start */
.priceCompare{margin:34px 0 38px;padding:24px;border:1px solid var(--line);background:var(--surface)}
.compareTitle{font-family:var(--serif);font-size:20px;letter-spacing:.08em;margin:0 0 8px;color:var(--text)}
.compareLead{margin:0 0 18px;font-size:12px;line-height:1.8;color:var(--sub)}
.compareGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.compareCard{border:1px solid var(--line);padding:18px;background:#fff;display:flex;flex-direction:column;gap:10px;min-height:178px}
.compareMall{font-family:var(--label);font-size:11px;letter-spacing:.16em;color:var(--accent2);margin:0}
.comparePrice{font-family:var(--label);font-size:22px;letter-spacing:.04em;color:var(--text);margin:0}
.compareDate,.comparePlaceholder{font-size:11px;line-height:1.7;color:var(--sub);margin:0}
.compareButton{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);padding:11px 14px;font-size:12px;letter-spacing:.1em;color:#fff;text-decoration:none;background:var(--accent)}
.compareButton--primary{background:var(--accent);border-color:var(--accent);color:#fff}
.compareButton--sub{background:var(--accent);color:#fff}
@media(max-width:820px){.compareGrid{grid-template-columns:1fr}.priceCompare{padding:20px}}
/* price comparison blocks:end */


/* contextual guide repair */
.buyerGuide,.purchaseSupport{margin-top:46px;padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.58)}
.buyerGuide h2,.purchaseSupport h2{font-size:23px;letter-spacing:.08em;margin:8px 0 12px}
.buyerGuide .secLead,.purchaseSupport .secLead{max-width:48em;color:var(--sub);font-size:14px;line-height:2}
.buyerGuideGrid{margin-top:22px;display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}
.budgetTable{width:100%;border-collapse:collapse;font-size:13px;line-height:1.8;background:var(--surface)}
.budgetTable th,.budgetTable td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.budgetTable th{width:34%;font-weight:500;color:var(--accent)}
.buyerCheckList,.purchaseCheckList{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.buyerCheckList li,.purchaseCheckList li{border-bottom:1px solid var(--line);padding-bottom:12px;color:var(--sub);font-size:13px;line-height:1.8}
.buyerCheckList b,.purchaseCheckList b{display:block;color:var(--text);font-weight:500;margin-bottom:2px}
@media(max-width:820px){.buyerGuide,.purchaseSupport{padding:22px}.buyerGuideGrid{grid-template-columns:1fr}.budgetTable th,.budgetTable td{display:block;width:auto}}


/* contextual mobile hardening */
main.wrap,.wrap,.sectionBand .inner,#guide .inner{min-width:0}
.feature,.featureGrid .feature,.grid,.product-card,.card,.fMedia,.featureGrid .imageLink,.priceCompare,.purchaseSupport,.buyerGuide{max-width:100%;min-width:0}
.fMedia img,.featureGrid .imageLink img,.product-card__image img,.card .ph img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:820px){
  .wrap,main.wrap,.sectionBand .inner,#guide .inner{width:100%;max-width:100%;padding-left:22px;padding-right:22px}
  .feature,.feature.rev{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;overflow:hidden}
  .fMedia,.featureGrid .imageLink{width:100%;max-width:100%;padding:22px}
  .fMedia img,.featureGrid .imageLink img{width:100%;height:100%;object-fit:contain}
  .featureGrid .feature,.card,.product-card,.priceCompare,.purchaseSupport,.buyerGuide{width:100%;max-width:100%;overflow:hidden}
  p,.lead,.secLead,.fBody p,.product-card__desc,.card .judge,.purchaseSupport li,.buyerGuide li{width:100%;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-all!important;line-break:anywhere}
  h1,h2,h3,h4{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal;line-break:strict}
  .cta,.cta--amazon{margin-left:0;margin-right:8px;margin-bottom:8px}
  .buyrow{display:grid;grid-template-columns:1fr;gap:6px}
}


/* contextual mobile overflow fix */
@media(max-width:820px){
  p,.lead,.secLead,.fBody p,.product-card__desc,.card .judge,.purchaseSupport li,.buyerGuide li{width:100%;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-all!important;line-break:anywhere}
  h1,h2,h3,h4{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal;line-break:strict}
}


/* contextual mobile viewport clamp */
@media(max-width:820px){
  html,body{width:100%;max-width:100vw;overflow-x:hidden}
  .wrap,main.wrap,.sectionBand .inner,#guide .inner{
    width:100%!important;
    max-width:100%!important;
    padding-left:22px!important;
    padding-right:22px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
  }
  .section,.genre-hero,.travelDecisionGrid,.buyerGuideGrid,.homeSupportLinks{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .feature,.feature.rev,.featureGrid .feature,.grid,.products,.cardGrid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
  }
  .fMedia,.featureGrid .imageLink,.product-card__image,.card .ph{
    width:100%!important;
    max-width:calc(100vw - 44px)!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:16px!important;
    overflow:hidden!important;
  }
  .fMedia img,.featureGrid .imageLink img,.product-card__image img,.card .ph img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  .fBody,.featureGrid .body,.card .cb,.product-card__body,.buyerGuide,.purchaseSupport,.priceCompare,.compareCard{
    width:100%!important;
    max-width:calc(100vw - 44px)!important;
    min-width:0!important;
  }
  .lead,.secLead,.fBody p,.card .judge,.product-card__desc,.purchaseSupport p,.buyerGuide p,.purchaseSupport li,.buyerGuide li{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
    line-break:anywhere!important;
  }
}


/* contextual mobile final clamp */
@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main.wrap,.wrap,.sectionBand .inner,#guide .inner{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    padding-left:22px!important;
    padding-right:22px!important;
    overflow:hidden!important;
  }
  main.wrap>*,.wrap>*,.section,.genre-hero,.travelDecisionGrid,.buyerGuideGrid,.homeSupportLinks,.products,.grid,.cardGrid{
    max-width:100%!important;
    min-width:0!important;
  }
  .genre-hero,.buyerGuide,.purchaseSupport,.priceCompare,.compareCard,.card,.product-card,.feature,.feature.rev{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .fMedia,.featureGrid .imageLink,.product-card__image,.card .ph{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .fMedia img,.featureGrid .imageLink img,.product-card__image img,.card .ph img{
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  p,.lead,.secLead,.fBody p,.card .judge,.product-card__desc,.purchaseSupport p,.buyerGuide p,.purchaseSupport li,.buyerGuide li{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
    line-break:anywhere!important;
  }
}

/* revenue-pages:start */
.revenuePage .secLead{max-width:52em}
.revenueDecisionGrid{margin-top:30px}
.revenueInfoGrid{margin-top:30px}
.revenueInfoCard .cardActions{margin-top:18px}
.revenueInfoCard .storeNote{margin-top:12px}
.revenueHeroActions{margin-top:24px}
.revenuePage .travelCheckList{margin-top:28px}
.revenuePhoto{margin:30px 0 0;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.revenuePhoto img{display:block;width:100%;height:clamp(230px,42vw,500px);object-fit:cover;filter:saturate(.92) brightness(.97)}
.revenuePhoto figcaption{padding:14px 18px;color:var(--sub);font-size:13px;line-height:1.8}
.revenuePhotoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:30px 0 0}
.revenuePhotoGrid .revenuePhoto{margin:0}
.revenuePhotoGrid .revenuePhoto img{height:clamp(220px,28vw,360px)}
@media(max-width:820px){.revenueHeroActions{display:grid;gap:10px}.revenueInfoCard .cardActions{display:grid;gap:10px}}
@media(max-width:820px){.revenuePhotoGrid{grid-template-columns:1fr;gap:18px}.revenuePhoto img,.revenuePhotoGrid .revenuePhoto img{height:220px}}
/* revenue-pages:end */

/* revenue-seo-upgrade:start */
.revenueSupportLinks{grid-template-columns:repeat(4,minmax(0,1fr))}
.revenueSupportLinks a{min-height:170px}
.revenueSupportLinks b{color:var(--text)}
.revenueSupportLinks span{line-height:1.9}
.readingDirectory{padding-top:96px}
.readingDirectory__links{margin-top:36px;border-top:1px solid var(--line)}
.readingDirectory__links a{display:grid;grid-template-columns:160px 1fr auto;gap:24px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);transition:background .2s,color .2s}
.readingDirectory__links a::after{content:"";width:28px;height:1px;background:var(--accent);transition:width .2s}
.readingDirectory__links a:hover,.readingDirectory__links a:focus-visible{background:var(--surface);color:var(--accent)}
.readingDirectory__links a:hover::after,.readingDirectory__links a:focus-visible::after{width:42px}
.readingDirectory__links span{font-family:var(--label);font-size:10px;letter-spacing:.22em;color:var(--accent2)}
.readingDirectory__links b{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.08em;line-height:1.7}
@media(max-width:980px){.revenueSupportLinks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.revenueSupportLinks{grid-template-columns:1fr}.readingDirectory{padding-top:72px}.readingDirectory__links a{grid-template-columns:1fr;gap:8px;padding:18px 2px}.readingDirectory__links a::after{display:none}}
/* revenue-seo-upgrade:end */

/* car-size:start */
.carSizeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0 0}
.carSizeCard{border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden}
.carSizePhoto{margin:0;border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden;aspect-ratio:16/9}
.carSizePhoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.9) brightness(.97)}
.carSizeCard--Compact .carSizePhoto img{object-position:center 56%}
.carSizeCard--Standard .carSizePhoto img{object-position:center 58%}
.carSizeCard--SUV .carSizePhoto img{object-position:center 58%}
.carSizeCard--Minivan .carSizePhoto img{object-position:center 52%}
.carSizeBody{padding:22px}
.carSizeBody h3{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:.08em;margin:4px 0 10px}
.carSizeBody p{font-size:13px;line-height:1.9;color:var(--sub)}
.carSizeBody dl{margin:18px 0 0;border-top:1px solid var(--line)}
.carSizeBody dl div{padding:10px 0;border-bottom:1px solid var(--line)}
.carSizeBody dt{font-family:var(--sans);font-size:10px;letter-spacing:.16em;color:var(--accent2);text-transform:uppercase;margin-bottom:3px}
.carSizeBody dd{margin:0;font-size:12px;line-height:1.7;color:var(--text)}
@media(max-width:640px){.carSizeGrid{grid-template-columns:1fr}.carSizeBody{padding:20px}.carSizePhoto{aspect-ratio:16/9}.carSizePhoto img{height:100%}}
/* car-size:end */

/* rental-deal:start */
.dealFlow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0 26px}
.dealStep{border:1px solid var(--line);background:var(--surface);padding:22px;min-width:0;position:relative}
.dealStep span{font-family:var(--label);font-size:11px;letter-spacing:.18em;color:var(--accent2)}
.dealStep h3{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.08em;margin:14px 0 10px}
.dealStep p{font-size:13px;line-height:1.9;color:var(--sub);margin:0}
.bestPriceBoard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:34px 0 0}
.bestPriceCard{border:1px solid var(--line);background:var(--surface);padding:24px;min-width:0}
.bestPriceCard h3{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.08em;margin:12px 0}
.bestPriceCard p{font-size:13px;line-height:1.9;color:var(--sub)}
.bestPriceCard .cardActions{margin-top:18px}
.priceFactorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0 0}
.priceFactor{border:1px solid var(--line);background:var(--surface);padding:22px;min-width:0}
.factorMeter{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:18px}
.factorMeter i{display:block;height:4px;background:var(--line)}
.factorMeter i.isOn{background:var(--accent)}
.priceFactor h3{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.08em;margin:0 0 10px}
.priceFactor p{font-size:13px;line-height:1.9;color:var(--sub);margin:0}
@media(max-width:980px){.dealFlow,.bestPriceBoard,.priceFactorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dealFlow,.bestPriceBoard,.priceFactorGrid{grid-template-columns:1fr}.dealStep,.bestPriceCard,.priceFactor{padding:20px}}
/* rental-deal:end */





/* navigation-care:start */
.travelRouteBridge{
  margin-top:48px;
  border:1px solid var(--line);
  background:var(--surface);
  padding:28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.travelRouteBridge .eyebrow{margin-bottom:10px}
.travelRouteBridge h2{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  line-height:1.7;
  letter-spacing:.08em;
  margin:0 0 10px;
}
.travelRouteBridge p{
  max-width:52em;
  color:var(--sub);
  font-size:14px;
  line-height:1.9;
}
.travelRouteBridge .cardActions{
  padding:0;
  margin:0;
  justify-content:flex-end;
}
.travelRouteBridge .cardAction{
  padding:11px 16px;
  white-space:nowrap;
}
.pageReturn{
  padding:56px 28px 0;
  display:flex;
  justify-content:flex-end;
}
.pageReturn a{
  font-family:var(--sans);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--accent);
  border-bottom:1px solid var(--accent);
  padding-bottom:3px;
}
.pageReturn a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}
.pageReturn a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:820px){
  .travelRouteBridge{
    grid-template-columns:1fr;
    padding:22px;
    margin-top:32px;
  }
  .travelRouteBridge .cardActions{justify-content:flex-start}
  .pageReturn{
    padding:40px 22px 0;
    justify-content:flex-start;
  }
  main.wrap,.wrap,.sectionBand .inner,#guide .inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100vw!important;
    overflow:visible!important;
  }
  .adultTravel .secLead,
  .adultTravel p,
  .revenuePage .secLead,
  .revenuePage p{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
    line-break:anywhere!important;
  }
  .adultTravelNav,
  .travelPickGrid,
  .travelInfoGrid{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
  }
  .adultTravelNav a,
  .travelPickCard,
  .travelInfoCard{
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .travelPhoto,
  .revenuePhoto{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}
/* navigation-care:end */

/* a8-revenue:start */
.a8BookingHub{
  margin-top:48px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.58);
  padding:30px;
}
.a8BookingHead{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:36px;
  align-items:center;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.a8BookingHead h3{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  line-height:1.7;
  letter-spacing:.08em;
  margin:0;
}
.a8BookingHead p{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
}
.a8BookingGrid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.a8PartnerCard{
  position:relative;
  min-height:194px;
  padding:20px;
  background:var(--surface);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:inherit;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.a8PartnerCard span{
  font-family:var(--label);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--accent2);
}
.a8PartnerCard strong{
  font-family:var(--serif);
  font-size:18px;
  font-weight:500;
  line-height:1.65;
  letter-spacing:.08em;
}
.a8PartnerCard p{
  color:var(--sub);
  font-size:12px;
  line-height:1.85;
}
.a8PartnerCard em{
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--accent);
  font-style:normal;
  font-size:11px;
  letter-spacing:.08em;
}
.a8TrackPixel{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.a8PartnerCard:hover,
.a8PartnerCard:focus-visible{
  color:var(--accent);
  background:#fff;
}
.a8BookingHub .storeNote{
  margin-top:14px;
  max-width:68em;
}
@media(max-width:980px){
  .a8BookingHead{
    grid-template-columns:1fr;
    align-items:start;
  }
  .a8BookingGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .a8BookingHub{
    padding:22px;
  }
  .a8BookingGrid{
    grid-template-columns:1fr;
  }
  .a8PartnerCard{
    min-height:0;
  }
}
/* a8-revenue:end */

/* buy reason framework:start */
.becauseBlock{margin:34px 0 38px;padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.58)}
.becauseBlock h2{font-size:23px;letter-spacing:.08em;margin:8px 0 12px}
.becauseBlock .secLead{max-width:50em;color:var(--sub);font-size:14px;line-height:2}
.becauseGrid{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.becauseCard{border-top:1px solid var(--line);padding-top:14px;min-width:0}
.becauseType{font-family:var(--label);font-size:11px;letter-spacing:.16em;color:var(--accent2);margin:0 0 9px;text-transform:uppercase}
.becauseCard p:not(.becauseType){margin:0;color:var(--sub);font-size:13px;line-height:1.9;letter-spacing:.02em}
@media(max-width:640px){.becauseBlock{padding:22px}.becauseGrid{grid-template-columns:1fr}}
/* buy reason framework:end */
/* revenue-click-focus:start */
.homeRevenueGate{
  margin-top:24px;
}
.homeRevenueGate .secLead{
  max-width:56em;
}
.homeRevenueGrid{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.homeRevenueGrid a{
  min-height:166px;
  padding:24px 20px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.42);
  color:var(--text);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.homeRevenueGrid span{
  font-family:var(--label);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--accent2);
  text-transform:uppercase;
}
.homeRevenueGrid b{
  font-family:var(--serif);
  font-size:18px;
  font-weight:500;
  line-height:1.65;
  letter-spacing:.08em;
}
.homeRevenueGrid em{
  margin-top:auto;
  color:var(--sub);
  font-style:normal;
  font-size:12px;
  line-height:1.8;
}
.homeRevenueGrid a:hover,
.homeRevenueGrid a:focus-visible{
  background:var(--surface);
  color:var(--accent);
}
.revenueFocus{
  margin:34px 0 0;
  border:1px solid var(--line);
  background:rgba(255,255,255,.58);
  padding:26px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);
  gap:28px;
  align-items:center;
}
.revenueFocus h2,
.revenueFocus h3{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  line-height:1.7;
  letter-spacing:.08em;
  margin:0 0 10px;
}
.revenueFocus p{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
}
.revenueFocusActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.revenueFocusActions .cardAction{
  min-height:44px;
  padding:12px 18px;
}
.revenueFocus .storeNote{
  grid-column:1/-1;
  margin-top:0;
}
@media(max-width:980px){
  .homeRevenueGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .revenueFocus{grid-template-columns:1fr}
}
@media(max-width:640px){
  .homeRevenueGrid{grid-template-columns:1fr}
  .homeRevenueGrid a{min-height:0}
  .revenueFocus{padding:22px}
  .revenueFocusActions{display:grid;grid-template-columns:1fr}
  .staySummary{grid-template-columns:1fr;padding:22px;gap:18px}
  .staySummaryList li{display:block}
  .staySummaryList strong{display:block;margin-top:4px;text-align:left;line-height:1.7}
  .compareTitle,.revenueFocus h2,.revenueFocus h3,.staySummary h2{overflow-wrap:anywhere!important;word-break:normal!important;line-break:anywhere!important}
}
@media(max-width:2000px){
  main.wrap.adultTravel,
  main.wrap.revenuePage,
  main.wrap{
    padding-left:22px!important;
    padding-right:34px!important;
  }
  .adultTravel .section,
  .revenuePage .section,
  .adultTravel .travelPhoto,
  .revenuePage .revenuePhoto,
  .adultTravel .travelPickGrid,
  .adultTravel .travelInfoGrid,
  .adultTravel .travelDecisionGrid,
  .priceCompare,
  .staySummary,
  .revenueFocus{
    width:100%!important;
    max-width:calc(100vw - 56px)!important;
  }
  .adultTravel h1,
  .adultTravel h2,
  .adultTravel h3,
  .revenuePage h1,
  .revenuePage h2,
  .revenuePage h3,
  .priceCompare h2,
  .compareTitle,
  .staySummary h2,
  .revenueFocus h2,
  .revenueFocus h3{
    letter-spacing:.04em!important;
    max-width:calc(100vw - 72px)!important;
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
    line-break:anywhere!important;
  }
  .adultTravel p,
  .adultTravel .secLead,
  .revenuePage p,
  .revenuePage .secLead,
  .priceCompare p,
  .staySummary p,
  .revenueFocus p{
    max-width:calc(100vw - 72px)!important;
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
    line-break:anywhere!important;
  }
}
/* revenue-click-focus:end */

/* home-success-context:start */
.killerZone{
  max-width:1120px;
  margin:72px auto 0;
  padding:0 28px;
}
.killerZone__head{
  max-width:50em;
}
.killerZone__lead{
  color:var(--sub);
  font-size:14px;
  line-height:2;
}
.killerGrid{
  margin-top:38px;
  display:grid;
  grid-template-columns:1.25fr .9fr .9fr;
  gap:28px;
}
.killerCard{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:100%;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
  overflow:hidden;
}
.killerCard:hover,
.killerCard:focus-visible{
  border-color:var(--accent);
}
.killerCard--main{
  grid-row:span 2;
}
@media (min-width:981px){
  .killerGrid .killerCard:nth-child(4){grid-column:2/4}
}
.killerCard__photo{
  aspect-ratio:4/3;
  border-bottom:1px solid var(--line);
  background:var(--surface);
  overflow:hidden;
}
.killerCard__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.killerCard__body{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.killerCard__label{
  font-family:var(--label);
  font-size:10px;
  letter-spacing:.22em;
  color:var(--accent2);
  text-transform:uppercase;
}
.killerCard h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:20px;
  line-height:1.65;
  letter-spacing:.08em;
}
.killerCard--main h3{
  font-size:26px;
}
.killerCard p{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
}
.killerCard__cta{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  font-family:var(--label);
  font-size:12px;
  letter-spacing:.12em;
}
.killerCard:hover .killerCard__cta,
.killerCard:focus-visible .killerCard__cta{
  background:var(--accent-hover);
  border-color:var(--accent-hover);
}
.killerZone__jump{
  margin:22px 0 0;
  font-size:13px;
  line-height:1.8;
}
.killerZone__jump a{
  color:var(--accent);
  border-bottom:1px solid var(--accent);
  text-decoration:none;
}
.killerZone__jump a:hover,
.killerZone__jump a:focus-visible{
  color:var(--accent-hover);
  border-bottom-color:var(--accent-hover);
}
.homeDirectCtas{
  margin-top:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.62);
  padding:22px;
}
.homeDirectCtas__label{
  font-family:var(--label);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--accent2);
  text-transform:uppercase;
  margin:0 0 14px;
}
.homeDirectCtas__links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.homeDirectCta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:86px;
  padding:16px;
  background:var(--accent);
  border:1px solid var(--accent);
  color:#fff;
  text-decoration:none;
}
.homeDirectCta span{
  font-family:var(--label);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.76;
}
.homeDirectCta b{
  margin-top:7px;
  font-family:var(--serif);
  font-size:15px;
  font-weight:500;
  line-height:1.65;
  letter-spacing:.06em;
}
.homeDirectCta:hover,
.homeDirectCta:focus-visible{
  background:var(--accent-hover);
  border-color:var(--accent-hover);
}
.homeDirectCta:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.homeDirectCtas__note{
  margin-top:12px;
  color:var(--sub);
  font-size:11px;
  line-height:1.8;
}
.homeTrust{
  margin-top:26px;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  border:1px solid var(--line);
  background:rgba(255,255,255,.66);
  padding:20px 22px;
}
.homeTrust b{
  font-family:var(--serif);
  font-weight:500;
  font-size:17px;
  letter-spacing:.08em;
}
.homeTrust p{
  color:var(--sub);
  font-size:13px;
  line-height:1.85;
}
.homeTrust a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--accent);
  color:var(--accent);
  font-family:var(--label);
  font-size:11px;
  letter-spacing:.12em;
  text-decoration:none;
}
.aboutProfile{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.aboutProfile article{
  min-height:190px;
  padding:24px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.aboutProfile h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:18px;
  line-height:1.7;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.aboutProfile p{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
}
.about-disclosure{
  color:var(--sub);
  font-size:12px;
  line-height:1.9;
}
.actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.bg{
  background:var(--surface);
}
.cardAction--detail{
  background:transparent;
  color:var(--accent);
}
.copy{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
}
.genre-related{
  margin-top:24px;
  font-size:13px;
  line-height:1.8;
}
.isOn{
  border-color:var(--accent);
  color:var(--accent);
}
.point{
  color:var(--accent);
}
.rev{
  font-family:var(--label);
  font-size:12px;
  color:var(--sub);
}
.soft{
  color:var(--sub);
}
@media(max-width:980px){
  .killerGrid{grid-template-columns:1fr 1fr}
  .killerCard--main{grid-column:1/-1;grid-row:auto}
  .killerGrid .killerCard:nth-child(4){grid-column:auto}
  .homeDirectCtas__links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homeTrust{grid-template-columns:1fr;gap:10px}
  .aboutProfile{grid-template-columns:1fr}
}
@media(max-width:640px){
  .killerZone{margin-top:52px;padding:0 22px}
  .killerGrid{grid-template-columns:1fr;gap:20px}
  .killerCard__body{padding:22px 20px}
  .killerCard--main h3{font-size:23px}
  .killerCard__cta{width:100%}
  .homeDirectCtas{padding:18px}
  .homeDirectCtas__links{grid-template-columns:1fr}
}
/* home-success-context:end */


/* claude-round2:start */
.crossGuideBox{
  margin:34px 0 0;
  padding:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.54);
}
.crossGuideBox h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:18px;
  line-height:1.7;
  letter-spacing:.08em;
  margin:0 0 8px;
}
.crossGuideBox p{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
  margin:0;
}
.crossGuideLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.crossGuideLinks a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  font-family:var(--label);
  font-size:11px;
  letter-spacing:.12em;
  text-decoration:none;
}
.crossGuideLinks a:hover,
.crossGuideLinks a:focus-visible{
  background:var(--accent-hover);
  border-color:var(--accent-hover);
}
.crossGuideProduct{
  margin-top:12px;
}
.aboutProcess{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.aboutProcess article{
  border:1px solid var(--line);
  background:var(--surface);
  padding:24px;
}
.aboutProcess h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:18px;
  line-height:1.7;
  letter-spacing:.08em;
  margin:0 0 10px;
}
.aboutProcess ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.aboutProcess li{
  color:var(--sub);
  font-size:13px;
  line-height:1.9;
  border-top:1px solid var(--line);
  padding-top:10px;
}
@media(max-width:760px){
  .aboutProcess{grid-template-columns:1fr}
  .crossGuideLinks a{width:100%;justify-content:center}
}
/* claude-round2:end */

/* claude-round3:start */
.guideArticle,
.essay{
  max-width:960px;
  margin:0 auto;
}
.article-head,
.article{
  max-width:760px;
  margin:0 auto;
}
.article-head{
  padding:56px 0 32px;
}
.article-head .sub,
.article-head .date,
.sub,
.date{
  color:var(--sub);
  font-size:14px;
  line-height:2;
}
.article h2,
.etitle{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.7;
  letter-spacing:.08em;
}
.article h2{
  margin:56px 0 16px;
  font-size:24px;
}
.article p,
.article li,
.essay p,
.essay li{
  line-height:2.05;
  letter-spacing:0;
}
.article-foot{
  margin:64px auto 0;
  max-width:760px;
  padding:28px;
  border:1px solid var(--line);
  background:var(--surface);
}
.article-foot .crossGuideLinks{
  margin-top:0;
}
.ehero,
.escene{
  margin:40px auto;
  max-width:960px;
}
.ehero__img,
.escene img{
  display:block;
  width:100%;
  height:auto;
  max-height:560px;
  object-fit:cover;
  border:1px solid var(--line);
}
.ehero__cap,
.escene-cap{
  margin-top:8px;
  color:var(--sub);
  font-size:11px;
  line-height:1.7;
}
.ehero__cap a,
.epick__link{
  color:var(--accent);
}
.drop::first-letter{
  float:left;
  font-family:var(--serif);
  font-size:3.2em;
  line-height:.9;
  padding:.12em .18em 0 0;
}
.epick,
.epull,
.pullquote,
.budget,
.recommend,
.pick{
  margin:40px 0;
  padding:28px;
  border:1px solid var(--line);
  background:var(--surface);
}
.epick__inner{
  display:grid;
  gap:8px;
}
.epick__label,
.rlabel{
  font-family:var(--label);
  font-size:11px;
  line-height:1.8;
  letter-spacing:.16em;
  color:var(--accent2);
  text-transform:uppercase;
}
.epick__name{
  font-family:var(--serif);
  font-size:20px;
  line-height:1.7;
  margin:0;
}
.epick__line,
.edisc{
  margin:0;
  color:var(--text);
}
.epick__link{
  justify-self:start;
  margin-top:8px;
}
.espacer{
  height:32px;
}
.espacer--lg{
  height:64px;
}
.echap,
.eclose{
  margin:64px 0;
}
.echap__no{
  font-family:var(--label);
  letter-spacing:.16em;
  color:var(--accent2);
  font-size:11px;
}
.echap__ttl{
  font-family:var(--serif);
  font-size:24px;
  letter-spacing:.08em;
}
.efoot{
  margin-top:72px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.efoot__links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
@media(max-width:760px){
  .guideArticle,
  .essay,
  .article-head,
  .article,
  .article-foot{
    max-width:none;
  }
  .article-head{
    padding:40px 0 20px;
  }
  .article h2,
  .echap__ttl{
    font-size:21px;
  }
  .epick,
  .epull,
  .pullquote,
  .budget,
  .recommend,
  .pick{
    padding:22px;
  }
}
/* claude-round3:end */

/* premium-polish:start */
:root{
  --bg:#F3EFE7;
  --surface:#FFFDF8;
  --text:#24231F;
  --sub:#585249;
  --accent:#405640;
  --accent-hover:#2F4233;
  --accent2:#8B644C;
  --footer:#20231F;
  --footer-text:#D8D1C5;
  --line:#D8D0C2;
  --shadow-soft:0 18px 46px rgba(37,34,28,.055);
  --shadow-card:0 22px 58px rgba(37,34,28,.075);
}
body{
  background:var(--bg);
  color:var(--text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
p,
.lead,
.secLead,
.killerZone__lead,
.fBody p,
.card .judge,
.product-card__desc,
.editorNote,
.purchaseSupport p,
.buyerGuide p,
.purchaseSupport li,
.buyerGuide li,
.article p,
.essay p{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
}
.masthead{
  padding:32px 0 0;
  background:#F7F3EB;
  border-bottom:1px solid var(--line);
}
.masthead svg{
  width:min(220px,68vw);
  max-height:118px;
}
.navband{
  background:rgba(247,243,235,.9);
  border-top:1px solid rgba(64,86,64,.12);
  border-bottom:1px solid var(--line);
}
.navband nav{
  min-height:56px;
}
.navband nav a{
  color:#4D493F;
  transition:color .18s,border-color .18s;
}
.heroTitle{
  padding-top:58px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(216,208,194,.72);
}
.heroGrid{
  max-width:1040px;
}
.vlabel{
  color:var(--accent2);
  border-right-color:var(--line);
}
h1,
h2,
h3,
.fBody h3,
.card h4,
.product-card__title{
  color:#20201C;
}
h1{
  letter-spacing:.105em;
}
.lead{
  color:#4F493F;
  font-size:15px;
  line-height:2.08;
}
.dateline,
.prnote{
  color:#726B60;
}
.heroActions{
  gap:12px;
}
.heroAction{
  min-height:48px;
  padding:12px 24px;
  border-color:var(--accent);
  background:var(--surface);
  color:var(--accent);
  box-shadow:0 10px 24px rgba(64,86,64,.06);
}
.heroAction--primary,
.heroAction:hover,
.heroAction:focus-visible{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.section{
  padding-top:116px;
}
.sectionBand{
  border-top-color:var(--line);
}
.eyebrow,
.kicker,
.sectionNo,
.product-card__label,
.card .meta .badge,
.killerCard__label{
  color:var(--accent2);
}
.eyebrow::after{
  background:#CFC3B3;
}
.killerZone{
  margin-top:64px;
  padding:48px 36px;
  border:1px solid var(--line);
  background:#EEE7DC;
  box-shadow:var(--shadow-soft);
}
.killerZone__head{
  max-width:54em;
}
.killerZone__lead{
  color:#554E44;
}
.homeDirectCtas{
  margin-top:26px;
  background:#2C392F;
  border-color:#2C392F;
  color:#F8F4EA;
  box-shadow:0 18px 40px rgba(37,34,28,.09);
}
.homeDirectCtas__label,
.homeDirectCtas__note{
  color:#D8C7B4;
}
.homeDirectCta{
  background:#F8F4EA;
  border-color:#F8F4EA;
  color:#263328;
  box-shadow:none;
  transition:transform .18s,background .18s,border-color .18s;
}
.homeDirectCta span{
  color:var(--accent2);
  opacity:1;
}
.homeDirectCta b{
  color:#263328;
}
.homeDirectCta:hover,
.homeDirectCta:focus-visible{
  transform:translateY(-1px);
  background:#fff;
  border-color:#fff;
}
.killerGrid{
  gap:24px;
}
.killerCard,
.card,
.product-card,
.compareCard,
.buyerGuide,
.purchaseSupport,
.priceCompare,
.travelDecisionCard,
.adultHotelCard,
.stayChoiceCard,
.nearbyCard,
.bestPriceCard,
.revenueInfoCard,
.homeTrust,
.aboutProfile article,
.aboutProcess article,
.crossGuideBox,
.article-foot,
.epick,
.epull,
.pullquote,
.budget,
.recommend,
.pick{
  background:var(--surface);
  border-color:var(--line);
  box-shadow:var(--shadow-soft);
}
.killerCard,
.card,
.product-card{
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.killerCard:hover,
.killerCard:focus-visible,
.card:hover,
.product-card:hover{
  border-color:#A8957F;
  box-shadow:var(--shadow-card);
  transform:translateY(-2px);
}
.killerCard__photo,
.fMedia,
.card .ph,
.product-card__image,
.featureGrid .imageLink{
  background:#F7F2EA;
  border-color:var(--line);
}
.killerCard__photo img,
.adultAreaHero img,
.stayHeroPhoto img,
.revenueHeroImage img{
  filter:saturate(.94) contrast(1.03);
}
.killerCard__body,
.product-card__body,
.card .cb{
  padding-top:26px;
}
.killerCard p,
.product-card__desc,
.card .judge,
.editorNote{
  color:#5A544A;
}
.killerCard__cta,
.cta,
.cardAction,
.compareButtons a,
.revenueHeroActions a,
.revenueFocusActions .cardAction,
.crossGuideLinks a{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.killerCard__cta:hover,
.cta:hover,
.cardAction:hover,
.compareButtons a:hover,
.revenueHeroActions a:hover,
.crossGuideLinks a:hover{
  background:var(--accent-hover);
  border-color:var(--accent-hover);
}
.cardAction--detail{
  background:transparent;
  color:var(--accent);
}
.spec,
.minutes,
.buyerGuideTable,
.priceCompare,
.purchaseSupport{
  border-color:var(--line);
}
.toc,
.directoryLinks,
.readingDirectory__links{
  border-top-color:#CFC3B3;
}
.toc a,
.directoryLinks a,
.readingDirectory__links a{
  border-bottom-color:var(--line);
}
.toc a:hover,
.directoryLinks a:hover,
.directoryLinks a:focus-visible,
.readingDirectory__links a:hover,
.readingDirectory__links a:focus-visible{
  background:#FBF7EF;
}
footer{
  background:#20231F;
  border-top:1px solid rgba(255,255,255,.08);
}
footer .wrap{
  padding-top:64px;
  padding-bottom:64px;
}
@media(max-width:820px){
  .masthead{padding-top:24px}
  .masthead svg{width:min(188px,66vw);max-height:104px}
  .heroTitle{padding-top:42px;padding-bottom:34px}
  .heroGrid{grid-template-columns:1fr;gap:18px}
  .vlabel{
    writing-mode:horizontal-tb;
    height:auto;
    border-right:0;
    border-left:1px solid var(--line);
    padding:0 0 0 14px;
    letter-spacing:.24em;
  }
  h1{font-size:clamp(30px,10vw,42px);line-height:1.55;letter-spacing:.07em}
  .heroActions{grid-template-columns:1fr}
  .heroAction{width:100%}
  .killerZone{margin-top:44px;padding:34px 20px}
  .homeDirectCtas__links{grid-template-columns:1fr}
  .section{padding-top:82px}
  .killerCard:hover,
  .killerCard:focus-visible,
  .card:hover,
  .product-card:hover{
    transform:none;
  }
}
/* premium-polish:end */

/* luxury-reference-polish:start */
body#top .heroTitle{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  width:100%;
  max-width:none;
  margin:0;
  padding:74px max(28px,calc((100vw - 1180px)/2)) 68px;
  border-bottom:0;
  background:
    linear-gradient(90deg,rgba(22,26,22,.84) 0%,rgba(22,26,22,.66) 48%,rgba(22,26,22,.22) 100%),
    url("/assets/revenue/reservation-lobby.jpg") center/cover;
}
body#top .heroTitle::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:rgba(248,244,234,.22);
}
body#top .heroTitle .heroGrid{
  position:relative;
  z-index:1;
  width:min(920px,100%);
  max-width:920px;
}
body#top .heroTitle .vlabel{
  color:#D8B895;
  border-right-color:rgba(248,244,234,.28);
}
body#top .heroTitle h1{
  color:#F8F4EA;
  text-shadow:0 20px 64px rgba(0,0,0,.32);
}
body#top .heroTitle .lead{
  max-width:41em;
  color:#E9DED0;
}
body#top .heroTitle .dateline,
body#top .heroTitle .prnote{
  color:#D7CBBE;
}
body#top .heroTitle .heroAction{
  background:rgba(248,244,234,.96);
  border-color:rgba(248,244,234,.96);
  color:#28362B;
  box-shadow:0 18px 36px rgba(0,0,0,.18);
}
body#top .heroTitle .heroAction--primary,
body#top .heroTitle .heroAction:hover,
body#top .heroTitle .heroAction:focus-visible{
  background:#fff;
  border-color:#fff;
  color:#1F2A22;
}
body#top .killerZone{
  margin-top:0;
  border-right:0;
  border-left:0;
  background:#EDE5D8;
}
@media(min-width:981px){
  body#top .killerGrid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
  }
  body#top .killerCard--main{
    grid-column:auto;
    grid-row:auto;
  }
  body#top .killerGrid .killerCard:nth-child(4){
    grid-column:auto;
  }
  body#top .killerCard__photo{
    aspect-ratio:16/11;
  }
  body#top .killerCard--main h3{
    font-size:23px;
  }
}
@media(max-width:820px){
  body#top .heroTitle{
    min-height:560px;
    padding:52px 22px 48px;
    background:
      linear-gradient(180deg,rgba(22,26,22,.78) 0%,rgba(22,26,22,.66) 54%,rgba(22,26,22,.42) 100%),
      url("/assets/revenue/reservation-lobby.jpg") center/cover;
  }
  body#top .heroTitle .vlabel{
    border-left-color:rgba(248,244,234,.32);
  }
  body#top .heroTitle h1{
    font-size:clamp(30px,10vw,40px);
  }
  body#top .heroTitle .lead{
    font-size:14px;
    line-height:2;
  }
}
/* luxury-reference-polish:end */

/* maison-editorial-polish:start */
body#top .section > .wrap,
body#top .sectionBand .inner,
body#top .killerZone{
  max-width:1120px;
}
body#top .section{
  padding-top:128px;
}
body#top .section .eyebrow,
body#top .section .microLabel,
body#top .sectionNo,
body#top .killerCard__label,
body#top .product-card__label,
body#top .card .meta .badge{
  letter-spacing:.28em;
}
body#top .section h2,
body#top .sectionHead h2{
  font-size:clamp(30px,3.4vw,42px);
  line-height:1.5;
  letter-spacing:.12em;
}
body#top .section .secLead,
body#top .sectionHead p:last-child{
  max-width:52em;
  color:#514B42;
}
body#top .grid{
  gap:28px;
}
body#top .card,
body#top .product-card,
body#top .featureGrid .feature,
body#top .killerCard{
  box-shadow:none;
}
body#top .card:hover,
body#top .product-card:hover,
body#top .featureGrid .feature:hover,
body#top .killerCard:hover,
body#top .killerCard:focus-visible{
  box-shadow:0 18px 46px rgba(37,34,28,.08);
}
body#top .card .ph,
body#top .product-card__image,
body#top .featureGrid .imageLink{
  background:#F4EEE4;
}
body#top .card .cb,
body#top .product-card__body{
  padding:28px 28px 32px;
}
body#top .card h4,
body#top .product-card__title{
  font-size:19px;
  line-height:1.72;
}
body#top .cta,
body#top .cardAction,
body#top .killerCard__cta,
body#top .compareButtons a{
  min-height:44px;
  padding:12px 18px;
  letter-spacing:.08em;
}
body#top .readingDirectory__links,
body#top .toc{
  border-top-color:#BFAF9B;
}
body#top .readingDirectory__links a,
body#top .toc a{
  padding-top:28px;
  padding-bottom:28px;
}
body#top .homeTrust{
  margin-top:48px;
  padding:28px 32px;
  border-left:4px solid var(--accent);
}
.pageReturn{
  max-width:1120px;
  margin:0 auto;
  padding-top:72px;
  justify-content:center;
}
.pageReturn a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  padding:12px 18px;
  background:rgba(255,253,248,.72);
  color:#405640;
  text-decoration:none;
}
.pageReturn a::before{
  content:"↑";
  font-family:var(--label);
  color:var(--accent2);
}
.pageReturn a:hover,
.pageReturn a:focus-visible{
  background:#fff;
  border-color:#A8957F;
}
@media(max-width:820px){
  body#top .section{
    padding-top:92px;
  }
  body#top .section h2,
  body#top .sectionHead h2{
    font-size:clamp(25px,8vw,32px);
    line-height:1.65;
  }
  body#top .readingDirectory__links a,
  body#top .toc a{
    padding-top:22px;
    padding-bottom:22px;
  }
  .pageReturn{
    padding-top:52px;
    justify-content:center;
  }
  .pageReturn a{
    width:100%;
    justify-content:center;
  }
}
/* maison-editorial-polish:end */

/* atelier-depth-v22:start */
:root{
  --bg:#F0EAE1;
  --surface:#FFFDF8;
  --text:#171813;
  --sub:#4E493F;
  --accent:#26382D;
  --accent-hover:#17251D;
  --accent2:#9A6E51;
  --line:#CFC4B3;
  --shadow-soft:0 24px 70px rgba(29,26,21,.06);
  --shadow-card:0 32px 90px rgba(29,26,21,.11);
}
body#top .masthead{
  padding:20px 0 0;
  background:#F4EFE6;
}
body#top .masthead svg{
  width:min(184px,54vw);
  max-height:92px;
}
body#top .navband{
  background:#F4EFE6;
}
body#top .navband nav{
  min-height:50px;
  gap:48px;
  font-size:12px;
  letter-spacing:.08em;
}
body#top .navband nav a{
  color:#2F302B;
}
body#top .heroTitle{
  min-height:560px;
  padding-top:62px;
  padding-bottom:60px;
  background:
    linear-gradient(90deg,rgba(12,15,13,.86) 0%,rgba(12,15,13,.68) 46%,rgba(12,15,13,.24) 100%),
    url("/assets/revenue/reservation-lobby.jpg") center/cover;
}
body#top .heroTitle .heroGrid{
  grid-template-columns:74px minmax(0,880px);
  gap:38px;
}
body#top .heroTitle h1{
  font-size:clamp(42px,4.6vw,58px);
  line-height:1.46;
  letter-spacing:.06em;
  margin-bottom:22px;
}
body#top .heroTitle .lead{
  max-width:43em;
  font-size:16px;
  line-height:2.12;
  text-shadow:0 12px 34px rgba(0,0,0,.32);
}
body#top .heroActions{
  margin-top:28px;
}
body#top .heroTitle .heroAction{
  min-width:208px;
  min-height:52px;
  justify-content:center;
  font-weight:500;
  letter-spacing:.06em;
}
body#top .heroTitle .dateline{
  margin-top:16px;
  letter-spacing:.18em;
}
body#top .heroTitle .prnote{
  margin-top:24px;
  color:#CFC1AE;
}
body#top .killerZone{
  padding:62px 36px 70px;
  background:#E9E0D2;
}
body#top .killerZone__head{
  max-width:60em;
  margin-bottom:32px;
}
body#top .killerZone__lead{
  font-size:15px;
  line-height:2.05;
}
body#top .homeDirectCtas{
  padding:0;
  background:#1F2A22;
  border:1px solid #1F2A22;
  box-shadow:none;
}
body#top .homeDirectCtas__label{
  padding:24px 26px 0;
  color:#D9BE9A;
}
body#top .homeDirectCtas__links{
  gap:0;
  margin-top:18px;
  border-top:1px solid rgba(248,244,234,.18);
}
body#top .homeDirectCta{
  position:relative;
  min-height:132px;
  padding:26px 48px 26px 26px;
  background:transparent;
  border:0;
  border-right:1px solid rgba(248,244,234,.18);
  color:#F8F4EA;
}
body#top .homeDirectCta:last-child{
  border-right:0;
}
body#top .homeDirectCta::after{
  content:"";
  position:absolute;
  right:24px;
  top:50%;
  width:24px;
  height:1px;
  background:#D9BE9A;
  transform:translateY(-50%);
}
body#top .homeDirectCta span{
  color:#D9BE9A;
  letter-spacing:.24em;
}
body#top .homeDirectCta b{
  color:#F8F4EA;
}
body#top .homeDirectCta:hover,
body#top .homeDirectCta:focus-visible{
  background:rgba(248,244,234,.07);
  transform:none;
}
body#top .homeDirectCtas__note{
  padding:0 26px 24px;
  color:#CFC1AE;
}
@media(min-width:981px){
  body#top .killerGrid{
    grid-template-columns:1.28fr repeat(3,minmax(0,1fr));
    gap:26px;
  }
  body#top .killerCard{
    display:flex;
    flex-direction:column;
    min-height:520px;
  }
  body#top .killerCard--main{
    min-height:580px;
  }
  body#top .killerCard__photo{
    aspect-ratio:16/11;
  }
  body#top .killerCard--main .killerCard__photo{
    aspect-ratio:4/3;
  }
  body#top .killerCard__body{
    display:flex;
    flex:1;
    flex-direction:column;
  }
  body#top .killerCard__cta{
    align-self:flex-start;
    margin-top:auto;
  }
}
body#top .killerCard,
body#top .card,
body#top .product-card,
body#top .featureGrid .feature{
  border-color:#CABDA9;
}
body#top .killerCard__photo,
body#top .card .ph,
body#top .product-card__image,
body#top .featureGrid .imageLink{
  border-color:#CABDA9;
}
body#top .section{
  padding-top:138px;
}
body#top .section h2,
body#top .sectionHead h2{
  font-size:clamp(32px,3.8vw,46px);
  letter-spacing:.105em;
}
body#top .pageReturn a{
  background:#FFFDF8;
}
@media(max-width:820px){
  body#top .masthead{
    padding-top:16px;
  }
  body#top .masthead svg{
    width:min(164px,56vw);
    max-height:82px;
  }
  body#top .navband nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    min-height:0!important;
    padding:10px 22px!important;
  }
  body#top .navband nav a{
    display:flex!important;
    width:auto!important;
    max-width:none!important;
    align-items:center;
    justify-content:center;
    padding:9px 4px!important;
    border-bottom:1px solid rgba(207,196,179,.62);
    font-size:12px;
  }
  body#top .heroTitle{
    min-height:480px;
    padding-top:28px;
    padding-bottom:28px;
    background:
      linear-gradient(180deg,rgba(12,15,13,.78) 0%,rgba(12,15,13,.66) 54%,rgba(12,15,13,.44) 100%),
      url("/assets/revenue/reservation-lobby.jpg") center/cover;
  }
  body#top .heroTitle .heroGrid{
    grid-template-columns:1fr;
    gap:20px;
  }
  body#top .heroTitle h1{
    font-size:clamp(30px,9.4vw,37px);
    line-height:1.36;
    letter-spacing:.045em;
    margin-bottom:16px;
  }
  body#top .heroTitle .lead{
    font-size:13px;
    line-height:1.86;
  }
  body#top .heroActions{
    margin-top:18px;
    gap:8px;
  }
  body#top .heroTitle .heroAction{
    min-height:48px;
  }
  body#top .heroTitle .dateline{
    margin-top:10px;
    font-size:10px;
  }
  body#top .heroTitle .prnote{
    margin-top:8px;
    font-size:11px;
    line-height:1.7;
  }
  body#top .homeDirectCtas{
    margin-top:24px;
  }
  body#top .homeDirectCtas__links{
    grid-template-columns:1fr;
  }
  body#top .homeDirectCta{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(248,244,234,.18);
  }
  body#top .homeDirectCta:last-child{
    border-bottom:0;
  }
  body#top .killerZone{
    padding:40px 20px 48px;
  }
  body#top .section{
    padding-top:96px;
  }
}
/* atelier-depth-v22:end */

/* verification-polish-v23:start */
.genre-hero img[src*="summer-v3"],
.genre-hero img[src*="travel-v2"]{
  object-position:center center;
}
.leadShelf{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin:30px 0 42px;
}
.leadBook{
  display:grid;
  grid-template-columns:minmax(150px,38%) 1fr;
  gap:22px;
  padding:22px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:0;
  box-shadow:none;
}
.leadBook img{
  width:100%;
  height:auto;
  display:block;
  border-radius:0;
}
.leadBook h2{
  font-size:25px;
  line-height:1.45;
  margin:8px 0 12px;
}
.leadBook p{
  line-height:1.9;
}
.leadBook .hook{
  font-weight:700;
  font-size:17px;
  color:var(--text);
}
.leadBook .fit{
  padding:12px 14px;
  background:rgba(230,222,207,.42);
  border-left:3px solid var(--accent);
  font-size:14px;
}
.leadBook .micro{
  font-size:11px;
  color:var(--muted);
  text-align:center;
  margin:8px 0 0;
}
@media(max-width:760px){
  .leadShelf{grid-template-columns:1fr}
  .leadBook{
    grid-template-columns:120px 1fr;
    gap:16px;
    padding:16px;
  }
  .leadBook h2{font-size:20px}
  .leadBook .hook,
  .leadBook .fit,
  .leadBook .actions,
  .leadBook .micro{grid-column:1/-1}
}
/* verification-polish-v23:end */

/* final-proof-v24:start */
.a8TrackPixel{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:820px){
  body#top .heroTitle h1{
    font-size:clamp(28px,7.3vw,30px);
    line-height:1.38;
    letter-spacing:.035em;
    word-break:keep-all;
    overflow-wrap:normal;
  }
}
/* final-proof-v24:end */

/* premium-depth-v25:start */
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
@media(max-width:820px){
  p,
  .lead,
  .secLead,
  .fBody p,
  .card .judge,
  .product-card__desc,
  .purchaseSupport p,
  .buyerGuide p,
  .purchaseSupport li,
  .buyerGuide li,
  .priceCompare p,
  .revenueFocus p{
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict!important;
  }
}
body#top{
  background:#EFE7DB;
}
body#top .masthead,
body#top .navband{
  background:#F5EFE6;
}
body#top .heroTitle{
  min-height:640px;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(9,12,10,.88) 0%,rgba(9,12,10,.70) 42%,rgba(9,12,10,.30) 72%,rgba(9,12,10,.18) 100%),
    url("/assets/revenue/reservation-lobby.jpg") center/cover;
}
body#top .heroTitle::before{
  content:"";
  position:absolute;
  inset:24px;
  z-index:0;
  border:1px solid rgba(248,244,234,.18);
  pointer-events:none;
}
body#top .heroTitle .heroGrid{
  width:min(980px,100%);
  max-width:980px;
}
body#top .heroTitle h1{
  max-width:10em;
  font-size:clamp(48px,5.2vw,72px);
  line-height:1.32;
  letter-spacing:.045em;
}
body#top .heroTitle .lead{
  max-width:45em;
  font-size:16px;
  line-height:2.25;
}
body#top .heroActions{
  gap:12px;
}
body#top .heroTitle .heroAction{
  min-width:220px;
  background:rgba(255,253,248,.96);
  border-color:rgba(255,253,248,.96);
  color:#142118;
}
body#top .heroTitle .heroAction:not(.heroAction--primary){
  background:rgba(255,253,248,.12);
  color:#F8F4EA;
  border-color:rgba(248,244,234,.52);
  box-shadow:none;
}
body#top .heroTitle .heroAction:not(.heroAction--primary):hover,
body#top .heroTitle .heroAction:not(.heroAction--primary):focus-visible{
  background:rgba(255,253,248,.96);
  color:#142118;
}
.editorialProof{
  background:#151D17;
  color:#F8F4EA;
}
.editorialProof__inner{
  max-width:1120px;
  margin:0 auto;
  padding:28px 28px 30px;
}
.editorialProof__label{
  margin-bottom:18px;
  color:#D6B78D;
  font-family:var(--label);
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.editorialProof__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(248,244,234,.18);
  border-left:1px solid rgba(248,244,234,.18);
}
.editorialProof__grid a{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:4px 18px;
  min-height:118px;
  padding:22px;
  color:#F8F4EA;
  text-decoration:none;
  border-right:1px solid rgba(248,244,234,.18);
  border-bottom:1px solid rgba(248,244,234,.18);
  transition:background .2s ease,color .2s ease;
}
.editorialProof__grid a:hover,
.editorialProof__grid a:focus-visible{
  background:rgba(248,244,234,.07);
}
.editorialProof__grid span{
  grid-row:1/3;
  align-self:start;
  color:#D6B78D;
  font-family:var(--serif);
  font-size:42px;
  line-height:1;
}
.editorialProof__grid b{
  font-family:var(--serif);
  font-size:17px;
  font-weight:500;
  line-height:1.65;
  letter-spacing:.06em;
}
.editorialProof__grid em{
  color:#D4CEC2;
  font-size:12px;
  font-style:normal;
  line-height:1.8;
}
body#top .killerZone{
  max-width:none;
  padding:92px max(28px,calc((100vw - 1180px)/2)) 110px;
  background:#E8DED0;
}
body#top .killerZone__head{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:38px;
  max-width:1120px;
  margin:0 auto 42px;
}
body#top .killerZone__head .eyebrow{
  margin-top:14px;
}
body#top .killerZone__head h2{
  max-width:12em;
  font-size:clamp(36px,4.3vw,58px);
  line-height:1.36;
}
body#top .killerZone__lead{
  grid-column:2;
  max-width:48em;
  margin-top:-20px;
  color:#494238;
}
body#top .homeDirectCtas{
  max-width:1120px;
  margin:0 auto 34px;
  background:#1A241C;
  border:0;
}
body#top .homeDirectCtas__links{
  grid-template-columns:1.25fr repeat(3,minmax(0,1fr));
}
body#top .homeDirectCta{
  min-height:116px;
}
body#top .homeDirectCta b{
  font-size:14px;
}
body#top .homeDirectCtas__note{
  font-size:10px;
  opacity:.82;
}
body#top .killerGrid{
  max-width:1120px;
  margin:0 auto;
}
@media(min-width:981px){
  body#top .killerGrid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,.95fr));
    gap:24px;
  }
  body#top .killerCard{
    min-height:560px;
  }
  body#top .killerCard--main{
    min-height:640px;
  }
  body#top .killerCard__photo{
    aspect-ratio:4/3;
  }
  body#top .killerCard--main .killerCard__photo{
    aspect-ratio:1/1;
  }
}
body#top .killerCard{
  background:#FFFDF8;
  border:1px solid #BFAF99;
  box-shadow:0 30px 80px rgba(36,31,24,.08);
}
body#top .killerCard__photo{
  background:#201A14;
}
body#top .killerCard__photo img{
  object-fit:cover;
  filter:saturate(.88) contrast(1.02);
  transition:transform .5s ease,filter .5s ease;
}
body#top .killerCard:hover .killerCard__photo img,
body#top .killerCard:focus-visible .killerCard__photo img{
  transform:scale(1.035);
  filter:saturate(.98) contrast(1.05);
}
body#top .killerCard__body{
  padding:30px 30px 34px;
}
body#top .killerCard h3{
  font-size:clamp(21px,2.3vw,30px);
  line-height:1.64;
}
body#top .killerCard p{
  margin-top:14px;
  color:#4B453B;
}
body#top .killerCard__cta{
  min-height:46px;
  padding:13px 20px;
  background:#243429;
  color:#fff;
  border-color:#243429;
}
body#top .killerZone__jump{
  max-width:1120px;
  margin:34px auto 0;
}
body#top .homeTrust{
  max-width:1120px;
  margin:44px auto 0;
  background:#FFFDF8;
  border:0;
  border-left:5px solid #243429;
  box-shadow:0 24px 70px rgba(36,31,24,.07);
}
body#top .feature{
  gap:76px;
}
body#top .feature .fMedia{
  background:#F7F1E8;
}
body#top .feature .fBody{
  padding-top:10px;
}
body#top .feature .fBody .kicker{
  color:#9A6E51;
}
.cta,
.cardAction,
.compareButton,
.heroAction{
  border-radius:0;
  text-transform:none;
}
.cta--amazon{
  margin-left:10px;
}
.priceCompare,
.becauseBlock,
.purchaseSupport{
  border-color:#BFAF99;
  background:#FFFDF8;
  box-shadow:0 22px 62px rgba(36,31,24,.06);
}
.priceCompare{
  padding:30px;
}
.compareTitle{
  font-size:22px;
}
.compareGrid{
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.compareCard{
  min-height:192px;
  background:#FFFDF8;
  border:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.compareButton{
  min-height:44px;
}
.cta,
.cardAction,
.compareButton,
.compareButtons a,
.heroAction{
  white-space:nowrap;
  letter-spacing:.06em;
}
.compareCard .compareButton{
  min-width:142px;
  padding-right:18px;
  padding-left:18px;
}
.cardActions,
.compareButtons,
.heroActions{
  row-gap:10px;
}
.becauseGrid{
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.becauseCard{
  padding:18px;
  border-top:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.purchaseCheckList{
  gap:0;
  border-top:1px solid var(--line);
}
.purchaseCheckList li{
  padding:16px 0;
}
main.wrap .feature{
  align-items:start;
}
main.wrap .feature .fMedia{
  position:sticky;
  top:24px;
}
main.wrap .feature .fBody > h2:first-of-type{
  font-size:clamp(30px,3.4vw,44px);
}
@media(max-width:980px){
  .editorialProof__grid{
    grid-template-columns:1fr;
  }
  body#top .killerZone__head{
    grid-template-columns:1fr;
    gap:16px;
  }
  body#top .killerZone__lead{
    grid-column:auto;
    margin-top:0;
  }
  body#top .homeDirectCtas__links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  main.wrap .feature .fMedia{
    position:static;
  }
}
@media(max-width:820px){
  body#top .heroTitle{
    min-height:540px;
    padding:44px 22px 42px;
  }
  body#top .heroTitle::before{
    inset:14px;
  }
  body#top .heroTitle h1{
    max-width:9em;
    font-size:clamp(34px,10vw,44px);
    line-height:1.28;
  }
  body#top .heroTitle .lead{
    font-size:13px;
    line-height:1.95;
  }
  .editorialProof__inner{
    padding:22px;
  }
  .editorialProof__grid a{
    grid-template-columns:52px minmax(0,1fr);
    min-height:0;
    padding:18px 0;
    border-right:0;
  }
  .editorialProof__grid span{
    font-size:32px;
  }
  body#top .killerZone{
    padding:56px 22px 70px;
  }
  body#top .killerZone__head h2{
    max-width:10em;
    font-size:clamp(28px,8.5vw,38px);
  }
  body#top .homeDirectCtas__links{
    grid-template-columns:1fr;
  }
  body#top .homeDirectCta{
    min-height:0;
  }
  body#top .killerCard__photo,
  body#top .killerCard--main .killerCard__photo{
    aspect-ratio:16/10;
  }
  body#top .killerCard__body{
    padding:24px 22px 28px;
  }
  body#top .homeTrust{
    padding:22px;
  }
  .priceCompare,
  .becauseBlock,
  .purchaseSupport{
    box-shadow:none;
  }
  .priceCompare{
    padding:22px;
  }
  .compareGrid{
    grid-template-columns:1fr;
  }
  .becauseGrid{
    grid-template-columns:1fr;
  }
  .cta,
  .cta--amazon,
  .cardAction,
  .compareButton{
    justify-content:center;
    width:100%;
    margin-right:0;
    margin-left:0;
    text-align:center;
  }
}
/* premium-depth-v25:end */

/* maison-foundation-v26:start */
:root{
  --luxury-ink:#111612;
  --luxury-green:#16231A;
  --luxury-gold:#C5A77B;
  --luxury-paper:#F6F0E6;
  --luxury-stone:#D7CBB8;
}
body{
  background:#EFE7DB;
}
.masthead{
  border-bottom:0;
}
.navband{
  border-top:1px solid rgba(92,76,55,.14);
  border-bottom:1px solid rgba(92,76,55,.22);
}
.navband nav a{
  position:relative;
  padding-bottom:2px;
}
.navband nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:1px;
  background:var(--accent);
  transform:translateX(-50%);
  transition:width .22s ease;
}
.navband nav a:hover::after,
.navband nav a:focus-visible::after{
  width:100%;
}
body#top .heroTitle{
  min-height:min(76vh,760px);
  background:
    radial-gradient(circle at 72% 42%,rgba(198,151,86,.18),transparent 32%),
    linear-gradient(90deg,rgba(5,8,6,.92) 0%,rgba(5,8,6,.76) 43%,rgba(5,8,6,.34) 74%,rgba(5,8,6,.20) 100%),
    url("/assets/revenue/reservation-lobby.jpg") center/cover;
}
body#top .heroTitle .heroGrid{
  align-items:center;
  max-width:1120px;
}
body#top .heroTitle h1{
  text-shadow:0 2px 28px rgba(0,0,0,.42);
}
body#top .heroTitle .lead{
  text-shadow:0 1px 18px rgba(0,0,0,.38);
}
body#top .heroTitle .heroAction{
  min-height:52px;
  padding:14px 24px;
  font-weight:500;
}
.editorialProof{
  border-top:1px solid rgba(248,244,234,.14);
  border-bottom:1px solid rgba(248,244,234,.14);
}
.editorialProof__inner{
  padding-top:32px;
  padding-bottom:34px;
}
.editorialProof__grid{
  background:rgba(255,255,255,.02);
}
.editorialProof__grid a{
  min-height:132px;
}
.editorialMethod{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.35fr);
  gap:72px;
  padding:96px max(28px,calc((100vw - 1180px)/2));
  background:#F6F0E6;
  border-bottom:1px solid var(--luxury-stone);
}
.editorialMethod__copy h2{
  max-width:9.5em;
  margin:0 0 24px;
  font-family:var(--serif);
  font-size:clamp(34px,4.4vw,58px);
  font-weight:500;
  line-height:1.36;
  letter-spacing:.08em;
}
.editorialMethod__copy p:not(.eyebrow){
  max-width:38em;
  color:#4D463C;
  line-height:2.15;
}
.editorialMethod__steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--luxury-stone);
  border-left:1px solid var(--luxury-stone);
}
.editorialMethod__steps li{
  min-height:300px;
  padding:28px 26px 30px;
  background:#FFFCF6;
  border-right:1px solid var(--luxury-stone);
  border-bottom:1px solid var(--luxury-stone);
}
.editorialMethod__steps span{
  display:block;
  margin-bottom:54px;
  color:#AD7C56;
  font-family:var(--label);
  font-size:11px;
  letter-spacing:.28em;
}
.editorialMethod__steps b{
  display:block;
  margin-bottom:16px;
  font-family:var(--serif);
  font-size:21px;
  font-weight:500;
  line-height:1.65;
  letter-spacing:.08em;
}
.editorialMethod__steps p{
  margin:0;
  color:#5C5448;
  font-size:13px;
  line-height:2;
}
body#top .killerZone{
  padding-top:110px;
}
body#top .killerZone__head{
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
}
body#top .killerZone__head h2{
  letter-spacing:.08em;
}
body#top .homeDirectCtas{
  box-shadow:0 30px 90px rgba(20,25,19,.16);
}
body#top .killerCard{
  display:flex;
  flex-direction:column;
}
body#top .killerCard__body{
  display:flex;
  flex:1;
  flex-direction:column;
}
body#top .killerCard__cta{
  align-self:flex-start;
  margin-top:auto;
  font-family:var(--label);
  font-size:12px;
  letter-spacing:.08em;
}
.feature,
.featureGrid .feature,
.product-card,
.card,
.priceCompare,
.becauseBlock,
.purchaseSupport,
.buyerGuide,
.travelPanel,
.travelInfoCard,
.adultHotelCard,
.stayChoiceCard,
.nearbyCard,
.revenueInfoCard{
  border-radius:0!important;
}
.feature .fMedia img,
.product-card__image img,
.card .ph img,
.killerCard__photo img,
.travelHero img,
.genre-hero img,
.adultHotelCard img,
.stayRegion .card img,
.carSizePhoto img{
  image-rendering:auto;
}
.priceCompare{
  background:#FFFDF8;
}
.compareCard{
  padding:22px 20px;
}
.compareButton,
.cta,
.cardAction,
.heroAction{
  min-height:46px;
  border-radius:0;
}
.compareButton:hover,
.compareButton:focus-visible,
.cta:hover,
.cta:focus-visible,
.cardAction:hover,
.cardAction:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(22,35,26,.16);
}
main.wrap{
  max-width:1160px;
}
main.wrap .feature{
  grid-template-columns:minmax(360px,.95fr) minmax(440px,1fr);
  gap:86px;
}
main.wrap .feature .fMedia{
  top:42px;
}
main.wrap .feature .fMedia img{
  max-height:560px;
  object-fit:contain;
}
main.wrap .fBody{
  max-width:600px;
}
@media(max-width:980px){
  body#top .killerZone__head{
    grid-template-columns:1fr;
    gap:16px;
  }
  body#top .killerZone__lead{
    grid-column:auto;
    margin-top:0;
  }
  .editorialMethod{
    grid-template-columns:1fr;
    gap:38px;
  }
  .editorialMethod__steps{
    grid-template-columns:1fr;
  }
  .editorialMethod__steps li{
    min-height:0;
  }
  .editorialMethod__steps span{
    margin-bottom:26px;
  }
  main.wrap .feature{
    grid-template-columns:1fr;
    gap:34px;
  }
  main.wrap .fBody{
    max-width:none;
  }
}
@media(max-width:820px){
  body#top .heroTitle{
    min-height:560px;
    background:
      linear-gradient(180deg,rgba(5,8,6,.86) 0%,rgba(5,8,6,.72) 52%,rgba(5,8,6,.54) 100%),
      url("/assets/revenue/reservation-lobby.jpg") center/cover;
  }
  body#top .heroTitle h1{
    font-size:clamp(33px,9.2vw,42px);
    max-width:8em;
    word-break:normal;
    overflow-wrap:normal;
  }
  body#top .section h2,
  body#top .sectionHead h2,
  body#top .killerZone__head h2,
  .editorialMethod__copy h2{
    word-break:normal;
    overflow-wrap:normal;
  }
  body#top .heroTitle .heroAction{
    min-height:50px;
  }
  .editorialMethod{
    padding:64px 22px;
  }
  .editorialMethod__copy h2{
    font-size:clamp(28px,8.4vw,40px);
  }
  .editorialMethod__steps li{
    padding:24px 22px;
  }
  .editorialMethod__steps b{
    font-size:19px;
  }
  body#top .killerZone{
    padding-top:66px;
  }
  .compareButton,
  .cta,
  .cardAction,
  .heroAction{
    white-space:normal;
  }
  .compareCard .compareButton{
    width:auto;
    min-width:0;
  }
  main.wrap .feature .fMedia img{
    max-height:none;
  }
}
/* maison-foundation-v26:end */

/* category-maison-v27:start */
/* This layer is linked only by category and guide pages. */
:root{
  --category-ink:#172019;
  --category-paper:#FBF8F2;
  --category-stone:#E5DDD1;
  --category-gold:#A8784E;
}
body{
  background:var(--category-paper);
  color:var(--category-ink);
}
.masthead{
  background:var(--category-paper);
  padding-top:54px;
}
.navband{
  margin-top:34px;
  border-color:rgba(23,32,25,.18);
}
.navband nav a{
  color:#3E453E;
}
.navband nav a::after{
  background:var(--category-gold);
}
main.wrap,
main.article{
  max-width:1180px;
  padding-right:36px;
  padding-left:36px;
}
main.wrap > .section,
main.article > .section{
  position:relative;
  margin:0;
  padding:96px 0;
  border-top:1px solid var(--category-stone);
}
main.wrap > .section:first-child,
main.article > .section:first-child{
  margin-top:54px;
  padding-top:0;
  border-top:0;
}
main.wrap > .section + .section::before,
main.article > .section + .section::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:88px;
  height:1px;
  background:var(--category-gold);
}
main.wrap h1,
main.article h1{
  max-width:14em;
  margin:16px 0 26px;
  color:var(--category-ink);
  font-family:var(--serif);
  font-size:clamp(38px,5vw,68px);
  font-weight:500;
  line-height:1.34;
  letter-spacing:.08em;
}
main.wrap h2,
main.article h2{
  max-width:18em;
  color:var(--category-ink);
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:.08em;
}
main.wrap .eyebrow,
main.article .eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--category-gold);
  font-size:10px;
  letter-spacing:.24em;
}
main.wrap .eyebrow::after,
main.article .eyebrow::after{
  content:"";
  width:42px;
  height:1px;
  background:currentColor;
  opacity:.48;
}
main.wrap .secLead,
main.article .secLead{
  max-width:48em;
  color:#535B52;
  font-size:15px;
  line-height:2.1;
}
.genre-hero,
.travelPhoto,
.revenuePhoto,
.stayRegionVisual{
  border:1px solid var(--category-stone);
  background:#EAE2D6;
}
.genre-hero{
  margin-bottom:52px;
}
.genre-hero img,
.travelPhoto img,
.revenuePhoto img,
.stayRegionVisual img{
  display:block;
  width:100%;
  height:clamp(260px,38vw,520px);
  object-fit:cover;
  filter:saturate(.9) contrast(.98);
}
.travelPhoto--hero img{
  height:clamp(280px,44vw,580px);
}
.product-card,
.card,
.featureGrid .feature,
.travelInfoCard,
.travelPanel,
.travelDecisionCard,
.travelPickCard,
.stayChoiceCard,
.adultHotelCard,
.nearbyBlock,
.bestPriceCard,
.carSizeCard,
.priceFactor{
  border-color:var(--category-stone)!important;
  background:rgba(255,253,248,.76)!important;
  box-shadow:none!important;
}
.product-card,
.card,
.featureGrid .feature,
.travelInfoCard,
.travelPanel,
.travelDecisionCard,
.travelPickCard,
.stayChoiceCard,
.adultHotelCard,
.nearbyBlock,
.bestPriceCard,
.carSizeCard,
.priceFactor{
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.product-card:hover,
.card:hover,
.featureGrid .feature:hover,
.travelInfoCard:hover,
.travelPanel:hover,
.travelDecisionCard:hover,
.travelPickCard:hover,
.stayChoiceCard:hover,
.adultHotelCard:hover,
.bestPriceCard:hover,
.carSizeCard:hover,
.priceFactor:hover{
  border-color:#B99A77!important;
  background:#FFFDF9!important;
  transform:translateY(-2px);
}
.product-card__image,
.card .ph,
.featureGrid .imageLink,
.carSizePhoto,
.adultHotelPhoto{
  background:#F1E9DE;
}
.product-card__image img,
.featureGrid .imageLink img,
.carSizePhoto img,
.adultHotelPhoto img{
  object-fit:contain;
  mix-blend-mode:multiply;
}
.product-card__body,
.card .cardBody,
.carSizeBody,
.adultHotelBody{
  padding-top:26px;
}
.product-card__meta,
.carSizeCard dl,
.travelFacts,
.petFacts,
.nearbyMeta{
  border-color:var(--category-stone);
}
.product-card__meta > *,
.carSizeCard dl > div,
.travelFacts > div,
.petFacts > p,
.nearbyMeta > div{
  border-color:var(--category-stone);
}
.cardAction,
.cta,
.compareButton,
.homeDirectCta{
  border-color:var(--category-ink);
  background:var(--category-ink);
  color:#FFFDF8;
  font-weight:500;
  letter-spacing:.1em;
}
.cardAction:hover,
.cardAction:focus-visible,
.cta:hover,
.cta:focus-visible,
.compareButton:hover,
.compareButton:focus-visible,
.homeDirectCta:hover,
.homeDirectCta:focus-visible{
  border-color:#705139;
  background:#705139;
  color:#FFFDF8;
}
.cardAction:focus-visible,
.cta:focus-visible,
.compareButton:focus-visible,
.homeDirectCta:focus-visible{
  outline:2px solid var(--category-gold);
  outline-offset:3px;
}
.adultTravelHero,
.revenuePage > .section:first-child{
  padding:clamp(34px,6vw,80px);
  background:var(--category-ink);
  border:1px solid var(--category-ink)!important;
}
.adultTravelHero h1,
.revenuePage > .section:first-child h1,
.adultTravelHero h2,
.revenuePage > .section:first-child h2{
  color:#FFFDF8;
}
.adultTravelHero .secLead,
.revenuePage > .section:first-child .secLead,
.adultTravelHero .storeNote,
.revenuePage > .section:first-child .storeNote{
  color:rgba(255,253,248,.78);
}
body#top .adultTravelHero .secLead,
body#top .revenuePage > .section:first-child .secLead{
  color:rgba(255,253,248,.82)!important;
}
body#top .adultTravelHero .storeNote,
body#top .revenuePage > .section:first-child .storeNote{
  color:rgba(255,253,248,.72)!important;
}
.adultTravelHero .eyebrow,
.revenuePage > .section:first-child .eyebrow{
  color:#D7B589;
}
.adultTravelHero .travelPhoto,
.revenuePage > .section:first-child .revenuePhoto{
  margin-top:42px;
  border-color:rgba(255,253,248,.32);
}
.adultTravelHero .cardAction,
.revenuePage > .section:first-child .cardAction{
  border-color:#E5C8A1;
  background:#E5C8A1;
  color:#172019;
}
.adultTravelHero .cardAction:hover,
.adultTravelHero .cardAction:focus-visible,
.revenuePage > .section:first-child .cardAction:hover,
.revenuePage > .section:first-child .cardAction:focus-visible{
  border-color:#FFFDF8;
  background:#FFFDF8;
  color:#172019;
}
.adultTravelNav,
.travelPickGrid,
.stayMetricStrip{
  border-color:var(--category-stone);
}
.adultTravelNav a,
.travelPickCard{
  border-color:var(--category-stone);
}
.adultTravelNav a:hover,
.adultTravelNav a:focus-visible,
.travelPickCard:hover,
.travelPickCard:focus-visible{
  color:var(--category-ink);
  background:#F3ECE2;
}
.revenueFocus,
.travelRouteBridge,
.a8BookingHub{
  margin:76px 0 0;
  padding:clamp(28px,4vw,54px);
  border:1px solid var(--category-ink);
  background:var(--category-ink);
  color:#FFFDF8;
}
.revenueFocus h2,
.travelRouteBridge h2,
.a8BookingHub h2,
.a8BookingHub h3,
.revenueFocus p,
.travelRouteBridge p,
.a8BookingHub p{
  color:inherit;
}
.revenueFocus .eyebrow,
.travelRouteBridge .eyebrow,
.a8BookingHub .eyebrow{
  color:#D7B589;
}
.revenueFocus .cardAction,
.travelRouteBridge .cardAction,
.a8BookingHub .cardAction,
.a8BookingHub .a8PartnerCard{
  border-color:#E5C8A1;
  background:#E5C8A1;
  color:#172019;
}
.a8BookingHub .a8PartnerCard{
  box-shadow:none;
}
.revenueFocus .storeNote,
.travelRouteBridge .storeNote,
.a8BookingHub .storeNote{
  color:rgba(255,253,248,.68);
}
.guideArticle{
  max-width:980px!important;
}
.guideArticle > .section:first-child,
main.article > .section:first-child{
  padding:clamp(34px,6vw,80px);
  background:#F0E6D8;
  border:1px solid var(--category-stone)!important;
}
.guideArticle .section + .section,
main.article .section + .section{
  max-width:800px;
  margin-right:auto;
  margin-left:auto;
}
.guideArticle .section h2,
main.article .section h2{
  font-size:clamp(24px,3vw,36px);
  line-height:1.58;
}
.guideArticle p,
main.article p{
  color:#50584F;
  line-height:2.15;
}
.guideArticle table,
.guideArticle dl,
main.article table,
main.article dl{
  border-color:var(--category-stone);
}
@media(max-width:820px){
  .masthead{
    padding-top:30px;
  }
  main.wrap,
  main.article{
    padding-right:22px;
    padding-left:22px;
  }
  main.wrap > .section,
  main.article > .section{
    padding:62px 0;
  }
  main.wrap > .section:first-child,
  main.article > .section:first-child{
    margin-top:30px;
  }
  main.wrap h1,
  main.article h1{
    font-size:clamp(30px,9vw,44px);
    letter-spacing:.04em;
    line-height:1.42;
  }
  main.wrap .secLead,
  main.article .secLead{
    font-size:14px;
    line-height:2;
  }
  .genre-hero{
    margin-bottom:32px;
  }
  .genre-hero img,
  .travelPhoto img,
  .revenuePhoto img,
  .stayRegionVisual img,
  .travelPhoto--hero img{
    height:220px;
  }
  .adultTravelHero,
  .revenuePage > .section:first-child,
  .guideArticle > .section:first-child,
  main.article > .section:first-child{
    padding:28px 22px;
  }
  .revenueFocus,
  .travelRouteBridge,
  .a8BookingHub{
    margin-top:48px;
    padding:28px 22px;
  }
  .product-card:hover,
  .card:hover,
  .featureGrid .feature:hover,
  .travelInfoCard:hover,
  .travelPanel:hover,
  .travelDecisionCard:hover,
  .travelPickCard:hover,
  .stayChoiceCard:hover,
  .adultHotelCard:hover,
  .bestPriceCard:hover,
  .carSizeCard:hover,
  .priceFactor:hover{
    transform:none;
  }
}
/* category-maison-v27:end */

/* Source-backed planning notes for adult travel and pet-stay. */
.areaFieldNotes,
.petLocalGuide{
  margin-top:72px;
  padding-top:34px;
  border-top:1px solid var(--line);
}
.areaFieldNotesHead,
.petLocalRegionHead{
  max-width:760px;
}
.areaFieldNotesHead h2,
.areaFieldNotesHead h3,
.petLocalRegionHead h3{
  margin:0;
  color:var(--text);
  font-family:var(--serif);
  font-size:clamp(26px,3vw,39px);
  font-weight:500;
  line-height:1.45;
}
.areaFieldNotesHead p:not(.eyebrow),
.petLocalRegionHead p:not(.eyebrow){
  margin:16px 0 0;
  color:var(--sub);
  font-size:15px;
  line-height:2;
}
.fieldNoteGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:34px;
  border:1px solid var(--line);
  background:var(--line);
}
.fieldNoteCard{
  min-height:250px;
  padding:30px;
  background:var(--surface);
  display:flex;
  flex-direction:column;
}
.fieldNoteCard .eyebrow,
.petLocalCard .eyebrow{
  margin-bottom:16px;
  font-size:10px;
}

.travelReading{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:32px;
  margin-top:36px;
  padding:28px;
  border:1px solid var(--line);
  background:var(--surface);
}
.travelReadingCover{margin:0;align-self:start}
.travelReadingCover img{
  display:block;
  width:128px;
  height:182px;
  box-sizing:border-box;
  object-fit:contain;
  padding:4px;
  border:1px solid var(--line);
}
.travelReadingBody{max-width:700px}
.travelReadingBody h3{margin:0;font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.45;color:var(--text)}
.travelReadingBody h4{margin:16px 0 0;font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.65;color:var(--text)}
.travelReadingBody p:not(.eyebrow):not(.travelReadingMeta){margin:14px 0 0;color:var(--sub);font-size:14px;line-height:2}
.travelReadingMeta{margin:14px 0 0;color:var(--sub);font-size:12px;line-height:1.7}
.travelReading .fieldNoteAction{margin-top:22px}
.fieldNoteCard p:not(.eyebrow),
.petLocalCard p:not(.eyebrow){
  margin:0;
  color:#54564f;
  font-size:14px;
  line-height:1.9;
}
.fieldNoteAction{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  margin-top:auto;
  padding-top:22px;
  color:var(--accent);
  font-family:var(--label);
  font-size:11px;
  letter-spacing:.12em;
  line-height:1.45;
  text-decoration:none;
}
.fieldNoteAction span{
  font-family:var(--sans);
  font-size:16px;
  line-height:1;
  transition:transform .2s ease;
}
.fieldNoteAction:hover,
.fieldNoteAction:focus-visible{
  color:var(--accent-hover);
  text-decoration:underline;
  text-underline-offset:5px;
}
.fieldNoteAction:hover span,
.fieldNoteAction:focus-visible span{transform:translateX(3px)}
.fieldNoteDisclaimer{
  margin:20px 0 0;
  color:var(--sub);
  font-size:12px;
  line-height:1.9;
}
.petLocalRegions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:44px 28px;
  margin-top:38px;
}
.petLocalRegion{
  padding-top:22px;
  border-top:1px solid var(--line);
}
.petLocalRegionHead h3{font-size:clamp(23px,2.2vw,31px)}
.petLocalCards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:24px;
  border:1px solid var(--line);
  background:var(--line);
}
.petLocalCard{
  min-height:265px;
  padding:24px;
  background:var(--surface);
  display:flex;
  flex-direction:column;
}
.petLocalCard h4{
  margin:0 0 14px;
  color:var(--text);
  font-family:var(--serif);
  font-size:20px;
  font-weight:500;
  line-height:1.5;
}
main.wrap .adultTravelHero h1{
  color:#FFFDF8;
}
@media(max-width:820px){
  .areaFieldNotes,
  .petLocalGuide{
    margin-top:54px;
    padding-top:26px;
  }
  .areaFieldNotesHead h2,
  .areaFieldNotesHead h3,
  .petLocalRegionHead h3{font-size:28px}
  .areaFieldNotesHead p:not(.eyebrow),
  .petLocalRegionHead p:not(.eyebrow){font-size:14px}
  .fieldNoteGrid,
  .petLocalRegions{grid-template-columns:1fr}
  .fieldNoteGrid{margin-top:26px}
  .fieldNoteCard{min-height:0;padding:26px 22px}
  .travelReading{grid-template-columns:86px minmax(0,1fr);gap:18px;padding:22px}
  .travelReadingCover img{width:86px;height:122px}
  .travelReadingBody h3{font-size:22px}
  .travelReadingBody h4{font-size:16px}
  .travelReadingBody p:not(.eyebrow):not(.travelReadingMeta){font-size:13px;line-height:1.9}
  .petLocalRegions{gap:36px;margin-top:30px}
  .petLocalCards{grid-template-columns:1fr;margin-top:20px}
  .petLocalCard{min-height:0;padding:24px 22px}
  .fieldNoteAction{margin-top:20px;padding-top:0}
}

/* final editorial refinement v29: one visual system for the published site */
:root{
  --ref-paper:#F7F4EE;
  --ref-ink:#1F2921;
  --ref-muted:#5D665E;
  --ref-line:#DCD4C7;
  --ref-brass:#9B7658;
  --ref-dark:#223026;
}

body{
  background:var(--ref-paper);
  color:var(--ref-ink);
  font-size:15px;
  line-height:2;
}

/* Japanese prose must remain horizontal, readable, and free from character-by-character wraps. */
p, li, dd, .lead, .secLead, .judge, .editorNote, .product-card__desc,
.fBody p, .purchaseSupport li, .buyerGuide li, .travelPanel p,
.travelInfoCard p, .article p{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-break:strict;
  letter-spacing:0!important;
}

h1, h2, h3, h4{
  color:var(--ref-ink);
  letter-spacing:.035em!important;
  text-wrap:balance;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

.wrap,
main.wrap,
main.article{
  max-width:1180px;
}

/* Header: compact, calm, and visibly interactive without decorative noise. */
.masthead{
  padding-top:32px;
  background:var(--ref-paper);
}
.masthead svg{
  width:min(242px,68vw);
  max-height:132px;
}
.navband{
  margin-top:22px;
  border-color:var(--ref-line);
  background:rgba(247,244,238,.97);
}
.navband nav{
  gap:clamp(20px,3vw,48px);
  padding-top:17px;
  padding-bottom:17px;
}
.navband nav a{
  position:relative;
  color:#404940;
  font-size:11px;
  letter-spacing:.12em;
}
.navband nav a::after{
  bottom:-7px;
  background:var(--ref-brass);
}
.navband nav a:hover,
.navband nav a:focus-visible{color:var(--ref-ink)}

/* Homepage: a full-bleed image carries the first impression; no gradient overlay. */
body#top .heroTitle{
  min-height:clamp(540px,68vh,700px);
  margin-top:0;
  padding:clamp(64px,9vw,132px) max(28px,calc((100vw - 1120px)/2));
  background-color:rgba(24,35,27,.82);
  background-image:url("/assets/revenue/reservation-lobby.jpg");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-blend-mode:multiply;
}
body#top .heroTitle .heroGrid{
  max-width:760px;
  grid-template-columns:42px minmax(0,1fr);
  gap:30px;
}
body#top .heroTitle .vlabel{
  height:208px;
  color:#DAB88D;
  border-color:rgba(255,255,255,.28);
}
body#top .heroTitle h1{
  max-width:10em;
  color:#FFFDF8;
  font-size:clamp(42px,5.2vw,72px);
  font-weight:500;
  line-height:1.32;
  text-shadow:none;
}
body#top .heroTitle .lead{
  max-width:35em;
  margin-top:24px;
  color:rgba(255,253,248,.9);
  font-size:16px;
  line-height:2.05;
  text-shadow:none;
}
body#top .heroTitle .dateline,
body#top .heroTitle .prnote{color:rgba(255,253,248,.68)}
body#top .heroTitle .heroActions{gap:12px;margin-top:30px}
body#top .heroTitle .heroAction{
  min-height:50px;
  padding:13px 22px;
  border-color:rgba(255,253,248,.68);
  background:transparent;
  color:#FFFDF8;
  font-size:11px;
}
body#top .heroTitle .heroAction--primary,
body#top .heroTitle .heroAction:hover,
body#top .heroTitle .heroAction:focus-visible{
  border-color:#FFFDF8;
  background:#FFFDF8;
  color:var(--ref-ink);
}

/* Ruled editorial sections replace floating-panel visual clutter. */
.editorialProof{background:#F0EAE0;border-color:var(--ref-line)}
.editorialProof__inner{padding:28px max(28px,calc((100vw - 1120px)/2))}
.editorialProof__grid{background:transparent;border-color:var(--ref-line)}
.editorialProof__grid a{min-height:118px;background:transparent;border-color:var(--ref-line)}
.editorialProof__grid a:hover,.editorialProof__grid a:focus-visible{background:#FFFDF8}
.editorialMethod{
  gap:64px;
  padding:112px max(28px,calc((100vw - 1120px)/2));
  background:#FFFDF8;
  border-color:var(--ref-line);
}
.editorialMethod__copy h2{font-size:clamp(35px,4vw,56px);line-height:1.42}
.editorialMethod__copy p:not(.eyebrow),
.editorialMethod__steps p{color:var(--ref-muted)}
.editorialMethod__steps{border-color:var(--ref-line)}
.editorialMethod__steps li{
  min-height:270px;
  padding:28px 24px;
  background:transparent;
  border-color:var(--ref-line);
}
.editorialMethod__steps span{margin-bottom:48px;color:var(--ref-brass)}

body#top .killerZone{padding:112px max(28px,calc((100vw - 1120px)/2)) 0}
body#top .killerZone__head{gap:34px}
body#top .killerZone__head h2{font-size:clamp(36px,4.3vw,58px);line-height:1.35}
body#top .killerZone__lead{max-width:42em;color:var(--ref-muted);line-height:2.05}
body#top .homeDirectCtas{box-shadow:none;border-color:var(--ref-line)}
body#top .homeDirectCta,
.cta,
.compareButton,
.cardAction{
  border-color:var(--ref-dark);
  background:var(--ref-dark);
  color:#FFFDF8;
  border-radius:0;
  box-shadow:none;
}
body#top .homeDirectCta:hover,
body#top .homeDirectCta:focus-visible,
.cta:hover,.cta:focus-visible,
.compareButton:hover,.compareButton:focus-visible,
.cardAction:hover,.cardAction:focus-visible{
  border-color:#5D4433;
  background:#5D4433;
  color:#FFFDF8;
  box-shadow:none;
  transform:none;
}
body#top .killerGrid{gap:1px;background:var(--ref-line);border:1px solid var(--ref-line)}
body#top .killerCard{background:#FFFDF8;border:0}
body#top .killerCard:hover,body#top .killerCard:focus-visible{background:#F4EEE5;transform:none}
body#top .killerCard__photo{background:#EEE7DC}
body#top .killerCard__photo img{aspect-ratio:4/3;object-fit:cover;mix-blend-mode:normal}
body#top .killerCard__body{padding:25px 24px 28px}
body#top .killerCard__body h3{font-size:clamp(21px,2vw,28px);line-height:1.5}
body#top .killerCard__body p{color:var(--ref-muted);line-height:1.95}
body#top .killerCard__cta{background:var(--ref-dark);border-color:var(--ref-dark);color:#FFFDF8;letter-spacing:.08em}
body#top .homeTrust{border-color:var(--ref-line);background:#F1E9DE}

/* Product and category pages: one confident reading column, not a stack of generic cards. */
main.wrap{padding-right:36px;padding-left:36px}
main.wrap > .section{padding-top:104px}
main.wrap .feature{grid-template-columns:minmax(360px,.9fr) minmax(0,1fr);gap:clamp(52px,7vw,96px)}
main.wrap .feature .fMedia{
  aspect-ratio:4/5;
  padding:clamp(28px,4vw,54px);
  background:#FFFDF8;
  border-color:var(--ref-line);
}
main.wrap .feature .fMedia img{width:100%;height:100%;max-height:none;object-fit:contain}
main.wrap .fBody{max-width:610px;padding-top:6px}
main.wrap .fBody h1,
main.wrap .fBody h2,
main.wrap .fBody h3{font-size:clamp(30px,3.1vw,46px);line-height:1.42;margin:12px 0 20px}
main.wrap .fBody p{max-width:42em;color:var(--ref-muted);line-height:2.05}
.spec,.product-card__meta,.travelFacts,.petFacts{border-color:var(--ref-line)}
.spec dt,.spec dd,.product-card__meta > *, .travelFacts > div,.petFacts > p{border-color:var(--ref-line)}

.priceCompare{
  margin:54px 0;
  padding:clamp(26px,4vw,44px);
  border-color:var(--ref-dark);
  background:var(--ref-dark);
  color:#FFFDF8;
}
.priceCompare .compareTitle,.priceCompare .compareMall{color:#FFFDF8}
.priceCompare .compareLead,.priceCompare .compareDate,.priceCompare .comparePlaceholder{color:rgba(255,253,248,.72)}
.compareGrid{gap:0;border:1px solid rgba(255,253,248,.24)}
.compareCard{min-height:206px;padding:24px;background:transparent;border:0;border-right:1px solid rgba(255,253,248,.24)}
.compareCard:last-child{border-right:0}
.comparePrice{color:#FFFDF8}
.compareButton{margin-top:22px;border-color:#E7CFAB;background:#E7CFAB;color:var(--ref-dark)}
.compareButton:hover,.compareButton:focus-visible{border-color:#FFFDF8;background:#FFFDF8;color:var(--ref-dark)}

.becauseBlock,.purchaseSupport,.buyerGuide{
  margin-top:54px;
  padding:clamp(26px,4vw,44px);
  border-color:var(--ref-line);
  background:#FFFDF8;
}
.becauseBlock h2,.purchaseSupport h2,.buyerGuide h2{font-size:clamp(26px,2.8vw,36px);line-height:1.5}
.becauseBlock .secLead,.purchaseSupport .secLead,.buyerGuide .secLead{max-width:46em;color:var(--ref-muted)}
.becauseGrid,.purchaseCheckList,.buyerGuideGrid{border-color:var(--ref-line)}
.becauseCard,.purchaseCheckList li,.buyerGuideGrid > *{border-color:var(--ref-line)}
.purchaseCheckList li b{color:var(--ref-ink)}

.product-card,.card,.featureGrid .feature,.travelInfoCard,.travelPanel,.travelDecisionCard,
.travelPickCard,.stayChoiceCard,.adultHotelCard,.nearbyBlock,.bestPriceCard,.carSizeCard,.priceFactor{
  background:#FFFDF8!important;
  border-color:var(--ref-line)!important;
  box-shadow:none!important;
}
.product-card:hover,.card:hover,.featureGrid .feature:hover,.travelInfoCard:hover,.travelPanel:hover,
.travelDecisionCard:hover,.travelPickCard:hover,.stayChoiceCard:hover,.adultHotelCard:hover,
.bestPriceCard:hover,.carSizeCard:hover,.priceFactor:hover{background:#F4EEE5!important;border-color:#B59A7D!important;transform:none}
.product-card__image,.card .ph,.featureGrid .imageLink,.carSizePhoto,.adultHotelPhoto{background:#F1EAE0}
.product-card__image img,.card .ph img,.featureGrid .imageLink img,.carSizePhoto img,.adultHotelPhoto img{mix-blend-mode:multiply;object-fit:contain}
.product-card__body,.card .cardBody,.carSizeBody,.adultHotelBody{padding:26px 24px 30px}
.product-card__title,.card h4{line-height:1.55}

.pageReturn{margin-top:88px;border-top:1px solid var(--ref-line);padding-top:22px}
.pageReturn a{color:var(--ref-dark);font-family:var(--label);font-size:11px;letter-spacing:.12em}
.pageReturn a::before{color:var(--ref-brass)}

.about{margin-top:112px;padding:78px 0;background:#F0EAE0;border-color:var(--ref-line)}
.about p{max-width:48em;color:var(--ref-muted);line-height:2}
footer{background:#1D261F}

@media(max-width:980px){
  .editorialMethod{grid-template-columns:1fr;gap:40px}
  .editorialMethod__steps{grid-template-columns:1fr}
  .editorialMethod__steps li{min-height:0}
  main.wrap .feature{grid-template-columns:1fr;gap:32px}
  main.wrap .feature .fMedia{max-width:620px}
  .compareCard{min-height:0}
}

@media(max-width:820px){
  .masthead{padding-top:24px}
  .masthead svg{width:min(190px,66vw);max-height:108px}
  .navband{margin-top:16px}
  .navband nav{display:flex!important;flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:12px 20px}
  .navband nav a{display:inline-block!important;width:auto!important;padding:6px 0;font-size:10px}
  .navband nav a::after{bottom:1px}
  body#top .heroTitle{min-height:570px;padding:68px 22px;background-position:58% center}
  body#top .heroTitle .heroGrid{grid-template-columns:1fr;gap:16px}
  body#top .heroTitle .vlabel{height:auto;padding:0 0 10px;writing-mode:horizontal-tb;border-right:0;border-bottom:1px solid rgba(255,255,255,.3)}
  body#top .heroTitle h1{font-size:clamp(38px,10vw,50px);line-height:1.38}
  body#top .heroTitle .lead{font-size:14px;line-height:2}
  body#top .heroTitle .heroActions{display:grid;grid-template-columns:1fr}
  .editorialProof__inner{padding:24px 22px}
  .editorialProof__grid{grid-template-columns:1fr}
  .editorialProof__grid a{min-height:0;padding:20px 0}
  .editorialMethod{padding:64px 22px}
  .editorialMethod__copy h2{font-size:clamp(30px,8.5vw,42px)}
  .editorialMethod__steps li{padding:24px 20px}
  .editorialMethod__steps span{margin-bottom:22px}
  body#top .killerZone{padding:68px 22px 0}
  body#top .killerZone__head h2{font-size:clamp(32px,9vw,44px)}
  body#top .killerCard__photo img{aspect-ratio:16/10}
  main.wrap,main.article{padding-right:22px;padding-left:22px}
  main.wrap > .section{padding-top:64px}
  main.wrap .feature .fMedia{aspect-ratio:1/1;max-width:none;padding:28px}
  main.wrap .fBody h1,main.wrap .fBody h2,main.wrap .fBody h3{font-size:clamp(27px,7.6vw,36px)}
  .priceCompare,.becauseBlock,.purchaseSupport,.buyerGuide{margin-top:38px;padding:26px 20px}
  .compareGrid{grid-template-columns:1fr}
  .compareCard{padding:20px 0;border-right:0;border-bottom:1px solid rgba(255,253,248,.24)}
  .compareCard:last-child{border-bottom:0}
  .compareButton{width:100%;min-height:46px}
  .pageReturn{margin-top:64px}
  .about{margin-top:72px;padding:56px 0}
}

/* Keep the next section in view while preserving a generous first impression. */
body#top .heroTitle{
  box-sizing:border-box;
  min-height:clamp(500px,62vh,640px);
  padding-block:clamp(64px,8vw,104px);
}
body#top .heroTitle h1{
  font-size:clamp(42px,4.4vw,60px);
  line-height:1.25;
}
@media(min-width:821px){
  .masthead{padding-top:22px}
  .masthead svg{width:min(200px,60vw);max-height:92px}
  .navband{margin-top:14px}
  .navband nav{padding-top:12px;padding-bottom:12px}
  body#top .heroTitle h1{max-width:none;white-space:nowrap}
}
@media(max-width:820px){
  .masthead{padding-top:18px}
  body#top .masthead svg{width:min(180px,60vw);max-height:102px}
  .navband{margin-top:12px}
  body#top .navband nav{
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:wrap;
    justify-content:center;
    gap:4px 12px;
    padding:8px 10px!important;
  }
  body#top .navband nav a{
    display:inline-block!important;
    width:auto!important;
    max-width:none!important;
    padding:5px 0;
    font-size:9px;
    letter-spacing:.06em;
  }
  body#top .heroTitle{
    min-height:0;
    padding:42px 22px 36px;
  }
  body#top .heroTitle h1{font-size:clamp(32px,9vw,38px);line-height:1.32;white-space:normal}
  body#top .heroTitle .lead{font-size:13px;line-height:1.9}
  body#top .heroTitle .heroAction{min-height:46px}
}

/* Product photographs keep their source proportion inside a stable square frame. */
main.wrap .feature .fMedia{
  aspect-ratio:1/1;
  height:auto!important;
  min-height:0!important;
  align-self:start;
}
main.wrap .feature .fMedia > img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
}
.product-card__image,
.product-card .ph{
  aspect-ratio:1/1;
  overflow:hidden;
}
.product-card__image img,
.product-card .ph img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

/* library-discovery:start */
.libraryPage{padding-bottom:clamp(72px,9vw,132px)}
.libraryPage .libraryIntro{padding-top:clamp(62px,8vw,120px)}
.libraryPage .libraryIntro .secLead{max-width:52em}
.librarySignals{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 42px}
.librarySignals span{border:1px solid var(--line);padding:9px 12px;color:var(--sub);font-size:12px;line-height:1.5}
.libraryPage .leadShelf{margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.libraryPage .leadBook{min-width:0;display:grid;grid-template-columns:minmax(132px,34%) minmax(0,1fr);gap:24px;padding:30px 26px;background:transparent;border:0;border-radius:0;box-shadow:none}
.libraryPage .leadBook+.leadBook{border-left:1px solid var(--line)}
.libraryPage .leadBook__cover{align-self:start;background:var(--surface);padding:12px}
.libraryPage .leadBook img{width:100%;height:auto;display:block;border-radius:0}
.libraryPage .leadBook h2{font-family:var(--serif);font-size:clamp(22px,2vw,29px);font-weight:500;line-height:1.52;letter-spacing:.06em;margin:8px 0 12px}
.libraryPage .leadBook h2 small{font-size:.62em;font-weight:400;letter-spacing:.04em}
.libraryPage .leadBook p{font-size:13px;line-height:1.92}
.libraryPage .leadBook .hook{color:var(--text);font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.75}
.libraryPage .leadBook .fit{padding:0;border:0;background:transparent;color:var(--sub);font-size:12px}
.libraryPage .leadBook .actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:20px}
.libraryPage .leadBook .cta{display:flex;align-items:center;justify-content:center;min-height:45px;margin:0;padding:11px 14px;text-align:center;font-size:12px;font-weight:500}
.libraryPage .libraryMore{padding-top:clamp(64px,8vw,112px)}
.libraryPage .libraryMore .secLead{max-width:44em}
.readingCard--library .readingCard__media{display:grid;place-items:center;background:var(--text)}
.readingCard--library .readingCard__media img{width:100%;height:100%;object-fit:contain;padding:20px}
.navband nav a[href="/library/"]{color:var(--accent)}
@media(max-width:820px){
  .libraryPage .libraryIntro{padding-top:46px}
  .librarySignals{margin:22px 0 30px}
  .libraryPage .leadShelf{grid-template-columns:1fr}
  .libraryPage .leadBook{grid-template-columns:108px minmax(0,1fr);gap:16px;padding:24px 0}
  .libraryPage .leadBook+.leadBook{border-left:0;border-top:1px solid var(--line)}
  .libraryPage .leadBook__cover{padding:8px}
  .libraryPage .leadBook .hook,.libraryPage .leadBook .fit,.libraryPage .leadBook .actions{grid-column:1/-1}
  .libraryPage .leadBook .actions{margin-top:4px}
  .libraryPage .leadBook h2{font-size:22px}
  .readingCard--library .readingCard__media img{padding:12px}
}
/* library-discovery:end */

/* library shelf entry on the featured R SEED work */
body#top #library-pick .libraryPick__shelf{margin:28px 0 0;border-top:1px solid var(--ref-line);border-bottom:1px solid var(--ref-line)}
body#top #library-pick .libraryPick__shelf a{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;color:inherit;text-decoration:none}
body#top #library-pick .libraryPick__label{font-family:var(--label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2)}
body#top #library-pick .libraryPick__text{display:grid;gap:5px;min-width:0}
body#top #library-pick .libraryPick__text strong{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:.05em;line-height:1.65}
body#top #library-pick .libraryPick__text small{color:var(--sub);font-size:12px;line-height:1.75}
body#top #library-pick .libraryPick__arrow{color:var(--accent);font-size:22px;line-height:1}
body#top #library-pick .libraryPick__shelf a:hover .libraryPick__text strong,body#top #library-pick .libraryPick__shelf a:focus-visible .libraryPick__text strong{color:var(--accent)}
@media(max-width:640px){body#top #library-pick .libraryPick__shelf a{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px 0}body#top #library-pick .libraryPick__label{grid-column:1/-1}body#top #library-pick .libraryPick__text strong{font-size:16px}}

/* Compact the shared mobile navigation without relying on the older page hooks. */
@media(max-width:820px){
  .navband,
  body#top .navband{
    width:100%!important;
    max-width:100%!important;
    margin:12px 0 0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .navband nav.wrap,
  body#top .navband nav.wrap{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:6px 18px!important;
    box-sizing:border-box!important;
  }
  .navband nav.wrap a,
  body#top .navband nav.wrap a{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:38px;
    padding:8px 5px!important;
    text-align:center;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

/* Responsive guardrail: keep the shared header and reading columns inside a narrow viewport. */
@media(max-width:820px){
  .navband nav,
  body#top .navband nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:0!important;
    padding:6px 18px!important;
    box-sizing:border-box;
  }
  .navband nav a,
  body#top .navband nav a{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-width:0!important;
    min-height:38px;
    max-width:100%!important;
    width:auto!important;
    padding:8px 5px!important;
    text-align:center;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  main.article,
  .article,
  .article-head,
  .article-foot,
  .libraryPage,
  .libraryPage .libraryIntro{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  main.article h1,
  main.article h2,
  .libraryPage h1,
  .libraryPage h2{
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

/* Japanese typography finish: preserve natural phrase boundaries across the site. */
html{
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
:where(p,li,dd,dt,figcaption,blockquote,.lead,.secLead,.judge,.product-card__desc,.purchaseSupport p,.buyerGuide p,.purchaseSupport li,.buyerGuide li){
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
  text-wrap:pretty;
}
:where(h1,h2,h3,h4,h5,h6){
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-break:strict!important;
  text-wrap:balance;
}
:where(a,button,.cta,.categoryHero__cta){
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  white-space:normal;
}
