.kapiti-contact .contact-section{padding:84px 0 96px;background:linear-gradient(180deg,#f9fcff 0,#edf6fd 100%)}
.kapiti-contact .contact-heading{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;margin-bottom:48px}
.kapiti-contact .contact-heading h1{font-size:clamp(2.5rem,5.98vw,6.3825rem);white-space:nowrap}
.kapiti-contact .contact-heading>p{max-width:560px;margin:0;color:var(--muted);font-size:1.05rem}
.kapiti-contact .contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:stretch}
.kapiti-contact .details-panel,.kapiti-contact .contact-location-panel{min-width:0;padding:40px;background:rgba(255,255,255,.9);border-top:5px solid var(--cyan);border-radius:var(--radius);box-shadow:0 22px 55px rgba(16,47,73,.1)}
.kapiti-contact .contact-location-panel{border-top-color:var(--blue)}
.kapiti-contact .details-panel h2,.kapiti-contact .contact-location-panel h2{max-width:500px;font-size:clamp(2.25rem,3.5vw,3.15rem)}
.kapiti-contact .details-panel>p:not(.eyebrow),.kapiti-contact .contact-location-panel>p:not(.eyebrow){max-width:500px;margin-top:20px;color:var(--muted)}
.kapiti-contact .contact-list{margin-top:35px;border-top:1px solid var(--line)}
.kapiti-contact .contact-item{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:21px 0;border-bottom:1px solid var(--line)}
.kapiti-contact .contact-icon{display:grid;width:38px;height:38px;place-items:center;color:var(--blue);background:#dceefd;border-radius:50%}
.kapiti-contact .contact-icon svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kapiti-contact .contact-item span:not(.contact-icon){display:block;margin-bottom:3px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}
.kapiti-contact .contact-item a,.kapiti-contact .contact-item address{color:var(--navy);font-size:1.05rem;font-style:normal;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.kapiti-contact .booking-note{margin-top:30px;padding:20px;background:rgba(255,255,255,.72);border-left:4px solid var(--cyan)}
.kapiti-contact .booking-note p{margin:5px 0 14px;color:var(--muted);font-size:.9rem}
.kapiti-contact .contact-map{margin:30px 0 0;overflow:hidden;background:white;border:1px solid var(--line)}
.kapiti-contact .contact-map a{display:block}
.kapiti-contact .contact-map img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.kapiti-contact .contact-routes{background:white}
.kapiti-contact .routes-heading{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:end;margin-bottom:38px}
.kapiti-contact .routes-heading>p{max-width:540px;margin:0;color:var(--muted)}
.kapiti-contact .routes-list{border-top:1px solid var(--line)}
.kapiti-contact .route-row{display:grid;grid-template-columns:48px 1fr auto;gap:22px;align-items:center;min-height:102px;padding:16px 0;border-bottom:1px solid var(--line)}
.kapiti-contact .route-number{color:var(--blue);font-weight:900}
.kapiti-contact .route-row h3{font-size:1.05rem}
.kapiti-contact .route-row p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.kapiti-contact .route-row>a{color:var(--blue);font-weight:800;text-decoration:none;white-space:nowrap}
.kapiti-contact .route-row>a:hover{text-decoration:underline}
.kapiti-contact .closing-band{color:var(--navy);background:var(--sky)}
.kapiti-contact .closing-inner{min-height:270px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.kapiti-contact .closing-inner h2{max-width:690px;font-size:clamp(2.5rem,5vw,3.7rem)}
.kapiti-contact .closing-inner p:not(.eyebrow){max-width:580px;margin-top:14px;color:var(--muted)}
.kapiti-contact .closing-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
@media(max-width:1060px){.kapiti-contact .contact-layout{gap:24px}.kapiti-contact .details-panel,.kapiti-contact .contact-location-panel{padding:32px}.kapiti-contact .routes-heading{gap:44px}}
@media(max-width:820px){.kapiti-contact .contact-heading,.kapiti-contact .contact-layout,.kapiti-contact .routes-heading{grid-template-columns:1fr;gap:24px}.kapiti-contact .contact-heading{margin-bottom:40px}.kapiti-contact .closing-inner{min-height:340px;flex-direction:column;align-items:flex-start;justify-content:center}.kapiti-contact .closing-actions{justify-content:flex-start}}
@media(max-width:600px){.kapiti-contact .contact-section{padding:58px 0 66px}.kapiti-contact .details-panel,.kapiti-contact .contact-location-panel{padding:26px 22px}.kapiti-contact .route-row{grid-template-columns:32px 1fr;gap:7px 12px;padding:20px 0}.kapiti-contact .route-number{grid-row:1/3}.kapiti-contact .route-row>a{grid-column:2;justify-self:start}.kapiti-contact .closing-actions{flex-direction:column;width:100%;max-width:270px}}
@media(max-width:340px){.kapiti-contact .contact-heading h1{font-size:2.05rem}}
