/* Publicidad y Fotografía comparten estructura, con dos direcciones visuales. */
.visual-service{--surface:#f5f2ec;--text:#231f20;--muted:#6b645b;--rule:#d7d0c5;--accent:#a64c13;background:var(--surface);color:var(--text)}
.publicidad-page{--surface:#22211f;--text:#f5f2ec;--muted:#b7b0a5;--rule:#ffffff26;--accent:#ffad50}
.service-skip{position:fixed;top:-5rem;left:1rem;z-index:50;background:var(--text);color:var(--surface);padding:1rem}.service-skip:focus{top:1rem}
.service-breadcrumb{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--rule);font: .65rem var(--font-mono);color:var(--muted)}
.service-breadcrumb a:hover{color:var(--accent)}
.visual-service-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:3.3rem;align-items:center;padding:3.3rem 0 4rem}
.service-micro{font: .62rem var(--font-mono);letter-spacing:.1em;color:var(--muted);line-height:1.7}
.service-name{font:.7rem var(--font-mono);color:var(--accent);margin-top:2rem;margin-bottom:1rem}
.service-hero-copy h1{font-weight:500;text-transform:none;font-size:clamp(2.8rem,4.5vw,4.7rem);line-height:1.06;letter-spacing:-.06em}
.visual-service em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--accent)}
.service-description{color:var(--muted);font-size:.92rem;line-height:1.85;max-width:44ch;margin-top:1.5rem}
.service-action{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;background:#ef9837;color:#231f20;padding:.9rem 1.2rem;font-size:.78rem;font-weight:700;border-radius:3px;margin-top:1.8rem;transition:background .2s,transform .2s}.service-action span{font-size:1.5rem;font-weight:400}.service-action:hover{background:#ffb052;transform:translateY(-2px)}
.service-explore{display:flex;align-items:center;gap:1rem;font-size:.7rem;margin-top:1.2rem;color:var(--muted);width:fit-content}.service-explore:hover{color:var(--accent)}
.creative-workbench{border:1px solid var(--rule);border-radius:5px;padding:1.3rem;min-width:0}.campaign-workbench{background:#2b2925}.photography-workbench{background:#ebe5db}
.workbench-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;font: .54rem var(--font-mono);letter-spacing:.07em;color:var(--muted)}.workbench-top>span:last-child{font-size:1.5rem}
.preview-stage{height:395px;display:grid;place-items:center;overflow:hidden;margin:1.1rem 0 1.3rem;position:relative;background-image:linear-gradient(#8888880b 1px,transparent 1px),linear-gradient(90deg,#8888880b 1px,transparent 1px);background-size:25px 25px}
.format-preview{position:relative;overflow:hidden;box-shadow:0 15px 25px #0002;max-width:100%}
.format-preview[data-format="square"]{width:360px;aspect-ratio:1}.format-preview[data-format="portrait"]{width:292px;aspect-ratio:4/5}.format-preview[data-format="landscape"]{width:100%;aspect-ratio:16/9}
.campaign-poster{background:#ed8d2c;color:#29221b;padding:1.3rem;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.poster-brand{font: .48rem var(--font-mono);letter-spacing:.08em;position:relative;z-index:1}.poster-message{font-size:clamp(2.8rem,4.5vw,4.5rem);font-weight:600;letter-spacing:-.065em;line-height:.95;position:relative;z-index:1}.poster-message em{color:#29221b;letter-spacing:-.07em}.poster-bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:1}.poster-bottom>span:first-child{font: .47rem var(--font-mono);line-height:1.6}.poster-bottom>span:last-child{font-size:2.5rem;line-height:1}.poster-orbit{position:absolute;width:240px;height:240px;border:1px solid #29221b55;border-radius:50%;right:-100px;top:20%;z-index:0}.poster-orbit::before,.poster-orbit::after{content:'';position:absolute;inset:22px;border:1px solid #29221b44;border-radius:50%}.poster-orbit::after{inset:44px}
.campaign-poster[data-format="landscape"] .poster-message{font-size:3rem}.campaign-poster[data-format="landscape"] .poster-message br{display:none}
.photo-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% 50%}.viewfinder{position:absolute;inset:13px;border:1px solid #fff9;pointer-events:none}.viewfinder::before,.viewfinder::after{content:'';position:absolute;left:50%;top:50%;width:24px;height:1px;background:#fffc;transform:translate(-50%,-50%)}.viewfinder::after{transform:translate(-50%,-50%) rotate(90deg)}
.format-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.format-controls button{border:1px solid var(--rule);background:transparent;color:var(--text);font:500 .64rem var(--font-display);padding:.65rem .35rem;border-radius:3px;cursor:pointer;transition:background .2s,border-color .2s}.format-controls button>span{display:block;font:.55rem var(--font-mono);color:var(--muted);margin-top:.2rem}.format-controls button[aria-pressed="true"]{border-color:var(--accent);background:#c0771814}.format-controls button:hover{border-color:var(--accent)}.workbench-caption{font:.52rem var(--font-mono);color:var(--muted);margin-top:.8rem;line-height:1.7}
.service-scope{padding:3rem 0;border-top:1px solid var(--rule);scroll-margin-top:90px}.scope-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:end;margin-bottom:2.6rem}.scope-heading h2,.service-process h2,.visual-faq h2{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;text-transform:none;letter-spacing:-.05em;line-height:1.15;margin-top:.9rem}.scope-heading>p{font-size:.85rem;color:var(--muted);line-height:1.8;max-width:35ch}.scope-row{display:grid;grid-template-columns:50px 1fr 1.1fr;gap:2rem;border-top:1px solid var(--rule);padding:2rem 0}.scope-number{font:.7rem var(--font-mono);color:var(--accent);padding-top:.3rem}.scope-category{font:.65rem var(--font-mono);color:var(--accent);margin-bottom:.6rem}.scope-row h3{font-size:1.35rem;font-weight:500;text-transform:none;line-height:1.3;letter-spacing:-.03em;max-width:22ch}.scope-row>div:last-child>p{font-size:.85rem;line-height:1.8;color:var(--muted);max-width:49ch}.scope-tags{display:block;font: .54rem var(--font-mono);line-height:1.8;color:var(--muted);margin-top:1rem}
.service-process{padding:2rem 0 3.5rem}.service-process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin-top:2rem}.service-process li{border-top:1px solid var(--rule);padding-top:1.2rem}.service-process li>span{font:.65rem var(--font-mono);color:var(--accent)}.service-process h3{font-size:1rem;font-weight:600;text-transform:none;margin:1rem 0 .6rem;letter-spacing:-.02em;line-height:1.3}.service-process li>p{font-size:.82rem;line-height:1.8;color:var(--muted);max-width:36ch}
.visual-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;padding:3rem 0;border-top:1px solid var(--rule)}.visual-faq .svc-faq{margin:0;max-width:none}.visual-faq .svc-faq-item{border-color:var(--rule)}.visual-faq .svc-faq-item h3{font-size:.9rem;font-weight:500;line-height:1.5}.visual-faq .svc-faq-item p{color:var(--muted);font-size:.83rem;line-height:1.8}.visual-faq .svc-faq-item summary{gap:1rem}
.service-closing{border-top:1px solid var(--rule);padding:3rem 0 4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.service-closing h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:500;text-transform:none;letter-spacing:-.05em;line-height:1.1}.service-closing .service-action{margin:0;flex-shrink:0}
.visual-service [hidden]{display:none!important}
@media(max-width:1000px){.visual-service-hero{gap:2rem}.preview-stage{height:320px}.format-preview[data-format="square"]{width:280px}.format-preview[data-format="portrait"]{width:245px}.poster-message{font-size:3rem}.campaign-poster[data-format="landscape"] .poster-message{font-size:2.2rem}.poster-brand{font-size:.4rem}}
@media(max-width:900px){.visual-service .nav{visibility:hidden;overflow-y:auto}.visual-service .nav.is-open{visibility:visible}}
@media(max-width:700px){.visual-service-hero{grid-template-columns:1fr;gap:2rem;padding-top:2rem}.service-hero-copy h1{font-size:clamp(2.7rem,10vw,4rem)}.service-name{margin-top:1.4rem}.service-description{font-size:.86rem}.service-breadcrumb{font-size:.55rem}.creative-workbench{padding:1rem}.preview-stage{height:335px}.format-preview[data-format="square"]{width:300px}.format-preview[data-format="portrait"]{width:256px}.poster-message{font-size:3.2rem}.scope-heading{grid-template-columns:1fr;gap:1rem}.scope-heading>p{max-width:40ch}.scope-row{grid-template-columns:24px 1fr;gap:1rem}.scope-row>div:last-child{grid-column:2}.service-process ol{grid-template-columns:1fr;gap:1.5rem}.service-process li>p{max-width:45ch}.visual-faq{grid-template-columns:1fr;gap:2rem}.service-closing{align-items:start;flex-direction:column;gap:1.8rem}.service-closing h2{font-size:2.3rem}}
@media(prefers-reduced-motion:no-preference){.format-preview.is-changing{animation:format-in .3s ease}@keyframes format-in{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.macul-photo-case{padding:4rem 0;border-top:1px solid #d7d2c9;scroll-margin-top:120px}.macul-photo-case h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.macul-photo-case>p{max-width:70ch;line-height:1.8}.macul-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.macul-photo-grid img{width:100%;height:auto;display:block}@media(max-width:650px){.macul-photo-grid{grid-template-columns:1fr}}
