/* Huahine's shared visual charter. Layout rules below apply to all page templates. */
:root {
  --serif: 'Times New Roman', Georgia, serif;
  --body-font: Georgia, 'Times New Roman', serif;
  --section-space: 60px;
  --card-space: 28px;
  --card-radius: 7px;
  --card-paper: #fdfbf6;
  --gold-ink: #87672f;
}
body {font-family:var(--body-font);line-height:1.65}
h1,h2,h3 {font-family:var(--serif);letter-spacing:-.025em;font-weight:600;line-height:1.13}
h1 {font-size:clamp(42px,5.2vw,70px)}
h2 {font-size:clamp(30px,3.1vw,40px)}
h3 {font-size:26px}
a:hover {color:var(--green)}
::selection {background:#e9dfc6;color:var(--forest)}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid var(--gold);outline-offset:4px}
.eyebrow {color:var(--gold-ink);font:600 12px/1.65 Arial,Helvetica,sans-serif;letter-spacing:.12em}
.meta {color:var(--muted);line-height:1.75}
.button,.small-button,.save-full {font-family:var(--body-font);border-radius:30px;min-height:48px;font-size:15px;font-weight:400;padding:12px 22px}
.button.green {background:var(--forest);border-color:var(--forest);color:#fff}
.button.lime {background:var(--lime);border-color:#d6c7a6;color:var(--forest)}
.button.outline,.save-full {border-color:#b9aa8c;background:transparent;color:var(--forest)}
.button:hover,.save-full:hover {border-color:var(--gold)}
.button.green:hover {background:var(--green);color:#fff}
.button.lime:hover {background:#dfd1af}
.button.outline:hover,.save-full:hover {background:#eee6d7;color:var(--forest)}
.text-link {font-family:var(--body-font);font-weight:400;line-height:1.5;text-underline-offset:5px}
.save-button {background:var(--card-paper);border-color:var(--line);color:var(--forest);width:44px;height:44px;min-width:44px;min-height:44px}
.save-button[aria-pressed=true],.save-full[aria-pressed=true] {background:var(--lime);color:var(--forest);border-color:#d6c7a6}
input,select,textarea {background:var(--card-paper);border:1px solid #d8cdb8;border-radius:var(--card-radius);color:var(--ink);font-family:var(--body-font);font-size:16px;min-height:48px}
input:focus,textarea:focus {outline-color:var(--gold)}
.search-form {border-color:#d8cdb8;border-radius:var(--card-radius);background:var(--card-paper);min-height:48px}
.search-form:focus-within {outline:2px solid var(--gold);outline-offset:3px}
.search-form input {font-family:var(--body-font);font-size:16px;min-height:46px}
.search-form input:focus-visible {outline:none}
.search-form button {min-height:46px;border-left-color:var(--line)}

/* Page openings keep a full section of space on both sides of the content. */
.page-intro,.place-opening,.guide-opening,.lodging-directory-head,.blog-heading {padding-block:var(--section-space);margin-block:0}
.page-intro {border-bottom:1px solid var(--line)}
.page-intro h1,.place-opening h1,.guide-opening h1,.lodging-directory-head h1,.blog-heading h1 {font-size:clamp(42px,5.2vw,70px);line-height:1.08;font-weight:600;letter-spacing:-.03em}
.page-intro .eyebrow,.place-opening .eyebrow,.guide-opening .eyebrow,.blog-heading .eyebrow {margin-bottom:14px}
.breadcrumb,.place-opening .breadcrumb,.guide-opening .breadcrumb {font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.6}
.page-intro>p:last-child,.place-opening-intro,.guide-opening>div>p:last-child,.lodging-directory-head>div>p:not(.eyebrow) {font-size:18px;line-height:1.75;color:var(--muted);margin-top:22px}
.page-intro>p:last-child {max-width:780px}
.place-opening,.guide-opening {gap:6%}
.place-opening .opening-actions {gap:20px;margin-top:28px}
.place-opening .editorial-figure img,.guide-opening .editorial-figure img {height:410px;aspect-ratio:auto;border-radius:var(--card-radius)}
.editorial-figure img,.blog-cover img,.blog-lead img,.story-image {border-radius:var(--card-radius)}
.editorial-figure figcaption,.blog-cover figcaption {font-size:12px;line-height:1.75;color:var(--muted)}
.fact-strip {background:var(--soft);border:1px solid var(--line);border-radius:var(--card-radius);overflow:hidden}
.fact-strip>div,.fact-strip>div:first-child {padding:26px 28px}
.fact-strip dt {font:600 12px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.09em;color:var(--gold-ink)}
.fact-strip dd {font-size:16px;line-height:1.7}

/* Directories and their reusable address cards. */
.directory-jumps,.journal-paths {gap:12px;padding-block:30px 0;margin-bottom:0}
.directory-jumps a,.journal-paths a,.itinerary-nav a {display:inline-flex;align-items:center;min-height:48px;padding:11px 21px;border:1px solid var(--line);border-radius:30px;background:var(--soft);font-size:15px;color:var(--forest)}
.directory-jumps a:hover,.journal-paths a:hover,.itinerary-nav a:hover {background:#e9dfc6;border-color:#b69b64}
.directory-controls {padding-block:30px 0;gap:20px}
.directory-controls select {font-size:16px;min-height:48px}
.directory-controls>label:not(.search-form) {font-size:14px;gap:9px}
.directory-results,.lodging-directory .directory-results {padding-block:var(--section-space)}
.directory-results>.meta,.directory-result-heading {margin-bottom:28px}
.grid.three {gap:28px}
.place-card,.blog-card,.photo-credit-card,.excursion-card,.trip-item {background:var(--card-paper);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:none}
.place-card {display:flex;flex-direction:column;min-width:0}
.place-card-body,.photo-credit-card>div {padding:var(--card-space)}
.place-card-body {flex:1;display:flex;flex-direction:column}
.place-card h3 {font-size:28px;margin:18px 0 12px;line-height:1.17}
.place-card p,.blog-card p {font-size:16px;line-height:1.7;color:var(--muted)}
.card-top {align-items:center;gap:14px}
.card-top .eyebrow {color:var(--gold-ink);font-size:12px}
.feature-tags {gap:8px;margin:16px 0}
.feature-tags span,.tour-meta span {background:var(--soft);border-color:var(--line);border-radius:5px;color:#6b5d43;font-size:13px;padding:6px 10px}
.card-bottom {padding-top:22px;margin-top:auto;gap:14px}
.card-bottom>span {color:var(--gold-ink)}
.place-card.illustrated img {aspect-ratio:16/10}
.place-card .photo-context {background:var(--soft);padding:12px 28px;color:var(--muted)}
.place-card .photo-context+div {padding-top:24px}
.empty-box,.trip-empty {border:1px solid var(--line);border-radius:var(--card-radius);background:var(--soft);padding:40px}
.empty-box h2,.trip-empty h2 {font-size:34px;margin-bottom:20px}
.directory-decision {padding:var(--section-space) 40px;background:var(--soft);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:var(--card-radius);margin-bottom:0}
.directory-decision h2,.comparison-section h2 {font-size:clamp(30px,3.2vw,40px);line-height:1.15;margin:12px 0 24px}
.directory-decision>p:not(.eyebrow) {line-height:1.8}
.lodging-directory-head {align-items:center;gap:7%}
.lodging-directory-head>div>p:not(.eyebrow) {margin:0 0 18px}
.lodging-directory-head .census-count {color:var(--gold-ink);font-size:16px;line-height:1.6;gap:7px 20px;margin:22px 0}
.lodging-controls {padding-bottom:0!important;margin-bottom:0!important}
.census-note {padding-block:var(--section-space);max-width:900px}
.census-note h2,.gallery-heading h2 {font-size:clamp(30px,3.2vw,40px);margin:12px 0 22px}
.census-note>p {font-size:17px;line-height:1.8;margin-bottom:22px}
.census-legacy {background:var(--soft);padding:24px;border:1px solid var(--line);border-radius:var(--card-radius)}
.census-legacy summary {min-height:44px;cursor:pointer;line-height:1.65}
.lodging-gallery {padding-block:var(--section-space);border-top:1px solid var(--line)}
.gallery-heading {margin-bottom:30px;gap:28px}
.property-photo-grid {gap:24px}
.property-photo-grid button {border-radius:var(--card-radius);background:var(--soft)}
.property-photo-grid button>span {background:#063f35ed;border-radius:4px}
.property-photo-grid figcaption,.gallery-sources {color:var(--muted)}
.gallery-sources {margin-top:28px}
.property-lightbox {background:var(--forest);border-color:#b69b64;border-radius:var(--card-radius);height:fit-content}
.property-lightbox button {min-height:44px}
.property-lightbox::backdrop {background:#062b25ed}
.lodging-credit-list details {border-color:var(--line);padding:24px 0}
.lodging-credit-list summary {color:var(--forest);line-height:1.6}
.lodging-credit-list summary span {color:var(--gold-ink)}

/* Reading pages: the same type, quiet panels and generous vertical rhythm. */
.article-layout,.itinerary-layout,.trip-layout {padding-block:var(--section-space);gap:6%}
.article {min-width:0}
.article>section {margin-bottom:48px}
.article h2,.official-links h2,.practical-dossier h2 {font-size:clamp(30px,3vw,38px);line-height:1.17;margin:0 0 24px}
.article section>h2 {margin-top:0}
.article h3 {font-size:27px;line-height:1.2}
.article p,.article li {font-size:17px;line-height:1.85;color:var(--muted)}
.article p {margin-bottom:24px}
.article p.eyebrow,.blog-prose p.eyebrow {font:600 12px/1.65 Arial,Helvetica,sans-serif;letter-spacing:.12em;color:var(--gold-ink)}
.article .lead {font-family:var(--body-font);font-size:21px;line-height:1.7;color:var(--ink)}
.article-toc {padding:28px;margin:0 0 48px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--card-paper)}
.article-toc a {font-size:15px;line-height:1.7;margin-top:14px;min-height:32px}
.detail-aside,.blog-sidebar {padding:30px;background:var(--soft);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:var(--card-radius);gap:20px}
.detail-aside h2 {font-size:31px;line-height:1.17;margin:0 0 8px}
.detail-aside p:not(.eyebrow):not(.meta) {line-height:1.75}
.aside-link {border-color:#ded2bb;line-height:1.7;padding:12px 0}
.practical-dossier,.blog-decision,.blog-facts,.day-plan,.budget-tool,.trip-editor {background:var(--soft);border:1px solid var(--line);border-radius:var(--card-radius);padding:32px}
.practical-dossier {margin-bottom:48px;border-top:2px solid var(--gold)}
.practical-dossier h2 {margin:14px 0 24px}
.practical-dossier>p:not(.eyebrow) {font-size:17px;line-height:1.8}
.article .field-box {background:var(--forest);border-radius:var(--card-radius);padding:32px;margin:48px 0;color:#fff}
.article .field-box h2,.article .field-box h3 {color:#fff}
.field-box .eyebrow {color:#d9c79f}
.article .field-box .eyebrow {color:#d9c79f}
.article .field-box p:not(.eyebrow) {color:#f0eddf;font-size:17px;line-height:1.8}
.field-box .aside-link {display:block;color:#f0eddf;border-color:#ffffff35;min-height:44px}
.field-box .save-full {background:var(--lime);color:var(--forest);border:1px solid #d6c7a6}
.source-note {background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--card-radius);padding:28px;margin:48px 0;line-height:1.8}
.source-note a,.source-note small {color:var(--muted)}
.address-row {padding-block:24px;border-color:var(--line);gap:18px}
.address-row strong {font-family:var(--serif);font-size:25px;line-height:1.25;font-weight:600}
.address-row small {color:var(--gold-ink);font-size:12px}
.address-icon {background:var(--soft);color:var(--forest)}
.faq-block {margin-top:48px}
.faq-block details {background:var(--card-paper);border:1px solid var(--line);border-radius:var(--card-radius);padding:0 24px;margin-bottom:10px}
.faq-block summary,.article .faq-block summary {font-family:var(--body-font);font-size:17px;line-height:1.6;font-weight:600;min-height:64px;display:flex;align-items:center;padding:16px 34px 16px 0}
.faq-block summary:after {color:var(--gold);top:50%;transform:translateY(-50%)}
.article .faq-block details>p {margin:0;padding:4px 0 24px;line-height:1.8}
.table-scroll {border-color:var(--line);border-radius:5px;background:var(--card-paper);margin:28px 0}
.table-scroll thead {background:var(--forest);color:#fff}
.table-scroll td,.table-scroll th {border-color:var(--line);font-family:var(--body-font);font-size:15px;line-height:1.7;padding:20px}
.table-scroll tbody tr:nth-child(even) {background:#f4efe4}
.table-scroll caption {background:var(--card-paper);padding:18px 20px}
.table-scroll:focus-visible {outline-color:var(--gold)}
.budget-inputs {gap:24px;margin-top:28px}
.budget-result {background:var(--forest);border-radius:var(--card-radius);padding:28px}
.budget-result strong {font-family:var(--serif)}
.budget-result>span,.budget-tool .budget-result p {color:#f0eddf}
.budget-tool {margin:48px 0}
.standalone {padding-block:var(--section-space)}
.standalone section {padding-bottom:36px;margin-bottom:48px}
.standalone address {font-family:var(--body-font);line-height:1.85}
.standalone a,.blog-prose a,.blog-byline>a,.blog-decision a {color:var(--green)}
.standalone h2 {margin-bottom:24px}

/* Journal, excursions and itineraries. */
.blog-directory {padding-bottom:var(--section-space)}
.blog-lead {padding-block:var(--section-space);gap:6%}
.blog-lead h2 {font-size:clamp(34px,3.6vw,46px);margin:18px 0 24px}
.blog-grid {gap:28px}
.blog-card {overflow:hidden}
.blog-card-body {padding:28px}
.blog-card h2,.blog-card h3 {font-size:28px;line-height:1.17;margin:16px 0}
.blog-card-meta {font-size:13px;color:var(--gold-ink);margin-bottom:20px}
.blog-heading {max-width:1050px}
.blog-heading .blog-deck {font-size:19px;line-height:1.75;margin:28px auto;max-width:780px}
.blog-breadcrumb {font-size:14px;line-height:1.7;margin-bottom:28px}
.blog-cover {margin-block:0}
.blog-cover img {height:460px}
.blog-layout {padding-block:var(--section-space);gap:6%}
.blog-prose {font-family:var(--body-font);font-size:18px;line-height:1.85}
.blog-prose p,.blog-prose li {color:var(--muted)}
.blog-prose h2 {font-size:36px;line-height:1.17;margin:60px 0 24px}
.blog-prose h3 {font-size:28px;line-height:1.2}
.blog-decision {margin-bottom:48px;border-top:2px solid var(--gold)}
.blog-decision h2 {font-size:32px;margin:12px 0 24px}
.blog-decision p:not(.eyebrow) {font-size:16px;line-height:1.8}
.budget-tool>.eyebrow {font-size:12px!important;line-height:1.65}
.blog-sidebar {top:calc(var(--header) + 28px)}
.blog-sidebar nav a {font-size:15px;padding-block:14px;line-height:1.6}
.blog-mobile-toc {background:var(--soft);border-radius:var(--card-radius);padding:24px}
.blog-mobile-toc summary {min-height:44px;line-height:1.7}
.blog-related {padding-block:var(--section-space)}
.blog-related>h2 {font-size:38px;margin:12px 0 32px}
.excursion-directory {padding-block:var(--section-space);gap:28px}
.excursion-story {padding:28px;background:var(--card-paper);border:1px solid var(--line);border-radius:var(--card-radius);gap:4%}
.excursion-story:last-child {border:1px solid var(--line)}
.excursion-directory h2 {font-size:36px;line-height:1.15;margin:14px 0 22px}
.excursion-story p {line-height:1.75}
.story-index {color:var(--gold);font-size:30px}
.tour-program>section {padding:26px 0;border-color:var(--line)}
.tour-program>section>span {color:var(--gold-ink);font:600 13px/1.7 Arial,sans-serif}
.tour-program h3 {font-size:28px}
.itinerary-nav {gap:12px;margin-block:30px 0;flex-wrap:wrap}
.itinerary-nav a.active {background:var(--forest);border-color:var(--forest);color:#fff}
.itinerary-atlas {padding-block:var(--section-space)}
.itinerary-atlas h2 {font-size:38px;line-height:1.15}
.itinerary-atlas #mini-map {border-radius:var(--card-radius);background:#b6ddd4}
.day-section {margin-bottom:60px;border-left-color:#d2be94;padding-left:30px}
.day-section:before {background:var(--gold);top:7px}
.day-label {color:var(--gold-ink);font:600 12px/1.65 Arial,sans-serif;letter-spacing:.12em}
.day-section h2 {font-size:36px;line-height:1.15;margin:14px 0 24px}
.day-intro {font-size:17px;line-height:1.8}
.day-plan {border-left:3px solid var(--gold);margin:28px 0;padding:28px}
.day-plan p {font-size:16px;line-height:1.8}
.day-plan strong {color:var(--forest)}

/* The trip builder and map retain their working controls in the new palette. */
.trip-toolbar {background:var(--soft);border:1px solid var(--line);border-radius:var(--card-radius);padding:28px;margin-top:30px;gap:24px}
.trip-toolbar label {gap:10px}
.trip-toolbar .button {font-size:14px;min-height:48px}
.trip-group {margin-bottom:40px}
.trip-group h2 {font-size:32px;margin-bottom:22px}
.trip-date {color:var(--gold-ink);font-family:var(--body-font);font-size:16px}
.trip-item {padding:28px;margin-bottom:20px}
.trip-item-top a,.trip-item-top strong {font-family:var(--serif);font-size:27px;font-weight:600}
.trip-item-fields {gap:18px;margin-block:24px}
.trip-item-fields input,.trip-item-fields select {font-size:16px;min-height:48px}
.trip-item textarea {border-radius:var(--card-radius)}
.trip-order {gap:10px;flex-wrap:wrap;margin-top:20px}
.trip-order button {min-height:44px;background:var(--soft);border-radius:25px}
.trip-placeholder {border-color:#caba96;border-radius:var(--card-radius);background:var(--card-paper);padding:24px}
.trip-editor {margin-top:48px}
.trip-editor h2 {font-size:32px;margin:14px 0 28px}
.map-sidebar,.map-detail {background:var(--paper)}
.map-sidebar-head {padding:28px}
.map-sidebar-head h1 {font-size:34px;line-height:1.15}
.map-sidebar-head .search-form {margin-bottom:20px}
.map-filters {gap:8px;margin-top:20px}
.map-filters button {border-color:var(--line);background:var(--card-paper);border-radius:25px;min-height:44px;font-size:13px;padding:10px 12px}
.map-filters button[aria-pressed=true] {background:var(--forest);border-color:var(--forest);color:#fff}
.map-sidebar-head .saved-filter {background:var(--soft);border-radius:25px;min-height:44px;margin-top:20px}
.map-sidebar-head .saved-filter[aria-pressed=true] {background:var(--forest);color:#fff}
.map-result-count {background:var(--soft);padding:14px 28px;font-size:13px}
.map-list {padding-inline:20px}
.map-list-item {background:transparent;padding:24px 8px}
.map-list-item strong {font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.25}
.map-list-item>small {color:var(--gold-ink);font-size:12px}
.map-list-item[aria-pressed=true] {background:var(--soft)}
.map-stage-note {background:var(--soft);border-left:2px solid var(--gold);border-radius:4px;padding:16px;margin:16px 28px}
.map-stage-note button {color:var(--forest);border-color:var(--gold)}
.map-detail {padding:28px}
.map-detail h2 {font-size:36px}
.map-detail img {border-radius:var(--card-radius)}
.map-detail-close {background:var(--soft);border-radius:25px;padding:10px 16px;min-height:44px}
.map-modes,.map-mobile-switch {background:var(--card-paper);border-radius:var(--card-radius)}
.map-modes button,.map-mobile-switch button {border-radius:5px;font-family:var(--body-font)}
.map-modes button[aria-pressed=true],.map-mobile-switch button[aria-pressed=true] {background:var(--forest)}
.map-legend {background:var(--soft);padding:28px}
.cluster-choice {background:var(--card-paper);font-family:var(--body-font)}
.export-dialog {border-radius:var(--card-radius);padding:32px;background:var(--paper)}
.export-dialog::backdrop {background:#062b25b8}
.export-head h2 {font-size:34px}
.export-dialog textarea {border-radius:var(--card-radius)}
.toast {background:var(--forest);color:#fff;border-radius:var(--card-radius)}
.toast button {color:#e9dfc6}
.footer {padding-block:60px 36px}
.footer h3 {color:#d9c79f}
.footer a:hover {color:#ead8b3}
.home-guide {--home-space:var(--section-space)}
.home-section-head {margin-bottom:30px}
.home-shortcuts {padding-block:30px}
.home-lodging .home-section-head,.home-experiences .home-section-head,.home-reading .home-section-head {margin-bottom:28px}
.home-sector-links {margin-bottom:28px}
.home-guide .home-plan-summary {margin-block:24px}
.home-trust {padding-block:28px}

@media(max-width:1000px) {
  .place-opening .editorial-figure img,.guide-opening .editorial-figure img {height:370px}
  .article-layout,.itinerary-layout {gap:4%}
  .detail-aside,.blog-sidebar {padding:24px}
  .lodging-directory-head {gap:30px}
  .excursion-story {grid-template-columns:42% minmax(0,1fr);gap:5%}
  .excursion-directory h2 {font-size:32px}
  .story-index {display:none}
}
@media(max-width:700px) {
  .header .trip-nav,.header .map-nav,.header .icon-button {min-width:44px;min-height:44px}
  .lightbox-stage {grid-template-columns:44px minmax(0,1fr) 44px}
  .page-intro h1,.place-opening h1,.guide-opening h1,.lodging-directory-head h1,.blog-heading h1 {font-size:clamp(39px,10.5vw,52px)}
  .page-intro>p:last-child,.place-opening-intro,.guide-opening>div>p:last-child,.lodging-directory-head>div>p:not(.eyebrow) {font-size:17px;line-height:1.75}
  .place-opening.with-photo,.guide-opening.with-photo {grid-template-columns:1fr;gap:32px;padding-block:var(--section-space)}
  .place-opening .editorial-figure img,.guide-opening .editorial-figure img {height:auto;aspect-ratio:4/3}
  .lodging-directory-head {grid-template-columns:1fr;gap:28px}
  .lodging-directory-head .census-count {margin-block:20px!important;gap:7px 16px}
  .lodging-directory-head .text-link {font-size:14px}
  .directory-controls {gap:18px}
  .directory-controls .button {font-size:14px;min-height:48px}
  .directory-result-heading {gap:18px;align-items:start}
  .directory-result-heading .text-link {font-size:14px}
  .directory-decision {padding:var(--section-space) 22px}
  .directory-decision h2 {font-size:32px}
  .place-card-body,.blog-card-body,.photo-credit-card>div {padding:24px}
  .place-card h3,.blog-card h2,.blog-card h3 {font-size:27px}
  .place-card p {line-height:1.75}
  .gallery-heading {display:block}
  .gallery-heading .meta {margin-top:14px}
  .property-photo-grid {gap:20px 14px}
  .fact-strip {grid-template-columns:1fr}
  .fact-strip>div,.fact-strip>div:first-child {padding:22px;grid-template-columns:100px minmax(0,1fr);gap:18px;border-right:0}
  .fact-strip dd {font-size:16px}
  .article-layout,.itinerary-layout,.trip-layout {display:flex;flex-direction:column;gap:40px}
  .detail-aside {position:static;order:0;width:100%;padding:28px}
  .article-layout>.article {width:100%;max-width:none}
  .article p,.article li {font-size:17px;line-height:1.85}
  .article h2,.official-links h2,.practical-dossier h2 {font-size:32px}
  .practical-dossier,.blog-decision,.blog-facts,.budget-tool,.trip-editor {padding:24px}
  .article .field-box {padding:28px}
  .article-toc {padding:24px}
  .source-note {padding:24px}
  .faq-block details {padding-inline:20px}
  .faq-block summary,.article .faq-block summary {font-size:16px;min-height:64px}
  .table-scroll td,.table-scroll th {font-size:14px;padding:16px}
  .practical-dossier .table-scroll td,.practical-dossier .table-scroll th {font-size:14px;padding:15px 12px}
  .budget-tool {margin-inline:0}
  .budget-inputs {gap:24px 16px}
  .budget-result {padding:24px}
  .blog-heading {text-align:left}
  .blog-heading .blog-deck {font-size:18px;margin-block:24px}
  .blog-breadcrumb,.blog-byline {font-size:13px}
  .blog-cover img {height:auto;aspect-ratio:4/3}
  .blog-layout {grid-template-columns:1fr}
  .blog-prose {font-size:17px;line-height:1.85}
  .blog-prose h2 {font-size:32px}
  .blog-decision h2 {font-size:29px;margin-top:12px}
  .blog-related>h2 {font-size:33px}
  .blog-lead {grid-template-columns:1fr;gap:28px}
  .blog-lead h2 {font-size:35px}
  .excursion-story {grid-template-columns:1fr;gap:28px;padding:24px}
  .excursion-directory h2 {font-size:33px}
  .story-image {height:auto;aspect-ratio:4/3}
  .excursion-story p {max-width:none}
  .itinerary-atlas {gap:32px}
  .itinerary-atlas h2 {font-size:34px}
  .day-section {padding-left:22px;margin-left:5px}
  .day-section h2 {font-size:33px}
  .day-plan {padding:22px;margin-left:0}
  .day-plan p {font-size:16px}
  .trip-toolbar {padding:24px}
  .trip-toolbar .button {font-size:14px;padding-inline:16px}
  .trip-toolbar>div {gap:16px}
  .trip-toolbar>div:first-child>label:first-child {flex:1 1 80px}
  .trip-toolbar input[type=date] {min-width:0}
  .trip-item {padding:24px}
  .trip-item-top a,.trip-item-top strong {font-size:26px}
  .trip-order .text-link {min-height:44px;display:inline-flex;align-items:center}
  .trip-item-fields {gap:18px 14px}
  .empty-box,.trip-empty {padding:28px}
  .map-sidebar-head {padding:28px 5%}
  .map-sidebar-head h1 {font-size:33px}
  .map-detail {padding:28px 5%}
  .map-result-count {padding-inline:5%}
  .map-list {padding-inline:3%}
  .map-list-item {padding:24px 2%}
  .map-stage-note {margin-inline:5%}
  .map-list-item strong {font-size:25px}
  .map-list-item>span {font-size:14px}
  .map-mobile-switch button {min-height:40px}
  .home-section-head {margin-bottom:28px}
  .home-shortcuts {padding-block:28px}
  .home-trust {padding-block:28px}
  .footer-main nav a {min-height:44px}
}
@media(max-width:370px) {
  .page-intro h1,.place-opening h1,.guide-opening h1,.lodging-directory-head h1,.blog-heading h1 {font-size:37px}
  .practical-dossier,.blog-decision,.budget-tool {padding:20px}
  .budget-inputs {grid-template-columns:1fr}
  .directory-result-heading {flex-direction:column}
  .trip-item,.trip-toolbar {padding:20px}
}
@media print {
  .page-intro,.place-opening,.guide-opening,.blog-heading,.standalone,.article-layout,.blog-layout,.itinerary-layout,.trip-layout {padding-block:12px}
  .home-guide {--section-space:24px}
  .article>section,.day-section {margin-bottom:24px}
  .directory-decision,.practical-dossier,.blog-decision,.day-plan,.source-note {background:#fff;border:1px solid #aaa;padding:16px}
  .blog-prose h2 {margin-top:28px}
}
