:root{--green:#779b19;--green-dark:#5f7c14;--ink:#1f1f1f;--paper:#fff;--line:#d8d8d8;--max:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Lato,Helvetica Neue,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.55}img{max-width:100%;display:block}a{color:var(--green-dark)}.wrap{width:min(var(--max), calc(100% - 2.4rem));margin-inline:auto}.site-header{z-index:30;color:#fff;background:#000;position:sticky;top:0}.site-header a{color:#fff;text-decoration:none}.topbar{justify-content:center;align-items:center;min-height:72px;padding:.45rem 0;display:flex}.brand{align-items:center;display:flex}.brand img{width:118px;height:auto}.hero{color:#fff;background:#1a1a1a url(/img/hero-karrantza.jpg) 50%/cover no-repeat;min-height:min(72vw,560px);position:relative}.hero-inner{min-height:inherit;align-items:flex-end;padding:3.5rem 0 3rem;display:flex}.hero h1{letter-spacing:.5px;text-transform:uppercase;margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(2.1rem,5.4vw,3.6rem);font-weight:400;line-height:1.12}.hero h1 span{border-bottom:2px solid #fff;width:fit-content;margin-bottom:.28rem;padding-bottom:.12rem;display:block}.band{background:var(--green);color:#fff;text-align:center;padding:1.35rem 0}.band p{margin:.25rem 0;font-weight:300}.band-title{color:#111;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:400}.facts{padding:1.6rem 0 .4rem}.fact{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;align-items:center;gap:1.1rem;padding:1rem 0;display:grid}.fact img{object-fit:contain;width:72px;height:72px}.fact p{margin:0}.reservas{padding:1.8rem 0 2.2rem}.reservas-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:2.2rem;display:flex}.reservas h2{letter-spacing:.4px;margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(2.2rem,5vw,3.3rem);font-weight:400}.contact-icons{gap:1.3rem;display:flex}.contact-icons a img{object-fit:contain;width:74px;height:74px}.routes-wrap{padding:1.6rem 0 .4rem}.route{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr 150px;align-items:center;gap:1.2rem;padding:1.15rem 0;display:grid}.route img{object-fit:cover;width:100%;height:150px}.route h3{color:var(--green);letter-spacing:.4px;text-transform:uppercase;margin:0 0 .55rem;font-size:1.25rem}.route ul{margin:0;padding-left:1.1rem}.route li{margin:.18rem 0}.route-actions{text-align:center;justify-items:center;gap:.45rem;display:grid}.route-type{color:#666;margin:0}.btn{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;border:0;justify-content:center;align-items:center;min-width:132px;min-height:2.4rem;padding:.45rem 1rem;font-family:Lato,sans-serif;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--green-dark);color:#fff}.btn-small{min-width:96px;min-height:2rem;font-size:.82rem}.btn-ghost{color:#fff;background:0 0;border:1px solid #fff}.info-band{background:var(--green);color:#111;text-align:center;letter-spacing:.6px;text-transform:uppercase;padding:1.15rem 1rem;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:700;text-decoration:none;display:block}.info-band span{border-bottom:2px solid #111}.info-band:hover{color:#000}.channels{text-align:center;padding:1.6rem 0 .4rem}.channels p{margin:0 0 1rem}.channel-icons{justify-content:center;gap:1.4rem;display:flex}.channel-icons img{object-fit:contain;width:78px;height:78px}.site-footer{text-align:center;padding:1.4rem 0 2rem}.site-footer h2{margin:0 0 .6rem;font-size:1.05rem}.site-footer p{max-width:46rem;margin:.45rem auto}.contact-line{margin-top:1rem;font-size:.95rem}.page{padding:3rem 0 4rem}.page h1{color:var(--green);font-weight:300}.banner{color:#fff;z-index:40;background:#111;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:none;position:fixed;bottom:1rem;left:1rem;right:1rem}.banner.show{display:flex}.banner .cta-row{gap:.6rem;display:flex}@media (width<=920px){.route{grid-template-columns:180px 1fr 130px}}@media (width<=760px){.hero{min-height:420px}.route{grid-template-columns:1fr}.route img{height:200px}.route-actions{justify-items:start}.banner{flex-direction:column;align-items:stretch}}
