/* Responsive public calculator in the approved jade-and-gold design system. */
.budget-page{width:var(--page-width);margin:0 auto 5rem}
.budget-hero{max-width:850px;padding:0 0 var(--page-intro-gap)}
.budget-hero h1{font:500 clamp(2.7rem,6vw,5.5rem)/1 Georgia,serif;letter-spacing:-.04em;margin:.15em 0 .35em}
.budget-hero>p:last-child{max-width:720px;font-size:1.2rem;color:var(--muted)}
.budget-calculator,.budget-result,.budget-lead{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:1.2rem;background:var(--card)}
.budget-heading{display:flex;gap:1rem;align-items:flex-start;margin:0 0 1.5rem}
.budget-heading>span,.budget-person header>span{display:grid;place-items:center;flex:0 0 2.4rem;height:2.4rem;border-radius:50%;background:var(--jade);color:#fff;font-weight:800}
.budget-heading h2,.budget-result h2,.budget-lead h2{font:500 clamp(1.8rem,3vw,2.8rem)/1.1 Georgia,serif;margin:0}
.budget-heading p{margin:.4rem 0;color:var(--muted)}
.trip-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:3.5rem}
.trip-fields label,.budget-person-options label,.budget-lead label{display:grid;gap:.4rem;font-weight:700}
.trip-fields select,.trip-fields input,.budget-person select,.budget-lead input{width:100%;min-height:48px;padding:.7rem;border:1px solid var(--muted);border-radius:.4rem;background:var(--card);color:var(--ink);font:inherit}
.budget-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}
.budget-person{padding:1.4rem;border:1px solid var(--line);border-radius:.8rem;background:var(--cream)}
.budget-person header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}.budget-person header small{display:block;color:var(--muted)}
.budget-person fieldset{border:0;padding:0;margin:0}.budget-person legend{font-weight:800;margin-bottom:.6rem}
.budget-services{display:grid;gap:.55rem}.budget-service{display:flex;gap:.65rem;align-items:flex-start;padding:.7rem;background:var(--card);border-radius:.5rem}
.budget-service input{min-width:24px;min-height:24px;margin:.1rem 0}.budget-service small{display:block;color:var(--muted);font-weight:400}
.budget-person-options{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.budget-error,.budget-lead .form-error{color:#9e211e}.budget-calculator>.button{margin-top:.5rem}
.budget-flight-status:not(:empty){display:inline-block;margin:.8rem 0 0 1rem;color:var(--muted)}
.budget-result{margin-top:1rem;background:var(--jade-dark);color:#fff}.budget-result .eyebrow{color:#e3c58b}
.budget-result>p{color:#e2ece8}.budget-city-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.budget-city-results.is-single{grid-template-columns:minmax(0,720px)}.budget-city-result{padding:1.3rem;border-radius:.8rem;background:var(--card);color:var(--ink)}
.budget-city-result h3{font:500 1.7rem/1.1 Georgia,serif;margin:0 0 .7rem}.budget-city-result>strong{display:block;font:500 clamp(1.8rem,3vw,2.7rem)/1 Georgia,serif;margin-bottom:1rem}
.budget-city-result dl{display:grid;gap:.7rem;margin:0}.budget-city-result dl div{padding-top:.7rem;border-top:1px solid var(--line)}.budget-city-result dt{color:var(--muted);font-size:.85rem}.budget-city-result dd{margin:.2rem 0 0;font-weight:800}
.budget-explain{max-width:900px}
.budget-lead{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);margin-top:1rem}.budget-lead form{max-width:520px}.budget-lead label{margin-top:.8rem}
@media(max-width:900px){.trip-fields{grid-template-columns:1fr 1fr}.budget-people,.budget-lead,.budget-city-results{grid-template-columns:1fr}}
@media(max-width:560px){.trip-fields,.budget-person-options{grid-template-columns:1fr}.budget-calculator,.budget-result,.budget-lead{padding:1.2rem}.budget-hero h1{font-size:2.8rem}.budget-flight-status:not(:empty){display:block;margin:.8rem 0 0}}
@media(prefers-reduced-motion:reduce){.budget-page{scroll-behavior:auto}}
