*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#073e4b;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}header{padding:25px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce8ec;gap:20px}.brand{text-decoration:none;font-size:20px;letter-spacing:3px}header>a:last-child{font-size:14px}main{max-width:1200px;margin:auto;padding:55px 6% 70px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:13px;color:#28748a}h1{font-weight:400;font-size:clamp(43px,8vw,76px);line-height:1.02;letter-spacing:-2px;margin:15px 0 22px;max-width:750px}.lead{font-size:18px;line-height:1.6;max-width:640px;color:#42616c}.index{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0 55px}.index a{border:1px solid #cbdde2;border-radius:30px;padding:12px 17px;font-size:14px;text-decoration:none}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 32px}article{min-width:0;scroll-margin-top:25px}figure{margin:0 0 23px;position:relative}figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e2eff2}figcaption{font-size:12px;color:#57747d;margin-top:7px;line-height:1.4}h2{font-weight:400;letter-spacing:-1px;font-size:32px;margin:12px 0}p{line-height:1.65;font-size:16px}.number{font-size:13px;letter-spacing:1px;color:#547984}.best{font-size:14px;color:#167286}.details{color:#4a646c;font-size:14px}.links{display:flex;gap:20px;align-items:center;margin-top:23px}.map{display:inline-block;background:#073e4b;color:white;padding:14px 19px;text-decoration:none;border-radius:3px;font-size:14px}.source{font-size:14px}.note{border-top:1px solid #dce8ec;margin-top:60px;padding-top:24px;font-size:14px;color:#54717b}footer{padding:28px 6%;background:#073e4b;color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:14px}a:focus-visible{outline:3px solid #e7aa38;outline-offset:5px}@media(max-width:650px){main{padding-top:35px}.grid{grid-template-columns:1fr;gap:45px}.index{margin-bottom:38px}h2{font-size:30px}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.editorial{background:#fff;color:#073e4b;padding:64px max(6%,24px)}.editorial-inner{max-width:1100px;margin:auto}.editorial h2{font-size:clamp(36px,6vw,60px);font-weight:400;letter-spacing:-2px;margin:12px 0 20px}.editorial .eyebrow{font-size:14px;color:#28748a}.event{display:grid;grid-template-columns:150px 1fr;gap:25px;padding:26px 0;border-top:1px solid #dce8ec}.event p{font-size:16px;line-height:1.6;margin:8px 0}.event h3{font-size:25px;font-weight:400;line-height:1.25;margin:0 0 8px}.event h3 a{text-decoration:none}.event h3 a:hover{text-decoration:underline}.event-date,.event-place{color:#397587}.event-link{font-size:14px;text-underline-offset:4px}.editorial-more{display:inline-block;margin-top:25px;padding:16px 22px;background:#073e4b;color:white;text-decoration:none}.guide-links{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.guide-link{display:block;padding:30px;background:#eaf6f9;color:#073e4b;text-decoration:none;font-size:26px}.guide-link span{display:block;font-size:16px;line-height:1.6;margin-top:15px}.updated{font-size:14px;color:#557580}.event-note{font-size:14px;line-height:1.6;color:#557580}@media(max-width:600px){.event{grid-template-columns:1fr;gap:6px}.guide-links{grid-template-columns:1fr}.editorial{padding-top:42px;padding-bottom:42px}}

/* Shared category listing thumbnail standard */
.listing-thumb,.class-photo{display:block;width:100%;height:180px;object-fit:cover;border-radius:6px;margin:0 0 16px}.listing-thumb.logo-thumb{object-fit:contain;background:#f0f5f7;padding:20px}

/* Category audit: plain introductions and compact, consistent listing images. */
main .plain-intro{display:block!important;grid-template-columns:none!important;max-width:900px;margin-bottom:28px}
main .plain-intro h1{max-width:100%}
main .listing-thumb{max-width:100%;height:180px;object-fit:cover}
main .shops .eyebrow{font-size:14px}
main .links{flex-wrap:wrap}
main img,main svg{max-width:100%}
main .place,main .trail,main .wine-card,main .news-card{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){main .listing-thumb{height:150px}main .plain-intro{margin-bottom:24px}header{flex-wrap:wrap}main h1{overflow-wrap:break-word}}

/* Audit: predictable small-screen wrapping and compact media. */
header,footer{flex-wrap:wrap}main,section,article{min-width:0}a{overflow-wrap:anywhere}main .links{flex-wrap:wrap}main .trails{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){main .trails{grid-template-columns:1fr}}@media(max-width:360px){main{padding-left:18px;padding-right:18px}main h1{letter-spacing:-1px;font-size:38px}main .trail{padding:18px}}

/* Always reachable category navigation, including phone safe areas. */
.floating-back{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));z-index:1000;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border:1px solid #fff;border-radius:999px;background:#007bff;color:#fff;box-shadow:0 4px 18px #073e4b40;font-size:16px;font-weight:600;text-decoration:none;line-height:1.25;touch-action:manipulation}.floating-back:hover{background:#0069d9}.floating-back:focus-visible{outline:3px solid #e7aa38;outline-offset:4px}body:has(.floating-back){padding-bottom:calc(84px + env(safe-area-inset-bottom))}@media print{.floating-back{display:none}body:has(.floating-back){padding-bottom:0}}
