.header-account-link { display: none; }

.destination-builder {
    overflow: clip;
    padding-bottom: 2.5rem;
    background: #fff;
}

.destination-builder-hero {
    position: relative;
    display: flex;
    align-items: end;
    min-height: 420px;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, #3f6558, #182c27);
    isolation: isolate;
}

.destination-builder-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, rgba(9, 23, 20, .64), rgba(10, 24, 21, .12) 75%), linear-gradient(0deg, rgba(7, 20, 17, .54), transparent 62%);
    content: "";
}

.destination-builder-hero > img {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.destination-builder-hero-copy {
    width: 100%;
    padding: 5.8rem 0 9.4rem;
}

.destination-builder-hero-copy > p {
    margin: 0 0 .38rem;
    color: #ff9a73;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.destination-builder-hero h1 {
    margin: 0;
    max-width: 760px;
    color: #fff;
    font-size: clamp(3.1rem, 8vw, 6.5rem);
    line-height: .95;
}

.destination-builder-hero-copy > span {
    display: block;
    max-width: 720px;
    margin-top: .7rem;
    color: rgba(255,255,255,.96);
    font-size: clamp(1rem, 2.2vw, 1.42rem);
    font-weight: 750;
}

.destination-builder-shell {
    position: relative;
    z-index: 2;
    margin-top: -6.3rem;
}

.destination-builder-panel {
    padding: 1.35rem;
    border-radius: 2rem;
    background: linear-gradient(140deg, rgba(24, 88, 73, .96), rgba(90, 167, 153, .76));
    box-shadow: 0 1.25rem 3rem rgba(13, 52, 43, .24);
}

.destination-builder-panel > h2 {
    margin: 0 0 1rem;
    color: #fff;
    text-align: center;
    font-size: clamp(1.7rem, 4vw, 2.25rem);
    letter-spacing: -.035em;
}

.destination-accordion {
    margin: .95rem 0;
    border-radius: 1.5rem;
    background: rgba(255,255,255,.16);
}

.destination-accordion > summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.35rem;
    padding: .8rem 4.4rem .8rem 1.25rem;
    border-radius: 1.4rem;
    background: #eeeeef;
    color: #070b0a;
    cursor: pointer;
    font-size: clamp(1.35rem, 3vw, 2.4rem);
    font-weight: 850;
    line-height: 1.08;
    list-style: none;
    text-align: center;
    transition: background .2s, box-shadow .2s, transform .2s;
}

.destination-accordion > summary::-webkit-details-marker { display: none; }

.destination-accordion > summary:hover { background: #fff; }

.destination-accordion > summary i {
    position: absolute;
    top: 50%;
    right: 1.25rem;
    width: 2rem;
    height: 2rem;
    border: 3px solid currentColor;
    border-radius: 50%;
    transform: translateY(-50%);
}

.destination-accordion > summary i::after {
    position: absolute;
    top: 48%;
    left: 50%;
    width: .55rem;
    height: .55rem;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    content: "";
    transform: translate(-50%, -66%) rotate(45deg);
}

.destination-accordion[open] > summary {
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    box-shadow: 0 .55rem .85rem rgba(8, 25, 21, .22);
}

.destination-accordion[open] > summary i::after { transform: translate(-50%, -30%) rotate(225deg); }

.destination-accordion-body {
    margin-top: -.75rem;
    padding: 2.25rem 1.25rem 1.4rem;
    border-radius: 0 0 1.5rem 1.5rem;
    background: #fff;
}

.destination-accordion-body > :last-child { margin-bottom: 0; }
.destination-accordion-body h3 { font-size: clamp(1.25rem, 2.5vw, 1.9rem); }
.destination-about-body { min-height: 14rem; padding: 2.4rem 2rem 2rem; }
.destination-about-body > div { max-width: 72ch; color: #1c2925; font-size: 1rem; font-weight: 600; }
.builder-kicker { margin-bottom: .55rem; color: #ed7650; font-size: .78rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }

.builder-stay-list .builder-stay-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #e0e9e4;
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 .45rem 1.4rem rgba(24, 63, 50, .07);
}

.builder-stay-list .builder-stay-media {
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 16 / 9;
    border-radius: .9rem;
}

.builder-stay-list .builder-stay-media-actions {
    inset: auto .7rem .7rem;
    justify-content: flex-start;
}

.builder-stay-list .builder-stay-media-actions button {
    min-height: 2.75rem;
    padding: .55rem .8rem;
    border: 1px solid rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .95);
    border-radius: .65rem;
    font-size: .78rem;
    box-shadow: 0 .2rem .7rem rgba(0, 0, 0, .12);
}

.builder-stay-list .builder-stay-copy {
    text-align: left;
}

.builder-stay-list .builder-stay-copy h3 {
    margin-bottom: .4rem;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    line-height: 1.3;
    letter-spacing: -.025em;
    color: #172e26;
}

.builder-stay-list .builder-stay-copy p {
    margin-bottom: .75rem;
    color: #63756d;
    font-size: .84rem;
    line-height: 1.55;
}

.builder-stay-list .amenities {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: .35rem;
}

.builder-stay-list .amenities span {
    padding: .3rem .55rem;
    border-radius: .4rem;
    background: #f2f6f3;
    color: #536b5f;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.4;
}

.builder-stay-list .builder-stay-bottom {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .8rem;
    padding-top: .9rem;
    border-top: 1px solid #edf1ee;
}

.builder-stay-list .builder-stay-rating {
    font-size: .95rem;
    color: #226751;
}

.builder-stay-list .builder-stay-bottom strong {
    text-align: right;
    font-size: 1.15rem;
    line-height: 1.3;
}

.builder-stay-list .builder-stay-bottom strong small {
    margin-top: .2rem;
    font-size: .72rem;
    color: #738078;
}

.builder-stay-list .builder-stay-bottom > div {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
}

.builder-stay-list .builder-review-link,
.builder-stay-list .builder-stay-bottom .button {
    min-height: 2.85rem;
    padding: .55rem .7rem;
    border-radius: .7rem;
    font-size: .85rem;
    text-align: center;
}

.builder-stay-list .builder-review-link {
    background: #f5f8f6;
    border: 1px solid #dce7e0;
    color: #345e4c;
}

.builder-stay-list .builder-stay-bottom .button {
    background: #195e49;
    color: #fff;
    box-shadow: 0 .25rem .7rem rgba(25, 94, 73, .15);
}

.builder-stay-list a:focus-visible,
.builder-stay-list button:focus-visible {
    outline: 3px solid #d98654;
    outline-offset: 3px;
}

@media (min-width: 900px) {
    .builder-stay-list {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .builder-stay-list .builder-stay-card {
        grid-template-columns: minmax(240px, 36%) minmax(0, 1fr);
        gap: 1rem 1.5rem;
        padding: 1.1rem;
    }

    .builder-stay-list .builder-stay-media {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 100%;
        height: 100%;
        min-height: 250px;
        aspect-ratio: auto;
        align-self: stretch;
    }

    .builder-stay-list .builder-stay-copy {
        grid-column: 2;
        grid-row: 1;
        padding-top: .5rem;
    }

    .builder-stay-list .builder-stay-bottom {
        grid-column: 2;
        grid-row: 2;
        align-self: end;
    }

    .builder-stay-list .builder-stay-bottom > div {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    }
}

@media (max-width: 600px) {
    .builder-stay-list .builder-stay-card {
        padding: .75rem;
        gap: .8rem;
        border-radius: 1rem;
    }
}

.builder-travel-search {
    padding: 1.25rem;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #287968, #65b8a8);
}

.builder-travel-search fieldset { min-width: 0; margin: 0 0 1rem; padding: 0; border: 0; }
.builder-travel-search legend { float: left; margin: .46rem .8rem .4rem 0; color: #fff; font-size: .76rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.transport-mode-picker { display: flex; flex-wrap: wrap; gap: .5rem; }
.transport-mode-picker label { position: relative; display: inline-flex; }
.transport-mode-picker input { position: absolute; opacity: 0; pointer-events: none; }
.transport-mode-picker span { display: inline-flex; min-height: 2.45rem; align-items: center; padding: .45rem .9rem; border: 1px solid rgba(255,255,255,.53); border-radius: 999px; color: #fff; font-weight: 800; cursor: pointer; }
.transport-mode-picker input:checked + span { border-color: #fff; background: #fff; color: #245d50; }

.transport-search-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; padding: 1rem; border-radius: 1.25rem; background: #fff; }
.transport-search-grid label, .builder-filter-fields label { display: grid; gap: .36rem; color: #273631; font-size: .82rem; font-weight: 850; }
.transport-search-grid input, .transport-search-grid select, .builder-filter-fields input, .builder-filter-fields select { width: 100%; min-height: 3.25rem; padding: .7rem .8rem; border: 1px solid #d2dfd8; border-radius: .85rem; background: #fff; color: #1e2c28; font: inherit; font-weight: 650; }
.transport-search-grid input[readonly] { background: #f3f6f4; color: #51625c; }
.domestic-travel-submit { grid-column: 1 / -1; min-height: 3.25rem; border-radius: .85rem; }
.transport-search-state { margin-top: 1rem; padding: 1rem; border-radius: 1rem; background: #f2f8f4; }
.transport-search-state.is-error { background: #fff0ec; }
.transport-search-state h3 { margin-bottom: .25rem; font-size: 1.05rem; }
.transport-search-state p { margin: 0; color: #52635d; }
.departure-list { display: grid; gap: .8rem; margin-top: 1rem; }
.departure-card { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid #dce8e2; border-radius: 1rem; background: #fff; }
.departure-card h3 { margin: 0 0 .22rem; font-size: 1rem; }.departure-card p { margin: 0; color: #60726b; font-size: .84rem; }.departure-card .eyebrow { margin-bottom: .28rem; }.departure-price { text-align: right; }.departure-price strong { display:block; color: #205f4f; font-size: 1.1rem; }.departure-price span { display:block; font-size:.76rem; color:#65756f; }.departure-sold-out { color:#985143; font-weight:800; font-size:.85rem; }

.builder-stay-filter { padding: 1rem; border: 1px solid #e3ece7; border-radius: 1rem; background: linear-gradient(135deg, #fff, #f6faf7); }
.builder-filter-heading { display:flex; align-items:center; justify-content:space-between; min-height:3.2rem; margin-bottom:1rem; padding:0 1rem 0 1.25rem; border:2px solid #1a1a1a; border-radius:999px; color:#171c19; font-size:1.05rem; font-weight:800; }.builder-filter-heading b { width:1.3rem; height:1.3rem; border:3px solid #111; border-radius:50%; position:relative; }.builder-filter-heading b::after { position:absolute; width:.62rem; height:3px; right:-.45rem; bottom:-.22rem; background:#111; content:""; transform:rotate(45deg); border-radius:3px; }
.builder-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.builder-filter-fields .button { align-self: end; min-height: 3.25rem; border-radius: .85rem; }
.builder-filter-notice { grid-column: 1 / -1; margin: 0; padding: .7rem .8rem; border-radius: .7rem; background: #fff0ec; color: #8b3728; font-size: .82rem; font-weight: 700; }

.builder-results-heading { display:flex; justify-content:flex-end; align-items:center; min-height:3.35rem; margin-bottom:.85rem; padding-bottom:.7rem; border-bottom:1px solid #dfe7e3; }.builder-results-heading > span { margin-right:auto; color:#5b6f66; font-size:.82rem; font-weight:800; }.builder-results-heading a { display:inline-flex; align-items:center; gap:.7rem; min-height:3rem; padding:.55rem 1rem  .55rem 1.25rem; border-radius:1rem; background:#285f4f; color:#fff; font-weight:850; }.builder-results-heading b { font-size:1.65rem; line-height:.7; }
.builder-stay-list { display:grid; gap:1rem; }.builder-stay-card { display:grid; grid-template-columns: minmax(0,1fr) 220px; gap:.9rem 1rem; padding:1rem; border-bottom:1px solid #d9e3de; }.builder-stay-card:last-child { border-bottom:0; }.builder-stay-copy { min-width:0; }.builder-stay-copy h3 { margin:0 0 .15rem; font-size:1.35rem; }.builder-stay-copy p { margin:0 0 .55rem; color:#465851; font-size:.9rem; line-height:1.35; }.builder-stay-media { position:relative; min-height:130px; overflow:hidden; border-radius:.9rem; background:#d8e5df; }.builder-stay-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.builder-stay-image-fallback { position:absolute; inset:0; background:linear-gradient(135deg,#538d7c,#a3bfae); }.builder-stay-media-actions { position:absolute; inset:auto .45rem .45rem; display:flex; gap:.4rem; justify-content:center; }.builder-stay-media-actions button { min-height:2.35rem; padding:.4rem .65rem; border:0; border-radius:.65rem; background:rgba(255,255,255,.96); color:#101514; font:inherit; font-size:.77rem; font-weight:850; box-shadow:0 .25rem .65rem rgba(0,0,0,.24); cursor:pointer; }.builder-stay-bottom { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:.65rem; }.builder-stay-rating { color:#2c6555; font-weight:900; }.builder-stay-rating small { color:#687a72; font-weight:650; }.builder-stay-bottom strong { color:#18211e; font-size:1.05rem; }.builder-stay-bottom strong small { display:block; color:#52645d; font-size:.78rem; font-weight:650; }.builder-stay-bottom > div { display:flex; justify-content:flex-end; gap:.55rem; }.builder-review-link { display:inline-flex; align-items:center; justify-content:center; min-height:2.4rem; padding:.4rem .7rem; border-radius:.65rem; background:#b5c9bf; color:#17241f; font-size:.8rem; font-weight:850; }.builder-stay-bottom .button { min-height:2.4rem; border-radius:.65rem; }

.builder-local-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.builder-local-card { overflow:hidden; border:1px solid #d9e6df; border-radius:1rem; background:#fff; }.builder-local-card > img { height:155px; }.builder-local-card > div { padding:1rem; }.builder-local-card h3 { margin:.15rem 0 .4rem; }.builder-local-card p:not(.builder-kicker) { color:#53665e; font-size:.88rem; }.builder-local-card strong { display:block; margin-bottom:.9rem; color:#1c5d4c; font-size:1.12rem; }.builder-local-card strong small { color:#587168; font-size:.8rem; }

.builder-modal { width:min(94vw, 1050px); max-height:90vh; padding:0; border:0; border-radius:1rem; background:#fff; box-shadow:0 1.5rem 4rem rgba(0,0,0,.42); }.builder-modal::backdrop { background:rgba(6,12,10,.76); backdrop-filter:blur(3px); }.builder-modal-content { max-height:90vh; padding:1.25rem; overflow:auto; }.builder-modal-content h2 { margin:.3rem 2.5rem 1rem .25rem; font-size:1.4rem; }.builder-modal-close { position:absolute; z-index:2; top:.65rem; right:.65rem; display:grid; width:2.5rem; height:2.5rem; place-items:center; border:0; border-radius:50%; background:#1c2b26; color:#fff; font-size:1.8rem; line-height:1; cursor:pointer; }.builder-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }.builder-gallery-grid img { min-height:210px; border-radius:.75rem; }.builder-video-modal { background:transparent; }.builder-video-modal .builder-modal-content { padding:0; overflow:visible; }.builder-video-modal .video-frame { border-radius:1rem; }

@media (max-width: 820px) {
    body.destination-builder-page .site-header { background:#fff; border-bottom:1px solid #eee4de; backdrop-filter:none; }
    body.destination-builder-page .nav-wrap { min-height:6.45rem; }
    body.destination-builder-page .brand { font-size:1.45rem; }
    body.destination-builder-page .brand-icon { width:2.15rem; height:2.15rem; }
    body.destination-builder-page .nav-actions { gap:.55rem; }
    body.destination-builder-page .header-account-link { display:grid; width:3.25rem; height:3.25rem; place-items:center; border:0; color:#050808; }
    body.destination-builder-page .header-account-link svg { width:2.3rem; height:2.3rem; fill:none; stroke:currentColor; stroke-width:2; }
    body.destination-builder-page .language-switch button { width:3.05rem; height:3.05rem; border-color:#cbd9d1; background:#fff; color:#285c4e; font-size:.9rem; }
    body.destination-builder-page .nav-toggle { width:3.35rem; height:3.35rem; border:1px solid #cbd9d1; border-radius:50%; }
    body.destination-builder-page .nav-toggle-icon { width:1.45rem; gap:.28rem; }
    body.destination-builder-page .site-nav { top:6.45rem; }

    .destination-builder-hero { min-height:24.5rem; align-items:start; }
    .destination-builder-hero-copy { padding:1.55rem 1.1rem 0; }
    .destination-builder-hero-copy > p { font-size:.8rem; }.destination-builder-hero h1 { font-size:3.35rem; }.destination-builder-hero-copy > span { margin-top:.55rem; font-size:1.06rem; line-height:1.25; }
    .destination-builder-shell { width:min(100% - 2.5rem, 720px); margin-top:-5.45rem; }
    .destination-builder-panel { padding:1rem; border-radius:1.75rem; }.destination-builder-panel > h2 { margin-bottom:.75rem; font-size:1.55rem; }
    .destination-accordion { margin:.85rem 0; }.destination-accordion > summary { min-height:5rem; padding-right:3.8rem; border-radius:1.2rem; font-size:1.65rem; }.destination-accordion > summary i { right:1rem; width:1.8rem; height:1.8rem; border-width:3px; }.destination-accordion-body { padding:1.9rem .8rem .8rem; border-radius:0 0 1.2rem 1.2rem; }.destination-about-body { padding:2rem 1.25rem 1.3rem; }
    .builder-travel-search { padding:.9rem; border-radius:1rem; }.transport-mode-picker { gap:.45rem; }.transport-mode-picker legend { float:none; width:100%; margin:0 0 .45rem; }.transport-mode-picker span { min-height:2.25rem; padding:.38rem .75rem; font-size:.9rem; }.transport-search-grid { gap:.7rem; padding:.8rem; border-radius:1rem; }.transport-search-grid label { font-size:.77rem; }.transport-search-grid input, .transport-search-grid select { min-height:3rem; padding:.65rem; }
    .departure-card { grid-template-columns:1fr auto; gap:.65rem; }.departure-card .departure-action { grid-column:1/-1; }.departure-card .departure-action .button { width:100%; }
    .builder-filter-fields { grid-template-columns:1fr; }.builder-filter-fields .button { width:100%; }.builder-results-heading { margin-inline:.1rem; }.builder-results-heading > span { display:none; }
    .builder-stay-card { grid-template-columns:1fr; padding:.8rem; gap:.75rem; border-radius:1rem; background:#fff; box-shadow:0 .2rem .85rem rgba(26,54,45,.08); }.builder-stay-copy { text-align:center; }.builder-stay-copy h3 { font-size:1.25rem; }.builder-stay-copy p { margin-inline:auto; }.builder-stay-copy .amenities { justify-content:center; }.builder-stay-media { min-height:12rem; }.builder-stay-bottom { grid-template-columns:1fr auto; }.builder-stay-bottom > div { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }.builder-stay-bottom > div > * { width:100%; }.builder-review-link,.builder-stay-bottom .button { min-height:2.7rem; }
    .builder-local-grid { grid-template-columns:1fr; }.builder-local-card { display:grid; grid-template-columns:110px 1fr; }.builder-local-card > img { height:100%; min-height:150px; }.builder-gallery-grid { grid-template-columns:1fr; }.builder-gallery-grid img { min-height:0; }
}

@media (max-width: 410px) {
    body.destination-builder-page .brand { font-size:1.28rem; }.destination-builder-hero-copy { padding-left:.3rem; padding-right:.3rem; }.destination-builder-hero h1 { font-size:3rem; }.destination-builder-shell { width:min(100% - 1.35rem, 720px); }.destination-builder-panel { padding:.75rem; }.destination-accordion > summary { font-size:1.45rem; }.builder-stay-bottom { grid-template-columns:1fr; }.builder-stay-bottom > div { grid-column:auto; }.builder-local-card { grid-template-columns:95px 1fr; }
}

@media (min-width: 821px) {
    .destination-builder-shell { width:min(100% - 4rem, 1050px); }.destination-builder-panel { padding:1.8rem 2rem 2rem; }.destination-accordion > summary { min-height:5.8rem; }.destination-accordion-body { padding:2.7rem 2rem 2rem; }.builder-stay-card { grid-template-columns:250px minmax(0,1fr); }.builder-stay-media { grid-row:1 / span 2; grid-column:1; min-height:200px; }.builder-stay-copy { grid-column:2; }.builder-stay-bottom { grid-column:2; }.builder-stay-bottom > div { justify-content:start; }
}

body.destination-builder-page {
    background: #f3f7f5;
}

body.destination-builder-page main {
    background:
        radial-gradient(circle at 82% 11%, rgba(109, 183, 161, .14), transparent 25rem),
        linear-gradient(180deg, #fff 0, #f4f8f6 100%);
}

.destination-builder {
    background: transparent;
}

.destination-builder-hero {
    min-height: 445px;
}

.destination-builder-hero::after {
    background: linear-gradient(90deg, rgba(8, 25, 21, .72), rgba(9, 25, 22, .17) 77%), linear-gradient(0deg, rgba(5, 17, 14, .62), transparent 66%);
}

.destination-builder-hero-copy > span {
    font-weight: 720;
    text-shadow: 0 2px 15px rgba(0, 0, 0, .26);
}

.destination-builder-panel {
    border: 1px solid rgba(255, 255, 255, .38);
    background: linear-gradient(140deg, rgba(17, 76, 63, .97), rgba(79, 151, 136, .88));
    box-shadow: 0 1.5rem 3.5rem rgba(13, 52, 43, .26), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.destination-builder-panel > h2 {
    text-shadow: 0 1px 0 rgba(0, 0, 0, .12);
}

.destination-accordion {
    background: rgba(255, 255, 255, .18);
}

.destination-accordion > summary {
    border: 1px solid rgba(255, 255, 255, .74);
    background: linear-gradient(135deg, #f9faf9, #ebeeed);
    box-shadow: 0 .3rem .8rem rgba(8, 31, 25, .1), inset 0 1px 0 #fff;
}

.destination-accordion > summary:hover {
    background: #fff;
    transform: translateY(-1px);
}

.destination-accordion > summary:focus-visible {
    outline: 4px solid rgba(249, 187, 139, .85);
    outline-offset: 3px;
}

.destination-accordion[open] > summary {
    background: #fff;
    box-shadow: 0 .65rem 1rem rgba(8, 25, 21, .2), inset 0 1px 0 #fff;
}

.destination-accordion-body {
    background: linear-gradient(135deg, #fff, #fbfdfc);
}

.builder-travel-search {
    border: 1px solid rgba(255, 255, 255, .28);
    background: linear-gradient(135deg, #227662, #66b6a7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}

.domestic-travel-submit {
    box-shadow: 0 .45rem .9rem rgba(20, 79, 65, .2);
}

.builder-stay-filter {
    border-color: #e1ebe5;
    background: linear-gradient(135deg, #fff, #f3f8f5);
    box-shadow: 0 .65rem 1.5rem rgba(26, 66, 54, .06);
}

.builder-stay-card {
    border: 1px solid transparent;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .68);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}

.builder-stay-card:hover {
    border-color: #cddfd6;
    box-shadow: 0 .7rem 1.4rem rgba(22, 71, 57, .09);
    transform: translateY(-2px);
}

.builder-stay-media {
    box-shadow: 0 .35rem .85rem rgba(20, 55, 46, .13);
}

.builder-stay-media img {
    transition: transform .35s;
}

.builder-stay-card:hover .builder-stay-media img {
    transform: scale(1.035);
}

.builder-local-card {
    box-shadow: 0 .45rem 1.1rem rgba(22, 70, 56, .06);
    transition: transform .2s, box-shadow .2s;
}

.builder-local-card:hover {
    box-shadow: 0 .8rem 1.5rem rgba(22, 70, 56, .13);
    transform: translateY(-2px);
}

@media (max-width: 820px) {
    .destination-builder-hero {
        min-height: 25.25rem;
    }

    .destination-builder-panel > h2 {
        margin-bottom: .85rem;
    }

    .builder-stay-card {
        padding: .9rem;
        box-shadow: 0 .25rem .95rem rgba(26, 54, 45, .09);
    }
}

@media (min-width: 1100px) {
    .destination-builder-hero {
        min-height: 510px;
    }

    .destination-builder-hero-copy {
        padding-bottom: 10.3rem;
    }

    .destination-builder-shell {
        margin-top: -7.1rem;
    }

    .destination-builder-panel {
        padding: 2rem 2.4rem 2.35rem;
    }

    .destination-accordion-body {
        padding: 2.8rem 2.6rem 2.3rem;
    }
}

.destination-builder-panel > h2 {
    font-size: clamp(1.3rem, 3vw, 2rem);
    font-weight: 780;
}

.destination-accordion > summary {
    min-height: 4.8rem;
    font-size: clamp(1.2rem, 2.3vw, 1.8rem);
    font-weight: 800;
    letter-spacing: -.025em;
}

.destination-accordion > summary i {
    width: 1.75rem;
    height: 1.75rem;
    border-width: 2px;
}

.destination-accordion > summary i::after {
    border-width: 2px;
}

.builder-ticket-intro,
.builder-stay-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.builder-ticket-intro p,
.builder-stay-intro p {
    margin: 0 0 .15rem;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.builder-ticket-intro p {
    color: rgba(255, 255, 255, .75);
}

.builder-stay-intro p {
    color: #d86645;
}

.builder-ticket-intro h3,
.builder-stay-intro h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.18rem, 2.6vw, 1.65rem);
    letter-spacing: -.03em;
}

.builder-stay-intro h3 {
    color: #183229;
}

.builder-ticket-intro > span,
.builder-stay-intro > span {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    flex: none;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: .9rem;
    color: #fff;
    font-size: 1.25rem;
    background: rgba(255, 255, 255, .12);
}

.builder-stay-intro > span {
    border-color: #d3e1da;
    color: #2a705e;
    background: #edf5f0;
}

.builder-travel-search {
    padding: 1.15rem;
    border-radius: 1.35rem;
    background: linear-gradient(145deg, #164f42, #3a907c 58%, #73beaf);
    box-shadow: 0 1rem 2.2rem rgba(20, 82, 68, .22), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.transport-mode-picker {
    position: relative;
    padding: .75rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1rem;
    background: rgba(8, 51, 41, .2);
}

.transport-mode-picker legend {
    float: none;
    width: 100%;
    margin: 0 0 .55rem;
    color: rgba(255, 255, 255, .7);
}

.transport-mode-picker span {
    min-height: 2.25rem;
    padding: .35rem .72rem;
    border-color: rgba(255, 255, 255, .36);
    font-size: .82rem;
}

.transport-search-grid {
    position: relative;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid rgba(255, 255, 255, .84);
    border-radius: 1.1rem;
    box-shadow: 0 .55rem 1rem rgba(7, 48, 38, .12);
}

.transport-search-grid label,
.builder-filter-fields label {
    gap: .4rem;
    color: #456158;
    font-size: .73rem;
    letter-spacing: .02em;
}

.transport-search-grid input,
.transport-search-grid select,
.builder-filter-fields input,
.builder-filter-fields select {
    min-height: 3.05rem;
    border-color: #dce7e1;
    border-radius: .72rem;
    box-shadow: inset 0 1px 2px rgba(13, 49, 39, .035);
    font-size: .9rem;
}

.transport-search-grid label:nth-child(2) input {
    color: #276a58;
    background: #f3f8f5;
}

.domestic-travel-submit {
    position: relative;
    min-height: 3.1rem;
    background: linear-gradient(100deg, #174f42, #267d68);
    font-size: .98rem;
    letter-spacing: -.01em;
}

.domestic-travel-submit::after {
    margin-left: .55rem;
    content: "→";
    font-size: 1.2rem;
}

.builder-stay-filter {
    padding: 1.15rem;
    border-radius: 1.2rem;
}

.builder-filter-heading {
    min-height: 3.1rem;
    margin-bottom: .9rem;
    padding: 0 .9rem 0 1rem;
    border: 1px solid #d5e3dc;
    border-radius: .78rem;
    background: #f3f8f5;
    color: #31594c;
    font-size: .85rem;
    box-shadow: none;
}

.builder-filter-heading b {
    width: 1.1rem;
    height: 1.1rem;
    border-color: #2c6f5d;
    border-width: 2px;
}

.builder-filter-heading b::after {
    width: .52rem;
    height: 2px;
    background: #2c6f5d;
}

.builder-filter-fields {
    gap: .75rem;
}

.builder-filter-fields .button {
    min-height: 3.05rem;
    background: linear-gradient(100deg, #174f42, #267d68);
    box-shadow: 0 .4rem .85rem rgba(20, 79, 65, .16);
}

.builder-results-heading {
    min-height: 3.65rem;
    margin-bottom: 1rem;
    border-bottom-color: #e2ebe6;
}

.builder-results-heading a {
    min-height: 2.75rem;
    border: 1px solid rgba(255, 255, 255, .22);
    background: linear-gradient(100deg, #1a5849, #367e6b);
    box-shadow: 0 .35rem .75rem rgba(24, 77, 64, .14);
}

@media (max-width: 820px) {
    .destination-builder-panel > h2 {
        font-size: 1.3rem;
    }

    .destination-accordion > summary {
        min-height: 4.55rem;
        padding-right: 3.5rem;
        font-size: 1.3rem;
    }

    .destination-accordion > summary i {
        right: .95rem;
        width: 1.65rem;
        height: 1.65rem;
    }

    .builder-ticket-intro,
    .builder-stay-intro {
        margin-bottom: .85rem;
    }

    .builder-ticket-intro h3,
    .builder-stay-intro h3 {
        font-size: 1.18rem;
    }

    .builder-ticket-intro > span,
    .builder-stay-intro > span {
        width: 2.35rem;
        height: 2.35rem;
        border-radius: .75rem;
    }

    .transport-mode-picker {
        padding: .7rem;
    }

    .transport-search-grid {
        padding: .75rem;
    }

    .builder-stay-filter {
        padding: 1rem;
    }
}

@media (max-width: 360px) {
    .transport-search-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    body.destination-builder-page .nav-wrap {
        min-height: 4.75rem;
    }

    body.destination-builder-page .brand {
        font-size: 1.2rem;
    }

    body.destination-builder-page .brand-icon {
        width: 1.75rem;
        height: 1.75rem;
    }

    body.destination-builder-page .nav-actions {
        gap: .3rem;
    }

    body.destination-builder-page .header-account-link {
        width: 2.55rem;
        height: 2.55rem;
    }

    body.destination-builder-page .header-account-link svg {
        width: 1.85rem;
        height: 1.85rem;
    }

    body.destination-builder-page .language-switch button {
        width: 2.5rem;
        height: 2.5rem;
        font-size: .78rem;
    }

    body.destination-builder-page .nav-toggle {
        width: 2.75rem;
        height: 2.75rem;
    }

    body.destination-builder-page .nav-toggle-icon {
        width: 1.2rem;
        gap: .22rem;
    }

    body.destination-builder-page .site-nav {
        top: 4.75rem;
    }

    .destination-builder-hero {
        min-height: 19.5rem;
    }

    .destination-builder-hero-copy {
        padding-top: 1.15rem;
    }

    .destination-builder-hero-copy > p {
        margin-bottom: .25rem;
        font-size: .68rem;
    }

    .destination-builder-hero h1 {
        font-size: clamp(2.45rem, 11vw, 3.15rem);
    }

    .destination-builder-hero-copy > span {
        margin-top: .38rem;
        font-size: .92rem;
        line-height: 1.28;
    }

    .destination-builder-shell {
        width: min(100% - 1.5rem, 720px);
        margin-top: -3.8rem;
    }

    .destination-builder-panel {
        padding: .72rem;
        border-radius: 1.35rem;
    }

    .destination-builder-panel > h2 {
        margin-bottom: .55rem;
        font-size: 1.12rem;
    }

    .destination-accordion {
        margin: .58rem 0;
        border-radius: 1rem;
    }

    .destination-accordion > summary {
        min-height: 4.15rem;
        padding: .6rem 3.15rem .6rem .85rem;
        border-radius: .92rem;
        font-size: 1.16rem;
    }

    .destination-accordion > summary i {
        right: .82rem;
        width: 1.5rem;
        height: 1.5rem;
    }

    .destination-accordion-body {
        padding: 1.35rem .65rem .7rem;
        border-radius: 0 0 .95rem .95rem;
    }

    .destination-about-body {
        min-height: 0;
        padding: 1.5rem 1rem 1rem;
    }

    .builder-ticket-intro,
    .builder-stay-intro {
        margin-bottom: .7rem;
        padding-bottom: .7rem;
    }

    .builder-ticket-intro p,
    .builder-stay-intro p {
        font-size: .58rem;
    }

    .builder-ticket-intro h3,
    .builder-stay-intro h3 {
        font-size: 1rem;
    }

    .builder-ticket-intro > span,
    .builder-stay-intro > span {
        width: 2.1rem;
        height: 2.1rem;
        font-size: 1rem;
    }

    .builder-travel-search,
    .builder-stay-filter {
        padding: .8rem;
        border-radius: .95rem;
    }

    .transport-mode-picker {
        margin-bottom: .8rem !important;
    }

    .transport-mode-picker legend {
        margin-bottom: .45rem;
        font-size: .62rem;
    }

    .transport-mode-picker {
        gap: .35rem;
    }

    .transport-mode-picker span {
        min-height: 2.15rem;
        padding: .3rem .58rem;
        font-size: .72rem;
    }

    .transport-search-grid,
    .builder-filter-fields {
        gap: .62rem;
    }

    .transport-search-grid label,
    .builder-filter-fields label {
        gap: .28rem;
        font-size: .67rem;
    }

    .transport-search-grid input,
    .transport-search-grid select,
    .builder-filter-fields input,
    .builder-filter-fields select {
        min-height: 2.8rem;
        padding: .55rem .62rem;
        border-radius: .62rem;
        font-size: .82rem;
    }

    .domestic-travel-submit,
    .builder-filter-fields .button {
        min-height: 2.9rem;
        font-size: .88rem;
    }

    .builder-filter-heading {
        min-height: 2.75rem;
        margin-bottom: .72rem;
        font-size: .75rem;
    }

    .builder-results-heading {
        min-height: 3rem;
        margin-bottom: .7rem;
    }

    .builder-results-heading a {
        min-height: 2.35rem;
        padding: .4rem .75rem;
        font-size: .78rem;
    }

    .builder-stay-card {
        padding: .72rem;
        gap: .6rem;
        border-radius: .8rem;
    }

    .builder-stay-copy h3 {
        font-size: 1.05rem;
    }

    .builder-stay-copy p,
    .builder-local-card p:not(.builder-kicker) {
        font-size: .78rem;
    }

    .builder-stay-media {
        min-height: 10.5rem;
    }

    .builder-local-card > div {
        padding: .8rem;
    }

    .builder-local-card h3 {
        font-size: 1rem;
    }
}

@media (max-width: 360px) {
    body.destination-builder-page .brand {
        font-size: 1.06rem;
    }

    body.destination-builder-page .brand-icon {
        width: 1.55rem;
        height: 1.55rem;
    }

    .destination-builder-hero {
        min-height: 18rem;
    }

    .destination-builder-hero h1 {
        font-size: 2.25rem;
    }

    .destination-accordion > summary {
        font-size: 1.06rem;
    }
}

.builder-travel-search {
    padding: 1.15rem;
    border: 1px solid #dce9e3;
    background: #fff;
    box-shadow: 0 .75rem 1.8rem rgba(18, 69, 55, .1);
}

.builder-ticket-intro {
    margin-bottom: 1.1rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid #e4ede8;
}

.builder-ticket-intro p {
    color: #53736a;
}

.builder-ticket-intro h3 {
    color: #173e33;
    font-size: clamp(1.15rem, 2.5vw, 1.45rem);
}

.builder-ticket-intro > span {
    border-color: #d7e6df;
    color: #257460;
    background: #edf6f1;
}

.transport-mode-picker {
    margin-bottom: 1.1rem !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.transport-mode-picker legend {
    margin-bottom: .65rem;
    color: #526d64;
}

.transport-mode-picker span {
    min-height: 2.35rem;
    border-color: #d2e1da;
    color: #38685a;
    background: #fff;
    font-size: .82rem;
}

.transport-mode-picker input:checked + span {
    border-color: #1e715d;
    background: #1e715d;
    color: #fff;
    box-shadow: 0 .3rem .65rem rgba(29, 104, 85, .16);
}

.transport-search-grid {
    gap: .8rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.transport-search-grid label {
    gap: .42rem;
    color: #456159;
    font-size: .75rem;
}

.transport-search-grid input,
.transport-search-grid select {
    min-height: 3.2rem;
    border-color: #d9e5df;
    background: #fbfdfc;
    box-shadow: none;
}

.transport-search-grid input[readonly],
.transport-search-grid label:nth-child(2) input {
    background: #f3f8f5;
}

.transport-search-grid label:nth-child(3),
.transport-search-grid label:nth-child(4),
.transport-search-grid label:nth-child(5) {
    grid-column: 1 / -1;
}

.domestic-travel-submit {
    min-height: 3.25rem;
    margin-top: .15rem;
    border-radius: .8rem;
    background: #1c705c;
    box-shadow: 0 .45rem .9rem rgba(20, 91, 74, .17);
}

.builder-filter-heading.builder-hotel-list-link {
    justify-content: center;
    padding: .7rem 1rem;
    border-color: #da724f;
    background: #da724f;
    color: #24140f;
    text-align: center;
    text-decoration: none;
    animation: hotel-list-pulse 1s ease-in-out infinite;
}

.builder-hotel-list-link:focus-visible {
    outline: 3px solid #195e49;
    outline-offset: 3px;
}

@keyframes hotel-list-pulse {
    0%, 100% { background-color: #da724f; }
    50% { background-color: #e99477; }
}

@media (prefers-reduced-motion: reduce) {
    .builder-filter-heading.builder-hotel-list-link {
        animation: none;
    }
}

.domestic-travel-submit:hover {
    background: #145342;
}

@media (max-width: 820px) {
    .builder-travel-search {
        padding: 1rem;
    }

    .transport-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 360px) {
    .transport-search-grid {
        grid-template-columns: 1fr;
    }
}
