/* Dorset Airport Taxis: restrained enhancements retaining original design. */
:root{--dat-ink:#061829;--dat-accent:#f6b72d}
html{scroll-padding-top:98px} body{overflow-x:clip}
:focus-visible{outline:3px solid #dfa51a!important;outline-offset:4px}
.nav-links{align-items:center;gap:clamp(8px,1.2vw,20px)}
.nav-links>.nav-link,.nav-links>.nav-group>.nav-parent{white-space:nowrap}
.nav-actions .btn{white-space:nowrap}
.hero-copy p,.section-copy{max-width:67ch}
.btn,.area-card,.service-card,.airport-card{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.booking-section .form-card,.form-card{box-shadow:0 18px 55px rgba(6,24,41,.12);border:1px solid rgba(6,24,41,.09)}
.form-card form button[disabled]{opacity:.68;cursor:progress;transform:none!important}
.form-status{min-height:1.8em;padding-top:.4rem;line-height:1.5}
.form-status.error{color:#9e2727}.form-status.success{color:#155e40}
.field input,.field textarea,.field select{max-width:100%;min-width:0}
.dat-benefit-strip{background:#0c2b42;color:#fff;padding:23px 0}
.dat-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dat-benefit{display:flex;gap:13px;align-items:flex-start}
.dat-benefit i{color:#ffbe35;font-size:1.35rem;margin-top:4px}
.dat-benefit strong{display:block;color:#fff;font-size:.98rem}.dat-benefit span{display:block;color:#c9d7e1;font-size:.87rem;line-height:1.55}
.dat-editorial-box{padding:clamp(22px,3vw,42px);border:1px solid #dae5eb;border-radius:14px;background:linear-gradient(135deg,#f9fbfc,#eef4f7)}
.dat-editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,4vw,55px);align-items:center}
.dat-editorial-grid img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:12px;display:block}
.dat-editorial-grid h2{line-height:1.13;margin:12px 0 18px}
.dat-editorial-grid p{line-height:1.75;color:#475e70}
.dat-small-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.dat-small-card{padding:24px;background:white;border:1px solid #dce6ec;border-radius:12px;box-shadow:0 9px 25px #0618290d}
.dat-small-card small{font-weight:800;color:#9a6c0b;text-transform:uppercase;letter-spacing:.11em}
.dat-small-card h3{font-size:1.2rem;line-height:1.25;margin:9px 0}
.dat-small-card p{line-height:1.6;margin:0 0 12px;color:#4b6171}
.dat-link-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.dat-link-row a{font-weight:750;color:#0f3a56;background:#f1f5f7;padding:9px 13px;border-radius:20px;border:1px solid #d9e5eb;text-decoration:none}
.dat-link-row a:hover{background:#fff0c8}
.dat-note{font-size:.88rem;color:#637687;line-height:1.6}
.dat-proof{background:#061829;color:#fff;padding:clamp(28px,4vw,56px) 0}
.dat-proof p{color:#d2dfe6;max-width:65ch}
.dat-proof .section-title{color:#fff}
.dat-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dat-feedback-grid blockquote{padding:25px;margin:0;border:1px solid #e1e7ec;border-radius:12px;background:#fff}
.dat-feedback-grid blockquote p{color:#263e50;line-height:1.7}.dat-feedback-grid cite{color:#657987;font-size:.9rem}
.dat-eyebrow{font-size:.72rem;color:#a47508;letter-spacing:.14em;text-transform:uppercase;font-weight:850}
.dat-content-wrap{max-width:880px;margin-inline:auto}.dat-content-wrap p,.dat-content-wrap li{line-height:1.8;color:#405667}
.dat-content-wrap h2{margin:28px 0 12px;color:#092d43}
.dat-steps{counter-reset:datsteps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}
.dat-steps>div{counter-increment:datsteps;border-top:3px solid #eab130;background:#fff;padding:25px;border-radius:0 0 10px 10px;box-shadow:0 12px 27px #06182912}
.dat-steps>div:before{content:counter(datsteps,decimal-leading-zero);font-size:1.4rem;font-weight:900;color:#bb830c;display:block;margin-bottom:14px}
.dat-steps strong{display:block;font-size:1.1rem;color:#062a43;margin-bottom:5px}.dat-steps p{margin:0;color:#50697b;line-height:1.6}
.dat-small-card:hover{box-shadow:0 17px 38px #0618291b;transform:translateY(-3px)}
@media(max-width:1100px){.nav-links{gap:8px}.nav-actions .header-phone{display:none}}
@media(max-width:900px){.nav-links.open{width:100vw;max-width:100vw;left:0!important;right:0!important;box-sizing:border-box;padding-left:18px;padding-right:18px;overflow-x:hidden;overflow-y:auto;max-height:calc(100dvh - 65px)}body.menu-open{overflow:hidden!important}.dat-benefit-grid{grid-template-columns:1fr;gap:15px}.dat-editorial-grid,.dat-small-cards,.dat-steps,.dat-feedback-grid{grid-template-columns:1fr}.nav-links.open .nav-group .mega-menu a{padding-left:24px!important}.dat-editorial-grid img{aspect-ratio:16/10}}
@media(max-width:540px){.dat-benefit{gap:9px}.dat-benefit-strip{padding:20px 0}.dat-small-card{padding:20px}.dat-editorial-box{padding:20px}.hero .hero-actions .btn{max-width:100%;white-space:normal}.section,.section.soft{overflow-x:clip}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.dat-mobile-quote{display:none!important}
@media(max-width:900px){.nav-links.open .dat-mobile-quote{display:block!important;margin:18px 0 10px;padding:14px 18px!important;text-align:center;border-radius:9px;background:#f6b72d;color:#061829!important;font-weight:800;box-shadow:0 8px 20px #06182930}}
