/* One responsive component, no external fonts, assets or UI dependencies. */
#nsl-guided{--ng-navy:#122a3a;--ng-green:#357b0b;--ng-line:#dce3e7;--ng-muted:#566773;color:var(--ng-navy);font:16px/1.5 system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%;max-width:1160px;margin:24px auto;scroll-margin-top:24px}
#nsl-guided *,#nsl-guided *::before,#nsl-guided *::after{box-sizing:border-box}
#nsl-guided [hidden]{display:none!important}
#nsl-guided h2,#nsl-guided h3,#nsl-guided h4,#nsl-guided p{margin:0}
#nsl-guided h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.035em;margin:8px 0 12px}
#nsl-guided h3{font-size:23px;line-height:1.3;letter-spacing:-.025em}
#nsl-guided h4{font-size:18px;line-height:1.35}
#nsl-guided button,#nsl-guided input,#nsl-guided select{font:inherit}
#nsl-guided button,#nsl-guided select,#nsl-guided input{min-height:44px}
#nsl-guided button{cursor:pointer;color:var(--ng-navy);background:white;border:1px solid var(--ng-line);border-radius:9px;padding:10px 16px;line-height:1.35}
#nsl-guided button:disabled{cursor:default;opacity:.5}
#nsl-guided :focus-visible{outline:3px solid #367fbd;outline-offset:3px}
#nsl-guided h3:focus{outline:none}
#nsl-guided a,#nsl-guided .ng-text{color:var(--ng-green)}
#nsl-guided .ng-text{border:0;background:transparent;padding:8px 0;font-weight:650;text-decoration:underline;text-underline-offset:4px}
#nsl-guided .ng-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--ng-green);color:white;font-weight:700;border:1px solid var(--ng-green);padding:12px 22px;border-radius:9px;text-decoration:none;min-height:48px}
#nsl-guided .ng-primary:hover{background:#285d09;color:#fff}
#nsl-guided .ng-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}
#nsl-guided .ng-header p:not(.ng-eyebrow){color:var(--ng-muted)}
#nsl-guided .ng-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--ng-green);font-weight:800}
#nsl-guided .ng-label{font-size:11px;padding:7px 10px;border-radius:6px;background:#edf3e9;color:#38532b;white-space:nowrap}
#nsl-guided .ng-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}
#nsl-guided .ng-progress button{display:flex;align-items:center;justify-content:center;gap:10px;border:0;background:#edf1f3;font-size:14px;font-weight:650;padding:10px}
#nsl-guided .ng-progress button span{border-radius:50%;border:1px solid #9faeb8;display:inline-grid;place-content:center;width:24px;height:24px;font-size:12px}
#nsl-guided .ng-progress [aria-current]{background:#eaf3e4;color:#285d09}
#nsl-guided .ng-progress [aria-current] span{background:var(--ng-green);border-color:var(--ng-green);color:#fff}
#nsl-guided .ng-stage{border:1px solid var(--ng-line);background:#fff;border-radius:16px;padding:28px}
#nsl-guided .ng-muted{color:var(--ng-muted);font-size:14px}
#nsl-guided .ng-stage>h3+.ng-muted{margin-top:7px}
#nsl-guided fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}
#nsl-guided legend,#nsl-guided .ng-travel-fields label,#nsl-guided .ng-room-label,#nsl-guided .ng-contact>label:not(.ng-ack){font-size:14px;font-weight:650;margin-bottom:9px;display:block}
#nsl-guided .ng-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#nsl-guided .ng-package,#nsl-guided .ng-flight{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--ng-line);border-radius:10px;cursor:pointer}
#nsl-guided input[type=radio],#nsl-guided input[type=checkbox]{accent-color:var(--ng-green);width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}
#nsl-guided .ng-package:has(:checked),#nsl-guided .ng-flight:has(:checked){border-color:var(--ng-green);background:#f2f7ef;box-shadow:inset 0 0 0 1px var(--ng-green)}
#nsl-guided .ng-package strong,#nsl-guided .ng-flight strong{display:block;font-size:16px}
#nsl-guided small{display:block;font-size:13px;color:var(--ng-muted)}
#nsl-guided .ng-package small,#nsl-guided .ng-flight small{margin-top:4px}
#nsl-guided .ng-travel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;max-width:750px}
#nsl-guided .ng-travel-fields>*{min-width:0}
#nsl-guided .ng-travel-fields label{margin-bottom:0}
#nsl-guided input:not([type=radio]):not([type=checkbox]),#nsl-guided select{border:1px solid #bccbd3;border-radius:8px;color:var(--ng-navy);background:#fff;padding:11px 12px;display:block;width:100%;height:48px;margin-top:7px;font-weight:400;max-width:100%;min-width:0}
#nsl-guided select{-webkit-appearance:none;appearance:none;padding-right:34px;line-height:1.35;background-image:linear-gradient(45deg,transparent 50%,#566773 50%),linear-gradient(135deg,#566773 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
#nsl-guided .ng-travel-fields select{height:48px}
#nsl-guided .ng-counter{display:flex;gap:0;border:1px solid #bccbd3;border-radius:8px;margin-top:7px;overflow:hidden;height:48px;width:100%;max-width:100%}
#nsl-guided .ng-counter button{border:0;border-radius:0;min-width:48px;font-size:22px;padding:4px;background:#f4f6f7}
#nsl-guided .ng-counter input[type=number]{appearance:textfield;-moz-appearance:textfield;border:0;border-radius:0;margin:0;min-width:0;min-height:0;height:46px;text-align:center;padding:8px}
#nsl-guided .ng-counter input::-webkit-inner-spin-button{appearance:none}
#nsl-guided .ng-room-label{max-width:750px;margin-top:22px}
#nsl-guided .ng-room-note{margin-top:7px}
#nsl-guided .ng-help{font-size:13px;color:var(--ng-muted);margin-top:22px}
#nsl-guided .ng-error{color:#a32222;font-size:14px;margin-top:12px;overflow-wrap:anywhere}
#nsl-guided .ng-error:empty{display:none}
#nsl-guided .ng-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--ng-line);padding-top:20px;margin-top:22px}
#nsl-guided .ng-footer>span{font-size:13px;color:var(--ng-muted)}
#nsl-guided .ng-stage-title{display:flex;justify-content:space-between;align-items:center;gap:16px}
#nsl-guided .ng-selection-line{margin:10px 0 18px;color:var(--ng-muted);font-size:14px}
#nsl-guided .ng-flights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#nsl-guided .ng-flight{padding:12px}
#nsl-guided .ng-airline-logo{flex:0 0 100px;width:100px;height:40px;background:white;border-radius:5px;padding:5px;display:flex;align-items:center}
#nsl-guided .ng-airline-logo img{width:90px;height:30px;object-fit:contain;display:block}
#nsl-guided details{font-size:13px;color:var(--ng-muted)}
#nsl-guided summary{cursor:pointer;color:var(--ng-navy);padding:10px 0;min-height:40px}
#nsl-guided .ng-flight-details{margin:8px 0 22px}
#nsl-guided .ng-flight-picker,#nsl-guided .ng-hotel-picker{display:block;min-width:0;font-size:14px;font-weight:650;margin-top:18px}
#nsl-guided .ng-flight-picker select,#nsl-guided .ng-hotel-picker select{font-size:14px;min-width:0}
#nsl-guided .ng-flight-details div{padding:12px;background:#f5f7f8;border-radius:8px}
#nsl-guided .ng-flight-details p+p{margin-top:6px}
#nsl-guided .ng-hotels{display:grid;gap:12px;margin-top:14px}
#nsl-guided .ng-hotel{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;border:1px solid var(--ng-line);border-radius:12px;padding:20px}
#nsl-guided .ng-hotel:nth-child(even){background:#f6f8f9}
#nsl-guided .ng-hotel.is-selected{border-color:var(--ng-green);box-shadow:inset 3px 0 var(--ng-green)}
#nsl-guided .ng-hotel-meta{font-size:12px;color:var(--ng-muted);margin-bottom:6px}
#nsl-guided .ng-hotel h4+p{margin-top:8px;font-size:14px;color:var(--ng-muted)}
#nsl-guided dl{margin:12px 0}
#nsl-guided dt{color:var(--ng-muted);font-size:12px;margin-top:10px}
#nsl-guided dd{margin:3px 0 0;overflow-wrap:anywhere}
#nsl-guided .ng-hotel-price{border-left:1px solid var(--ng-line);padding-left:24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
#nsl-guided .ng-hotel-price strong{font-size:24px;margin:2px 0}
#nsl-guided .ng-hotel-price button{width:100%;margin-top:12px;border-color:#9eba8c;color:#285d09;font-weight:700;background:#fff}
#nsl-guided .ng-hotel-price button[aria-pressed=true]{background:#e7f2df;color:#285d09}
#nsl-guided .ng-hotel-price .ng-inline-next{background:var(--ng-green);color:white;border-color:var(--ng-green);font-size:13px;min-height:44px}
@media(max-width:520px){#nsl-guided .ng-hotel-price .ng-inline-next{grid-column:1/-1;grid-row:4;width:100%;margin-top:12px}}
#nsl-guided .ng-total{margin-left:auto;text-align:right}
#nsl-guided .ng-total span{display:block;font-size:12px;color:var(--ng-muted)}
#nsl-guided .ng-total strong{font-size:22px}
#nsl-guided .ng-total .ng-fx-total{margin-top:3px;color:var(--ng-green);font-weight:700}
#nsl-guided .ng-comparison{margin-top:18px}
#nsl-guided .ng-table-wrap{overflow:auto}
#nsl-guided table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}
#nsl-guided caption{text-align:left;padding-bottom:10px}
#nsl-guided th,#nsl-guided td{padding:12px 8px;border-bottom:1px solid var(--ng-line)}
#nsl-guided .ng-checkout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;margin-top:22px}
#nsl-guided .ng-summary{background:#f5f7f8;border:1px solid var(--ng-line);border-radius:12px;padding:22px;align-self:start}
#nsl-guided .ng-summary h4{margin:10px 0}
#nsl-guided .ng-summary>p:not(.ng-eyebrow){font-size:14px}
#nsl-guided .ng-summary dd{font-size:14px;font-weight:600}
#nsl-guided .ng-summary-total{border-top:1px solid var(--ng-line);padding-top:16px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
#nsl-guided .ng-summary-total strong{font-size:25px}
#nsl-guided .ng-summary-total+p{margin:8px 0}
#nsl-guided .ng-summary-fx{margin-top:8px;padding:11px 12px;border-radius:8px;background:#edf5e8}
#nsl-guided .ng-summary-fx span,#nsl-guided .ng-summary-fx small{display:block;font-size:11px;color:var(--ng-muted)}
#nsl-guided .ng-summary-fx strong{display:block;margin:2px 0;color:var(--ng-green);font-size:21px}
#nsl-guided .ng-summary-fx+p{margin:8px 0}
#nsl-guided .ng-contact h4{margin-bottom:18px}
#nsl-guided .ng-passengers{margin-top:24px;border-top:1px solid var(--ng-line);padding-top:20px}
#nsl-guided .ng-passengers h4{margin-bottom:8px}
#nsl-guided .ng-passengers .ng-help{margin:9px 0 14px;font-size:12px}
#nsl-guided .ng-passenger-room{border:1px solid var(--ng-line);border-radius:10px;margin-top:10px;overflow:hidden}
#nsl-guided .ng-passenger-room>summary{padding:13px;background:#f5f7f8;font-size:13px}
#nsl-guided .ng-occupants{display:block;font-size:12px;color:var(--ng-muted);margin:5px 0 0 14px;overflow-wrap:anywhere}
#nsl-guided .ng-person{margin:14px 14px 20px}
#nsl-guided .ng-person+.ng-person{border-top:1px solid var(--ng-line);padding-top:14px}
#nsl-guided .ng-passenger-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;align-items:start}
#nsl-guided .ng-passenger-fields label{font-size:12px;min-width:0;font-weight:600}
#nsl-guided .ng-passenger-fields input,#nsl-guided .ng-passenger-fields select{font-size:14px;min-width:0;height:48px}
#nsl-guided .ng-passenger-fields input{padding:10px 12px}
#nsl-guided [data-date-field]{font-variant-numeric:tabular-nums}
#nsl-guided .ng-passport-demo{color:#775018}
@media(max-width:520px){#nsl-guided .ng-passenger-fields{grid-template-columns:1fr}#nsl-guided .ng-passenger-fields input,#nsl-guided .ng-passenger-fields select,#nsl-guided .ng-bank-select{font-size:16px}}
#nsl-guided .ng-contact>label:not(.ng-ack){margin-bottom:16px}
#nsl-guided .ng-notice{font-size:13px;background:#eff5eb;padding:12px;border-radius:8px;margin:16px 0}
#nsl-guided .ng-ack{display:flex;align-items:flex-start;gap:10px;margin-top:12px;font-size:13px}
#nsl-guided .ng-ack input{margin-top:3px}
#nsl-guided .ng-ack button{display:inline;min-height:0;padding:0;border:0;border-radius:0;text-align:left;font-size:inherit;font-weight:650;color:var(--ng-green);text-decoration:underline}
#nsl-guided .ng-send{margin-top:20px;width:100%}
#nsl-guided .ng-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#nsl-guided .ng-result{max-width:780px;margin:auto;padding:24px}
#nsl-guided .ng-result h3{margin:12px 0}
#nsl-guided .ng-result p{margin-bottom:14px}
#nsl-guided .ng-result>[data-result-back]{margin-bottom:8px}
#nsl-guided[data-sidebar-step="4"] .ng-progress{display:none}
#nsl-guided .ng-receipt-summary{font-size:14px;color:var(--ng-muted)}
#nsl-guided .ng-reference{font-weight:650;font-size:14px}
#nsl-guided[data-request-completed] .ng-checkout{grid-template-columns:minmax(0,1fr)}
#nsl-guided .ng-saved-navigation{margin-top:18px;display:grid;gap:12px}
#nsl-guided .ng-bank-info{margin:24px 0;padding:20px;border:1px solid var(--ng-line);border-radius:12px;background:#f6f8f9;text-align:left}
#nsl-guided .ng-bank-info h4{margin:0 0 12px}
#nsl-guided .ng-bank-info label{display:block;margin:12px 0;font-weight:650;font-size:14px}
#nsl-guided .ng-bank-copy-row{display:flex;gap:8px;align-items:center;margin-top:5px;min-width:0}
#nsl-guided .ng-bank-copy-row input{flex:1;min-width:0;background:#fff;font-size:14px;margin-top:0}
#nsl-guided .ng-bank-copy-row textarea{flex:1;min-width:0;min-height:44px;max-height:120px;resize:none;background:#fff;font-family:inherit;font-size:14px;line-height:1.5;padding:10px 12px;border:1px solid var(--ng-line);border-radius:8px}
#nsl-guided .ng-bank-copy-row button{flex:0 0 auto;font-size:13px;padding:8px}
#nsl-guided .ng-copy-status{min-height:20px;font-size:13px}
#nsl-guided .ng-transfer-amount{display:grid;gap:5px;padding:14px 16px;margin:16px 0;background:#edf5e8;border:1px solid #d6e7cc;border-radius:10px}
#nsl-guided .ng-transfer-amount>span{font-size:13px;color:var(--ng-muted)}
#nsl-guided .ng-transfer-amount>strong{font-size:26px;line-height:1.2;color:var(--ng-green)}
@media(max-width:520px){#nsl-guided .ng-result{padding:20px 14px}#nsl-guided .ng-bank-info{padding:14px;margin:18px 0}#nsl-guided .ng-bank-copy-row{gap:6px}#nsl-guided .ng-bank-copy-row input{font-size:13px;padding:10px 8px}}
#nsl-guided .ng-passenger-fields .ng-help{display:block;font-weight:400;line-height:1.4;margin-top:5px}
#nsl-guided .ng-legal-dialog{border:1px solid var(--ng-line);border-radius:14px;max-width:700px;width:calc(100% - 32px);max-height:85vh;padding:24px;color:var(--ng-navy)}
#nsl-guided .ng-legal-dialog::backdrop{background:#10263980}
#nsl-guided .ng-legal-dialog h3,#nsl-guided .ng-legal-dialog h4{margin:20px 0 10px}
@media(max-width:760px){#nsl-guided{font-size:15px;margin:12px auto}#nsl-guided .ng-header{display:block}#nsl-guided .ng-label{display:inline-block;margin-top:12px}#nsl-guided .ng-stage{padding:20px}#nsl-guided .ng-checkout{grid-template-columns:1fr;gap:22px}#nsl-guided .ng-stage-title{align-items:flex-start}#nsl-guided .ng-hotel{grid-template-columns:minmax(0,1fr) 180px;gap:16px;padding:16px}#nsl-guided .ng-hotel-price{padding-left:16px}}
@media(max-width:520px){#nsl-guided .ng-stage{padding:18px 14px}#nsl-guided h3{font-size:21px}#nsl-guided .ng-progress{gap:5px}#nsl-guided .ng-progress button{font-size:12px;gap:5px;padding:9px 4px}#nsl-guided .ng-progress button span{width:20px;height:20px}#nsl-guided .ng-packages,#nsl-guided .ng-flights{grid-template-columns:1fr}#nsl-guided .ng-travel-fields{gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#nsl-guided .ng-counter button{min-width:40px}#nsl-guided .ng-package{padding:13px}#nsl-guided .ng-hotel{grid-template-columns:1fr;gap:12px}#nsl-guided .ng-hotel-price{border-left:0;border-top:1px solid var(--ng-line);padding:12px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}#nsl-guided .ng-hotel-price small,#nsl-guided .ng-hotel-price strong{grid-column:1}#nsl-guided .ng-hotel-price button{grid-column:2;grid-row:1/4;width:auto;margin:0;align-self:center;padding:10px 12px}#nsl-guided .ng-stage-title{display:block}#nsl-guided .ng-footer{flex-wrap:wrap;gap:12px}#nsl-guided .ng-footer .ng-primary{width:100%}#nsl-guided .ng-total strong{font-size:21px}#nsl-guided .ng-summary{padding:16px}#nsl-guided .ng-summary-total{flex-wrap:wrap}#nsl-guided .ng-contact input{font-size:16px}}
@media(prefers-reduced-motion:reduce){#nsl-guided *{scroll-behavior:auto!important}}
