/* Phase 2-B: shared editorial system, layered on the approved homepage tokens. */
.header-nav a[aria-current=page]{color:var(--bronze-dark)}
.subpage-content{padding-bottom:1px}.subpage-content>*{min-width:0}
.sub-hero{padding-block:88px 90px;border-bottom:1px solid var(--line)}
.sub-hero-with-photo{display:grid;grid-template-columns:1.08fr 1fr;gap:95px;align-items:center;padding-block:75px 90px}
.sub-hero-copy{min-width:0}.sub-eyebrow{font-family:var(--sans);font-size:10px;line-height:1.8;letter-spacing:.22em;color:var(--bronze-dark);font-weight:500;margin-bottom:23px}
.sub-hero h1{font-size:clamp(34px,3.8vw,55px);line-height:1.65;letter-spacing:.075em;margin:0 0 28px;overflow-wrap:anywhere}
.sub-hero .lead-copy{max-width:680px;font-size:14px;line-height:2.15;color:var(--muted);letter-spacing:.035em}
.sub-hero-media{overflow:hidden}.sub-hero-media figure{margin:0;aspect-ratio:4/4.7}.sub-hero-media img{width:100%;height:100%;object-fit:cover}
.sub-hero-text{padding-block:85px 76px}.sub-hero-text h1{margin-bottom:20px}.sub-hero-text .sub-hero-copy{max-width:1000px}
.sub-section{padding-block:82px;border-bottom:1px solid var(--line)}
.sub-section:last-child{border-bottom:0}.sub-section h2{font-size:clamp(27px,2.7vw,39px);line-height:1.8;letter-spacing:.07em;margin-bottom:26px}
.sub-section h3{font-size:22px;line-height:1.8;letter-spacing:.04em;margin:32px 0 15px}
.sub-section p{font-size:14px;line-height:2.1;letter-spacing:.025em;margin-top:20px}
.sub-section .sub-eyebrow{font-size:10px;margin-top:0;margin-bottom:22px;letter-spacing:.22em}
.sub-section .lead-copy{font-size:15px;color:var(--muted);max-width:720px;margin-bottom:35px}
.sub-section .small-note{font-size:11.5px;line-height:2;color:var(--muted)}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}
.editorial-copy{min-width:0}.editorial-copy>p{max-width:580px}.editorial-copy h2{font-size:clamp(26px,2.4vw,35px)}
.editorial-grid>figure{margin:0}.editorial-grid>figure img{width:100%;height:auto;max-height:700px;object-fit:contain}
.sub-section-warm{background:#ece5d9;padding:65px;max-width:1240px;width:min(1240px,calc(100% - 144px));margin-block:55px}
.sub-section-warm .editorial-grid{gap:75px}.sub-section-warm .editorial-grid>figure{max-width:420px}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-block:40px 30px;align-items:start}
.photo-pair>figure{margin:0;min-width:0}.photo-pair img{width:100%;height:auto;max-height:650px;object-fit:contain;background:#eae4d8}
.subpage-content .media-wide{margin:40px 0 20px;width:100%}.media-wide img{width:100%;height:auto;max-height:790px;object-fit:contain}
.subpage-content .map-image{padding:20px;background:#fcfaf5;border:1px solid var(--line)}
.map-image img{max-height:none;object-fit:contain}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px;margin-top:32px;border-top:1px solid var(--line)}
.info-card{padding-block:24px;border-bottom:1px solid var(--line);min-width:0}
.info-card h3{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.05em;margin:0 0 13px;color:var(--bronze-dark)}
.info-card p{font-size:14px;margin:0;line-height:2.05}
.detail-list{padding-left:1.3em;font-size:14px;line-height:2.15;margin-block:22px}
.detail-list li{padding-left:.25em;margin-block:9px}.detail-list li::marker{color:var(--bronze)}
.step-list{list-style:none;counter-reset:steps;padding:0;margin-top:35px;border-top:1px solid var(--line)}
.step-list li{counter-increment:steps;display:flex;gap:25px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:2}
.step-list li::before{content:counter(steps,decimal-leading-zero);font-family:Georgia,serif;font-size:23px;color:var(--bronze);flex:0 0 34px}
.sub-section .review-note{padding:17px 21px;border-left:2px solid #b79e75;background:#ebe5d977;font-size:11.5px;line-height:1.95;color:#645a4b;margin-top:30px}
.sub-section .text-link{margin-top:26px}.sub-section .text-link a{gap:25px;line-height:2;max-width:100%}
.sub-closing{padding-block:75px;text-align:center;background:#eae5da;margin-top:45px;margin-bottom:65px}
.sub-closing .sub-eyebrow{margin-top:0}.sub-closing h2{font-size:31px}.sub-closing .text-link{text-align:center}
.sub-closing p{font-size:13px}.sub-closing .text-link a{font-size:13px;padding:12px 0}
.tourism-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 32px;margin-top:40px}
.tourism-card{min-width:0}.tourism-card h3{font-size:22px;margin:10px 0}.tourism-card>p{font-size:13px;margin-top:12px}
.tourism-card .card-label{font-size:9px;margin-top:18px}.tourism-card .small-note{font-size:10.5px}.tourism-card .text-link a{font-size:11px}
.photo-placeholder{aspect-ratio:4/3;background:#e8e2d7;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #d5cbb9;position:relative;text-align:center;padding:20px;overflow:hidden}
.sub-section .placeholder-number{font-family:Georgia,serif;font-size:50px;line-height:1;color:#a79880;margin:0;letter-spacing:.03em}
.sub-section .placeholder-label{font-size:10px;line-height:1.9;color:#706655;margin:15px 0 0;letter-spacing:.02em}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 38px;margin-top:40px}
.route-card{min-width:0}.route-card h3{font-size:22px;margin:0 0 20px}.route-card .sub-eyebrow{margin-bottom:7px}
.route-card>figure{margin:0}.route-card img{width:100%;height:auto;max-height:660px;object-fit:contain;background:#e8e2d7}
.route-card .photo-placeholder{aspect-ratio:3/4;max-height:660px}.route-card .small-note{font-size:11px}
.faq-index{display:flex;flex-wrap:wrap;gap:12px 30px}.faq-index .text-link{margin:0}.faq-index a{font-size:12px;gap:0}
.faq-group{margin-top:32px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:0}.faq-item summary{list-style:none;cursor:pointer;padding:25px 45px 25px 0;font-size:15px;line-height:2;font-weight:500;position:relative}
.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';position:absolute;right:8px;top:24px;font-size:22px;color:var(--bronze);font-family:var(--sans)}
.faq-item[open] summary::after{content:'−'}.faq-item>p{border-left:2px solid #c2af91;padding-left:23px;margin:0 45px 26px 0;color:var(--muted);font-size:14px}
.faq-item summary:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.contact-grid{grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}.contact-guidance{padding-top:10px}.contact-guidance h2{font-size:25px}
.local-contact-form{display:grid;gap:27px;padding:35px;background:var(--paper);border:1px solid var(--line)}
.local-contact-form label{display:grid;gap:9px;font-size:12px;letter-spacing:.05em}.local-contact-form em{font-size:9px;color:var(--bronze-dark);font-style:normal;margin-left:10px}
.local-contact-form input,.local-contact-form textarea{border:1px solid #c7bdad;background:transparent;width:100%;min-width:0;padding:13px 12px;border-radius:0;font:inherit;font-size:15px;color:var(--ink)}
.local-contact-form textarea{min-height:210px;resize:vertical}.local-contact-form .contact-privacy{font-size:11px;line-height:2;margin:0}
.local-contact-form .contact-privacy a{text-decoration:underline;text-underline-offset:4px}
.local-form-submit{padding:17px 20px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:13px;letter-spacing:.05em;min-height:52px}
.local-form-status{font-size:12px!important;line-height:2!important;margin:0!important;color:var(--bronze-dark)}
.local-form-status:empty{display:none}.reservation-form .local-form-status{grid-column:1/-1}
.legal-index{padding:35px;background:var(--paper);margin-top:30px}.legal-index h2{font-size:23px;margin-bottom:18px}
.legal-toc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;font-size:13px}
.legal-toc a{border-bottom:1px solid var(--line);display:block;padding-bottom:10px}.news-article{max-width:900px}.news-article h1{font-size:38px}.news-body{margin-block:40px 65px}.news-body p{margin:18px 0}
.news-item a{flex:1;display:flex;justify-content:space-between;gap:20px;font-size:12px}.news-item a:hover{color:var(--bronze-dark)}
.editor-styles-wrapper .sub-hero-with-photo,.editor-styles-wrapper .editorial-grid{gap:30px}.editor-styles-wrapper .sub-section{padding-block:40px}.editor-styles-wrapper .section-shell{max-width:none}
@media(max-width:1100px){.sub-hero-with-photo{gap:55px}.editorial-grid{gap:50px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tourism-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:45px}.sub-section-warm{padding:45px;width:calc(100% - 100px)}.sub-section-warm .editorial-grid{gap:40px}}
@media(max-width:800px){.sub-hero-with-photo{gap:35px}.sub-hero h1{font-size:34px}.sub-section{padding-block:60px}.editorial-grid{gap:35px}.photo-pair{gap:20px}.sub-section-warm{padding:35px}.sub-section-warm .editorial-grid{gap:30px}.contact-grid{grid-template-columns:1fr}.contact-guidance{max-width:640px}.local-contact-form{padding:30px}}
@media(max-width:700px){
 .sub-hero{padding-block:48px 45px}.sub-hero-with-photo{grid-template-columns:1fr;gap:32px;padding-block:45px 40px}
 .sub-hero h1{font-size:31px;line-height:1.85;letter-spacing:.06em;margin-bottom:20px}.sub-hero .lead-copy{font-size:13px;line-height:2.05}
 .sub-eyebrow{font-size:9px;margin-bottom:20px}.sub-hero-media figure{aspect-ratio:1.12}.sub-hero-media img{object-position:center 43%}
 .sub-section{padding-block:48px}.sub-section h2{font-size:27px;line-height:1.85;margin-bottom:22px;letter-spacing:.045em}.sub-section h3{font-size:21px}
 .sub-section p{font-size:14px;line-height:2.05;margin-top:17px;letter-spacing:.015em}.sub-section .sub-eyebrow{font-size:9px;margin-bottom:18px;margin-top:0;letter-spacing:.17em}
 .sub-section .lead-copy{font-size:14px}.editorial-grid{grid-template-columns:1fr;gap:28px}.editorial-copy h2{font-size:27px}.editorial-grid-reverse>figure{order:2}
 .sub-section-warm{width:calc(100% - 44px);padding:30px 22px;margin-block:22px}.sub-section-warm .editorial-grid>figure{max-width:none}.sub-section-warm .editorial-copy h2{font-size:28px}
 .photo-pair{gap:15px;margin-block:30px 22px}.photo-pair img{max-height:400px}.subpage-content .media-wide{margin-top:27px}.subpage-content .map-image{padding:5px}
 .info-grid{grid-template-columns:1fr;gap:0;margin-top:25px}.info-card{padding-block:20px}.info-card h3{font-size:12px;margin:0 0 10px}.info-card p{font-size:14px;margin:0}
 .detail-list{font-size:14px;margin-block:20px}.detail-list li{margin-block:12px}.step-list li{gap:17px;font-size:14px;padding-block:20px}.step-list li::before{font-size:21px;flex-basis:26px}
 .sub-section .review-note{font-size:11.5px;padding:15px 16px;margin-top:24px;line-height:1.95}.sub-section .small-note{font-size:11.5px;line-height:2}
 .sub-section .text-link a{font-size:12px;gap:12px}.sub-closing{padding:40px 22px;margin-block:25px 40px}.sub-closing h2{font-size:25px}.sub-closing p{font-size:12px}
 .tourism-grid{gap:35px 17px;margin-top:30px}.tourism-card h3{font-size:19px;letter-spacing:.025em;margin:10px 0}.tourism-card>p{font-size:12px;line-height:2;margin-top:10px}.tourism-card .card-label{font-size:8px;margin-top:14px}.tourism-card .small-note{font-size:10px}.tourism-card .text-link a{font-size:10px}
 .photo-placeholder{padding:14px 8px}.sub-section .placeholder-number{font-size:38px;margin:0}.sub-section .placeholder-label{font-size:9px;line-height:1.8;margin-top:12px}
 .route-grid{gap:32px 17px;margin-top:30px}.route-card h3{font-size:17px;margin-top:0;margin-bottom:14px}.route-card .sub-eyebrow{font-size:8px;margin-bottom:8px}.route-card .small-note{font-size:10px;line-height:1.9}.route-card .placeholder-label{font-size:9px}.route-card .photo-placeholder{max-height:none}
 .faq-index{gap:14px 22px}.faq-index .text-link a{font-size:11px}.faq-group{margin-top:25px}.faq-item summary{font-size:14px;padding:22px 30px 22px 0;line-height:2}.faq-item summary::after{right:3px;top:22px;font-size:20px}.faq-item>p{font-size:13px;line-height:2.1;margin:0 0 23px;padding-left:17px}
 .contact-grid{gap:35px}.local-contact-form{padding:24px 18px;gap:25px}.local-contact-form label{font-size:13px}.local-contact-form input,.local-contact-form textarea{font-size:16px;padding:12px 10px;min-height:48px}.local-contact-form textarea{min-height:190px}.contact-guidance h2{font-size:25px}
 .legal-index{padding:25px 20px;margin-top:25px}.legal-index h2{font-size:22px}.legal-toc{grid-template-columns:1fr;font-size:12px;gap:13px}.news-article h1{font-size:28px}
}
@media(max-width:360px){.sub-hero h1{font-size:27px}.sub-section h2,.editorial-copy h2{font-size:24px}.tourism-grid,.route-grid{gap:30px 12px}.tourism-card h3{font-size:17px}.sub-section .placeholder-label{font-size:8px}.sub-section-warm{width:calc(100% - 36px);padding:28px 18px}.local-contact-form{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){.subpage-content *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Phase 2-B4: photography refinements within the existing editorial system. */
.tourism-card{display:flex;flex-direction:column;align-items:stretch}
.tourism-card .tourism-photo{margin:0 0 4px}
.tourism-photo>img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;cursor:zoom-in}
.tourism-photo .wp-element-caption{font-family:var(--sans);font-size:10px;line-height:1.8;color:var(--muted);margin-top:10px;overflow-wrap:anywhere;letter-spacing:.01em;text-align:left}
.tourism-photo .wp-element-caption a{text-decoration:underline;text-underline-offset:3px}
.tourism-card>.text-link{margin-top:auto;padding-top:20px}
.tourism-card .card-label{padding-top:5px}
.night-exterior img{max-height:720px;object-fit:contain}
.arrival-detail>figure{max-width:450px}.departure-detail{align-items:start}.departure-detail>figure{padding-top:35px}
.place-item{min-width:0}.place-item .place-visual{display:block;overflow:hidden;padding:0}
.place-item .place-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.place-item .place-card:hover img{transform:scale(1.025)}
.place-credit{font-family:var(--sans);font-size:9px;line-height:1.8;margin-top:12px!important;color:var(--muted);overflow-wrap:anywhere}
.place-credit a{text-decoration:underline;text-underline-offset:3px}
.tourism-map-wrap{margin-top:35px}.tourism-map-canvas{height:600px;width:100%;background:#e6e8dd;border:1px solid var(--line);isolation:isolate;font-family:var(--sans)}
.tourism-map-tools{margin-bottom:17px}.tourism-map-tools label{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.tourism-map-tools select{max-width:100%;min-height:44px;padding:10px 32px 10px 14px;border:1px solid #bdb29f;border-radius:0;background:var(--paper);color:var(--navy);font:inherit;font-size:14px}
.tourism-map-canvas:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.tourism-map-canvas .leaflet-control-attribution{font-size:10px;background:#fffcf4ee;line-height:1.7;padding:3px 7px;max-width:100%}
.tourism-map-canvas .leaflet-popup-content{font-size:13px;line-height:1.9;margin:15px 18px;min-width:145px}
.tourism-map-canvas .leaflet-popup-content a{display:block;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.tourism-pin{background:transparent;border:0}.tourism-pin span{display:grid;place-items:center;width:31px;height:31px;background:var(--navy);color:#fff;border:2px solid #fffcf4;border-radius:50%;box-shadow:0 2px 8px #14213044;font-size:11px;font-weight:500}
.tourism-pin.region-2 span{background:#8b683f}.tourism-pin.region-3 span{background:#51736a}
.map-legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:17px!important;font-size:12px!important;color:var(--muted)}
.map-legend span::before{content:'';display:inline-block;height:8px;width:8px;border-radius:50%;background:var(--navy);margin-right:8px}.map-legend span:nth-child(2)::before{background:#8b683f}.map-legend span:nth-child(3)::before{background:#51736a}
.map-legend span:nth-child(4)::before,.hotel-pin span{background:#ac843e}.hotel-pin span{width:34px;height:34px;border-radius:5px;font-size:13px}
.map-status{font-size:11px!important;color:var(--muted);line-height:1.9!important;margin-top:12px!important}
@media(max-width:700px){
 .route-grid,.tourism-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .route-card h3{font-size:23px;line-height:1.7;letter-spacing:.03em}
 .route-card .sub-eyebrow{font-size:10px;letter-spacing:.18em}
 .route-card .small-note{font-size:12px}
 .route-card img{max-height:none}
 .tourism-card h3{font-size:24px;margin-top:12px}
 .tourism-card>p{font-size:14px;line-height:2.05}
 .tourism-card .card-label{font-size:10px;margin-top:13px}
 .tourism-card .small-note,.tourism-card .text-link a{font-size:12px}
 .tourism-card>.text-link{padding-top:0;margin-top:18px}
 .tourism-photo .wp-element-caption{font-size:10px;line-height:1.8}
 .tourism-map-canvas{height:510px}
 .tourism-map-tools label{display:grid;gap:8px}.tourism-map-tools select{width:100%;font-size:16px}
 .arrival-detail>figure{max-width:none}.departure-detail>figure{padding-top:0}
 .place-credit{font-size:9px!important;line-height:1.85!important}
}
/* C1: preserve the existing guest-field layout for direct child-count input. */
.guest-fields input[type="text"]{width:100%;min-width:0;box-sizing:border-box;font:inherit;color:inherit;background:transparent;border:1px solid currentColor;padding:.6rem}
.reservation-form [aria-invalid="true"]{outline:2px solid #ba7659;outline-offset:2px}

/* 2026-10-17: requested staging refinements, scoped to new photo groups. */
.photo-caption-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:38px}
.photo-caption-grid>*{min-width:0}
.photo-caption-grid .leisure-card>figure{margin:0;background:#ebe6dc}
.photo-caption-grid .leisure-card>figure img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;max-height:none}
.photo-caption-grid .info-card{margin-top:28px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.photo-caption-grid .info-card h3{font-family:var(--sans);font-size:13px;line-height:1.9;color:var(--bronze-dark);letter-spacing:.035em;margin:0 0 15px}
.photo-caption-grid .info-card p{margin:0;font-size:14px;line-height:2.05}
.view-intro{max-width:760px}
.view-grid{display:grid;grid-template-columns:1.78fr 1fr;gap:38px;align-items:start;margin-top:36px}
.view-grid figure{margin:0;min-width:0}
.view-grid img{width:100%;height:auto;object-fit:contain}
.view-grid figcaption,.arrival-gallery figcaption{font-family:var(--sans);font-size:12px;line-height:1.9;color:var(--muted);text-align:left;margin-top:14px;letter-spacing:.025em}
.refined-directions{gap:42px 38px}
.refined-directions .route-card{padding:28px;background:var(--paper);border:1px solid var(--line)}
.refined-directions .route-card h3{font-size:22px;letter-spacing:.05em;line-height:1.8;margin-bottom:22px}
.refined-directions .route-card img{background:var(--paper)}
.refined-directions .route-card .small-note{font-size:12px;line-height:1.95;margin-top:20px}
.arrival-gallery{align-items:start}
.arrival-gallery img{height:auto;width:100%;object-fit:contain;background:var(--paper)}
@media(min-width:1101px) and (max-width:1370px){.site-header{gap:22px;padding-inline:32px}.header-nav{gap:18px}.header-booking{gap:20px;padding-inline:18px}}
@media(max-width:700px){.photo-caption-grid{grid-template-columns:1fr;gap:32px;margin-top:28px}.photo-caption-grid .leisure-card>figure img{aspect-ratio:3/4}.photo-caption-grid .info-card{margin-top:20px;padding-block:19px}.photo-caption-grid .info-card h3{font-size:13px}.view-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.view-daytime{max-width:460px}.view-grid figcaption,.arrival-gallery figcaption{font-size:12px}.refined-directions{gap:30px}.refined-directions .route-card{padding:22px 18px}.refined-directions .route-card h3{font-size:22px;margin-bottom:18px}.refined-directions .route-card .small-note{font-size:13px}}

/* Reserve the actual photo proportions before lazy image decoding. */
.view-sunset img{aspect-ratio:4/3}.view-daytime img{aspect-ratio:3/4}.refined-directions .route-card img{aspect-ratio:3/4}.refined-directions .route-card:first-child img{aspect-ratio:4/3}.refined-directions .route-card:nth-child(2) img{aspect-ratio:2/3}.arrival-gallery>figure:first-child img{aspect-ratio:16/9}.arrival-gallery>figure:last-child img{aspect-ratio:1440/1086}
