/* Ajustes de revisión: secciones alternas, proyecto real e información legal. */
.signature-logo img{width:82px;height:52px;object-fit:contain}
.site-header .nav-contact,.site-header .menu-toggle{border-color:var(--orange)}
.hero-visual .portrait-frame{aspect-ratio:3/4}
.hero-visual .portrait-frame>img{object-fit:contain;object-position:center;filter:none}
.hero-visual .portrait-frame:after{display:none}
/* Escala la altura intrínseca junto al ancho, sin bandas vacías ni recortes. */
.about-grid .about-photo img{height:auto;filter:none;aspect-ratio:1/1;object-fit:contain;object-position:center}
.services .section-intro{align-self:start}
@media(min-width:801px){.services .section-intro{position:sticky;top:35px}}
.button-secondary{border-color:var(--orange);color:var(--ink);background:transparent;justify-content:center}
.button-secondary:hover{background:#ff790014;transform:translateY(-2px)}
.hero-actions{flex-wrap:wrap;gap:16px}
.principles{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;column-gap:27px}
.principles b{display:block!important}
.service-row{grid-template-columns:28px 1fr}
.about-section,.contact-section{background:var(--surface);color:var(--ink)}
.concept-section{background:var(--cream);color:var(--bg)}
.concept-section .eyebrow{color:#586570}
.concept-copy>p:not(.eyebrow):not(.demo-note){color:#56616b;font-size:14px}
.concept-copy h2 em{color:#c65800}
.project-name{font-size:24px;margin:24px 0 5px;letter-spacing:-.5px}
.project-description{margin-top:0}.project-tags{margin-top:20px}.project-tags span{font-size:10px;color:#56616b;border-color:#cecfc8}
.concept-copy .project-note{font-size:11px!important;line-height:1.7;margin-top:22px;color:#6c7376!important}
.project-browser{min-width:0;overflow:hidden;border:1px solid #40536a;border-radius:7px;background:#0a1929;box-shadow:0 25px 50px #0003}
.project-browser .browser-bar{color:#bbc7d4;border-color:#33465d;background:#13283d;font-size:8px;letter-spacing:1px}
.project-browser .browser-bar i{background:#8b9aab}
.project-screen{height:450px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ff7900 #162b40;background:#f9f6ef}
.project-screen img{width:100%;height:auto;max-width:none}
.project-screen:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}
.site-footer{flex-wrap:wrap;padding-block:30px;gap:20px}
.site-footer>p{margin:0;max-width:none;text-align:left}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px;color:#bbc6d2;font-size:11px}
.footer-legal a:hover{color:var(--orange)}
.legal-dialog{max-width:780px;padding:42px}
.legal-dialog h2{font-size:40px;line-height:1.15;margin-right:25px}
.legal-dialog h3{font-size:18px;margin:25px 0 10px}
.legal-dialog p{font-size:14px!important;line-height:1.85;color:#bfccd9!important}
.legal-dialog .eyebrow{font-size:10px!important;color:var(--muted)!important}
.legal-dialog .legal-draft{border:1px solid #815226;background:#ff790010;padding:14px 16px;color:#f3c398!important;font-size:12px!important;border-radius:3px}
.legal-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:none;color:var(--ink);font-size:28px}
.legal-data{font-size:13px}.legal-data dt{font-weight:600;color:var(--ink);margin-top:13px}.legal-data dd{margin:3px 0 0;color:var(--muted)}
@media(max-width:1100px){.hero-actions{gap:12px}.principles{column-gap:19px}.project-screen{height:420px}.footer-legal{gap:15px}}
@media(max-width:800px){.hero-actions{flex-direction:column;align-items:flex-start}.principles{column-gap:14px}.principles>span{font-size:12px}.project-screen{height:380px}.site-footer>p{max-width:none}.footer-legal{gap:20px}}
@media(max-width:560px){.hero-actions{flex-direction:row;align-items:stretch;gap:12px}.hero .button{padding-inline:13px;font-size:12px}.principles{grid-template-columns:auto 1fr;row-gap:5px;column-gap:15px;padding-block:16px}.principles>span{display:block!important;font-size:13px}.principles b{font-size:20px}.service-row{grid-template-columns:23px 1fr}.project-screen{height:360px}.project-browser .browser-bar{font-size:7px;padding-inline:11px}.site-footer>p{order:2;width:100%;font-size:11px}.footer-legal{order:3;gap:0;flex-direction:column;align-items:flex-start;width:100%}.footer-legal a{font-size:12px;min-height:44px}.legal-dialog{padding:34px 22px}.legal-dialog h2{font-size:32px}.legal-dialog p{font-size:13px!important}}

.service-row .service-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 9px;margin:14px 0 9px;line-height:1.45}
.service-price strong{color:var(--orange);font-family:var(--font-heading);font-size:23px;letter-spacing:-.4px;font-weight:600}
.service-price span{font-size:12px;color:var(--muted)}
.service-row .service-price-alternative{margin-top:4px}
.service-price-alternative strong{font-size:20px}
.service-row .service-saving{font-size:12px;line-height:1.75;color:#cfdae4;margin:9px 0 12px}
.service-details{margin:8px 0 12px;border-block:1px solid var(--line)}
.service-details>summary{cursor:pointer;padding:11px 0;min-height:44px;color:#bdc7d1;font-size:13px;line-height:1.7}
.service-details[open]>summary,.service-details>summary:hover{color:var(--orange)}
.service-details ul{margin:0 0 12px;padding-left:19px;color:var(--muted);font-size:13px;line-height:1.85}
.service-details li{margin-bottom:8px}
.service-row .service-details p{font-size:12px;line-height:1.85;margin:0 0 16px}
.service-bonus{border-left:2px solid var(--orange);background:var(--surface);padding:24px;margin-top:22px}
.service-bonus .eyebrow{margin:0 0 12px;color:var(--orange)}
.service-bonus h3{font-size:23px;line-height:1.3;letter-spacing:-.4px;margin:0 0 15px}
.service-bonus p:not(.eyebrow){font-size:13px;line-height:1.85;color:#bfccd9;margin:0 0 12px}
.service-bonus p:last-child{margin-bottom:0}
.service-bonus a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.service-pricing-note{font-size:12px;line-height:1.85;color:var(--muted);margin:24px 0 0}
@media(max-width:560px){.service-price strong{font-size:21px}.service-price-alternative strong{font-size:19px}.service-bonus{padding:20px}.service-bonus h3{font-size:22px}}

/* Canales comerciales y autorización explícita antes de compartir el resumen. */
.contact-channels{display:grid;gap:12px;margin-top:28px;justify-items:start;max-width:100%}
.contact-grid>div>p.contact-scope{font-size:12px;line-height:1.8;color:var(--muted);max-width:440px}
#brief-form>button[type="submit"]{width:100%;white-space:normal;text-align:center;justify-content:center;line-height:1.6}
.contact-invitation{max-width:440px}
.contact-invitation h3{font-size:22px;line-height:1.3;letter-spacing:-.4px;margin:0 0 12px}
.contact-invitation p{font-size:14px;line-height:1.85;color:#bfccd9;margin:0 0 8px}
.contact-channels .button{max-width:100%;white-space:normal;text-align:center}
.contact-phone{font-size:13px;color:var(--muted)}
.contact-email{font-size:15px;overflow-wrap:anywhere;text-underline-offset:4px}
.contact-email:hover{color:var(--orange)}
.contact-privacy{font-size:11px;line-height:1.8;color:var(--muted);max-width:360px;margin:0}
.contact-privacy a,.brief-authorization a:not(.button),.legal-dialog a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.brief-authorization{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.brief-authorization>p{font-size:12px;color:#bfccd9;line-height:1.8}
.consent-control{display:flex;align-items:flex-start;gap:12px;margin:16px 0 20px;font-size:12px;line-height:1.8;color:#d2dbe3;cursor:pointer}
.consent-control input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:3px 0 0;padding:0;accent-color:var(--orange)}
#whatsapp-brief{width:100%;justify-content:center;text-align:center;white-space:normal}
#whatsapp-brief[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none}
#send-status{min-height:2em}
.legal-version{border-top:1px solid var(--line);padding-top:18px;font-size:11px!important}
/* Responsive: formulario legible y contacto apilado en tablet. */
@media(max-width:1100px){
  #brief-form input,#brief-form select,#brief-form textarea,#brief-output{font-size:16px}
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .contact-grid>div>p:not(.eyebrow){max-width:560px;font-size:14px}
  .brief-form{min-width:0}
  .contact-grid .eyebrow{font-size:10px}
}
@media(max-width:560px){
  .contact-email{font-size:14px}
  .brief-authorization .button{font-size:13px;padding-inline:12px}
  .consent-control{font-size:12px}
}
