: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}

/* ── 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}
  .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}
}

/* ── 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 */

