@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--green:#174c40;--ink:#253a33;--muted:#627065;--cream:#f9f8f3;--line:#dce4d9;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 var(--sans)}a{color:var(--green);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid #bd7346;outline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2.4rem,4.6vw,4.2rem);margin:14px 0 22px}h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:0 0 22px}h3{font-size:1.6rem;margin:0 0 15px}h4{font-size:1rem;margin:24px 0 9px}p{margin:0 0 20px}ul{padding-left:24px}li{margin:5px 0}.page-width{width:min(1248px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 18px;background:white;z-index:10}.skip-link:focus{top:10px}.site-header{min-height:92px;padding:20px 40px;max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:9px;font:700 27px/1 var(--sans);letter-spacing:-1.2px;text-decoration:none;white-space:nowrap}.brand-light{font-weight:400}.brand-pr{font-size:.5em;font-weight:700;letter-spacing:1.3px;color:#bd7346;margin-left:3px}.site-header nav,.site-footer nav{display:flex;flex-wrap:wrap;gap:22px;font-size:.85rem}.site-header nav a{font-weight:500;text-decoration:none}.breadcrumbs{font-size:.8rem;margin:24px 0 36px;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.breadcrumbs li{margin:0}.breadcrumbs li+li:before{content:'›';margin-right:8px;color:#8a9382}.page-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:12px 0 42px}.hero-copy{min-width:0}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:700;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.lead{font-size:1.12rem;line-height:1.85;color:#4f6558}.tagline{font-size:1.1rem;color:var(--green)}.photo{margin:0;min-width:0}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#e0e8d8}.photo figcaption{font-size:.64rem;line-height:1.65;color:#6a7568;padding:10px 2px;overflow-wrap:anywhere}.photo figcaption span{display:block}.hero-photo img{aspect-ratio:1.05}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:var(--green);color:white;text-decoration:none;border:1px solid var(--green);border-radius:5px;font-size:.82rem;font-weight:600;padding:11px 18px;line-height:1.5}.button:hover{background:#123d34;color:white}.button-outline{background:transparent;color:var(--green)}.page-nav{display:flex;gap:13px 26px;flex-wrap:wrap;border-block:1px solid var(--line);padding:16px 0;font-size:.82rem;margin-bottom:10px}.page-nav a{text-decoration:none}.content-section{padding:52px 0;border-bottom:1px solid var(--line)}.section-intro{max-width:780px;color:var(--muted)}.ideas-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ideas-grid p{margin:0;background:#edf1e8;border-left:3px solid #98ad8b;padding:22px 26px}.guide-grid,.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}.guide-card,.food-card{border:1px solid var(--line);border-radius:10px;background:#fffdf6;overflow:hidden;min-width:0}.guide-card .photo img,.food-card .photo img{border-radius:0}.guide-card .photo figcaption,.food-card .photo figcaption{padding:9px 14px;font-size:.6rem}.card-copy{padding:10px 24px 26px}.card-copy p{font-size:.88rem;color:#63715f}.card-copy h3{font-size:1.7rem}.card-copy h3 a{text-decoration:none}.card-copy .eyebrow{font-size:.65rem}.card-copy .small{font-size:.73rem}.text-link{font-size:.83rem;font-weight:600}.tips-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.tip-card{border:1px solid var(--line);border-radius:8px;padding:25px}.tip-card h3{font-size:1.4rem}.tip-card p{font-size:.9rem;margin-bottom:0}.tip-card .small{margin-top:16px;font-size:.73rem}.small,.editorial-note{font-size:.78rem;line-height:1.75;color:var(--muted)}.guide-facts{display:flex;flex-wrap:wrap;gap:8px 18px;border-block:1px solid var(--line);padding:13px 0;font-size:.79rem;margin:22px 0 11px}.editorial-note{font-size:.73rem}.poi-list{display:grid;gap:28px}.poi-card{border:1px solid var(--line);background:#fffdf6;border-radius:10px;display:flex;gap:28px;padding:30px;align-items:flex-start}.poi-copy{flex:1;min-width:0}.poi-copy p,.poi-copy ul{font-size:.92rem}.poi-photo{width:34%;flex-shrink:0}.poi-copy .eyebrow{font-size:.65rem}.poi-copy h3{font-size:1.9rem}.references{font-size:.85rem;border-top:1px solid var(--line);padding-top:14px;margin-top:24px}.references summary{cursor:pointer;width:fit-content}.references ul{margin-top:16px}.source-list{font-size:.86rem;line-height:1.8;overflow-wrap:anywhere}.access{margin-top:25px}.access p{font-size:.78rem;line-height:1.75;color:var(--muted);margin:13px 0 0}.itinerary{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:26px;max-width:900px}.itinerary li{display:flex;gap:24px;margin:0}.day-number{flex-shrink:0;border-radius:5px;background:#e6eddf;color:var(--green);padding:8px 12px;height:fit-content;font-size:.77rem;font-weight:700;min-width:62px;text-align:center}.itinerary h3{font-size:1.5rem;margin:2px 0 10px}.itinerary p{color:var(--muted);font-size:.92rem;margin:0}.closing-cta{padding:44px;margin:52px 0 0;background:#eaf0e2;border-radius:10px}.closing-cta h2{font-size:2rem;margin-bottom:12px}.closing-cta p{font-size:.94rem}.closing-cta>a{font-size:.85rem}.related-guides ul{columns:2;column-gap:35px;font-size:.9rem}.related-guides li{break-inside:avoid}.directory-hero{max-width:850px;padding:12px 0 48px}.directory-hero .button{margin-top:12px}.site-footer{padding-block:40px;margin-top:40px;border-top:1px solid var(--line)}.site-footer p{font-size:.78rem;color:var(--muted);margin-top:18px}.site-footer nav{font-size:.78rem}
@media(max-width:1050px){.page-width{width:calc(100% - 50px)}.site-header{padding-inline:25px}.page-hero{gap:28px}.guide-grid,.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poi-card{padding:25px}.poi-photo{width:30%}.card-copy{padding-inline:20px}}
@media(max-width:720px){body{font-size:16px}.page-width{width:calc(100% - 36px)}.site-header{padding:19px 18px;align-items:flex-start;flex-direction:column;gap:18px}.site-header nav{gap:15px;font-size:.74rem}.brand{font-size:25px}.breadcrumbs{margin:22px 0 26px;font-size:.7rem}.page-hero{grid-template-columns:1fr;gap:18px;padding-top:5px}.page-hero h1{font-size:2.65rem}.hero-photo img{aspect-ratio:4/3}.lead{font-size:1rem}.page-nav{gap:12px 20px;font-size:.77rem}.content-section{padding:38px 0}.ideas-grid,.tips-grid{grid-template-columns:1fr;gap:16px}.guide-grid,.food-grid{gap:20px}.guide-grid .card-copy h3,.food-grid .card-copy h3{font-size:1.45rem}.card-copy{padding:8px 15px 20px}.card-copy p{font-size:.8rem}.card-copy .eyebrow{font-size:.58rem}.card-copy .small{font-size:.65rem}.text-link{font-size:.75rem}.guide-card .photo figcaption,.food-card .photo figcaption{font-size:.53rem;padding:8px 10px}.poi-card{display:block;padding:22px}.poi-photo{width:100%;margin-top:22px}.poi-photo img{aspect-ratio:4/3}.poi-copy h3{font-size:1.7rem}.closing-cta{padding:26px;margin-top:38px}.closing-cta h2{font-size:1.8rem}.related-guides ul{columns:1}.itinerary li{gap:15px}.day-number{min-width:54px;padding:7px 9px}.itinerary h3{font-size:1.3rem}.photo figcaption{font-size:.62rem}.site-footer nav{gap:16px}}
@media(max-width:430px){.guide-grid,.food-grid{grid-template-columns:1fr}.guide-grid .card-copy h3,.food-grid .card-copy h3{font-size:1.8rem}.card-copy p{font-size:.91rem}.card-copy .eyebrow{font-size:.65rem}.card-copy .small{font-size:.76rem}.text-link{font-size:.85rem}.guide-card .photo figcaption,.food-card .photo figcaption{font-size:.6rem}.page-hero h1{font-size:2.3rem}.actions{gap:10px}.button{font-size:.76rem;padding-inline:14px}}

/* Reading copy stays at 16px across mobile cards, guide text and access notes. */
@media(max-width:720px){
  .card-copy p:not(.eyebrow),
  .tip-card p,
  .tip-card .small,
  .small,
  .editorial-note,
  .poi-copy p:not(.eyebrow),
  .poi-copy ul,
  .source-list,
  .access p,
  .itinerary p,
  .closing-cta p {
    font-size: 1rem;
    line-height: 1.6;
  }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Compact comparison table for choosing guides, including narrow screens. */
.comparison-wrap{max-width:100%;margin:28px 0;overflow-x:auto}
.guide-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem}
.guide-comparison caption{text-align:left;font-weight:600;padding-bottom:14px}
.guide-comparison th,.guide-comparison td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 12px;overflow-wrap:anywhere}
.guide-comparison th:first-child{width:29%}
.guide-comparison th:nth-child(3){width:18%}.guide-comparison th:last-child{width:18%}
.guide-comparison tbody th{font-weight:600}
@media(max-width:720px){.guide-comparison{font-size:1rem;min-width:660px}.guide-comparison th,.guide-comparison td{padding:12px 10px}}

@media(max-width:700px){.quick-place-links a{display:inline-block;min-height:44px;padding-block:8px;line-height:1.6}}

.comparison-note{display:none}.comparison-wrap:focus-visible{outline:3px solid #bd7346;outline-offset:4px}
@media(max-width:720px){.comparison-note{display:block;font-size:1rem}}
