
.pg-head{padding:calc(var(--s-16) + 30px) 0 var(--s-12);position:relative;overflow:hidden}
.pg-head:before{
  content:'';position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(760px 380px at 78% 6%, color-mix(in srgb, var(--hivis) 9%, transparent), transparent 62%),
    repeating-linear-gradient(112deg, transparent 0 40px, rgba(255,255,255,.015) 40px 80px);
}
.pg-head > *{position:relative;z-index:1}
.pg-head h1{font-size:clamp(40px,6.6vw,86px);max-width:16ch;margin:var(--s-4) 0 0}
.pg-head .lead{font-size:var(--t-md);max-width:52ch;margin-top:var(--s-6)}

.pg-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:var(--t-xs);color:var(--bone-dim)}
.pg-crumbs a{color:var(--bone-dim);text-decoration:none;
  display:inline-flex;align-items:center;min-height:44px}
.pg-crumbs a:hover{color:var(--hivis)}
.pg-crumbs span{opacity:.5}

.pg-answer{
  background:var(--slate);border:1.5px solid var(--hivis);border-radius:var(--r-xl);
  box-shadow:var(--sh-hard-lime);padding:var(--s-10) var(--s-8);
  margin-top:var(--s-10);max-width:62ch;
}
.pg-answer .lab{
  font-family:var(--font-display);font-weight:900;font-stretch:78%;
  text-transform:uppercase;letter-spacing:.09em;font-size:var(--t-xs);
  color:var(--hivis);display:block;margin-bottom:var(--s-3);
}
.pg-answer .big{
  font-family:var(--font-display);font-weight:900;font-stretch:72%;
  font-size:clamp(44px,8vw,86px);line-height:.9;color:var(--hivis);
  display:block;margin-bottom:var(--s-4);
}
.pg-answer p{font-size:var(--t-md);line-height:1.55;margin:0;color:var(--bone)}
.pg-answer p + p{margin-top:var(--s-4)}

.pg-sec{padding:var(--s-sec) 0}
.pg-sec + .pg-sec{padding-top:0}
.pg-sec h2{font-size:var(--t-h2-sm);max-width:20ch}
.pg-sec h3{
  font-family:var(--font-display);font-weight:900;font-stretch:78%;
  text-transform:uppercase;font-size:var(--t-lg);margin:var(--s-10) 0 var(--s-3);
}
.pg-sec p{color:var(--bone-dim);font-size:var(--t-base);line-height:1.75;max-width:68ch}
.pg-sec p + p{margin-top:var(--s-4)}
.pg-sec strong{color:var(--bone);font-weight:600}

.pg-table-wrap{overflow-x:auto;margin-top:var(--s-6);
  border:1.5px solid var(--slate-2);border-radius:var(--r-lg)}
.pg-table{width:100%;border-collapse:collapse;font-size:var(--t-sm);min-width:460px}
.pg-table th,.pg-table td{padding:14px 18px;text-align:left;
  border-bottom:1px solid var(--slate-2)}
.pg-table th{
  font-family:var(--font-display);font-weight:900;font-stretch:80%;
  text-transform:uppercase;font-size:var(--t-xs);letter-spacing:.06em;
  color:var(--bone);background:var(--graphite-2);
}
.pg-table td{color:var(--bone-dim)}
.pg-table td b{color:var(--bone);font-weight:600}
.pg-table tr:last-child td{border-bottom:none}

.pg-list{list-style:none;padding:0;margin:var(--s-6) 0 0;display:grid;gap:var(--s-4)}
.pg-list li{display:flex;gap:12px;align-items:flex-start;
  color:var(--bone-dim);font-size:var(--t-base);line-height:1.65;max-width:64ch}
.pg-list svg{width:19px;height:19px;flex:none;margin-top:3px;color:var(--hivis)}
.pg-list.no svg{color:var(--bone-dim)}

.pg-callout{
  background:var(--slate);border:1.5px solid var(--slate-2);
  border-left:4px solid var(--hivis);border-radius:var(--r-lg);
  padding:var(--s-8);margin-top:var(--s-8);max-width:66ch;
}
.pg-callout b{display:block;color:var(--bone);margin-bottom:var(--s-2);
  font-family:var(--font-display);font-weight:900;font-stretch:78%;
  text-transform:uppercase;font-size:var(--t-base)}
.pg-callout p{margin:0;font-size:var(--t-sm);max-width:none}

.pg-scope{
  display:grid;gap:var(--s-6);margin-top:var(--s-8);
}
@media(min-width:820px){.pg-scope{grid-template-columns:1fr 1fr}}
.pg-scope-col{
  background:var(--slate);border:1.5px solid var(--slate-2);
  border-radius:var(--r-xl);padding:var(--s-10) var(--s-8);box-shadow:var(--sh-hard);
}
.pg-scope-col.yes{border-color:var(--hivis)}
.pg-scope-col h3{margin:0 0 var(--s-4);font-size:var(--t-lg)}
.pg-scope-col.yes h3{color:var(--hivis)}
.pg-scope-col ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3)}
.pg-scope-col li{display:flex;gap:11px;align-items:flex-start;
  color:var(--bone-dim);font-size:var(--t-sm);line-height:1.6}
.pg-scope-col svg{width:18px;height:18px;flex:none;margin-top:2px}
.pg-scope-col.yes svg{color:var(--hivis)}
.pg-scope-col.no svg{color:var(--bone-dim)}

.pg-faq{margin-top:var(--s-8)}
.pg-faq details{
  background:var(--slate);border:1.5px solid var(--slate-2);
  border-radius:var(--r-lg);margin-bottom:var(--s-3);box-shadow:var(--sh-hard);
}
.pg-faq summary{
  cursor:pointer;font-weight:600;font-size:var(--t-base);list-style:none;
  display:flex;justify-content:space-between;gap:var(--s-4);align-items:center;
  padding:var(--s-6) var(--s-8);min-height:56px;border-radius:var(--r-lg);
}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary:after{content:'+';color:var(--hivis);font-size:26px;line-height:1;flex:none}
.pg-faq details[open] summary{padding-bottom:var(--s-3)}
.pg-faq details[open] summary:after{content:'\2212'}
.pg-faq .faq-a{color:var(--bone-dim);font-size:var(--t-sm);line-height:1.75;
  margin:0;padding:0 var(--s-8) var(--s-6)}

.pg-cta{
  background:var(--hivis);color:var(--graphite);text-align:center;
  padding:var(--s-sec) 0;
}
.pg-cta h2{color:var(--graphite);font-size:var(--t-h2-sm);margin:0 auto;max-width:18ch}
.pg-cta p{color:#3c4a00;max-width:46ch;margin:var(--s-5) auto 0;font-size:var(--t-md)}
.pg-cta .btn{margin-top:var(--s-8)}
.pg-cta .fine{
  display:block;margin-top:var(--s-5);font-size:var(--t-sm);
  color:#3c4a00;font-weight:600;
}

.pg-more{display:grid;gap:var(--s-4);margin-top:var(--s-8)}
@media(min-width:760px){.pg-more{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
.pg-more a{
  display:block;text-decoration:none;color:inherit;
  background:var(--slate);border:1.5px solid var(--slate-2);
  border-radius:var(--r-lg);padding:var(--s-8);box-shadow:var(--sh-hard);
  transition:border-color .18s var(--ease);
}
.pg-more a:hover{border-color:var(--hivis)}
.pg-more b{display:block;font-family:var(--font-display);font-weight:900;
  font-stretch:78%;text-transform:uppercase;font-size:var(--t-base);
  margin-bottom:6px;color:var(--bone)}
.pg-more span{color:var(--bone-dim);font-size:var(--t-sm);line-height:1.6}

@media(max-width:560px){
  .pg-head{padding-top:calc(var(--s-12) + 24px)}
  .pg-answer{padding:var(--s-8) var(--s-6)}
  .pg-scope-col{padding:var(--s-8) var(--s-6)}
  .pg-cta .btn{width:100%}
}

.pg-cta p, .pg-cta .fine { color: color-mix(in srgb, var(--graphite) 78%, var(--hivis)); }

@media (max-width: 759px) {
  .pg-callout p, .pg-faq .faq-a, .pg-scope-col li, .pg-table td, .pg-more span { font-size: 16px; line-height: 1.6; }

  .pg-head h1, .pg-sec h2 { max-width: none; }

  .pg-table { min-width: 0; }
  .pg-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pg-table, .pg-table tbody, .pg-table tr, .pg-table td { display: block; }
  .pg-table tr { border-bottom: 1px solid var(--slate-2); padding: var(--s-4) 0; }
  .pg-table tr:last-child { border-bottom: none; }
  .pg-table td { border-bottom: none; padding: 6px 18px; }
  .pg-table td::before {
    content: attr(data-th);
    display: block;
    font-family: var(--font-display); font-weight: 900; font-stretch: 80%;
    text-transform: uppercase; letter-spacing: .06em; font-size: var(--t-xs);
    color: var(--bone); margin-bottom: 2px;
  }
}
.pg-cards { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pg-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pg-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-card { display: block; border-radius: 16px; overflow: hidden; background: var(--slate); color: var(--bone); text-decoration: none; }
.pg-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.pg-card-txt { display: grid; gap: 4px; padding: 16px; }
.pg-card-txt b { font-size: 20px; }
.pg-card-txt > span { color: var(--bone-dim); }
.pg-card-desde { color: var(--hivis) !important; font-weight: 700; margin-top: 4px; }
.pg-cards-btn { margin-top: 24px; }
.pg-form { display: grid; gap: 14px; margin-top: 20px; }
.pg-form label { display: grid; gap: 6px; font-size: 15px; color: var(--bone-dim); }
.pg-form input, .pg-form select, .pg-form textarea { font: inherit; font-size: 16px; color: var(--bone); background: var(--graphite, #16181A); border: 1px solid var(--slate-2); border-radius: 12px; padding: 12px 14px; min-height: 48px; }
.pg-form input[type=file] { padding: 10px; }
.pg-form .btn { justify-self: start; }
.pg-form-nota { margin: -6px 0 0; font-size: 14px; color: var(--bone-dim); }
.pg-form-error { color: #ff8a8a; font-weight: 600; margin: 0; }
.pg-form-error:empty { display: none; }
.pg-form-hecho { font-size: 18px; color: var(--bone); margin-top: 20px; }
.pg-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pf-precio { display: grid; gap: 4px; margin: 10px 0 6px; }
.pf-precio b { font-family: var(--font-display); font-size: 44px; color: var(--hivis); line-height: 1; }
.pf-precio span { color: var(--bone-dim); font-size: 14px; }
.pg-form-lab { margin: 6px 0 -6px; color: var(--bone); font-weight: 700; }
.pf-coche { display: grid; grid-template-columns: 1fr 1fr 84px; gap: 8px; }
.pf-extra { display: flex !important; grid-template-columns: none; align-items: center; gap: 10px; color: var(--bone) !important; min-height: 44px; }
.pf-extra input { min-height: 0; width: 22px; height: 22px; }
.pf-dias, .pf-horas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pf-op { min-height: 48px; border-radius: 12px; border: 1px solid var(--slate-2); background: var(--slate); color: var(--bone); font: inherit; font-size: 14px; white-space: nowrap; }
.pf-op.sel { background: var(--hivis); color: #111; border-color: var(--hivis); }
.pg-howto { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 22px; }
.pg-howto li { display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: start; }
@media (min-width: 640px) { .pg-howto li { grid-template-columns: 220px 1fr; } }
.pg-howto figure { margin: 0; }
.pg-howto img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px; }
.pg-howto h3 { margin: 0 0 6px; font-size: 20px; }
.pg-howto p { margin: 0 0 6px; }
.pg-howto-prod { color: var(--bone-dim); font-size: 14px; }
