/* Aplicación del manual Ed.02. No altera URLs ni oculta texto SEO. */
body{font-family:var(--font-text);font-size:var(--text-body);line-height:1.6}
h1,h2,h3,h4,h5,h6,.plan-price,.stat strong,.progress-number,.feature-title{font-family:var(--font-display);font-weight:500}
h1{font-size:var(--text-h1);line-height:1.1;letter-spacing:-.01em}
h2,.content-block h2{font-size:var(--text-h2);line-height:1.15;letter-spacing:-.01em}
h3,.content-block h3{font-size:var(--text-h3);line-height:1.25;letter-spacing:0}
.hero h1{font-family:var(--font-display);font-size:var(--text-display);font-weight:400;line-height:1.05;letter-spacing:-.015em}
.internal-hero h1,.internal-hero h2{font-size:var(--text-h1);font-weight:500;line-height:1.1;letter-spacing:-.01em}
.content-block p,.content-block li{font-size:var(--text-body);line-height:1.6}
.rich-content p,.rich-content li{font-size:var(--text-body);line-height:1.6}
.feature-block h2,.pair-block h2,.service h3,.value h2{font-size:var(--text-h3)}
.feature-block p,.pair-block p,.service p{font-size:var(--text-small);line-height:1.6}
.section-index,.eyebrow{font-family:var(--font-text);font-size:var(--text-label);font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.feature-code,.mega-kicker,.breadcrumb{font-family:var(--font-display);font-size:var(--text-path);font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none}
.mega-kicker>span:first-child{color:var(--teal)}
.btn,.client-link,.form-submit button,.consent-actions button{font-family:var(--font-text);font-weight:600;border-radius:var(--radius-s);min-height:44px}
.btn{background:var(--ink);color:var(--paper);letter-spacing:0}
.btn:hover,.plan .btn:hover,.client-link:hover{background:var(--ink);color:var(--paper)}
.hero .btn,.wordpress .btn,.internal-help .btn{background:var(--mint);color:var(--ink)}
.hero .btn.secondary{background:transparent;color:var(--paper);border-color:#ffffff70}
.hero .btn:hover,.wordpress .btn:hover,.internal-help .btn:hover{background:var(--mint);color:var(--ink)}
.service-icon,.mega-icon svg{color:var(--ink)}
.brand{flex-shrink:0;padding:16px 0}
.brand picture{display:block;line-height:0}
.brand img{width:221px;height:auto;display:block;max-width:100%}
.footer .brand img{width:210px;height:auto}
.mega-feature .feature-code{color:var(--mint)}
.form-heading h2{font-size:var(--text-h3);margin:0}
.form-contact{margin:12px 0 20px;font-size:var(--text-small)}
.form-contact a{color:var(--teal);text-decoration:underline}
.price-vat{display:block;font-family:var(--font-text);font-size:var(--text-small);font-weight:400;letter-spacing:0;margin-top:8px}
.infra{background:var(--ink)}
.infra-top,.infra-bottom,.node,.rack-label{color:#bed0d6}
.duotone{background:var(--photo-duotone-dark)}
.skip:focus{z-index:1001}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.hero a:focus-visible,.footer a:focus-visible,.wordpress a:focus-visible,.mega-feature a:focus-visible{outline-color:var(--mint)}
@media(min-width:821px){.wrap{width:calc(100% - 48px)}nav .nav-group>summary,.nav-direct{font-weight:600}}
@media(min-width:821px) and (max-width:1100px){.brand img{width:185px}.nav-inner,.nav-inner>nav{gap:14px}}
@media(max-width:820px){.brand img{width:185px;height:auto}.hero h1{font-size:var(--text-display)}.internal-hero h1,.internal-hero h2{font-size:var(--text-h1)}}
@media(max-width:540px){.footer .brand img{width:185px}.content-block h2{font-size:var(--text-h2)}.feature-block h2{font-size:var(--text-h3)}}
@media(prefers-color-scheme:dark){
 .header{background:var(--ink);color:var(--paper)}
 .header .client-link{background:var(--mint);color:var(--ink);border-color:var(--mint)}
 .header .nav-group[open]>summary,.header nav summary:after{color:var(--mint)}
 .header .burger{background:var(--ink);border-color:#ffffff60}
 .header .burger-lines,.header .burger-lines:after,.header .site-menu[open]>.burger .burger-lines:before{border-color:var(--paper)}
 .header .site-menu[open]>.burger .burger-lines{border-color:transparent}
 .mega-panel{color:var(--ink)}
 @media(max-width:820px){.header .nav-inner{background:var(--ink)}.header .mega-panel{background:var(--wash)}}
}

/* Ed02.1: linked service headings and privacy-friendly external WhatsApp link. */
.service-title-link{display:inline;transition:color .18s ease}
.service-title-link::after{content:'↗';display:inline-block;margin-left:.35em;font-size:.7em;color:var(--teal);transition:transform .18s ease}
.service-title-link:hover{color:var(--teal)}
.service-title-link:hover::after{transform:translate(2px,-2px)}
.whatsapp-contact{position:fixed;right:24px;bottom:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:20;display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 5px 22px rgba(16,43,60,.18);font-weight:650;font-size:14px;line-height:1.2;transition:background .18s ease,transform .18s ease}
.whatsapp-contact:hover{background:var(--teal);color:var(--navy);transform:translateY(-2px)}
.whatsapp-contact:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
body:has(.consent-panel:not([hidden])) .whatsapp-contact{visibility:hidden;pointer-events:none}
@media(max-width:820px){.whatsapp-contact{right:16px;bottom:16px;bottom:max(16px,env(safe-area-inset-bottom));width:48px;height:48px;justify-content:center;padding:0}.whatsapp-contact>span{display:none}body:has(.site-menu[open]) .whatsapp-contact{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.whatsapp-contact,.service-title-link,.service-title-link::after{transition:none}.whatsapp-contact:hover,.service-title-link:hover::after{transform:none}}

/* Housing: optional local 3D experience, consistent with Ed02. */
.model-block{grid-column:1/-1;background:var(--bruma,#f2f6f5);border:1px solid var(--line,#dce5e7);border-radius:16px;padding:clamp(18px,3vw,32px)}
.model-heading{max-width:760px}.model-path{display:block;font-family:var(--font-display);font-size:13px;color:var(--teal);margin-bottom:12px}.model-heading strong{display:block;font-family:var(--font-display);font-size:clamp(24px,3vw,32px);line-height:1.2;margin-bottom:14px}
.model-block .model-stage{position:relative;height:clamp(340px,55vw,600px);min-height:340px;margin:24px 0 14px;border-radius:12px;overflow:hidden;background:#f2f6f5;border:1px solid #dce5e7}
.model-cover{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:linear-gradient(145deg,#102b3c,#102b3c);color:#fff;padding:24px;text-align:center}
.model-cover>span{color:#8aefd0;font-family:var(--font-display);font-size:100px;line-height:1}.model-cover p{color:#fff}.model-cover .btn{background:#8aefd0;color:#102b3c}
.model-stage model-viewer{display:block;width:100%;height:100%;background:#f2f6f5;--progress-bar-color:#0b7865;--progress-mask:#f2f6f5;outline-offset:-4px}
.model-toolbar{display:flex;flex-wrap:wrap;gap:12px}.model-toolbar[hidden]{display:none}.model-toolbar .btn{min-height:44px;font-size:14px}.model-status{font-size:14px;margin-top:12px}
@media(max-width:600px){.model-block{padding:16px}.model-block .model-stage{height:380px}.model-toolbar .btn{flex:1;justify-content:center}}

.model-toolbar .btn.secondary{background:#fff;color:#102b3c;border:1px solid #dce5e7;box-shadow:none}
.model-toolbar .btn.secondary:hover{background:#102b3c;color:#fff;border-color:#102b3c}
body:has(.model-stage model-viewer) .whatsapp-contact{visibility:hidden;pointer-events:none}
