/* Review pass 4 — shared behaviour and responsive refinements. */
.button.ivory{--ticket-fill:#fff}
.button.ivory:hover,.button.ivory:focus-visible{--ticket-fill:#ecf3f1}
.text-button .action-icon,.text-button:hover .action-icon{background:#fff}
.rich-footer .footer-main .footer-contact>.button{--ticket-fill:#fff}
.rich-footer .footer-contact>.button:hover{--ticket-fill:#ecf3f1}
.section-link{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;border:0;border-bottom:1px solid #244b4b65;border-radius:0;padding:7px 0;background:none;color:var(--ink);font-size:12px;font-weight:650;line-height:1.5;text-align:right;transition:color .2s}
.section-link svg{width:17px;height:17px;flex-shrink:0;transform:none}
.section-link:hover{color:var(--rust);background:none}
.section-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.coast .coast-callout{background:#fff;color:#173e43}
.coast .coast-callout h3{color:#173e43}
.coast .coast-callout .button{--ticket-fill:#286c64;color:#fff}
.coast .coast-callout .button:hover{--ticket-fill:#1d524b}

/* Transparent platform badges and a separate monochrome social row. */
.hero-review-badges{gap:20px;margin-top:24px}
.hero-review-badges .review-badge{background:transparent;box-shadow:none;border:1px solid #ffffff55;border-radius:5px;color:#fff;text-decoration:none;min-width:195px;padding:13px 18px}
.hero-review-badges .review-badge:hover{background:#ffffff12;border-color:#ffffffaa}
.hero-review-badges .review-badge strong{font-size:11px;color:#fff}
.hero-review-badges .review-badge small{font-size:10px;color:#ffffffe6}
.hero-review-badges .review-badge small b{font-weight:750}
.hero-review-badges .badge-stars{color:#ffd24a}
.review-badge img[src$="tripadvisor.svg"]{filter:invert(1)}
.hero-rating-note{font-size:9px;line-height:1.4;color:#ffffffa6;margin-top:8px;letter-spacing:.03em}
.social-links.hero-socials{justify-content:center;margin-top:16px}
.hero-socials a{border-color:#ffffff70;background:transparent;width:34px;height:34px}
.hero-socials a:hover{background:#ffffff1a;transform:none}
.hero-socials img{filter:invert(1);opacity:1;width:15px;height:15px}
.hero-socials>div{gap:13px}
.tidal-bottom{justify-content:flex-end;right:5vw;left:auto;width:auto}
.hero-tidal .hero-copy{bottom:75px}

/* The trip list fills the full height of the route panel. */
.trip-explorer{align-items:stretch}
.trip-sidebar{min-height:0;padding-bottom:20px}
.trip-results{height:auto;min-height:0;flex:1;overflow:auto;max-height:none}
@media(min-width:651px){
 .trip-sidebar{position:relative}
 .trip-results{flex:1 1 0;min-height:350px}
}
.route-stop-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;padding:22px;gap:18px}
.route-stop-card{display:flex;flex-direction:column;border-radius:9px}
.route-stop-card>img{width:100%;height:170px;min-height:0;aspect-ratio:1.7;flex:none;object-fit:cover}
.stop-content{padding:19px;gap:9px;flex:1}
.stop-content>strong{font-size:20px}
.stop-description{font-size:12px;line-height:1.75}
.stop-map-link{font-size:10px;padding-top:10px}

/* Equal card heights, with route actions anchored to the bottom. */
.package-grid{grid-auto-rows:1fr;align-items:stretch}
.package-grid .package-card{display:flex;flex-direction:column;gap:0;height:100%;min-width:0}
.package-grid .package-photo{height:260px;flex:none;width:100%}
.package-grid .package-copy{display:flex;flex-direction:column;flex:1;align-self:stretch;padding-top:25px;min-width:0}
.package-grid .package-copy h3{min-height:2.8em;line-height:1.4}
.package-grid .package-copy>p{min-height:3.6em;line-height:1.8}
.package-grid .package-stops{min-height:3.2em;line-height:1.7;padding-bottom:16px}
.package-grid .package-bottom{margin-top:auto;min-height:76px;flex-wrap:wrap}
.package-grid .package-bottom .text-button{margin-left:auto}

/* A single wildlife pocket in a hero that fits one viewport. */
.hero-layers{height:calc(100svh - var(--toolbar));min-height:0;max-height:none;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;isolation:isolate}
.hero-layers .fold-header{padding:18px 4.8vw;grid-row:1;align-self:start}
.hero-layers .fold-copy{grid-row:2;align-self:center;width:44%;padding:0 0 26px 4.8vw}
.hero-layers .fold-copy h1{font-size:clamp(52px,6.1vw,88px);line-height:1.06}
.hero-layers .fold-copy>p{font-size:15px;line-height:1.75;margin:18px 0 10px}
.hero-layers .fold-detail{font-size:11px;line-height:1.7;margin-bottom:20px}
.hero-layers .hero-edition{font-size:9px;margin-bottom:16px}
.hero-layers .fold-copy .social-links{margin-top:17px}
.hero-layers .fold-tags{margin-top:18px}
.hero-layers .fold-art{position:absolute;inset:-6% -11% -10% 36%;mask-image:none}
.hero-layers .fold-art>svg{width:100%;height:100%;overflow:visible}

/* An editorial About section with two destination images and clear planning steps. */
.about-redesigned{padding-top:85px;padding-bottom:80px;background:#f3ede4}
.coast .about-redesigned{background:#fff}
.layers .about-redesigned{background:#e8ddce}
.about-redesigned .section-heading{margin-bottom:55px}
.about-editorial{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;align-items:center}
.about-story{max-width:550px}
.about-story>.eyebrow{font-size:9px;letter-spacing:.17em;color:var(--rust)}
.about-story h3{font-size:clamp(28px,3.1vw,43px);line-height:1.23;letter-spacing:-.04em;margin:18px 0 23px}
.about-story p{font-size:14px;line-height:1.95;color:#5c6e68;margin-bottom:18px;max-width:470px}
.about-story>.button{margin:29px 0 0 auto;display:flex;width:max-content}
.about-mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:70px 270px 100px;gap:16px;position:relative}
.about-mosaic figure{margin:0;overflow:hidden;position:relative;border-radius:6px}
.about-mosaic figure img{width:100%;height:100%;object-fit:cover}
.about-main-photo{grid-column:1;grid-row:1/4}
.about-coast-photo{grid-column:2;grid-row:2/4}
.about-mosaic figcaption{position:absolute;inset:auto 0 0;padding:35px 16px 15px;color:#fff;font-size:10px;background:linear-gradient(transparent,#103e4399)}
.about-photo-label{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}
.about-photo-label img{width:105px}
.about-photo-label span{font-size:8px;color:#65776c}
.about-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid #234a4e35;padding-top:36px;margin-top:58px}
.about-steps article{display:flex;gap:18px;min-width:0}
.about-steps article>span{font-size:14px;font-weight:750;color:var(--rust);padding-top:3px}
.about-steps h3{font-size:18px;line-height:1.4;margin-bottom:9px}
.about-steps p{font-size:12px;line-height:1.85;color:#5c6e68}

/* Native top-layer mobile menu: full viewport, no hero clipping. */
body.menu-open{overflow:hidden}
.mobile-menu-dialog{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;overflow:auto;background:#f7f1e8;color:#163e43;box-shadow:none;z-index:1000}
.mobile-menu-dialog[open]{display:flex;flex-direction:column}
.mobile-menu-dialog::backdrop{background:#f7f1e8;backdrop-filter:none}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:22px 6vw 15px;flex:none}
.mobile-menu-header img{width:146px;height:auto}
.mobile-menu-header .menu-close{width:42px;height:42px;border:1px solid #173f432b;border-radius:50%;display:grid;place-items:center;color:#163e43;background:transparent;padding:0}
.menu-close svg{width:22px;height:22px}
.site-header .mobile-menu-dialog nav.mobile-nav-links{display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:7px 7vw 12px}
.site-header .mobile-menu-dialog .mobile-nav-links button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;border-bottom:1px solid #163e431c;font-size:clamp(18px,4.7vw,25px);font-weight:650;letter-spacing:0;text-transform:none;text-align:left;color:#163e43}
.mobile-nav-links svg{width:18px;height:18px}
.mobile-menu-bottom{display:flex;flex-direction:column;align-items:stretch;padding:16px 7vw 23px;margin-top:auto;flex:none}
.site-header .mobile-menu-bottom .button{display:inline-flex!important;justify-content:space-between;width:100%;max-width:400px;min-width:0;align-self:center;min-height:52px;font-size:13px;letter-spacing:0;text-transform:none;padding:0 16px 0 24px;color:#fff;--ticket-fill:#245b5c;background:radial-gradient(circle at 0 50%,transparent 6px,var(--ticket-fill) 6.5px)}
.mobile-menu-bottom .social-links{justify-content:center;margin-top:23px}
.menu-socials>div{gap:14px}
.menu-socials a{width:35px;height:35px}
.menu-socials img{width:16px;height:16px;opacity:1}
.mobile-menu-bottom>p{text-align:center;font-size:10px;color:#6e7c70;margin-top:19px}

/* Four-step planner: clear progress, saved values between steps, compact mobile fields. */
.planner-dialog{width:min(820px,calc(100% - 36px));max-width:820px;max-height:92dvh;border-radius:12px;background:#fbf7ef;overflow:auto}
.planner-dialog .dialog-close{top:18px;right:0;margin-right:18px;background:#fff;color:#173f43}
.planner-shell{padding:38px 42px 0}
.planner-heading{padding-right:40px}
.planner-heading>.eyebrow{font-size:9px;letter-spacing:.18em;color:#8b4b30}
.planner-heading h2{font-size:32px;line-height:1.2;margin:12px 0;color:#173f43;letter-spacing:-.04em}
.planner-heading>p{font-size:13px;line-height:1.8;color:#69796d;max-width:570px}
.planner-progress-area{margin:25px 0 23px}
.planner-progress-line{display:flex;justify-content:space-between;font-size:10px;font-weight:650;color:#647768;margin-bottom:10px}
.planner-progress{height:4px;border-radius:4px;background:#dce4d9;overflow:hidden}
.planner-progress>span{display:block;width:25%;height:100%;background:#275e5c;transition:width .2s}
.planner-step-list{display:flex;justify-content:space-between;list-style:none;margin:14px 0 0;padding:0;gap:10px}
.planner-step-list button{display:flex;align-items:center;gap:7px;font-size:10px;color:#798879;background:transparent;padding:0;min-height:28px}
.planner-step-list button>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #cbd4c7}
.planner-step-list button[aria-current=step]{color:#173f43;font-weight:750}
.planner-step-list button[aria-current=step]>span,.planner-step-list button.complete>span{background:#275e5c;border-color:#275e5c;color:#fff}
.planner-step-list button:disabled{cursor:default;opacity:.65}
.planner-form{margin:0}
.planner-form .planner-stage{border:0;padding:0;margin:0;min-width:0;min-height:300px}
.planner-stage[hidden]{display:none!important}
.planner-form .planner-stage>legend{font-family:var(--heading);font-size:22px;line-height:1.35;letter-spacing:-.02em;font-weight:750;float:none;width:100%;padding:0;margin-bottom:7px;color:#173f43}
.planner-stage>legend:focus{outline:none}
.planner-stage .stage-intro{font-size:12px;color:#6c7d70;line-height:1.8;margin:0 0 22px}
.planner-form label{font-size:11px;line-height:1.6;color:#254e4f;display:block;margin-bottom:16px}
.planner-form input:not([type=checkbox]),.planner-form select,.planner-form textarea{display:block;box-sizing:border-box;min-width:0;width:100%;border:1px solid #ccd4c6;border-radius:5px;padding:11px 12px;background:#fff;color:#173f43;font:13px/1.5 var(--sans);margin-top:6px;min-height:43px;outline:none}
.planner-form input:focus,.planner-form select:focus,.planner-form textarea:focus{outline:2px solid #527975;outline-offset:2px}
.planner-form input:disabled{background:#eaece5;color:#889385}
.planner-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.planner-form .planner-interests{border:0;padding:0;margin:16px 0 19px;min-width:0}
.planner-interests>legend{font-size:11px;font-weight:500;margin-bottom:10px;color:#254e4f;padding:0}
.planner-form .interest-options{display:flex;flex-wrap:wrap;gap:8px}
.planner-form .interest-options label{margin:0;position:relative}
.planner-form .interest-options span{display:block;border:1px solid #ccd4c6;background:#fff;border-radius:30px;padding:8px 15px;font-size:11px;cursor:pointer}
.planner-form .interest-options input{position:absolute;opacity:0;width:1px;height:1px}
.planner-form .interest-options input:checked+span{background:#275e5c;border-color:#275e5c;color:#fff}
.planner-form .interest-options input:focus-visible+span{outline:2px solid #173f43;outline-offset:3px}
.planner-form .planner-check{display:flex;align-items:center;gap:10px;margin:-2px 0 20px}
.planner-check input{width:17px;height:17px;accent-color:#275e5c}
.planner-form .optional{font-size:9px;font-weight:400;color:#839080;margin-left:4px}
.planner-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;bottom:0;background:#fbf7ef;border-top:1px solid #dce0d4;padding:20px 0 23px;margin-top:20px;z-index:3}
.planner-back{display:flex;align-items:center;gap:8px;font-size:12px;color:#173f43;background:none;padding:9px 0}
.planner-back[hidden]{display:none}
.planner-back svg{width:16px;height:16px}
.planner-privacy{font-size:9px;line-height:1.6;color:#81907c;margin-right:auto}
.planner-form-footer>.button{min-width:160px;min-height:48px;font-size:12px;gap:16px;--ticket-fill:#275e5c;padding-left:23px}
.planner-form-footer .action-icon{padding:13px 0 13px 16px}
.planner-summary{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.planner-summary>div{padding:12px 0;border-bottom:1px solid #e0e4d8;min-width:0}
.planner-summary>div:nth-last-child(-n+2){grid-column:1/-1}
.planner-summary dt{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#73846f;margin-bottom:5px}
.planner-summary dd{font-size:12px;line-height:1.7;margin:0;color:#173f43;overflow-wrap:anywhere;white-space:pre-wrap}
.planner-preview-note{background:#eaf0e6;border-radius:5px;color:#62745d;padding:13px 15px;font-size:10px;line-height:1.8;margin:20px 0 0}
.planner-success{padding:65px 45px 55px;text-align:center}
.planner-success-icon{width:65px;height:65px;display:grid;place-items:center;background:#e0ebdf;border-radius:50%;margin:0 auto 25px;color:#275e5c}
.planner-success h2{font-size:36px;line-height:1.2;margin:17px 0}
.planner-success p{font-size:13px;line-height:1.9;color:#6c7d70;max-width:470px;margin:0 auto 25px}
.planner-success>.section-link{display:flex;width:max-content;margin:25px auto 0}

@media(max-height:750px) and (min-width:651px){
 .hero-layers .fold-copy h1{font-size:clamp(45px,9svh,67px)}
 .hero-layers .fold-copy>p{font-size:13px;margin:14px 0 17px}
 .hero-layers .fold-detail,.hero-layers .fold-tags{display:none}
 .hero-layers .hero-edition{margin-bottom:12px}
 .hero-layers .fold-copy .social-links{margin-top:16px}
 .hero-layers .fold-header{padding-top:14px;padding-bottom:14px}
 .hero-layers .fold-header .brand,.hero-layers .fold-header .brand img{width:150px;height:56px}
}
@media(max-width:1000px){
 .route-stop-card>img{height:145px}.stop-content{padding:15px}.stop-description{font-size:11px}.stop-content>strong{font-size:17px}
 .about-editorial{gap:5vw;grid-template-columns:1fr 1fr}.about-story h3{font-size:29px}.about-story p{font-size:12px}.about-mosaic{grid-template-rows:55px 230px 70px;gap:12px}.about-steps{gap:20px}.about-steps article{gap:12px}.about-steps h3{font-size:16px}
 .hero-layers .fold-copy{width:47%}.hero-layers .fold-art{left:51%;right:-42%}.hero-layers .fold-copy>p br{display:none}
 .hero-layers .fold-copy h1{font-size:clamp(44px,6.4vw,66px)}
}
@media(max-width:800px){
 .package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.package-grid .package-photo{height:210px}.package-grid .package-copy h3{font-size:22px}.package-grid .package-copy>p{font-size:12px}
 .about-editorial{grid-template-columns:1fr}.about-story{max-width:650px}.about-story h3{font-size:35px}.about-story p{font-size:14px;max-width:580px}.about-mosaic{max-width:700px;grid-template-rows:50px 260px 80px}.about-steps{grid-template-columns:1fr;gap:25px}.about-steps h3{font-size:18px}
}
@media(max-width:650px){
 .hero-review-badges{width:100%;gap:10px;margin-top:22px}.hero-review-badges .review-badge{min-width:0;max-width:205px;padding:11px 10px;gap:8px}.hero-review-badges .review-badge strong{font-size:9px}.hero-review-badges .review-badge small{font-size:8px}.hero-review-badges .review-badge>img{width:23px;height:23px}.hero-rating-note{font-size:8px;margin-top:7px}
 .hero-tidal .hero-copy{bottom:76px}.hero-tidal{min-height:750px}.hero-socials a{width:32px;height:32px}.social-links.hero-socials{margin-top:13px}.tidal-bottom{right:6vw;bottom:20px}
 .trip-sidebar{padding-bottom:18px}.trip-results{flex:none;height:290px;min-height:0;max-height:45svh}.route-stop-cards{grid-template-columns:1fr;padding:18px 15px;gap:20px}.route-stop-card>img{width:100%;height:190px;min-height:0}.stop-content{padding:20px}.stop-content>strong{font-size:21px}.stop-description{font-size:12px}
 .package-grid{grid-template-columns:minmax(0,1fr);gap:35px}.package-grid .package-photo{height:255px}.package-grid .package-copy h3{font-size:25px}.package-grid .package-copy>p{font-size:13px}.package-grid .package-copy{padding-top:22px}.package-grid .package-bottom{min-height:78px}.package-grid .package-stops{font-size:10px}
 .layer-destinations .destination-card,.destination-card{border-radius:7px;height:370px}.layer-destinations .destination-card>div{left:24px;right:24px;bottom:30px}.layer-destinations .destination-arrow{bottom:30px;right:24px}
 .hero-layers{height:calc(100svh - var(--toolbar));min-height:0;max-height:none;padding:0;grid-template-rows:76px minmax(0,1fr)}
 .hero-layers .fold-header{padding:14px 6vw}.hero-layers .fold-header .brand,.hero-layers .fold-header .brand img{width:138px;height:50px}
 .hero-layers .fold-copy{padding:8px 6vw 0;width:100%;align-self:start;max-width:500px}
 .hero-layers .hero-edition{font-size:8px;letter-spacing:.12em;margin-bottom:10px}
 .hero-layers .fold-copy h1{font-size:clamp(39px,9.6vw,56px);line-height:1.05}.hero-layers .fold-copy h1 br{display:block}
 .hero-layers .fold-copy>p{font-size:12px;line-height:1.7;margin:12px 0 16px;max-width:360px}.hero-layers .fold-copy>p br{display:none}
 .hero-layers .fold-detail,.hero-layers .fold-tags{display:none}
 .site .hero-layers .fold-copy .button{min-height:46px;font-size:11px;padding-left:23px}.hero-layers .button .action-icon{padding:12px 0 12px 16px}
 .hero-layers .fold-copy .social-links{margin-top:14px;gap:12px}.hero-layers .social-links>span{font-size:8px}.hero-layers .social-links a{width:29px;height:29px}.hero-layers .social-links img{width:12px;height:12px}
 .hero-layers .fold-art{inset:auto -14% -28px 0;height:clamp(170px,34svh,300px);mask-image:linear-gradient(transparent,#000 16%);z-index:-1}
 .about-redesigned{padding:55px 6vw}.about-redesigned .section-heading{margin-bottom:32px}.about-editorial{gap:36px}.about-story h3{font-size:30px}.about-story p{font-size:13px}.about-story>.button{margin-top:22px}.about-mosaic{grid-template-rows:50px 190px 55px;gap:10px}.about-photo-label img{width:85px}.about-photo-label span{font-size:7px}.about-mosaic figcaption{font-size:9px;padding:24px 12px 13px}.about-steps{margin-top:35px;padding-top:26px}.about-steps p{font-size:12px}
 .coast-callout{padding:27px 6vw;gap:22px}.coast-callout h3{font-size:25px}
 .planner-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:9px}.planner-dialog .dialog-close{width:32px;height:32px;top:12px;margin-right:12px;margin-bottom:-44px}
 .planner-shell{padding:27px 19px 0}.planner-heading{padding-right:27px}.planner-heading h2{font-size:25px;margin:11px 0}.planner-heading>p{font-size:11px}.planner-heading>.eyebrow{font-size:8px}
 .planner-progress-area{margin:22px 0}.planner-progress-line{font-size:9px}.planner-step-list{gap:5px}.planner-step-list button{font-size:0;gap:0}.planner-step-list button>span{font-size:10px;width:24px;height:24px}
 .planner-form .planner-stage{min-height:0}.planner-form .planner-stage>legend{font-size:20px}.planner-stage .stage-intro{font-size:11px;margin-bottom:18px}
 .planner-form .form-row{grid-template-columns:1fr;gap:0}.planner-form input:not([type=checkbox]),.planner-form select,.planner-form textarea{font-size:16px;padding:10px;min-height:43px}.planner-form label{font-size:11px;margin-bottom:16px}.planner-form .interest-options span{padding:7px 12px;font-size:10px}
 .planner-form-footer{padding:17px 0 19px;gap:10px;flex-wrap:wrap;margin-top:18px}.planner-privacy{font-size:8px;flex-basis:100%;order:3;text-align:center;margin:1px 0 0}.planner-form-footer>.button{margin-left:auto;min-width:150px;font-size:11px;min-height:46px;padding-left:20px;gap:12px}.planner-form-footer .action-icon{padding:12px 0 12px 12px}
 .planner-summary{grid-template-columns:1fr;gap:0}.planner-success{padding:55px 24px 38px}.planner-success h2{font-size:28px}.planner-success p{font-size:12px}.planner-success>.button{min-width:0;max-width:100%;font-size:11px;gap:10px;padding-left:19px}.planner-success>.button .action-icon{padding-left:12px}
}
@media(max-width:650px) and (max-height:650px){
 .planner-shell{padding-top:20px}.planner-heading h2{font-size:23px;margin:8px 0}.planner-heading>p{line-height:1.6;margin:0}.planner-progress-area{margin:16px 0}.planner-step-list{margin-top:8px}.planner-progress-line{margin-bottom:7px}.planner-form .planner-stage>legend{font-size:19px}.planner-stage .stage-intro{margin-bottom:13px;line-height:1.6}.planner-form-footer{padding-top:12px;padding-bottom:12px}
 .mobile-menu-header{padding-top:15px;padding-bottom:8px}.mobile-menu-header img{width:125px}.mobile-menu-header .menu-close{width:36px;height:36px}
 .site-header .mobile-menu-dialog .mobile-nav-links button{font-size:18px;padding:8px 0}.site-header .mobile-menu-dialog nav.mobile-nav-links{padding-top:4px;padding-bottom:5px}
 .mobile-menu-bottom{padding-top:10px;padding-bottom:16px}.mobile-menu-bottom .social-links{margin-top:16px}.mobile-menu-bottom>p{margin-top:12px;font-size:9px}
 .hero-layers .fold-copy .social-links{margin-top:11px}.hero-layers .fold-copy>p{margin:10px 0 13px}.hero-layers .fold-art{height:31svh;bottom:-26px}
}
@media(max-width:650px) and (max-height:500px){
 .hero-layers .fold-copy .social-links,.hero-layers .hero-edition{display:none}.hero-layers .fold-copy h1{font-size:32px}.hero-layers .fold-art{left:40%;right:-35%;height:90%;bottom:-20px}.hero-layers .fold-copy{width:65%}.hero-layers .fold-copy>p{font-size:10px}.site .hero-layers .fold-copy .button{min-width:0;min-height:42px;font-size:10px;gap:10px}
}
@media(prefers-reduced-motion:reduce){.planner-progress>span{transition:none}}

/* Final presentation update: Coast hero, four experiences and shared contacts. */
.hero-coast{display:flex;flex-direction:column;height:auto;min-height:max(700px,calc(100svh - var(--toolbar)));padding-bottom:82px}
.hero-coast .hero-copy{position:relative;inset:auto;width:auto;min-width:0;flex:1;margin:0 5vw;padding:30px 0 20px;align-items:center;text-align:center}
.hero-coast .hero-copy>*{max-width:100%;flex-shrink:0}
.hero-coast h1{font-size:clamp(38px,5vw,70px);max-width:1100px;line-height:1.13;text-wrap:balance;overflow-wrap:break-word}
.hero-coast .hero-kicker{max-width:700px;margin:19px 0 24px;text-wrap:balance}
.hero-coast .hero-copy>.button{align-self:center;margin-left:0;margin-right:0}
.hero-coast .site-header .nav-right{gap:24px}
.hero-coast .site-header .header-plan{--ticket-fill:#fff;color:#163e43;min-width:165px;min-height:45px;padding:0 13px 0 21px;font-size:11px;letter-spacing:0;text-transform:none}
.hero-coast .site-header .header-plan .action-icon{padding:12px 0 12px 12px}
.hero-coast .site-header .header-plan:hover{--ticket-fill:#edf4ef;opacity:1}
.hero-tidal .tidal-bottom,.hero-coast .tidal-bottom{position:absolute;left:auto;right:106px;bottom:27px;width:44px;height:44px}
.hero .tidal-bottom .follow-tide{position:static;transform:none;left:auto;bottom:auto}
.nature-grid.experience-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:20px}
.experience-grid .nature-card{display:flex;flex-direction:column;min-width:0;height:100%}
.experience-grid .image-wrap{width:100%;height:255px;flex:none}
.experience-grid .nature-caption{flex:1;width:100%;padding:22px 19px 24px}
.experience-grid .nature-caption h3{font-size:clamp(21px,1.8vw,28px);line-height:1.22;min-height:3.66em;padding-right:20px;overflow-wrap:break-word}
.experience-grid .nature-caption>span{font-size:9px;letter-spacing:.06em;line-height:1.8}
.experience-grid .nature-caption>svg{right:17px;top:25px;width:17px}
.experience-grid .destination-card h3{font-size:clamp(23px,2.2vw,34px);line-height:1.16;overflow-wrap:break-word}
.experience-grid .destination-card p{line-height:1.8}
.layer-destinations .experience-grid .destination-card>div{right:25px;bottom:55px}
.contact-fab{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #ffffff65;border-radius:40px;background:#173f43;color:#fff;padding:16px 20px;min-height:56px;box-shadow:0 6px 24px #092b3340;font-size:12px;font-weight:650}
.contact-fab:hover{background:#286c64}.contact-fab svg{width:23px;height:23px}
.contact-dialog{max-width:510px;border-radius:14px;background:#fbf7ef}
.contact-panel{padding:40px 33px 32px}.contact-panel>.eyebrow{font-size:9px;color:#8b4b30}
.contact-panel h2{font-size:34px;line-height:1.2;margin:13px 28px 16px 0}
.contact-panel>p{font-size:13px;line-height:1.8;color:#65766c}
.contact-channels{display:grid;gap:10px;margin-top:27px}
.contact-channel{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #dce2d8;background:#fff;border-radius:8px;min-width:0}
a.contact-channel:hover{background:#edf3ec;border-color:#9ab5a7}
.contact-channel-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;background:#edf3ec;border-radius:50%;color:#173f43}
.contact-channel-icon img,.contact-channel-icon svg{width:20px;height:20px}
.contact-channel-copy{display:grid;gap:3px;min-width:0;flex:1}.contact-channel-copy strong{font-size:13px}.contact-channel-copy small{font-size:11px;color:#65766c;overflow-wrap:anywhere}
.contact-channel>svg{width:17px;flex:none}.contact-pending{background:transparent}
.contact-panel>.contact-preview-note{font-size:10px;line-height:1.7;margin-top:18px}
.planner-stop-picker{margin:0 0 19px;border:1px solid #d5ddcf;border-radius:6px;background:#fff}
.planner-stop-picker>summary{cursor:pointer;padding:12px 14px;font-size:12px;font-weight:650;color:#254e4f}.planner-stop-picker>summary span{font-size:10px;font-weight:400;color:#7b8876;margin-left:8px}
.planner-place-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:6px 14px 17px}
.planner-form .planner-place-options label{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;min-width:0}.planner-place-options input{width:16px;height:16px;accent-color:#275e5c;flex:none}
.planner-route-preview{border:1px solid #d5ddcf;border-radius:7px;overflow:hidden;margin:0 0 23px;background:#fff;min-width:0}
.planner-route-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 16px}.planner-route-heading h3{font-size:15px;letter-spacing:-.02em}.planner-route-heading>span{font-size:10px;color:#647768}
#planner-map{width:100%;height:280px;min-height:0;isolation:isolate;background:#e7eadf}
#planner-map .leaflet-control-zoom{margin:10px!important}#planner-map .leaflet-control-attribution{font-size:8px;line-height:1.5;max-width:100%}
#planner-map>img{height:230px;object-fit:contain}#planner-map>p{font-size:10px;text-align:center}.planner-map-popup strong{font:700 14px var(--sans)}.planner-map-popup p{font:11px/1.7 var(--sans);margin:7px 0}
.planner-route-stops{font-size:11px;line-height:1.9;color:#254e4f;padding:13px 16px 0;overflow-wrap:anywhere}
.planner-map-note{font-size:9px;line-height:1.7;color:#778471;padding:9px 16px 14px}
@media(min-width:651px){.hero .tidal-bottom{right:184px}}
@media(max-width:1000px){
 .nature-grid.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .experience-grid .nature-caption h3{min-height:2.44em;font-size:25px}
 .hero-coast .site-header{gap:18px}.hero-coast .site-header .nav-right{gap:18px}.hero-coast .site-header .header-plan{min-width:145px;font-size:10px;gap:12px}
}
@media(max-width:800px) and (min-width:651px){
 .hero-coast .site-header .brand,.hero-coast .site-header .brand img{width:140px;height:54px}
 .hero-coast .site-header .nav-left{gap:15px}.hero-coast .site-header .nav-right{gap:12px}.hero-coast .site-header .header-plan{min-width:135px;padding-left:15px}
}
@media(max-width:650px){
 .hero-coast{height:auto;min-height:calc(100svh - var(--toolbar));padding-bottom:85px}
 .hero-coast .hero-copy{position:relative;inset:auto;width:auto;margin:0 6vw;padding:32px 0 15px;min-height:0}
 .hero-coast h1{width:100%;max-width:450px;font-size:clamp(30px,9vw,44px);line-height:1.15;margin:0;text-wrap:balance}
 .hero-coast .hero-kicker{width:100%;max-width:390px;font-size:12px;line-height:1.8;margin:20px 0 23px}
 .hero-coast .hero-review-badges{gap:8px;max-width:430px}.hero-coast .review-badge{padding:11px 8px}
 .nature-grid.experience-grid{grid-template-columns:minmax(0,1fr);gap:25px}
 .experience-grid .image-wrap{height:285px}.experience-grid .nature-caption h3{min-height:0;font-size:27px}.experience-grid .nature-caption>span{margin-top:12px}
 .experience-grid .destination-card h3{font-size:29px}.experience-grid .destination-card{border-radius:7px}
 .contact-fab{right:max(17px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom));width:56px;height:56px;padding:0}.contact-fab>span{display:none}
 .contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.contact-panel{padding:34px 20px 25px}.contact-panel h2{font-size:29px}.contact-panel>p{font-size:12px}.contact-channel{gap:11px;padding:13px}.contact-channel-copy small{font-size:10px}
 .planner-place-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;padding-left:12px;padding-right:12px}.planner-form .planner-place-options label{font-size:10px}#planner-map{height:240px}.planner-route-heading{padding:12px}.planner-route-heading h3{font-size:13px}.planner-route-stops{padding-left:12px;padding-right:12px}.planner-map-note{padding-left:12px;padding-right:12px}
}
