.trip-builder-page{background:#f7f4ee;color:var(--ink)}
.trip-builder-page [hidden]{display:none!important}
.trip-builder-hero{position:relative;min-height:clamp(500px,58vw,650px);display:flex;align-items:center;padding:132px 0 70px;background-image:linear-gradient(90deg,rgba(5,39,36,.94) 0%,rgba(7,48,45,.78) 46%,rgba(7,48,45,.28) 78%,rgba(7,48,45,.18) 100%),var(--trip-builder-hero);background-position:center;background-size:cover;color:#fff;overflow:hidden}
.trip-builder-hero:after{content:"";position:absolute;inset:auto 0 0;height:8px;background:linear-gradient(90deg,var(--gold) 0 18%,#0b9da7 18% 100%)}
.trip-builder-hero__content{position:relative;z-index:1}
.trip-builder-hero h1{max-width:820px;margin-bottom:.35em;color:#fff;font-size:clamp(3.15rem,7.2vw,6.25rem)}
.trip-builder-hero__content>p:not(.eyebrow){max-width:700px;margin-bottom:1.65rem;color:rgba(255,255,255,.9);font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.65}
.trip-builder-hero__actions{display:flex;align-items:stretch;gap:.85rem;flex-wrap:wrap}
.trip-builder-hero__actions .nr-button{min-height:58px;padding-inline:1.65rem;font-size:1rem}
.trip-builder-help-link{display:flex;min-height:58px;flex-direction:column;justify-content:center;padding:.55rem 1.2rem;border:1px solid rgba(255,255,255,.58);color:#fff;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.trip-builder-help-link span{font-size:.72rem;color:rgba(255,255,255,.7)}
.trip-builder-help-link strong{font-size:.9rem}
.trip-builder-help-link:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.trip-builder-proof{background:#e9f2ef;border-bottom:1px solid #d8e6e2}
.trip-builder-proof .nr-container{display:grid;grid-template-columns:repeat(3,1fr)}
.trip-builder-proof .nr-container>div{display:grid;grid-template-columns:48px 1fr;gap:.85rem;align-items:center;min-height:108px;padding:1.25rem 1.5rem;border-right:1px solid #cfdfdb}
.trip-builder-proof .nr-container>div:first-child{border-left:1px solid #cfdfdb}
.trip-builder-proof span{color:var(--gold);font-family:var(--display);font-size:1.55rem;font-weight:700}
.trip-builder-proof p{margin:0;font-size:.86rem;line-height:1.45}
.trip-builder-proof strong{display:block;font-size:.92rem}
.trip-builder-workspace{padding-top:clamp(3rem,6vw,5rem);background:linear-gradient(180deg,#f7f4ee 0%,#fffdf9 100%)}
.trip-builder-catalog-note{display:flex;align-items:center;gap:.8rem;max-width:880px;margin:0 auto 1.4rem;padding:1rem 1.2rem;background:#e8f3f0;border-left:4px solid #0b9da7}
.trip-builder-catalog-note span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:#0b9da7;color:#fff;font-weight:800}
.trip-builder-catalog-note p{margin:0;font-size:.9rem;font-weight:700}
.trip-builder-page-notice{max-width:880px;margin-inline:auto}
.trip-builder-shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1120px;margin-inline:auto;background:#fff;border-top:5px solid var(--gold);box-shadow:0 28px 80px rgba(16,62,59,.13)}
.trip-builder-progress{display:flex;min-width:0;flex-direction:column;padding:2rem 1.5rem;background:linear-gradient(155deg,#0a3432,#062a28);color:#fff}
.trip-builder-progress>p{margin:0 0 1.5rem;color:#a7d8d2;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.trip-builder-progress ol{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}
.trip-builder-progress li{display:grid;grid-template-columns:42px 1fr;gap:.75rem;align-items:center;min-height:60px;padding:.55rem .6rem;border-left:3px solid transparent;color:rgba(255,255,255,.6)}
.trip-builder-progress li span{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:.76rem;font-weight:800}
.trip-builder-progress li strong{font-size:.88rem;line-height:1.3}
.trip-builder-progress li.is-current{border-left-color:#34c2c5;background:rgba(255,255,255,.08);color:#fff}
.trip-builder-progress li.is-current span{border-color:#34c2c5;background:#0b9da7;color:#fff}
.trip-builder-progress li.is-complete{color:#bce5df}
.trip-builder-progress li.is-complete span{border-color:#8fcfc7;color:#8fcfc7}
.trip-builder-support{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.14)}
.trip-builder-support strong{display:block;font-size:.85rem}
.trip-builder-support a{display:block;margin-top:.45rem;color:#8ce1da;font-size:.82rem;font-weight:800;text-decoration:none}
.trip-builder-card{min-width:0;padding:clamp(1.5rem,4vw,3.4rem)}
.trip-builder-mobile-progress{display:none}
.trip-builder-step{min-height:480px}
.trip-builder-question-number{margin:0 0 .4rem;color:var(--gold);font-size:.76rem;font-weight:800;letter-spacing:.18em}
.trip-builder-step h2{max-width:720px;margin-bottom:.25em;font-size:clamp(2.25rem,4.5vw,3.75rem)}
.trip-builder-question-help{max-width:720px;margin-bottom:2rem;color:var(--muted);font-size:1rem}
.trip-builder-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.3rem}
.trip-builder-step label,.trip-builder-step legend{font-size:.92rem;font-weight:750}
.trip-builder-step label>span:first-child,.trip-builder-select>span:first-child{display:block;margin-bottom:.45rem}
.trip-builder-step label b{color:#c4483f}
.trip-builder-step input[type=date],.trip-builder-step input[type=text],.trip-builder-step select{width:100%;min-height:58px;padding:.8rem 1rem;border:1px solid #bfcac6;border-radius:3px;background:#fff;color:var(--ink);font-size:1rem}
.trip-builder-step input:hover,.trip-builder-step select:hover{border-color:#78918c}
.trip-builder-select{display:block;margin-bottom:1.5rem}
.trip-builder-select small{display:block;margin-top:.4rem;color:var(--muted);font-size:.78rem;font-weight:500}
.trip-builder-number-grid{max-width:620px}
.trip-builder-child-ages{max-width:620px}
.trip-builder-choice-group{min-width:0;margin:1.8rem 0 0;padding:0;border:0}
.trip-builder-choice-group legend{margin-bottom:.75rem;font-size:1rem}
.trip-builder-choice-group input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.trip-builder-pace{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.trip-builder-pace legend{grid-column:1/-1}
.trip-builder-pace label>span{display:block;min-height:120px;padding:1rem;border:2px solid #d7dedb;background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.trip-builder-pace label strong{display:block;margin-bottom:.35rem;font-size:.95rem}
.trip-builder-pace label small{display:block;color:var(--muted);font-size:.76rem;font-weight:500;line-height:1.5}
.trip-builder-pace input:checked+span{border-color:#0b9da7;background:#e8f5f3;box-shadow:inset 0 0 0 1px #0b9da7}
.trip-builder-pace input:focus-visible+span,.trip-builder-tile-grid input:focus-visible+span,.trip-builder-chip-grid input:focus-visible+span,.trip-builder-radio-row input:focus-visible+span{outline:3px solid #f2b75f;outline-offset:3px}
.trip-builder-check{display:flex!important;align-items:flex-start;gap:.75rem;margin-top:1.2rem;padding:1rem;border-left:4px solid var(--gold);background:#f5efe5;cursor:pointer}
.trip-builder-check input{width:24px;height:24px;flex:0 0 auto;margin:.15rem 0 0;accent-color:#0b9da7}
.trip-builder-check span{margin:0!important;font-size:.86rem;font-weight:650}
.trip-builder-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.trip-builder-tile-grid legend{grid-column:1/-1}
.trip-builder-tile-grid label>span{position:relative;display:flex;min-height:62px;align-items:center;justify-content:center;padding:.75rem 2rem .75rem .7rem;border:2px solid #d7dedb;background:#fff;text-align:center;cursor:pointer}
.trip-builder-tile-grid i{position:absolute;right:.55rem;top:50%;display:none;width:23px;height:23px;place-items:center;border-radius:50%;background:#0b9da7;color:#fff;font-size:.72rem;transform:translateY(-50%)}
.trip-builder-tile-grid input:checked+span{border-color:#0b9da7;background:#e8f5f3}
.trip-builder-tile-grid input:checked+span i{display:grid}
.trip-builder-chip-grid,.trip-builder-radio-row{display:flex;flex-wrap:wrap;gap:.65rem}
.trip-builder-chip-grid legend,.trip-builder-radio-row legend{width:100%}
.trip-builder-chip-grid label>span,.trip-builder-radio-row label>span{display:flex;min-height:48px;align-items:center;padding:.6rem .95rem;border:1px solid #becbc7;background:#fff;cursor:pointer}
.trip-builder-chip-grid input:checked+span,.trip-builder-radio-row input:checked+span{border-color:#0b9da7;background:#0b6769;color:#fff;box-shadow:0 7px 18px rgba(11,103,105,.16)}
.trip-builder-error{min-height:1.6em;margin:1rem 0 0;color:#a9342c;font-size:.88rem;font-weight:750}
.trip-builder-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1.25rem;border-top:1px solid #e4e9e7}
.trip-builder-actions .nr-button{min-width:150px;min-height:56px;font-size:.9rem}
.trip-builder-actions [data-builder-next]{margin-left:auto}
.trip-builder-results{min-height:0}
.trip-builder-results__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.trip-builder-results__heading h2{margin-bottom:.2em}
.trip-builder-edit{min-height:48px;padding:.6rem .9rem;border:1px solid #aebdb9;background:#fff;color:var(--nile);font-weight:750;cursor:pointer}
.trip-builder-answer-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}
.trip-builder-answer-summary span{padding:.45rem .75rem;border-radius:999px;background:#e9f2ef;color:#34524e;font-size:.76rem;font-weight:700}
.trip-builder-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.trip-builder-plan{position:relative;display:flex;min-width:0;flex-direction:column;border:1px solid #d7e0dd;background:#fff;box-shadow:0 12px 34px rgba(16,62,59,.08)}
.trip-builder-plan.is-best{border:2px solid #0b9da7;box-shadow:0 18px 48px rgba(11,103,105,.16)}
.trip-builder-plan__badge{position:absolute;z-index:1;top:-13px;left:50%;padding:.35rem .75rem;border-radius:999px;background:var(--gold);color:#fff;font-size:.68rem;font-weight:850;white-space:nowrap;transform:translateX(-50%)}
.trip-builder-plan__header{padding:1.25rem 1.1rem 1rem;background:#f0f5f3}
.trip-builder-plan.is-best .trip-builder-plan__header{background:#e3f2ef}
.trip-builder-plan__number{color:var(--gold);font-family:var(--display);font-size:1.2rem;font-weight:700}
.trip-builder-plan__header h3{margin:.3rem 0;font-size:1.45rem}
.trip-builder-plan__header p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}
.trip-builder-plan__meta{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e2e9e6}
.trip-builder-plan__meta>div{display:flex;align-items:baseline;gap:.35rem;padding:.7rem 1rem}
.trip-builder-plan__meta>div+div{border-left:1px solid #e2e9e6}
.trip-builder-plan__meta strong{font-size:1.05rem}
.trip-builder-plan__meta span{color:var(--muted);font-size:.67rem}
.trip-builder-plan__timeline{display:grid;gap:.8rem;margin:0;padding:1rem;list-style:none}
.trip-builder-plan__timeline li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:.65rem;align-items:start}
.trip-builder-plan__timeline img{width:58px;height:58px;object-fit:cover}
.trip-builder-plan__timeline time,.trip-builder-plan__timeline small{display:block;color:var(--muted);font-size:.62rem}
.trip-builder-plan__timeline a{display:block;margin:.05rem 0;color:var(--ink);font-size:.74rem;font-weight:800;line-height:1.35;text-decoration:none}
.trip-builder-plan__timeline a:hover{text-decoration:underline}
.trip-builder-plan__price{margin-top:auto;padding:1rem;border-top:1px solid #e2e9e6;background:#fcfbf8}
.trip-builder-plan__price>span{display:block;color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.trip-builder-plan__price>strong{display:block;margin:.2rem 0;color:#087f89;font-size:1.1rem}
.trip-builder-plan__price>small{display:block;color:var(--ink);font-size:.7rem;font-weight:750}
.trip-builder-plan__price>p{min-height:3.2em;margin:.65rem 0;color:var(--muted);font-size:.64rem;line-height:1.45}
.trip-builder-plan__price .nr-button{width:100%;min-height:50px;padding:.65rem;font-size:.75rem}
.trip-builder-empty{padding:2rem;background:#f5efe5;text-align:center}
.trip-builder-request{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);max-width:1120px;margin:3rem auto 0;background:#0c3a37;color:#fff;box-shadow:0 26px 70px rgba(16,62,59,.16)}
.trip-builder-request__intro{padding:clamp(2rem,4vw,3.5rem)}
.trip-builder-request__intro h2{color:#fff;font-size:clamp(2.3rem,4.5vw,3.6rem)}
.trip-builder-request__intro>p:not(.eyebrow){color:rgba(255,255,255,.75)}
.trip-builder-request__intro [data-selected-plan-summary]{display:grid;gap:.45rem;padding:1.1rem;border-left:4px solid var(--gold);background:rgba(255,255,255,.08)}
.trip-builder-request__intro [data-selected-plan-summary] span{color:#b7d3cf;font-size:.78rem}
.trip-builder-request__form{margin:1rem;background:#fff;color:var(--ink)}
.trip-builder-request__form .nr-button{min-height:56px;font-size:.9rem}

@media(max-width:1020px){
    .trip-builder-shell{grid-template-columns:210px minmax(0,1fr)}
    .trip-builder-card{padding:2rem}
    .trip-builder-plan-grid{grid-template-columns:1fr}
    .trip-builder-plan{display:grid;grid-template-columns:minmax(220px,.75fr) 1fr}
    .trip-builder-plan__badge{left:110px}
    .trip-builder-plan__header{grid-column:1;grid-row:1/3}
    .trip-builder-plan__meta{grid-column:1;align-self:end}
    .trip-builder-plan__timeline{grid-column:2;grid-row:1}
    .trip-builder-plan__price{grid-column:2;grid-row:2}
    .trip-builder-tile-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
    .trip-builder-proof .nr-container{grid-template-columns:1fr}
    .trip-builder-proof .nr-container>div,.trip-builder-proof .nr-container>div:first-child{min-height:0;border-left:1px solid #cfdfdb;border-right:1px solid #cfdfdb;border-bottom:1px solid #cfdfdb}
    .trip-builder-shell{display:block}
    .trip-builder-progress{display:none}
    .trip-builder-mobile-progress{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:#34524e;font-size:.76rem;font-weight:800}
    .trip-builder-mobile-progress i{height:8px;flex:1;border-radius:999px;background:#dfe9e6;overflow:hidden}
    .trip-builder-mobile-progress b{display:block;width:25%;height:100%;border-radius:inherit;background:#0b9da7;transition:width .25s ease}
    .trip-builder-step{min-height:0}
    .trip-builder-request{grid-template-columns:1fr}
    .trip-builder-request__form{margin:0 1rem 1rem}
}
@media(max-width:640px){
    .trip-builder-hero{min-height:560px;padding:120px 0 65px;background-position:62% center}
    .trip-builder-hero h1{font-size:clamp(2.8rem,15vw,4.2rem)}
    .trip-builder-hero__content>p:not(.eyebrow){font-size:1rem}
    .trip-builder-hero__actions,.trip-builder-hero__actions .nr-button,.trip-builder-help-link{width:100%}
    .trip-builder-proof .nr-container>div{grid-template-columns:42px 1fr;padding:1rem}
    .trip-builder-workspace{padding-top:2.5rem}
    .trip-builder-catalog-note{align-items:flex-start}
    .trip-builder-catalog-note p{font-size:.8rem}
    .trip-builder-card{padding:1.35rem 1rem 1rem}
    .trip-builder-step h2{font-size:clamp(2rem,11vw,2.75rem)}
    .trip-builder-question-help{margin-bottom:1.4rem;font-size:.9rem}
    .trip-builder-field-grid,.trip-builder-pace{grid-template-columns:1fr}
    .trip-builder-pace legend{grid-column:auto}
    .trip-builder-pace label>span{min-height:0}
    .trip-builder-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .trip-builder-tile-grid label>span{min-height:58px;font-size:.82rem}
    .trip-builder-chip-grid label,.trip-builder-radio-row label{flex:1 1 calc(50% - .65rem)}
    .trip-builder-chip-grid label>span,.trip-builder-radio-row label>span{justify-content:center;text-align:center;font-size:.8rem}
    .trip-builder-actions{position:sticky;z-index:5;bottom:0;margin-inline:-1rem;padding:1rem;background:rgba(255,255,255,.96);box-shadow:0 -10px 26px rgba(16,62,59,.08)}
    .trip-builder-actions .nr-button{min-width:0;flex:1;padding-inline:.7rem}
    .trip-builder-results__heading{display:block}
    .trip-builder-edit{width:100%;margin-bottom:1rem}
    .trip-builder-plan{display:flex}
    .trip-builder-plan__badge{left:50%}
    .trip-builder-plan__header,.trip-builder-plan__meta,.trip-builder-plan__timeline,.trip-builder-plan__price{grid-column:auto;grid-row:auto}
    .trip-builder-plan__price>p{min-height:0}
    .trip-builder-request{margin-top:2rem}
    .trip-builder-request__intro{padding:2rem 1.25rem}
    .trip-builder-request__form{margin:0 .65rem .65rem;padding:1.2rem .9rem}
}
@media(max-width:390px){
    .trip-builder-tile-grid{grid-template-columns:1fr}
    .trip-builder-chip-grid label,.trip-builder-radio-row label{flex-basis:100%}
    .trip-builder-actions .nr-button{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){
    .trip-builder-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
