:root{--ink:#102f38;--green:#146447;--lime:#cef681;color:var(--ink);font:16px/1.55 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fafbf6}header,footer{padding:1rem 6vw;display:flex;align-items:center;justify-content:space-between;gap:1rem}header{background:white}.brand,nav{display:flex;align-items:center;gap:.7rem}.brand{font-size:1.3rem;font-weight:850;letter-spacing:-.055em}.brand span{font-weight:550;margin-left:-.45rem}.brand img{width:43px}a{color:inherit}header a{text-decoration:none}nav{gap:2rem;font-size:.9rem;font-weight:650}.pill,.fleet a{background:var(--lime);padding:.65rem 1rem;border-radius:2rem}.hero{padding:4.5rem 6vw;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:6vw;background:linear-gradient(90deg,rgba(4,28,35,.87),rgba(4,28,35,.18)),url('../assets/coach.webp') center 58%/cover;color:white}.intro{max-width:590px}.intro>p:last-child{max-width:405px;font-size:1.15rem}.tag,.eyebrow,article b{font-size:.73rem;font-weight:750;letter-spacing:.13em}.tag,h1 em{color:var(--lime)}h1,h2,h3,p{margin:0 0 1rem}h1{font-size:clamp(3.9rem,6.6vw,7rem);line-height:.99;letter-spacing:-.068em;margin:1.5rem 0}h1 em{font-family:Georgia,serif;font-weight:normal}.card{background:#fff;color:var(--ink);padding:clamp(1.3rem,2.6vw,3rem);border-radius:20px;box-shadow:0 18px 45px #001b2029}.eyebrow,article b{color:var(--green)}h2{font-size:clamp(2rem,3.1vw,3.4rem);letter-spacing:-.055em;line-height:1.08;margin:.55rem 0 1rem}.card h2{font-size:clamp(1.9rem,2.7vw,3rem)}.card p,small{color:#506369}.fields,.services,.fleet{display:grid;gap:1rem}.fields{grid-template-columns:1fr 1fr}label{display:block;font-size:.84rem;font-weight:660;min-width:0}input,select,textarea{margin:.3rem 0 .8rem;width:100%;min-width:0;border:1px solid #b8c8be;background:#f8faf7;border-radius:7px;padding:.75rem;color:var(--ink);font:inherit}button{width:100%;border:0;border-radius:8px;padding:.9rem;background:var(--green);color:white;font:inherit;font-weight:700;cursor:pointer}button span{float:right}small{display:block;margin-top:.55rem;text-align:center}#result{margin-top:1rem}.content{padding:4.5rem 6vw}.services{grid-template-columns:repeat(4,1fr);margin-top:2rem}article{border-top:2px solid #8cb58a;padding:1.4rem .5rem 0 0}h3{line-height:1.22;margin:.85rem 0 .55rem}.fleet{grid-template-columns:1fr 1fr;align-items:center;gap:6vw;background:#e9efe5}.fleet img{width:100%;max-height:360px;object-fit:cover;border-radius:16px}.fleet a{display:inline-block;font-weight:650;text-decoration:none}footer{background:var(--ink);color:white;font-size:.85rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #db8526;outline-offset:3px}@media(max-width:800px){.hero,.fleet{grid-template-columns:1fr}.hero{background-position:center top;padding-block:3rem}.intro{padding-bottom:1rem}.services{grid-template-columns:1fr 1fr}nav>a:not(.pill){display:none}.content{padding-block:3rem}}@media(max-width:480px){.brand{font-size:1rem}.brand img{width:33px}nav .pill{padding:.55rem .8rem}.services{grid-template-columns:1fr}.fields{gap:0 .65rem}footer{align-items:flex-start;flex-direction:column}}

/* Option 4 homepage */
header{padding-block:1.15rem}
.brand .wordmark{display:grid;margin:0;font-size:.78rem;letter-spacing:0;line-height:1.12}
.wordmark strong{font-size:1.5rem;letter-spacing:.015em}
.pill,button{background:#22730f;color:white;border-radius:7px}
.hero{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:1.6fr 1fr;gap:4vw;align-items:start;padding-block:3.4rem 3rem;background:linear-gradient(173deg,#acd3f5 0%,#e6e6ef 34%,#fff0d0 63%,#b8c3b4 100%);color:#101b37}
.intro{max-width:none}.intro h1{font-size:clamp(2.8rem,4.4vw,5.6rem);line-height:1.04;letter-spacing:-.052em;margin:.55rem 0 1rem}
.intro h1 em{color:#247710;font:inherit}.intro p{max-width:400px}
.scene{display:block;width:calc(100% + 7vw);margin:1rem 0 -3rem -6vw;mask-image:linear-gradient(to bottom,transparent,#000 14%),linear-gradient(to left,transparent,#000 12%);mask-composite:intersect}
.card{align-self:center;background:#fffffff2;border:1px solid white;border-radius:17px;padding:1.55rem}.card h2{display:flex;align-items:center;gap:.6rem;font-size:1.65rem}.card h2 img{width:31px}.fields{row-gap:0}.contact a{color:var(--green);font-weight:700}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:1rem;padding-block:2rem}.scene{width:calc(100% + 12vw);margin-bottom:0}.intro{padding:0}.card{width:100%}}

.email-action{display:block;background:#22730f;color:white;text-decoration:none;text-align:center;font-weight:700;padding:.8rem;border-radius:7px;margin-bottom:.5rem}

/* Sticky navigation and accessible interaction states. */
:root{--header-height:90px}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
header{position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #102f3814}
nav{gap:clamp(.25rem,1.4vw,1.5rem)}
nav a{display:inline-block;padding:.6rem .7rem;border-radius:7px;white-space:nowrap;transition:background-color .15s,color .15s,box-shadow .15s}
nav a[aria-current="location"]{background:#e5f1df;color:#19570c;box-shadow:inset 0 -3px #22730f}
nav .pill[aria-current="location"]{background:#164d0a;color:white;box-shadow:inset 0 -3px var(--lime)}
@media(hover:hover){
  nav a:hover{background:#edf5e9;color:#19570c}
  nav a[aria-current="location"]:hover{background:#d5e8cd}
  nav .pill:hover{background:#19570c;color:white}
}
@media(max-width:1000px){
  header{flex-wrap:wrap}
  nav{width:100%;overflow-x:auto;gap:.3rem;padding:.25rem .2rem .4rem}
  nav>a:not(.pill){display:inline-block}
  nav a{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){nav a{transition:none}}

/* Profile content uses the existing Option 4 colours and card styling. */
.overview{max-width:78ch}
.purpose-grid,.values-grid,.three-grid{display:grid;gap:2rem;margin-top:2rem}
.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.values-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.three-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.subheading{font-size:1.6rem;letter-spacing:-.035em;margin-top:3rem}
h4{font-size:1.1rem;line-height:1.3;margin:0 0 .8rem}
.services-section{background:#f0f5ec}
.service-list{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.service-list li{display:flex;align-items:center;gap:1rem;background:white;padding:1.3rem;border:1px solid #d8e5d2;border-radius:12px}
.service-list h3{font-size:1.05rem;margin:0}
.service-number{color:#22730f;font-size:.8rem;font-weight:750}
.fleet-list{list-style:none;padding:0;margin:1.5rem 0}
.fleet-list li{padding:.7rem 0;border-bottom:1px solid #cbdcc3;font-weight:650}
.journey-card{width:100%;max-width:430px;justify-self:end}
.process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem;list-style:none;padding:0;margin:2rem 0 0}
.process li{border-top:3px solid #8cb58a;padding-top:1rem}
.step-label{display:inline-block;background:#e5f1df;color:#19570c;padding:.3rem .7rem;border-radius:20px;font-size:.8rem;font-weight:750;margin-bottom:1rem}
.process p{font-size:.95rem}
.why-section{background:#102f38;color:white}
.why-section .eyebrow{color:#cef681}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;align-items:start}
.contact-intro{min-width:0}
.contact-intro a{overflow-wrap:anywhere}
.contact .card{width:100%;align-self:start}
.contact .email-action{color:white}
footer{flex-wrap:wrap}
@media(max-width:1100px){
  header{flex-wrap:wrap}
  nav{width:100%;overflow-x:auto;gap:.3rem;padding:.25rem .2rem .4rem}
  nav a{flex-shrink:0}
  .values-grid,.three-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process{grid-template-columns:1fr;gap:0}
  .process li{border-top:0;border-left:3px solid #8cb58a;padding:0 0 1.5rem 1.4rem}
  .process li:last-child{padding-bottom:0}
}
@media(max-width:800px){
  .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact{grid-template-columns:1fr;gap:2rem}
  .journey-card{max-width:none}
}
@media(max-width:560px){
  .purpose-grid,.values-grid,.three-grid,.service-list{grid-template-columns:1fr}
  .purpose-grid,.values-grid,.three-grid{gap:1rem}
  .fields{grid-template-columns:1fr}
}

/* Coordinate-based quotation planner. Leaflet stays beneath the site header. */
#journey-map{height:320px;width:100%;border:1px solid #b8c8be;border-radius:10px;isolation:isolate;z-index:0;background:#e9efe5}
.route-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.8rem 0}
.secondary-action{width:auto;background:#eef5e9;color:#19570c;border:1px solid #b8c8be;padding:.55rem .8rem;font-size:.85rem}
button:disabled{opacity:.6;cursor:not-allowed}
.card .location-help,.map-credit{font-size:.8rem;line-height:1.5;text-align:left;margin:.6rem 0}
.card .distance-readout{font-weight:750;color:var(--green);margin:1rem 0 .3rem}
.route-actions a{font-size:.85rem}
.location-pin{background:#22730f;color:white;border:2px solid white;border-radius:50% 50% 50% 0;box-shadow:0 2px 6px #0005;text-align:center;font:bold 16px/26px system-ui}
.pin-destination{background:#102f38}
#journey-map .leaflet-control-attribution{font-size:10px;line-height:1.4}
#journey-map .leaflet-control-attribution a{font-weight:400}
#form-error{color:#a12b14}
@media(max-width:560px){#journey-map{height:280px}.contact .card{padding:1rem}}

.address-search{position:relative;min-width:0;margin-bottom:.7rem}
.address-search input{margin-bottom:0}
.address-suggestions{position:absolute;top:100%;left:0;right:0;margin:0;padding:.3rem;list-style:none;background:white;border:1px solid #b8c8be;border-radius:8px;box-shadow:0 8px 20px #102f3826;z-index:5;max-height:240px;overflow-y:auto;overscroll-behavior:contain}
.address-suggestions li{padding:.7rem .65rem;font-size:.85rem;line-height:1.4;cursor:pointer;border-radius:5px;overflow-wrap:anywhere}
.address-suggestions li:hover,.address-suggestions li[aria-selected="true"]{background:#e5f1df;color:#19570c}
.address-search .location-help{margin:.3rem 0}
#copy{margin-top:.8rem}
