/* enviarpaletaportugal.com — Home v2 */
:root{
  --ink:#121417;--paper:#f4f1ea;--white:#fff;
  --amber:#f0a22e;--amber-hi:#ffb84a;--amber-dk:#b8741a;
  --muted:#5e6169;--body:#33363d;--line:#d9d5cb;
  --d2:#1a1d22;--d-line:#2a2d33;--d-line2:#3a3e46;--d-btn:#4a4e57;--soft:#c9c6bd;--dim:#7d8088;
  --green:#1a7f4b;--red:#b3261e;
  --pt-green:#046a38;--pt-red:#da291c;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:Archivo,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--amber-dk)}
h1,h2,h3,h4,p{margin:0}
input,button,select,textarea{font-family:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.section{padding-top:72px;padding-bottom:72px}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-dk)}
.eyebrow--light{color:var(--amber)}
.label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.h2{font-size:clamp(30px,4vw,48px);font-weight:900;letter-spacing:-.04em;line-height:1}
.lead{max-width:44ch;color:var(--muted);font-size:15px;line-height:1.5;text-wrap:pretty}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.head .h2{margin-top:10px}
.stack{display:flex;flex-direction:column;gap:28px}
.stack-sm{display:flex;flex-direction:column;gap:18px}
.band{background:var(--white);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.dark{background:var(--ink);color:var(--paper)}
.link-u{align-self:flex-start;font-weight:700;border-bottom:2px solid var(--ink);padding-bottom:2px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:start}

/* Botones */
.btn{display:inline-block;padding:16px 24px;font-weight:800;font-size:16px;border-radius:4px;border:0;cursor:pointer;text-align:center;line-height:1.2}
.btn--sm{padding:12px 20px;font-size:14px}
.btn--amber{background:var(--amber);color:var(--ink)}
.btn--amber:hover{background:var(--amber-hi);color:var(--ink)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:var(--d-line);color:var(--paper)}
.btn--ghost-dark{border:1.5px solid var(--d-btn);color:var(--paper);font-weight:700}
.btn--ghost-dark:hover{border-color:var(--paper);color:var(--paper)}
.btn--outline{border:1.5px solid var(--ink);background:transparent;color:var(--ink)}
.btn--outline:hover{background:var(--white);color:var(--ink)}

/* Header */
.topbar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#a7a59d;border-bottom:1px solid var(--d-line)}
.topbar__info{display:flex;gap:22px;flex-wrap:wrap;padding:9px 0}
.topbar a{color:var(--amber);padding:9px 0}
.navbar{padding-top:18px;padding-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.logo{color:var(--paper);font-weight:900;font-size:22px;letter-spacing:-.04em;display:flex;align-items:center;gap:12px}
.logo:hover{color:var(--paper)}
.flag-pt{display:inline-flex;width:28px;height:20px;overflow:hidden;border-radius:3px}
.flag-pt::before{content:"";flex:2;background:var(--pt-green)}
.flag-pt::after{content:"";flex:3;background:var(--pt-red)}
.nav{display:flex;gap:26px;flex-wrap:wrap;font-size:14px;font-weight:600}
.nav a{color:var(--paper)}
.nav a:hover{color:var(--amber)}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero__grid{padding-top:64px;padding-bottom:140px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:end}
.hero__copy{display:flex;flex-direction:column;gap:28px;min-width:0}
.hero h1{font-size:clamp(44px,7vw,104px);line-height:.92;font-weight:900;letter-spacing:-.05em;text-wrap:balance}
.hero h1 span{color:var(--amber)}
.hero--city h1{font-size:clamp(40px,6vw,88px)}
.hero__lead{font-size:19px;line-height:1.45;color:var(--soft);max-width:46ch;text-wrap:pretty}
.actions{display:flex;gap:12px;flex-wrap:wrap}

.ticket{justify-self:end;width:100%;max-width:420px;border:1px solid var(--d-line2);border-radius:6px;background:var(--d2);font-family:var(--mono);font-size:12px;color:var(--soft);overflow:hidden}
.ticket__top{padding:12px 16px;border-bottom:1px dashed var(--d-line2);display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.08em}
.ticket__top span:last-child{color:var(--amber)}
.ticket__route{padding:18px 16px;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.ticket__route > div:last-child{text-align:right}
.ticket__k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.ticket__city{font-family:var(--sans);font-size:22px;font-weight:800;color:var(--paper);letter-spacing:-.02em;overflow-wrap:anywhere}
.ticket__arrow{color:var(--amber);font-size:22px}
.ticket__cells{padding:0 16px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ticket__cell{background:var(--ink);padding:10px;border-radius:4px}
.ticket__cell .ticket__k{font-size:10px}
.ticket__cell div:last-child{color:var(--paper)}
.ticket__cell .price{color:var(--amber);font-weight:600}

/* Cotizador */
.quote-wrap{padding:0 24px}
.quote{max-width:1240px;margin:-96px auto 0;background:var(--white);border:1px solid var(--ink);border-radius:6px;box-shadow:8px 8px 0 var(--ink);padding:22px;display:flex;flex-direction:column;gap:16px;scroll-margin-top:24px;position:relative}
.quote__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tabs{display:flex;gap:8px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.tab{padding:9px 14px;border-radius:3px;cursor:pointer;border:1px solid var(--ink);font:inherit;letter-spacing:inherit;text-transform:inherit;background:var(--white);color:var(--ink)}
.tab[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.quote__note{font-family:var(--mono);font-size:12px;color:var(--muted)}
.step{display:flex;flex-direction:column;gap:16px}
.js .step[hidden]{display:none}
.row{display:grid;gap:12px;align-items:end}
.row--route{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.row--cargo{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field > span:first-child{font-size:12px;font-weight:700;color:var(--muted)}
.input{height:54px;border:1.5px solid var(--ink);border-radius:4px;padding:0 14px;font-size:16px;font-weight:600;min-width:0;width:100%;background:var(--white);color:var(--ink)}
textarea.input{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
.input-group{display:flex;align-items:center;gap:10px;border:1.5px solid var(--ink);border-radius:4px;height:54px;padding:0 14px;background:var(--white)}
.input-group:focus-within{outline:2px solid var(--amber);outline-offset:2px}
.input-group input{border:0;outline:0;font-size:16px;font-weight:600;width:100%;min-width:0;background:transparent;color:var(--ink)}
.input-group .code{font-family:var(--mono);font-size:12px;font-weight:600}
.flag{display:inline-flex;flex:none;width:20px;height:14px;border-radius:2px;overflow:hidden}
.flag--pt{background:linear-gradient(90deg,var(--pt-green) 0 40%,var(--pt-red) 40%)}
.flag--es{background:linear-gradient(180deg,#c60b1e 0 25%,#ffc400 25% 75%,#c60b1e 75%)}
.swap{height:54px;width:54px;justify-self:center;border:1.5px solid var(--ink);border-radius:4px;background:var(--paper);font-size:20px;cursor:pointer;color:var(--ink)}
.swap:hover{background:var(--amber)}
.btn-step{height:54px;border:0;border-radius:4px;background:var(--ink);color:var(--paper);font-size:16px;font-weight:800;cursor:pointer;padding:0 22px}
.btn-step:hover{background:var(--amber);color:var(--ink)}
.btn-back{height:54px;border:1.5px solid var(--ink);border-radius:4px;background:var(--white);font-size:15px;font-weight:700;cursor:pointer;color:var(--ink)}
.btn-go{height:54px;border:0;border-radius:4px;background:var(--amber);color:var(--ink);font-size:16px;font-weight:800;cursor:pointer;padding:0 22px}
.btn-go:hover{background:var(--amber-hi)}
.checks{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--body);align-items:center}
.checks label{display:flex;gap:8px;align-items:center;cursor:pointer}
.checks input{width:16px;height:16px;accent-color:var(--ink)}
.checks .mono{font-size:12px;color:var(--muted)}
.pallets{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.pallet input{position:absolute;opacity:0;pointer-events:none}
.pallet span{display:block;text-align:left;padding:12px 14px;border-radius:4px;cursor:pointer;border:1.5px solid var(--ink);background:var(--white);color:var(--ink)}
.pallet b{font-size:14px;font-weight:800;display:block}
.pallet small{font-family:var(--mono);font-size:11px;opacity:.75}
.pallet input:checked + span{background:var(--ink);color:var(--paper)}
.pallet input:focus-visible + span{outline:2px solid var(--amber);outline-offset:2px}
.errors{border:1.5px solid var(--red);background:#fdf1f0;color:var(--red);border-radius:4px;padding:12px 14px;font-size:14px;font-weight:600}
.errors ul{margin:0;padding-left:18px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Marquee */
.marquee{overflow:hidden;border-bottom:1px solid var(--ink);margin-top:40px;padding:14px 0;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.marquee__track{display:inline-flex;gap:48px;animation:ep-marquee 40s linear infinite;padding-right:48px}
@keyframes ep-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}

/* Cómo funciona */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border:1px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--white)}
.steps > div{padding:28px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:0 -1px -1px 0}
.steps .mono{font-size:12px;color:var(--amber-dk)}
.steps h3{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-top:40px}
.steps p{margin-top:8px;color:var(--muted);line-height:1.5;font-size:15px}
.steps > div.is-dark{background:var(--ink);color:var(--paper)}
.steps > div.is-dark .mono{color:var(--amber)}
.steps > div.is-dark p{color:var(--soft)}

/* Tarifas */
.table-scroll{overflow-x:auto}
.tariffs{min-width:720px;display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr 1fr auto;border-top:1px solid var(--ink)}
.tariffs > div{padding:22px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;font-family:var(--mono);font-size:14px}
.tariffs > .th{padding:12px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--ink)}
.tariffs > .name{font-family:var(--sans);font-size:20px;font-weight:800;letter-spacing:-.02em;gap:10px;flex-wrap:wrap}
.tariffs > .price{font-family:var(--sans);font-size:28px;font-weight:900;letter-spacing:-.03em}
.badge{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--amber);padding:3px 7px;border-radius:3px}
.btn-calc{border:1.5px solid var(--ink);padding:10px 14px;border-radius:4px;font-family:var(--sans);font-weight:700;font-size:13px;white-space:nowrap}
.btn-calc:hover{background:var(--ink);color:var(--paper)}
.cards-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.box{border:1px solid var(--ink);border-radius:6px;padding:20px;background:var(--paper)}
.box--white{background:var(--white)}
.box--dark{background:var(--ink);color:var(--paper)}
.box--dark .label{color:var(--amber)}
.box__list{margin-top:10px;display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}
.box__list > span{display:flex;justify-content:space-between;gap:12px}
.box__list .mono{font-size:14px;text-align:right}

/* Servicios */
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.service{border:1px solid var(--ink);border-radius:6px;background:var(--white);padding:24px;display:flex;flex-direction:column;gap:14px;min-height:260px}
.service__meta{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.service h3{font-size:26px;font-weight:800;letter-spacing:-.03em}
.service p{color:var(--muted);font-size:15px;line-height:1.5;flex:1}
.service__foot{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:14px}
.service__foot > div:last-child{text-align:right}
.service__foot b{font-weight:700}
.service__price{font-weight:900;font-size:22px;letter-spacing:-.02em}

/* Plazos */
.plazos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}
.plazos__copy{display:flex;flex-direction:column;gap:22px}
.plazos__copy > p{color:var(--soft);font-size:16px;line-height:1.55;text-wrap:pretty}
.corridors{display:flex;flex-direction:column;border-top:1px solid var(--d-line2)}
.corridor{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--d-line2);font-size:15px;font-weight:700}
.corridor span:last-child{text-align:right;color:var(--soft)}
.corridor .pass{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber);border:1px solid var(--d-line2);padding:4px 8px;border-radius:3px;white-space:nowrap}
.notes{border-left:2px solid var(--amber);padding:4px 0 4px 16px;color:var(--soft);font-size:14px;line-height:1.55;display:flex;flex-direction:column;gap:6px}
.notes strong{color:var(--paper)}
.transit{display:flex;flex-direction:column;gap:12px}
.transit__row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;background:var(--d2);border:1px solid var(--d-line);border-radius:4px;padding:14px 16px}
.transit__row.is-current{border-color:var(--amber)}
.transit__head{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:0 4px}
.transit__city{font-weight:800;font-size:17px;letter-spacing:-.02em}
.transit__city small{font-family:var(--mono);font-size:11px;color:var(--dim);margin-left:10px;font-weight:500}
.transit__g,.transit__d{font-family:var(--mono);font-size:13px;min-width:72px;text-align:right}
.transit__g{color:var(--amber)}
.transit__d{color:var(--soft)}
.transit__head span:not(:first-child){min-width:72px;text-align:right}
.transit__foot{font-family:var(--mono);font-size:11px;color:var(--dim)}

/* Destinos */
.cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.cities a{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:18px 16px;display:flex;flex-direction:column;gap:4px;background:var(--white)}
.cities a:hover{background:var(--amber);color:var(--ink)}
.cities b{font-weight:800;font-size:18px;letter-spacing:-.02em}
.cities small{font-family:var(--mono);font-size:11px;color:var(--muted)}
.cities--compact a{padding:12px 14px}
.cities--compact b{font-size:15px}
.letter-nav{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:13px}
.letter-nav a{border:1px solid var(--ink);border-radius:3px;padding:4px 9px;background:var(--white)}
.letter-nav a:hover{background:var(--amber)}

/* Documentación */
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.docs .box{background:transparent;display:flex;flex-direction:column;gap:10px}
.docs .box--full{grid-column:1 / -1;background:var(--paper)}
.docs .item{display:flex;gap:10px;font-size:15px;font-weight:600}
.docs .item i{font-style:normal;color:var(--amber-dk)}
.docs .item i.ok{color:var(--green)}
.docs p{font-size:15px;font-weight:600;line-height:1.5}
.body-copy{color:var(--muted);font-size:16px;line-height:1.55;text-wrap:pretty}

/* Para quién */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--ink);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;background:var(--white)}
.cases{display:flex;flex-direction:column;gap:12px}
.case{border:1px solid var(--ink);border-radius:6px;background:var(--white);padding:22px;display:flex;flex-direction:column;gap:8px}
.case p{font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.01em}

/* Operadores */
.carriers{padding-top:28px;padding-bottom:28px;display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;justify-content:space-between}
.carriers__list{display:flex;flex-wrap:wrap;gap:10px}
.carrier{border:1px solid var(--line);border-radius:4px;padding:10px 16px;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--muted);background:var(--paper)}

/* FAQ */
.faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;align-items:start}
.faq__intro{display:flex;flex-direction:column;gap:18px;position:sticky;top:24px}
.faq__intro p{color:var(--muted);font-size:15px;line-height:1.5}
.faq__intro p a{font-weight:800;border-bottom:2px solid var(--ink)}
.faq__list{display:flex;flex-direction:column;border-top:1px solid var(--ink);grid-column:span 2;min-width:0}
@media (max-width:900px){.faq__list{grid-column:auto}.faq__intro{position:static}}
.faq details{border-bottom:1px solid var(--ink)}
.faq summary{list-style:none;padding:18px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;font-size:17px;font-weight:800;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:18px;color:var(--amber-dk)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 40px 20px 0;color:var(--body);font-size:15px;line-height:1.6;text-wrap:pretty}

/* CTA */
.cta-wrap{padding:0 24px 72px}
.cta{max-width:1240px;margin:0 auto;background:var(--amber);border:1px solid var(--ink);border-radius:6px;box-shadow:8px 8px 0 var(--ink);padding:48px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta h2{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.04em;line-height:.98}
.cta p{font-size:16px;font-weight:600}
.cta > div:first-child{display:flex;flex-direction:column;gap:10px;max-width:60ch}
@media (max-width:600px){.cta{padding:28px}}

/* Footer */
.footer{background:var(--ink);color:var(--soft)}
.footer__grid{padding-top:56px;padding-bottom:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px}
.footer__col{display:flex;flex-direction:column;gap:8px;font-size:14px}
.footer__col a{color:var(--paper)}
.footer__col a:hover{color:var(--amber)}
.footer__col .label{color:var(--dim);margin-bottom:6px}
.footer__brand{display:flex;flex-direction:column;gap:12px}
.footer__brand b{color:var(--paper);font-weight:900;font-size:20px;letter-spacing:-.04em}
.footer__brand p{font-size:14px;line-height:1.5}
.footer__brand .mono{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.footer__phone{color:var(--amber)!important;font-weight:800;font-size:18px}
.footer__bottom{padding-top:18px;padding-bottom:32px;border-top:1px solid var(--d-line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--dim)}
.footer__bottom div{display:flex;gap:18px;flex-wrap:wrap}
.footer__bottom a{color:var(--dim)}

/* Barra móvil */
.mobile-bar{display:none}
@media (max-width:719px){
  .mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);border-top:1px solid var(--ink)}
  .mobile-bar a{text-align:center;padding:16px;font-weight:800;font-size:15px;color:var(--ink)}
  .mobile-bar a:first-child{background:var(--paper)}
  .mobile-bar a:last-child{background:var(--amber)}
  body{padding-bottom:54px}
  .wrap,.quote-wrap,.cta-wrap{padding-left:16px;padding-right:16px}
  .quote{padding:16px}
  .ticket__cells{grid-template-columns:1fr 1fr}
  .ticket__cells > :last-child{grid-column:1 / -1}
}

/* Páginas internas */
.page-hero{padding-top:56px;padding-bottom:56px;display:flex;flex-direction:column;gap:18px}
.page-hero h1{font-size:clamp(36px,5.5vw,72px);line-height:.95;font-weight:900;letter-spacing:-.05em;text-wrap:balance}
.page-hero h1 span{color:var(--amber)}
.page-hero p{font-size:18px;line-height:1.5;color:var(--soft);max-width:60ch}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--dim)}
.crumbs a:hover{color:var(--amber)}
.prose{max-width:75ch;font-size:16px;line-height:1.65;color:var(--body)}
.prose h2{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:32px 0 8px;color:var(--ink)}
.prose p,.prose ul{margin:0 0 14px}
.prose a{border-bottom:1.5px solid var(--ink)}

/* Resultado presupuesto */
.result{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;align-items:start}
.summary{border:1px solid var(--ink);border-radius:6px;background:var(--white);overflow:hidden}
.summary__price{background:var(--ink);color:var(--paper);padding:24px;display:flex;flex-direction:column;gap:6px}
.summary__price .label{color:var(--amber)}
.summary__price strong{font-size:clamp(40px,6vw,64px);font-weight:900;letter-spacing:-.04em;line-height:1}
.summary__price small{color:var(--soft);font-size:14px;line-height:1.5}
.summary dl{margin:0;padding:8px 24px 16px;display:grid;grid-template-columns:auto 1fr;gap:0 16px}
.summary dt,.summary dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.summary dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;align-items:center}
.summary dd{font-weight:700;text-align:right}
.summary__notes{padding:0 24px 20px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px;line-height:1.5}
.form-card{border:1px solid var(--ink);border-radius:6px;background:var(--white);box-shadow:8px 8px 0 var(--ink);padding:24px;display:flex;flex-direction:column;gap:14px}
.form-card h2{font-size:28px;font-weight:900;letter-spacing:-.03em}
.form-card .row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.success{border:1px solid var(--ink);border-radius:6px;background:var(--amber);box-shadow:8px 8px 0 var(--ink);padding:28px;display:flex;flex-direction:column;gap:12px}
.success h2{font-size:32px;font-weight:900;letter-spacing:-.03em;line-height:1}
.success p{font-size:16px;font-weight:600;line-height:1.5}

/* Guías SEO */
.guide-hero{padding-top:48px;padding-bottom:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:center}
.guide-hero__copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.guide-hero h1{font-size:clamp(38px,5.4vw,72px);line-height:.95;font-weight:900;letter-spacing:-.05em;text-wrap:balance}
.guide-hero__img{margin:0;border:1px solid var(--d-line2);border-radius:6px;overflow:hidden;background:var(--paper)}
.guide-hero__img img{display:block;width:100%;height:auto}
.guide{display:flex;flex-direction:column;gap:48px;max-width:960px}
.guide > *{margin:0}
.g-sec{display:flex;flex-direction:column;gap:12px;max-width:72ch}
.g-sec h2,.g-split h2{font-size:clamp(26px,3.2vw,36px);font-weight:900;letter-spacing:-.035em;line-height:1.05}
.g-sec p,.g-split p,.g-sec li,.g-split li{font-size:17px;line-height:1.6;color:var(--body)}
.g-sec ul,.g-split ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.g-sec strong,.g-split strong{color:var(--ink)}
.g-sec a,.g-split a{border-bottom:1.5px solid var(--ink);font-weight:700}
.g-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;align-items:center}
.g-split > div{display:flex;flex-direction:column;gap:12px}
.g-split .guide-fig{order:0}
.guide-fig{margin:0;display:flex;flex-direction:column;gap:8px}
.guide-fig img{display:block;width:100%;height:auto;border:1px solid var(--ink);border-radius:6px;background:var(--white)}
.guide-fig figcaption{font-family:var(--mono);font-size:12px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--white)}
.facts > div{padding:20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.facts > div:last-child{border-right:0}
.facts b{font-size:32px;font-weight:900;letter-spacing:-.04em;line-height:1}
.facts span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.g-table{width:100%;border-collapse:collapse;font-size:15px;background:var(--white);border:1px solid var(--ink);border-radius:6px;overflow:hidden}
.g-table th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--ink);font-weight:500}
.g-table td{padding:14px;border-bottom:1px solid var(--line);font-weight:600}
.g-table td:first-child{font-weight:800}
.g-table tr:last-child td{border-bottom:0}
.g-table .num{font-family:var(--mono);white-space:nowrap}
.callout{border-left:3px solid var(--amber);background:var(--white);padding:16px 20px;font-size:16px;line-height:1.55;border-radius:0 6px 6px 0;max-width:72ch}
.callout strong{display:block;margin-bottom:4px}
.mini-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--amber);border:1px solid var(--ink);border-radius:6px;box-shadow:6px 6px 0 var(--ink);padding:20px 24px}
.mini-cta p{font-size:18px;font-weight:800;letter-spacing:-.01em;max-width:48ch}
.guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.guide-card{border:1px solid var(--ink);border-radius:6px;background:var(--white);overflow:hidden;display:flex;flex-direction:column;gap:6px;padding-bottom:16px}
.guide-card:hover{box-shadow:6px 6px 0 var(--ink);color:var(--ink)}
.guide-card img{display:block;width:100%;height:auto;border-bottom:1px solid var(--ink);margin-bottom:8px;background:var(--paper)}
.guide-card .label,.guide-card b,.guide-card small{padding:0 16px}
.guide-card b{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.guide-card small{color:var(--muted);font-size:14px;line-height:1.45}
.guide-cards--big{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* Servicio × ciudad */
a.service:hover{box-shadow:6px 6px 0 var(--ink);color:var(--ink)}
.all-cities summary{list-style:none;cursor:pointer;display:inline-block}
.all-cities summary::-webkit-details-marker{display:none}
.all-cities[open] summary{display:none}

/* Ficha geográfica de la ciudad (pages/city.blade.php) */
.place{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.place__copy p{margin:14px 0 0;max-width:62ch;color:var(--body);font-size:16px;line-height:1.6;text-wrap:pretty}
.place__copy .h2{margin-top:10px}
.place__copy .link-u{display:inline-block;margin-top:18px}
.place__facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--white)}
.place__facts > div{padding:16px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.place__facts > div:nth-child(2n){border-right:0}
.place__facts dt{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.place__facts dd{margin:6px 0 0;font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.place__source{margin:10px 0 0;font-size:12px;color:var(--muted)}
.place__source a{text-decoration:underline}
@media (max-width:900px){.place{grid-template-columns:1fr;gap:28px}}
