:root{--color-forest: #1B5738;--color-forest-dark: #124026;--color-forest-light: #2A7A4E;--color-gold: #C9961C;--color-gold-light: #DDB040;--color-cream: #F8F6F1;--color-cream-dark: #EEEAE0;--color-white: #FFFFFF;--color-text: #1A1A1A;--color-text-muted: #5A5A5A;--color-text-light: #888888;--color-text-inverse: #FFFFFF;--color-border: #D8D0BC;--color-border-light: #E8E2D6;--color-error: #B94040;--color-error-bg: #FDF2F2;--color-success: #2A7A4E;--font-display: "Archivo", system-ui, -apple-system, sans-serif;--font-body: "Archivo", system-ui, -apple-system, sans-serif;--font-stretch-display: semi-expanded;--font-stretch-body: normal;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--transition: .2s ease;--transition-slow: .35s ease;--max-width: 820px;--max-width-wide: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-cream);line-height:1.6;min-height:100vh}img,svg{display:block;max-width:100%}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-forest);text-decoration:underline}a:hover{color:var(--color-forest-dark)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.container--wide{max-width:var(--max-width-wide)}.site-header{background:var(--color-forest);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between}.site-header__logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.site-header__logo-mark{width:40px;height:40px;background:var(--color-gold);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-forest);font-weight:700;flex-shrink:0}.site-header__logo-text{font-family:var(--font-display);font-stretch:semi-expanded;font-size:var(--text-lg);color:var(--color-white);font-weight:600;line-height:1.2;letter-spacing:.02em}.site-header__logo-sub{font-size:var(--text-xs);color:#ffffffb3;font-family:var(--font-body);font-weight:300;letter-spacing:.08em;text-transform:uppercase}.progress-bar{background:#ffffff26;height:3px}.progress-bar__fill{background:var(--color-gold);height:100%;transition:width var(--transition-slow)}.screen-content{flex:1;padding:var(--space-10) var(--space-6)}.screen-heading{font-family:var(--font-display);font-stretch:semi-expanded;font-size:var(--text-3xl);font-weight:700;color:var(--color-forest);margin-bottom:var(--space-2);line-height:1.2}.screen-subheading{color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:var(--space-8);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:700;letter-spacing:.03em;transition:all var(--transition);text-decoration:none;cursor:pointer;border:2px solid transparent;font-family:var(--font-body)}.btn--primary{background:var(--color-forest);color:var(--color-white);border-color:var(--color-forest)}.btn--primary:hover:not(:disabled){background:var(--color-forest-dark);border-color:var(--color-forest-dark)}.btn--primary:disabled{opacity:.45;cursor:not-allowed}.btn--gold{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold);font-stretch:semi-expanded;font-weight:600}.btn--gold:hover:not(:disabled){background:var(--color-gold-light);border-color:var(--color-gold-light)}.btn--secondary{background:transparent;color:var(--color-forest);border-color:var(--color-forest)}.btn--secondary:hover:not(:disabled){background:var(--color-forest);color:var(--color-white)}.btn--ghost{background:transparent;color:var(--color-text-muted);border-color:transparent;padding-left:0;padding-right:0}.btn--ghost:hover{color:var(--color-text)}.btn--full{width:100%}.btn--lg{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin-bottom:var(--space-2);letter-spacing:.04em;text-transform:uppercase}.form-label--optional:after{content:" (optional)";font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-light)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);background:var(--color-white);transition:border-color var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-forest);box-shadow:0 0 0 3px #1b4d3e1f}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A5A5A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-error{font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-1)}.form-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.form-textarea{resize:vertical;min-height:100px}.counter{display:flex;align-items:center;gap:var(--space-4)}.counter__btn{width:36px;height:36px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-white);font-size:var(--text-xl);color:var(--color-forest);display:flex;align-items:center;justify-content:center;transition:all var(--transition);line-height:1}.counter__btn:hover:not(:disabled){border-color:var(--color-forest);background:var(--color-forest);color:var(--color-white)}.counter__btn:disabled{opacity:.35;cursor:not-allowed}.counter__value{font-size:var(--text-xl);font-weight:700;min-width:2rem;text-align:center;color:var(--color-forest)}.destination-group{margin-bottom:var(--space-6)}.destination-group__label{font-size:var(--text-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.destination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.destination-card{position:relative;cursor:pointer}.destination-card input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.destination-card__label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);text-align:center;cursor:pointer;transition:all var(--transition);min-height:80px;gap:var(--space-2)}.destination-card__label:hover{border-color:var(--color-forest-light);background:var(--color-cream)}.destination-card input:checked+.destination-card__label{border-color:var(--color-forest);background:var(--color-forest);color:var(--color-white)}.destination-card__icon{font-size:1.5rem;line-height:1}.destination-card__name{font-size:var(--text-sm);font-weight:700}.destination-card__operator{font-size:var(--text-xs);opacity:.7}.destination-card--not-sure .destination-card__label{border-style:dashed;color:var(--color-text-muted)}.destination-card--not-sure input:checked+.destination-card__label{border-style:solid;background:var(--color-cream-dark);color:var(--color-text);border-color:var(--color-gold)}.pill-group{display:flex;flex-wrap:wrap;gap:var(--space-3)}.pill{position:relative}.pill input[type=radio],.pill input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.pill__label{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-5);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition);background:var(--color-white);white-space:nowrap}.pill__label:hover{border-color:var(--color-forest-light)}.pill input:checked+.pill__label{background:var(--color-forest);border-color:var(--color-forest);color:var(--color-white)}.service-cards{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 600px){.service-cards{grid-template-columns:1fr 1fr}}.service-card{position:relative;cursor:pointer}.service-card input[type=radio]{position:absolute;opacity:0;width:0;height:0}.service-card__label{display:block;padding:var(--space-5);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);cursor:pointer;transition:all var(--transition);height:100%}.service-card__label:hover{border-color:var(--color-forest-light);background:var(--color-cream)}.service-card input:checked+.service-card__label{border-color:var(--color-forest);background:var(--color-cream);box-shadow:0 0 0 1px var(--color-forest)}.service-card__tier{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-1)}.service-card__name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-forest);margin-bottom:var(--space-3)}.service-card__features{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.service-card__features li{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;gap:var(--space-2);align-items:flex-start}.service-card__features li:before{content:"✓";color:var(--color-forest);font-weight:700;flex-shrink:0}.yn-toggle{display:flex;gap:var(--space-3)}.yn-toggle__opt{position:relative;flex:1}.yn-toggle__opt input{position:absolute;opacity:0;width:0;height:0}.yn-toggle__label{display:block;text-align:center;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition);background:var(--color-white)}.yn-toggle__opt input:checked+.yn-toggle__label{background:var(--color-forest);border-color:var(--color-forest);color:var(--color-white)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-item{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.checkbox-item input[type=checkbox]{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;cursor:pointer;transition:all var(--transition);margin-top:2px;position:relative}.checkbox-item input[type=checkbox]:checked{background:var(--color-forest);border-color:var(--color-forest)}.checkbox-item input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:6px;height:10px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg)}.checkbox-item__text{font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}.checkbox-item--consent .checkbox-item__text{font-size:var(--text-xs);color:var(--color-text-muted)}.screen-nav{padding:var(--space-6);border-top:1px solid var(--color-border-light);background:var(--color-white);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.screen-nav--end{justify-content:flex-end}.loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16) var(--space-6);background:var(--color-cream)}.loading-emblem{width:80px;height:80px;border-radius:var(--radius-full);background:var(--color-forest);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-8);font-size:2rem;position:relative}.loading-emblem:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:var(--radius-full);border:3px solid var(--color-gold);border-top-color:transparent;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-forest);margin-bottom:var(--space-3);min-height:2em;transition:opacity .4s ease}.loading-submessage{color:var(--color-text-muted);font-size:var(--text-base)}.loading-dots{display:inline-flex;gap:var(--space-2);margin-top:var(--space-6)}.loading-dots span{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-gold);animation:pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.recommendation-screen{background:var(--color-cream)}.recommendation-header{background:var(--color-forest);color:var(--color-white);padding:var(--space-10) var(--space-6);text-align:center}.recommendation-header__eyebrow{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-light);margin-bottom:var(--space-3)}.recommendation-header__title{font-family:var(--font-display);font-stretch:semi-expanded;font-weight:700;font-size:var(--text-4xl);margin-bottom:var(--space-3);line-height:1.15}.recommendation-header__subtitle{color:#ffffffbf;font-size:var(--text-lg)}.recommendation-body{max-width:var(--max-width);margin:0 auto;padding:var(--space-10) var(--space-6)}.recommendation-html{--rh-green: var(--color-forest);--rh-gold: var(--color-gold)}.recommendation-html .rec-section{margin-bottom:var(--space-10);padding-bottom:var(--space-10);border-bottom:1px solid var(--color-border-light)}.recommendation-html .rec-section:last-child{border-bottom:none}.recommendation-html .rec-eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-2)}.recommendation-html .rec-heading{font-family:var(--font-display);font-stretch:semi-expanded;font-weight:600;font-size:var(--text-2xl);color:var(--color-forest);margin-bottom:var(--space-4);line-height:1.25}.recommendation-html .rec-body p{color:var(--color-text);line-height:1.7;margin-bottom:var(--space-4)}.recommendation-html .rec-body p:last-child{margin-bottom:0}.recommendation-html .rec-route-card{background:var(--color-white);border:1px solid var(--color-border);border-left:4px solid var(--color-forest);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-4)}.recommendation-html .rec-route-card__operator{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-1)}.recommendation-html .rec-route-card__name{font-family:var(--font-display);font-stretch:semi-expanded;font-weight:600;font-size:var(--text-xl);color:var(--color-forest);margin-bottom:var(--space-3)}.recommendation-html .rec-route-card__why{color:var(--color-text);font-size:var(--text-sm);line-height:1.6}.recommendation-html .rec-itinerary{display:flex;flex-direction:column;gap:var(--space-4)}.recommendation-html .rec-day{display:flex;gap:var(--space-4);align-items:flex-start}.recommendation-html .rec-day__num{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-forest);color:var(--color-white);font-weight:700;font-size:var(--text-sm);display:flex;align-items:center;justify-content:center}.recommendation-html .rec-day__content{flex:1;padding-top:var(--space-2)}.recommendation-html .rec-day__label{font-weight:700;color:var(--color-forest);margin-bottom:var(--space-1)}.recommendation-html .rec-day__detail{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.recommendation-html .rec-pricing-band{background:var(--color-cream-dark);border-radius:var(--radius-lg);padding:var(--space-5)}.recommendation-html .rec-pricing-band__range{font-family:var(--font-display);font-stretch:semi-expanded;font-weight:700;font-size:var(--text-3xl);color:var(--color-forest);margin-bottom:var(--space-2)}.recommendation-html .rec-pricing-band__label{font-size:var(--text-sm);color:var(--color-text-muted)}.recommendation-html .rec-pricing-band__disclaimer{font-size:var(--text-xs);color:var(--color-text-light);margin-top:var(--space-3);font-style:italic}.recommendation-html .rec-promotion{background:var(--color-white);border:1px solid var(--color-gold);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-3)}.recommendation-html .rec-promotion__icon{font-size:1.25rem;flex-shrink:0;margin-top:2px}.recommendation-html .rec-promotion__text{font-size:var(--text-sm);color:var(--color-text);line-height:1.5}.recommendation-html .rec-next-steps{background:var(--color-forest);color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6)}.recommendation-html .rec-next-steps h3{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-3);color:var(--color-gold-light)}.recommendation-html .rec-next-steps p{color:#ffffffd9;font-size:var(--text-sm);line-height:1.7}.booking-cta{background:var(--color-white);border-top:1px solid var(--color-border-light);padding:var(--space-10) var(--space-6);text-align:center}.booking-cta__title{font-family:var(--font-display);font-stretch:semi-expanded;font-weight:700;font-size:var(--text-2xl);color:var(--color-forest);margin-bottom:var(--space-3)}.booking-cta__subtitle{color:var(--color-text-muted);margin-bottom:var(--space-6);max-width:500px;margin-left:auto;margin-right:auto}.booking-cta__contact{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-4)}.error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16) var(--space-6)}.error-state__icon{font-size:3rem;margin-bottom:var(--space-6)}.error-state__title{font-family:var(--font-display);font-stretch:semi-expanded;font-weight:700;font-size:var(--text-2xl);color:var(--color-forest);margin-bottom:var(--space-3)}.error-state__message{color:var(--color-text-muted);margin-bottom:var(--space-8);max-width:400px}.admin-shell{min-height:100vh;background:#f4f4f4}.admin-header{background:var(--color-forest);color:var(--color-white);padding:var(--space-4) var(--space-8);display:flex;align-items:center;justify-content:space-between}.admin-header__title{font-family:var(--font-display);font-size:var(--text-xl)}.admin-content{padding:var(--space-8);max-width:1100px;margin:0 auto}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.admin-stat{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.admin-stat__value{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--color-forest);line-height:1;margin-bottom:var(--space-1)}.admin-stat__label{font-size:var(--text-sm);color:var(--color-text-muted)}.admin-table-wrap{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table th{background:var(--color-cream-dark);text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.admin-table td{padding:var(--space-4);border-top:1px solid var(--color-border-light);vertical-align:top;color:var(--color-text)}.admin-table tr:hover td{background:var(--color-cream);cursor:pointer}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-forest)}.admin-login__card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-10);width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.admin-login__logo{text-align:center;margin-bottom:var(--space-8)}.admin-login__title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-forest);text-align:center;margin-bottom:var(--space-6)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-8);z-index:100;overflow-y:auto}.modal{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:760px;box-shadow:var(--shadow-lg)}.modal__header{background:var(--color-forest);color:var(--color-white);padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;align-items:center;justify-content:space-between}.modal__title{font-family:var(--font-display);font-size:var(--text-xl)}.modal__close{background:none;border:none;color:#ffffffb3;font-size:var(--text-2xl);cursor:pointer;line-height:1;padding:0}.modal__close:hover{color:var(--color-white)}.modal__body{padding:var(--space-6)}.divider{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-6) 0}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em}.badge--gold{background:var(--color-gold-light);color:var(--color-forest)}.badge--green{background:#1b4d3e1a;color:var(--color-forest)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}@media (max-width: 480px){.screen-heading{font-size:var(--text-2xl)}.destination-grid{grid-template-columns:repeat(2,1fr)}.screen-content{padding:var(--space-6) var(--space-4)}.screen-nav{padding:var(--space-4)}.recommendation-header__title{font-size:var(--text-3xl)}.admin-content{padding:var(--space-4)}.modal-overlay{padding:0}.modal{border-radius:0;min-height:100vh}}
