/* Scope-only additions to the approved GEO page components. */
.geo-service .preview-row-number{font:800 italic 48px/1.15 var(--head);display:inline-block;padding-block:5px;background:var(--grad);background-clip:text;-webkit-background-clip:text;color:transparent}
.geo-service .preview-purchase-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ink);margin-top:36px}
.geo-service .preview-purchase-options article{min-width:0;padding:28px;display:flex;flex-direction:column;gap:16px}
.geo-service .preview-purchase-options article+article{border-left:1px solid var(--ink)}
.geo-service .preview-purchase-options h3{font:800 italic 32px/1.12 var(--head);text-transform:uppercase}
.geo-service .preview-purchase-options .preview-price{font-size:26px;font-weight:700;line-height:1.3}
.geo-service .preview-purchase-options .btn{margin-top:auto}
.geo-service .preview-contact form{width:100%;max-width:760px!important;gap:22px!important}
.geo-service .preview-contact .op-heading{margin-bottom:28px}
.geo-service .preview-contact .op-heading .h{font-size:44px;line-height:1.08}
.geo-service .preview-contact label{display:grid;gap:8px;font-weight:600}
.geo-service .preview-contact [hidden]{display:none!important}
.geo-service .preview-contact input:not([type=checkbox]),.geo-service .preview-contact select{min-height:54px;width:100%;padding:12px 14px;background:var(--paper);border:1px solid var(--ink);border-radius:0;font:400 17px/1.4 var(--body);color:var(--ink)}
.geo-service .preview-contact input[type=checkbox]{min-width:22px;width:22px;height:22px;margin-top:2px;accent-color:var(--ink)}
.geo-service .preview-contact button{min-height:54px;padding:16px 24px;border:2px solid var(--ink);border-radius:0;background:var(--grad);color:var(--ink);font:700 18px/1.2 var(--head);text-transform:uppercase;letter-spacing:.06em}
.geo-service .preview-contact button:disabled{opacity:.6}
.geo-service #contact-status{max-width:760px;margin-block:20px;line-height:1.6}
.geo-service #optional-booking:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:16px 24px;border:2px solid var(--ink);text-decoration:none;font:700 18px/1.2 var(--head);text-transform:uppercase;background:var(--grad)}
.geo-service #optional-booking[hidden]{display:none!important}
.geo-service .geo-matrix tbody td>strong{overflow-wrap:normal}
.geo-service .geo-report .op-lead{color:#f5f0ed;margin-block:22px}
.geo-service .geo-report .h{font-size:58px;line-height:1.05;overflow:visible;padding-block:.05em}
.geo-service .op-hero .h{overflow:visible}
.geo-service .geo-matrix caption,.geo-service .geo-scope-table caption{font-size:15px;line-height:1.6}
@media(max-width:900px){.geo-service .preview-purchase-options{grid-template-columns:1fr}.geo-service .preview-purchase-options article+article{border-left:0;border-top:1px solid var(--ink)}}
@media(max-width:700px){.geo-service .geo-report .h{font-size:44px}.geo-service .preview-purchase-options article{padding:24px}.geo-service .preview-row-number{font-size:38px}}
@media(max-width:700px){.geo-service .preview-contact .op-heading .h{font-size:36px}.geo-service .preview-contact{padding-top:40px}}

/* Fit the existing price family to the real option count. */
.geo-service .preview-purchase-options.preview-single-option{grid-template-columns:minmax(0,1fr)}
.geo-service .preview-purchase-options .preview-price-intro,.geo-service .preview-purchase-options .preview-price-detail{display:flex;flex-direction:column;gap:16px;min-width:0}
.geo-service .preview-purchase-options .preview-price-detail{flex:1}
.geo-service .preview-single-option article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.geo-service .preview-purchase-options .preview-terms{font-size:15px;line-height:1.65;border-top:1px solid var(--ink);padding-top:16px}
.geo-service .preview-purchase-options .btn{align-self:flex-start}
@media(max-width:700px){.geo-service .preview-single-option article{grid-template-columns:minmax(0,1fr);gap:24px}}

/* Preview request form: five required fields, optional WhatsApp and explanation. */
.geo-service .preview-contact .preview-contact-form{display:grid;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px!important;row-gap:20px!important}
.geo-service .preview-contact .preview-contact-field{min-width:0;align-content:start}
.geo-service .preview-contact .preview-contact-wide{grid-column:1/-1}
.geo-service .preview-contact .preview-contact-required{font-size:15px;margin:0 0 20px;max-width:760px}
.geo-service .preview-contact small{font-size:14px;font-weight:400;line-height:1.5}
.geo-service .preview-contact textarea{display:block;box-sizing:border-box;resize:vertical;width:100%;min-height:110px;padding:12px 14px;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font:400 17px/1.5 var(--body)}
.geo-service .preview-contact .preview-contact-consent{max-width:850px;display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:400;line-height:1.5}
.geo-service .preview-contact .preview-contact-consent input{flex-shrink:0}
.geo-service .preview-contact .preview-contact-privacy{font-size:14px;width:fit-content;text-underline-offset:3px}
.geo-service .preview-contact :is(input,select,textarea,button,a):focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:700px){.geo-service .preview-contact .preview-contact-form{grid-template-columns:minmax(0,1fr)}}

.geo-service .preview-proof-heading{font-size:58px;line-height:1.05;margin-block:22px;overflow:visible;padding-block:.05em}
.geo-service .geo-projects>.wrap>.op-lead{max-width:850px;margin-bottom:32px}
.geo-service .geo-project-pair:has(>figure:only-child){grid-template-columns:minmax(0,1fr)}
.geo-service .geo-project-pair video{display:block;width:100%;max-height:660px;background:var(--ink);aspect-ratio:16/9;object-fit:contain}
@media(max-width:700px){.geo-service .preview-proof-heading{font-size:44px}}

/* Centred questionnaire, using the existing GEO type and form controls. */
.geo-service .preview-contact>.wrap{max-width:920px;margin-inline:auto}
.geo-service .preview-contact .op-heading{display:block;text-align:center;margin-bottom:28px}
.geo-service .preview-contact .op-heading .h{margin:0}
.geo-service .preview-contact .preview-contact-required{max-width:none;text-align:center}
.geo-service .preview-contact #contact-status{margin-inline:auto}

/* Review pages: alternate approved cream, ink and translucent gradient bands. */
.geo-service[data-header-cta-href="#review-contact"] #request{background:var(--cream)}
.geo-service[data-header-cta-href="#review-contact"] #method{background:var(--ink);color:var(--cream);padding:56px 0}
.geo-service[data-header-cta-href="#review-contact"] #method .wrap{border-color:#55515b}
.geo-service[data-header-cta-href="#review-contact"] #method h2{color:var(--cyan);background:none;-webkit-text-fill-color:var(--cyan)}
.geo-service[data-header-cta-href="#review-contact"] #method h3{color:var(--cream)}
.geo-service[data-header-cta-href="#review-contact"] #method p{color:#dedbe4}
.geo-service[data-header-cta-href="#review-contact"] #method .geo-process-arrow{color:#c6c1ce}
.geo-service[data-header-cta-href="#review-contact"] #costs{background:linear-gradient(115deg,rgba(0,229,204,.12),rgba(82,159,255,.10) 50%,rgba(155,89,255,.12)),var(--cream)}
.geo-service[data-header-cta-href="#review-contact"] #faq{background:#fff}
@media(max-width:700px){.geo-service[data-header-cta-href="#review-contact"] #method{padding:40px 0}}

/* Distinct adjacent bands: gradient / white / cream / ink / pale gradient / white / gradient. */
.geo-service[data-header-cta-href="#review-contact"] #request{background:#fff}
.geo-service[data-header-cta-href="#review-contact"] #offer{background:var(--cream)}

/* Requested swap: dark questionnaire, light process. */
.geo-service[data-header-cta-href="#review-contact"] #request{background:var(--ink);color:var(--cream)}
.geo-service[data-header-cta-href="#review-contact"] #request :is(h2,label,small,.preview-contact-required,#contact-status){color:var(--cream)}
.geo-service[data-header-cta-href="#review-contact"] #request .preview-contact-privacy{color:var(--cyan)}
.geo-service[data-header-cta-href="#review-contact"] #request :is(input,select,textarea,button,a):focus-visible{outline-color:var(--cream)}
.geo-service[data-header-cta-href="#review-contact"] #request #optional-booking{color:var(--ink)}
.geo-service[data-header-cta-href="#review-contact"] #method{background:#fff;color:var(--ink)}
.geo-service[data-header-cta-href="#review-contact"] #method .wrap{border-color:#b5afaa}
.geo-service[data-header-cta-href="#review-contact"] #method h2{color:#563393;-webkit-text-fill-color:#563393}
.geo-service[data-header-cta-href="#review-contact"] #method h3{color:var(--ink)}
.geo-service[data-header-cta-href="#review-contact"] #method p{color:#39465a}
.geo-service[data-header-cta-href="#review-contact"] #method .geo-process-arrow{color:#59535f}

.geo-service[data-header-cta-href="#review-contact"] #request :is(input:not([type=checkbox]),select,textarea){background:var(--cream);color:var(--ink)}

/* Review matrices: prioritise the answer and actual deliverables. */
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:last-child strong{font-size:22px;font-weight:600;line-height:1.45;color:#f8f4f0}
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:nth-child(2)>strong{font-size:20px;margin-bottom:8px}
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td>span{font-size:17px;line-height:1.6}
.geo-service .preview-review-scope tbody th,.geo-service .preview-review-scope thead th:first-child{width:26%}
.geo-service .preview-review-scope tbody td:nth-child(2),.geo-service .preview-review-scope thead th:nth-child(2){width:50%;font-size:18px;line-height:1.65;font-weight:500}
.geo-service .preview-review-scope tbody td:last-child,.geo-service .preview-review-scope thead th:last-child{width:24%}
.geo-service .preview-scope-status{display:block;font-size:15px;line-height:1.5;color:#39465a;font-weight:500}
@media(max-width:700px){
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:nth-child(2)>strong{display:block}
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:last-child strong{font-size:20px}
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:last-child::before{content:'The question we answer'}
html:lang(es) .geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:last-child::before{content:'La pregunta que aclaramos'}
.geo-service .preview-review-scope tbody th,.geo-service .preview-review-scope tbody td:nth-child(n){width:100%}
.geo-service .preview-review-scope tbody td:nth-child(2){font-size:17px}
}

.geo-service .preview-review-scope thead th:nth-child(2){font-size:22px;font-weight:700;line-height:1.3}

@media(max-width:700px){
.geo-service .preview-review-scope tbody td:nth-child(2)::before{display:block;content:attr(data-label);margin:0 0 10px;padding:0;background:transparent;border:0;color:#39465a}
.geo-service[data-header-cta-href="#review-contact"] .geo-matrix tbody td:last-child::before{content:attr(data-label)}
}
