/* Softer controls and varied editorial layouts, preserving the journal palette. */
.button,.menu-button{border-radius:999px;transition:background .2s,box-shadow .2s,transform .2s}
.button{padding:12px 23px}.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #14675d18}
.hero-image,.city-card,.wide-image,.journal-cover,.author-story img{border-radius:22px;overflow:hidden}
.image-label{border-radius:999px}.hotel-card img,.author-home-photo{border-radius:16px}
.hotel-card{background:#fffdf8;border:1px solid #e8e4da;border-radius:20px;padding:12px 12px 20px}
.hotel-card>.kicker,.hotel-card>h3,.hotel-card>p,.hotel-card>.text-link{margin-left:8px;margin-right:8px}
.journal-card{background:#f0eee5;border:1px solid #e5e2d7;border-radius:20px;padding:26px}
.journal-card:nth-child(2){background:#eaf0e9}.journal-card:nth-child(3){background:#f6eade}
.author-block{border-radius:24px}.stay-box{border:1px solid #e1e5d8;border-radius:24px;background:#eef1e8;box-shadow:0 12px 36px #20272407}
.stay-box .button{padding:12px 15px}.stay-box>.small{margin-top:14px}
.quick-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 34px}
.quick-notes>div{background:#efeee5;border:1px solid #e6e3d7;border-radius:16px;padding:20px}
.quick-notes>div:nth-child(2){background:#eaf0e9}.quick-notes .kicker{display:block;font-size:.65rem;letter-spacing:.1em;margin-bottom:9px}
.quick-notes strong{display:block;font-family:var(--font-serif);font-size:1.15rem;line-height:1.4;font-weight:500}
.reading-nav{display:block;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0 36px}
.reading-nav>.kicker{display:block;font-size:.65rem;margin-bottom:12px}.reading-nav>div{display:flex;flex-wrap:wrap;gap:8px}
.prose .reading-nav a{font-size:.75rem;line-height:1.4;text-decoration:none;border:1px solid #d5ded3;background:#f0f3ed;border-radius:999px;padding:9px 13px;font-weight:500}
.prose .reading-nav a:hover{background:#dfeade}.reading-section{position:relative;scroll-margin-top:24px;padding-top:8px;padding-bottom:8px;margin-bottom:15px}
.section-number{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--orange);font-weight:700;margin-top:24px}
.reading-section .section-number+h2{margin-top:10px}.reading-section p{max-width:68ch}.reading-section p:last-child{margin-bottom:0}
.reading-section:has(.section-number):nth-of-type(3n){background:#f0eee5;border-radius:20px;padding:24px 28px;margin:32px 0}
.reading-section:has(.section-number):nth-of-type(3n) .section-number{margin-top:0}
.take{position:relative;background:#e9f0e7;border:0;border-radius:22px;padding:28px;margin:36px 0}.take .take-avatar{width:52px;height:52px;border-radius:50%;float:left;margin:0 15px 10px 0}.take .kicker{padding-top:6px}.take p:not(.kicker){clear:both}
.booking-checklist{list-style:none!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-checklist li{padding:16px 16px 16px 38px;background:#f1f2e9;border-radius:14px;position:relative;font-size:.9rem;margin:0!important}
.booking-checklist li:before{content:'✓';position:absolute;left:15px;color:var(--accent);font-weight:700}
details{background:#fffdf8;border:1px solid #e3e1d6;border-radius:14px;margin:10px 0;padding:18px 20px}
.comparison-scroll{border:1px solid #dce3d7;border-radius:18px;background:#fffdf8}.comparison-table{margin:0}.comparison-table th{padding:18px}.comparison-table td{padding:18px}.comparison-table tbody tr:last-child td{border-bottom:0}
.journal-cover{position:relative;margin:0}.journal-cover img{height:390px}.journal-cover figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 30px 26px;background:linear-gradient(transparent,#172d28db);color:white;display:flex;flex-direction:column;gap:6px;font-family:var(--font-serif);font-size:1.65rem}
.journal-cover .kicker{color:#e1efdf;font-family:'Open Sans',Arial,sans-serif;margin:0;font-size:.65rem}
.shortlist-block{margin-bottom:44px}.shortlist-block>h2{margin-top:8px}.area-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.prose .area-choice{display:flex;flex-direction:column;background:#fffdf8;border:1px solid #e5e3d9;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink)}
.area-choice img{height:185px}.area-choice>div{padding:21px;flex:1}.area-choice .kicker{display:block;font-size:.65rem;letter-spacing:.1em;margin:0 0 10px}.area-choice h3{margin:0 0 12px;font-size:1.45rem}.area-choice p{font-size:.875rem;color:var(--muted);margin:0 0 16px;line-height:1.55}.choice-link{font-size:.75rem;font-weight:700;color:var(--accent)}
.area-choice:hover{border-color:#9eb7a4}.editor-note{display:flex;align-items:flex-start;gap:18px;background:#efe7d9;border-radius:22px;padding:28px;margin:40px 0}.editor-note>img{width:52px;height:52px;border-radius:50%;flex-shrink:0}.editor-note .kicker{font-size:.65rem;margin:0 0 10px}.editor-note p:last-child{font-family:var(--font-serif);font-size:1.25rem;line-height:1.6;margin-bottom:0}
.booking-visual{border-radius:24px;background:#e6eee4;padding:38px;margin:12px 0 40px}.booking-visual>div{display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.8rem);margin-bottom:20px}.booking-visual>p{margin-bottom:0;color:var(--muted)}
@media(max-width:700px){
 .quick-notes{gap:8px}.quick-notes>div{padding:14px 12px}.quick-notes strong{font-size:1rem}
 .journal-cover img{height:280px}.journal-cover figcaption{padding:45px 20px 20px;font-size:1.3rem}
 .area-choice-grid{gap:12px}.area-choice img{height:145px}.area-choice>div{padding:16px}.area-choice h3{font-size:1.2rem}
 .reading-section:has(.section-number):nth-of-type(3n){padding:20px}.editor-note{padding:22px;gap:12px}.editor-note>img{width:42px;height:42px}
 .stay-box .button{display:block;margin-right:0}.booking-visual{padding:24px}.booking-visual>div{gap:12px}
 .hero-image,.city-card,.wide-image,.journal-cover{border-radius:16px}
}
@media(max-width:480px){.quick-notes{grid-template-columns:1fr}.quick-notes>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.quick-notes .kicker{margin:0;flex:0 0 95px}.quick-notes strong{font-size:.95rem}.area-choice-grid{grid-template-columns:1fr}.area-choice img{height:205px}.booking-checklist{grid-template-columns:1fr}.editor-note{flex-direction:column}.booking-visual>div{flex-wrap:wrap}.booking-visual>div>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.button,.menu-button{transition:none}.button:hover{transform:none}}

.prose a.area-choice{text-decoration:none}.prose a.area-choice h3{color:var(--ink)}

.hotel-photo-section{margin:46px 0 54px}.gallery-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.gallery-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0}.gallery-heading .kicker{margin-bottom:10px}.photo-count{border:1px solid #d8e2d4;background:#edf2e9;border-radius:999px;padding:9px 15px;font-size:.75rem;color:var(--accent);white-space:nowrap}
.hotel-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hotel-photo-grid figure{margin:0}.hotel-photo-link{display:block;position:relative;overflow:hidden;border-radius:18px;background:var(--sand)}.hotel-photo-link img{aspect-ratio:16/11;transition:transform .25s}.hotel-photo-link:hover img{transform:scale(1.03)}.photo-expand{position:absolute;right:12px;bottom:12px;border-radius:50%;background:#fffef5ed;color:var(--accent);width:32px;height:32px;display:grid;place-items:center}.hotel-photo-grid figcaption{font-size:.8rem;color:var(--muted);margin:8px 4px 0}.hotel-photo-section>.credit{margin-top:20px;max-width:850px}
.photo-viewer{border:0;border-radius:22px;background:#fcfaf4;color:var(--ink);width:min(1040px,94vw);max-height:94dvh;padding:48px 24px 18px;box-shadow:0 20px 70px #0005}.photo-viewer::backdrop{background:#15231ddd}.photo-viewer figure{margin:0}.photo-viewer img{width:100%;height:min(65dvh,660px);object-fit:contain;background:#e8e8df;border-radius:10px}.photo-viewer figcaption{text-align:center;font-size:.9rem;margin-top:12px}.viewer-close{position:absolute;top:9px;right:14px;border:0;background:transparent;font-size:1.8rem;line-height:1;cursor:pointer;padding:5px 10px}.viewer-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:14px}.viewer-controls button{border:1px solid #cbd9ca;background:#edf2e9;color:var(--accent);border-radius:50%;width:40px;height:40px;cursor:pointer}.viewer-position{font-size:.8rem;color:var(--muted)}body.photo-viewing{overflow:hidden}
@media(max-width:700px){.hotel-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.gallery-heading{align-items:flex-start;flex-direction:column;gap:12px}.hotel-photo-section{margin:30px 0}.hotel-photo-grid figcaption{font-size:.75rem}.photo-viewer{padding:45px 12px 15px}.photo-viewer img{height:auto;max-height:65dvh}.photo-viewer figcaption{font-size:.8rem}}
@media(max-width:420px){.hotel-photo-grid{grid-template-columns:1fr}.hotel-photo-link img{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.hotel-photo-link img{transition:none}.hotel-photo-link:hover img{transform:none}}

.photo-viewer[hidden]{display:none}.photo-viewer{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-height:none;border-radius:0;margin:0;padding:20px;background:#15231ddd;box-shadow:none}.viewer-panel{position:relative;width:min(1040px,94vw);max-height:94dvh;overflow:auto;border-radius:22px;background:#fcfaf4;padding:48px 24px 18px}@media(max-width:700px){.photo-viewer{padding:10px}.viewer-panel{padding:45px 12px 15px}}
