/* Radio Taxi Istmo · mismo diseño que la página anterior + sección de Tarifas */
*,:before,:after{box-sizing:border-box;margin:0;padding:0;border:0 solid}
html{-webkit-text-size-adjust:100%;line-height:1.5;scroll-behavior:smooth}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit;background:transparent;border-radius:0}
button{cursor:pointer}
[hidden]{display:none!important}

:root{--black:#121212;--ink:#1c211f;--green:#006c65;--green2:#007d74;--lime:#49dfca;--cream:#fff;--paper:#fff;--muted:#68716c;--line:#12121221}
body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}
.shell{padding-left:max(5vw,24px);padding-right:max(5vw,24px)}
a{color:inherit;text-decoration:none}
.siteHeader{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;height:94px;display:flex;position:sticky;top:0}
.brand{align-items:center;gap:12px;display:flex}
.brandMark{background:var(--green);color:#fff;border-radius:50% 50% 50% 10px;place-items:center;width:48px;height:48px;font:700 19px Georgia,serif;display:grid}
.brand>span:last-child{line-height:1;display:grid}
.brand strong{letter-spacing:.16em;font-size:12px}
.brand b{color:var(--green);letter-spacing:.02em;font:700 24px Georgia,serif}
.brand small{letter-spacing:.18em;margin-top:4px;font-size:12px}
.siteHeader nav{gap:28px;font-size:14px;font-weight:700;display:flex}
.navCta{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.08em;padding:14px 20px;font-size:14px;font-weight:800;border:0}
.hero{grid-template-columns:1fr 1fr;gap:4%;align-items:center;min-height:650px;display:grid;overflow:hidden}
.heroCopy{padding:75px 0 75px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--green2);font-size:14px;font-weight:800}
h1,h2{letter-spacing:-.045em;color:var(--black);margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:400}
h1{margin:25px 0;font-size:clamp(54px,6vw,90px);line-height:.92}
h1 em,h2 em{color:var(--green2);font-weight:400}
.availability{color:var(--green);font-size:21px;font-weight:700}
.availability span{color:#00a998;padding:0 6px}
.lead{color:var(--muted);max-width:650px;font:18px/1.65 Georgia,serif}
.heroActions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}
.button{text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:0;justify-content:center;align-items:center;padding:16px 24px;font-size:14px;font-weight:800;display:inline-flex}
.primary{background:var(--lime);color:var(--black)}
.secondary{border:1px solid var(--black)}
.trust{color:var(--muted);flex-wrap:wrap;gap:22px;margin-top:40px;font-size:14px;display:flex}
.taxiPhoto{background:#e1faf5;border-radius:16px;min-width:0;margin:40px 0;position:relative;overflow:hidden}
.taxiPhoto img{object-fit:contain;object-position:center;width:100%;height:auto;display:block}
.taxiPhoto figcaption{background:var(--green);color:#fff;gap:6px;padding:25px 30px;display:grid}
.taxiPhoto figcaption span{letter-spacing:.13em;font-size:12px}
.taxiPhoto figcaption strong{font-size:28px}
.taxiPhoto figcaption small{font-size:14px}
.quickStrip{background:var(--black);color:#fff}
.quickStrip>div{grid-template-columns:repeat(4,1fr);align-items:center;min-height:86px;display:grid}
.quickStrip span{text-align:center;letter-spacing:.08em;font:700 14px Arial}
.section{padding-top:85px;padding-bottom:85px}
.sectionIntro{grid-template-columns:.7fr 1.3fr 1fr;align-items:start;gap:55px;display:grid}
.sectionIntro h2,.request h2{font-size:clamp(45px,4.8vw,74px);line-height:1.02}
.sectionIntro>p:last-child{color:var(--muted);font-size:16px;line-height:1.7}
.cards{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:70px;display:grid}
.cards article{padding:34px 30px 30px 0}
.cards article+article{border-left:1px solid var(--line);padding-left:30px}
.cards article>span{color:var(--green2);font-family:Georgia,serif}
.cards h3{margin:42px 0 12px;font:400 25px Georgia,serif}
.cards p{color:var(--muted);font-size:16px;line-height:1.7}

/* ── Tarifas ── */
.tarifas{background:#e9f6f3;padding-top:85px;padding-bottom:95px}
.cotizador{background:#fff;border-radius:16px;margin-top:50px;padding:30px;box-shadow:0 10px 40px #006c6514;display:grid;grid-template-columns:1.1fr .9fr;gap:30px}
.pestanasT{grid-column:1/-1;display:flex;gap:8px;border-bottom:1px solid var(--line)}
.pestanasT button{padding:12px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.pestanasT button.activa{color:var(--green);border-bottom-color:var(--green)}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.formGrid label{flex-direction:column;gap:7px;font-size:14px;font-weight:700;display:flex}
.formGrid input,.formGrid select{color:var(--ink);background:#fff;border:1px solid #cdd2cf;border-radius:8px;padding:13px 14px;font:15px Arial;width:100%}
.resultado{background:#f3faf8;border:1px solid #cfe7e1;border-radius:12px;padding:24px;align-self:start}
.resultado .vacio{color:var(--muted)}
.resultado .total{font:400 46px/1 Georgia,serif;color:var(--black);margin:10px 0 6px}
.resultado .ruta{font-weight:700;color:var(--green)}
.resultado .desglose{color:var(--muted);font-size:14px;line-height:1.7;margin:10px 0}
.resultado .nota{background:#fff6dc;border:1px solid #f0d98c;border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0}
.resultado .button{width:100%;margin-top:6px}
.tarifaInfo{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tarifaInfo span{border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:13px;background:#fff}

.request{background:var(--green);color:#fff;grid-template-columns:.8fr 1.2fr;align-items:start;gap:8%;padding-top:110px;padding-bottom:110px;display:grid}
.request h2{color:#fff}
.request h2 em{color:var(--lime)}
.request .eyebrow{color:#8af3df}
.request>div>p:last-child{color:#d6e7e2;font:16px/1.7 Georgia,serif}
.request form{background:var(--paper);color:var(--ink);border-radius:16px;grid-template-columns:1fr 1fr;gap:16px;padding:30px;display:grid}
.request label{flex-direction:column;gap:7px;font-size:14px;font-weight:700;display:flex}
.request input,.request textarea,.request select{color:var(--ink);background:#fff;border:1px solid #cdd2cf;border-radius:8px;padding:13px 14px;font:15px Arial}
.request textarea{resize:vertical;min-height:85px}
.full{grid-column:1/-1}
.request form>button{justify-self:start}
.success{background:#edf7d0;border:1px solid #cfdf81;border-radius:8px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:9px;padding:14px;font-size:14px;display:flex}
.success button{color:var(--green);margin-left:auto;font-weight:800;text-decoration:underline}

.contact{text-align:center;background:var(--black);color:#fff;padding-top:105px;padding-bottom:110px}
.contact h2{color:#fff;font-size:clamp(48px,5vw,76px)}
.contact .eyebrow{color:#49dfca}
.contact>p:not(.eyebrow){color:#c9cfcc;font:16px/1.7 Georgia,serif}
.light{background:var(--lime);color:var(--black)}
.outline{color:#fff;border:1px solid #fff}
.contactLines{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;display:grid}
.contactLines article{border:1px solid #4a5e59;border-radius:12px;padding:25px 16px}
.contactLines h3{margin:12px 0 25px;font-size:22px}
.contactLines>article>span{color:#49dfca;font-size:14px}
.contactLines .button{margin:4px;padding:14px}
footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;min-height:135px;display:flex}
footer p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:14px}

.lineDialog{width:min(620px,100% - 28px);max-height:90dvh;color:var(--ink);border:0;border-radius:20px;padding:28px;box-shadow:0 20px 80px #001e2066;margin:auto}
.lineDialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#002d2acc}
.dialogHeader{justify-content:space-between;align-items:center;display:flex}
.closeDialog{background:#e1faf5;border:0;border-radius:50%;width:44px;height:44px;font-size:28px}
.lineDialog h2{font-size:42px}
.lineDialog p{line-height:1.6}
.dialogLines article{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:20px 0;display:flex}
.dialogLines article>div{gap:6px;margin-right:auto;display:grid}
.dialogLines small{color:var(--green);font-size:14px}
.dialogLines strong{font-size:19px}
.callLink{padding:12px;text-decoration:underline}
.dialogNote{color:var(--muted);font-size:14px}

:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:4px;outline:3px solid #007d74}
section[id]{scroll-margin-top:105px}

@media (max-width:900px){
  .siteHeader nav{display:none}
  .hero{grid-template-columns:1fr}
  .heroCopy{padding-bottom:0}
  .taxiPhoto{margin-top:0}
  .sectionIntro{grid-template-columns:1fr;gap:22px}
  .cards{grid-template-columns:1fr 1fr}
  .request{grid-template-columns:1fr;gap:50px}
  .quickStrip>div{grid-template-columns:1fr 1fr;gap:16px;padding-top:20px;padding-bottom:20px}
  .contactLines{grid-template-columns:1fr}
  .cotizador{grid-template-columns:1fr}
}
@media (max-width:560px){
  .siteHeader{height:82px;padding-left:18px;padding-right:18px}
  .navCta{padding:12px;font-size:12px}
  .brandMark{width:38px;height:38px}
  .brand{gap:7px}
  .brand small{font-size:10px}
  .hero{min-height:auto}
  .heroCopy{padding-top:40px}
  .heroActions{flex-direction:column;align-items:stretch}
  .trust{flex-direction:column;gap:9px;margin:24px 0}
  .cards{grid-template-columns:1fr}
  .cards article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .request form,.formGrid{grid-template-columns:1fr;padding:20px}
  .formGrid{padding:0}
  .cotizador{padding:20px}
  .full,.success{grid-column:auto}
  .request,.contact,.tarifas{padding-top:65px;padding-bottom:65px}
  .sectionIntro h2,.request h2{font-size:44px}
  .lineDialog{padding:20px}
  .dialogLines article>div{width:100%}
  footer{text-align:center;justify-content:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
