@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap');

:root{--forest:#113d34;--deep:#092e29;--lime:#c9ec88;--sun:#f2b949;--cream:#f5f0e5;--ink:#18312c;--muted:#687872;--blue:#387d8c;--white:#fff;--line:rgba(17,61,52,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:20;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{height:84px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(245,240,229,.94);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(17,61,52,.08)}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--forest)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid currentColor;border-radius:50%}.brand svg{width:31px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand b{display:block;font-size:1.02rem;line-height:1.1}.brand small{font-size:.6rem;letter-spacing:.22em;font-weight:700}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.86rem;font-weight:600}.site-header nav a:not(.nav-cta):hover{color:#317969}.nav-cta{background:var(--forest);color:#fff;padding:.72rem 1.15rem;border-radius:99px}.nav-toggle{display:none;background:none;border:0;width:42px;height:42px}.nav-toggle span{display:block;height:2px;background:var(--forest);margin:7px}
.hero{min-height:calc(100svh - 84px);position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('/static/img/santo-road.webp') center 58%/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,39,34,.88) 0%,rgba(5,39,34,.57) 46%,rgba(5,39,34,.04) 80%),linear-gradient(0deg,rgba(5,39,34,.42),transparent 48%)}.hero-content{position:relative;z-index:1;width:min(760px,90%);margin-left:clamp(1.2rem,8vw,8rem);padding:5rem 0}.eyebrow{margin:0 0 1.1rem;font-size:.7rem;letter-spacing:.23em;font-weight:700;color:#2c7164}.eyebrow.light{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{font-size:clamp(3.4rem,8vw,7.4rem);line-height:.88;letter-spacing:-.055em;margin-bottom:1.6rem;font-weight:600}h1 em,h2 em{font-family:'Newsreader',serif;font-weight:500}h1{max-width:800px}.hero-copy{max-width:560px;font-size:clamp(1rem,2vw,1.23rem);color:rgba(255,255,255,.85);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:2.7rem;border:0;cursor:pointer;padding:1rem 1.3rem;border-radius:4px;font-weight:700}.button-sun{background:var(--sun);color:var(--deep)}.button span,.text-link span{transition:transform .2s}.button:hover span,.text-link:hover span{transform:translateX(4px)}.text-link{font-size:.87rem;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.3rem}.hero-note{position:absolute;bottom:2rem;right:clamp(1.2rem,5vw,5rem);z-index:1;display:flex;gap:1.2rem;font-size:.65rem;letter-spacing:.2em}
.intro{padding:clamp(5rem,10vw,10rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.intro h2,.section-heading h2,.quote h2{font-size:clamp(2.8rem,5vw,5rem);color:var(--forest)}.intro-copy{padding-top:2rem;max-width:560px;font-size:1.1rem;color:#53635e}.intro-copy p:first-child{font-size:1.35rem;color:var(--ink)}
.route-section{display:grid;grid-template-columns:2fr 1fr 1fr;min-height:620px}.route-card{position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding:2.4rem;color:white;overflow:hidden}.route-main{background:linear-gradient(0deg,rgba(4,43,37,.72),rgba(4,43,37,.02)),url('/static/img/santo-road.webp') center/cover}.route-small{background:var(--blue)}.route-earth{background:#a96d3f}.route-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.14),transparent 35%)}.route-card>*{position:relative}.route-no{align-self:flex-start;font-size:.72rem;border:1px solid rgba(255,255,255,.55);border-radius:50%;width:2.2rem;height:2.2rem;display:grid;place-items:center}.route-card h3{font-size:clamp(2rem,3.4vw,4rem);line-height:.95;margin-bottom:1rem}.route-card p:last-child{color:rgba(255,255,255,.8);max-width:26rem}.route-small{flex-direction:column;align-items:flex-start}.route-small h3{font-size:2rem}
.vehicles{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,7vw,7rem)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:6vw;margin-bottom:4rem}.section-heading .eyebrow{grid-column:1/-1}.section-heading p:last-child{align-self:end;color:var(--muted);max-width:430px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.vehicle-card{position:relative;padding:2rem;border:1px solid var(--line);background:rgba(255,255,255,.28);min-height:390px;display:flex;flex-direction:column}.vehicle-card.featured{background:var(--white);box-shadow:0 25px 50px rgba(20,50,42,.08);transform:translateY(-1rem)}.tag{position:absolute;right:1rem;top:1rem;background:var(--sun);font-size:.57rem;letter-spacing:.12em;font-weight:700;padding:.4rem .55rem}.vehicle-icon{display:block;font-size:6rem;line-height:1;color:#c7d8d1;margin:2rem 0}.vehicle-card h3{font-size:2rem;margin-bottom:.5rem}.vehicle-card p:not(.eyebrow){color:var(--muted)}.vehicle-card button{margin-top:auto;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:1rem 0 0;color:var(--forest);font-weight:700;cursor:pointer;display:flex;justify-content:space-between}
.how{background:var(--forest);color:#fff;padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.how-title h2{font-size:clamp(3rem,5vw,5.4rem)}.how ol{list-style:none;margin:0;padding:0}.how li{display:grid;grid-template-columns:3.4rem 1fr;gap:1rem;padding:1.8rem 0;border-top:1px solid rgba(255,255,255,.2)}.how li>span{width:2.2rem;height:2.2rem;border-radius:50%;background:var(--lime);color:var(--deep);display:grid;place-items:center;font-size:.8rem;font-weight:700}.how h3{margin:0 0 .4rem;font-size:1.25rem}.how li p{color:rgba(255,255,255,.65);margin:0}
.quote{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.quote-copy>p:not(.eyebrow){color:var(--muted);max-width:430px}.quote-detail{display:flex;gap:1rem;margin-top:2rem}.quote-detail>span{width:2.3rem;height:2.3rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.quote-detail b,.quote-detail small{display:block}.quote-detail small{color:var(--muted);max-width:320px;margin-top:.2rem}.quote form{background:#fff;padding:clamp(1.3rem,3vw,2.7rem);box-shadow:0 24px 60px rgba(21,55,47,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:block;font-size:.68rem;letter-spacing:.08em;font-weight:700;margin-bottom:1.2rem;color:#3d524c}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #b8c2bd;background:transparent;border-radius:0;padding:.7rem 0;color:var(--ink);outline:none;letter-spacing:0;font-weight:400;margin-top:.25rem}input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 1px var(--forest)}textarea{resize:vertical}.optional{float:right;color:#96a09c;font-size:.55rem}.button-dark{width:100%;background:var(--forest);color:#fff;margin-top:.6rem}.form-status{margin:1rem 0 0;text-align:center;font-size:.85rem;min-height:1.3rem}.form-status.success{color:#246c55}.form-status.error{color:#a3412f}
footer{background:var(--deep);color:#dce7e2;padding:3rem clamp(1.2rem,5vw,5rem);display:grid;grid-template-columns:1.2fr 1fr auto auto;align-items:center;gap:2rem;font-size:.8rem}footer .brand{color:#fff}footer>a:not(.brand){color:var(--lime);border-bottom:1px solid currentColor}footer>small{color:#93aaa3}
@media(max-width:900px){.site-header nav{position:fixed;inset:84px 0 auto;background:var(--cream);padding:2rem;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.nav-toggle{display:block}.hero-shade{background:linear-gradient(90deg,rgba(5,39,34,.86),rgba(5,39,34,.3)),linear-gradient(0deg,rgba(5,39,34,.55),transparent)}.route-section{grid-template-columns:1fr 1fr}.route-main{grid-column:1/-1;min-height:500px}.vehicle-grid{grid-template-columns:1fr}.vehicle-card.featured{transform:none}.section-heading{display:block}.how,.quote{grid-template-columns:1fr}.route-card{min-height:350px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{height:72px}.site-header nav{top:72px}.brand small{letter-spacing:.15em}.hero{min-height:calc(100svh - 72px)}.hero-content{margin-left:1.2rem;padding:3rem 0}.hero-actions{align-items:flex-start;flex-direction:column}.hero-note{display:none}.intro{grid-template-columns:1fr}.route-section{grid-template-columns:1fr}.route-main{grid-column:auto}.route-card{min-height:390px}.form-row{grid-template-columns:1fr}.quote form{padding:1.4rem}.how{gap:3rem}footer{grid-template-columns:1fr;gap:1rem}h1{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Booking-focused rebuild */
.quick-search{position:relative;z-index:3;width:min(1180px,calc(100% - 2.4rem));margin:-2.1rem auto 0;background:#fff;padding:1.25rem;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr auto;gap:1rem;box-shadow:0 25px 60px rgba(17,61,52,.16)}
.quick-search label{margin:0;padding:0 .8rem;border-right:1px solid var(--line)}
.quick-search input,.quick-search select{padding:.45rem 0 .1rem;border:0}
.quick-search .button{align-self:stretch;margin:0;min-width:130px}
.vehicle-class{font-size:.6rem;letter-spacing:.18em;font-weight:700;color:#81938d}
.car-shape{height:105px;margin:1rem -2rem 1.5rem;background:linear-gradient(110deg,#e1ebe6,#f8faf7);color:#a2b8b0;font-size:7rem;line-height:.65;padding-left:2rem;overflow:hidden}
.vehicle-card h3{font-size:1.75rem;margin-bottom:.35rem}
.vehicle-card .price{font-size:.87rem;color:var(--muted);margin-bottom:.7rem}
.vehicle-card .price b{font-size:1.05rem;color:var(--forest)}
.vehicle-card ul{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.4rem}
.vehicle-card li{background:#edf3ef;border-radius:99px;padding:.28rem .55rem;font-size:.65rem}
.rate-note{font-size:.72rem;color:var(--muted);max-width:850px;margin:2rem auto 0;text-align:center}
.why{display:grid;grid-template-columns:1fr 1.1fr;background:var(--deep);color:#fff}
.why-story{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,7vw,7rem)}
.why h2{font-size:clamp(3rem,5vw,5rem)}
.why-story>p:not(.eyebrow){color:rgba(255,255,255,.7);max-width:520px;margin-bottom:2rem}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;background:#17483e}
.benefit-grid article{padding:clamp(2rem,4vw,4rem);border:1px solid rgba(255,255,255,.1)}
.benefit-grid span{color:var(--lime);font-size:.65rem}
.benefit-grid h3{font-size:1.35rem;margin:2.8rem 0 .7rem}
.benefit-grid p{color:rgba(255,255,255,.65);font-size:.86rem}
.services{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#ebe4d5}
.services h2{font-size:clamp(3rem,5vw,5rem);color:var(--forest)}
.service-list article{display:grid;grid-template-columns:3rem 1fr;gap:1.4rem;padding:1.7rem 0;border-top:1px solid var(--line)}
.service-list article>span{font-size:1.6rem;color:#a66a3d}
.service-list h3{margin:0 0 .4rem}
.service-list p{margin:0;color:var(--muted)}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.faq{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#fff}
.faq h2{font-size:clamp(3rem,5vw,5rem);color:var(--forest)}
details{border-top:1px solid var(--line);padding:1.3rem 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font-weight:700;display:flex;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary span{font-size:1.3rem;color:#578277}
details p{color:var(--muted);padding:1rem 3rem 0 0;margin:0}
footer p a:hover{color:var(--lime)}

@media(max-width:1050px){
  .quick-search{grid-template-columns:1fr 1fr}
  .quick-search .button{grid-column:1/-1}
  .quick-search label{border-right:0}
  .vehicle-grid{grid-template-columns:1fr 1fr}
  .vehicle-card.featured{transform:none}
}
@media(max-width:900px){
  .why,.services,.faq{grid-template-columns:1fr}
  .benefit-grid{min-height:520px}
}
@media(max-width:600px){
  .quick-search{grid-template-columns:1fr;margin-top:0;width:100%;box-shadow:none}
  .quick-search .button{grid-column:auto}
  .vehicle-grid{grid-template-columns:1fr}
  .benefit-grid{grid-template-columns:1fr}
  .benefit-grid article{padding:2rem}
  .benefit-grid h3{margin-top:1.5rem}
}
