/* Keep native booking controls inside flexible grid columns. */
.booking-panel,.booking-panel form,.form-grid,.form-grid>label{min-width:0;max-width:100%}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid input,.form-grid textarea,.tracker input{min-width:0;max-width:100%;box-sizing:border-box;font-size:16px}
.form-grid input[type=date],.form-grid input[type=time]{display:block;width:100%;min-width:0;max-width:100%;min-inline-size:0;inline-size:100%;-webkit-appearance:none;appearance:none}
.form-grid input[type=date]::-webkit-date-and-time-value,.form-grid input[type=time]::-webkit-date-and-time-value{min-width:0;text-align:left}
.form-grid input::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:760px){
 .journey-copy-hero h1{font-size:clamp(28px,10.4vw,60px);line-height:1.04;letter-spacing:-.045em}
 .journey-copy-hero h1 span{overflow:visible;white-space:nowrap}
 .journey-carrier .carrier-plane[data-asset="engine"],.journey-carrier .carrier-plane[data-asset="cape"]{object-fit:cover}
 .form-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px) and (max-height:720px){.journey-copy-hero h1{font-size:clamp(28px,8.5vw,34px)}}

/* Keep outlined glyphs clear at phone sizes, including their stroke overhang. */
@media(max-width:760px){
 .journey-copy-hero #hero-title{letter-spacing:.01em;font-kerning:none;font-synthesis:none;padding:2px;margin:-2px;overflow:visible}
 .journey-copy-hero #hero-title span{padding:2px;margin:-2px;overflow:visible}
 .journey-copy-hero #hero-title span:last-child{color:#0a1720;-webkit-text-fill-color:#0a1720;-webkit-text-stroke:1.5px #d6e1e8;paint-order:stroke fill}
}
