/* Interior pages open as an editorial introduction, then a horizontal image at full bleed. */
.detail-page .site-header{background:var(--paper);color:var(--ink);border-bottom:1px solid #14151422}
.detail-page .header-services{color:var(--ink)}
.detail-page .menu-panel{background:var(--paper);color:var(--ink)}
.page-intro{padding:30px var(--pad) 65px;background:var(--paper);color:var(--ink)}
.page-intro .breadcrumb{font-size:10px;color:#64705f;margin-bottom:55px}
.page-intro>.mono{font-size:10px;display:block;margin-bottom:24px;color:#64705f}
.page-intro-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:end}
.page-intro h1{font-size:clamp(68px,8.3vw,132px);line-height:1;letter-spacing:-.06em;font-weight:400;margin:0}
.page-intro p{font-size:clamp(19px,1.65vw,25px);line-height:1.5;max-width:510px;padding-bottom:3px}
.page-estudio .page-intro h1,.page-proyectos .page-intro h1{font-size:clamp(56px,6.8vw,108px)}
.page-estudio .page-intro h1{font-size:clamp(56px,5.6vw,90px)}
.page-banner{margin:0;position:relative;background:#d6d7ce}
.page-banner>img{display:block;width:100%;height:clamp(280px,36vw,570px);object-fit:cover}
.banner-branding>img{object-position:50% 51%}
.banner-packaging>img{object-position:50% 47%}
.banner-estudio>img{object-position:50% 46%}
.page-banner figcaption{position:absolute;right:var(--pad);bottom:20px;max-width:75%;padding:9px 12px;background:#121514d9;color:#eeeee7;font-size:8px;line-height:1.5}
/* Studio: a concise point of view and the relationship with a client, not another service catalogue. */
.studio-perspective{display:grid;grid-template-columns:1.05fr 1fr;gap:8vw}
.studio-perspective-title>.mono,.studio-working-context>.mono{font-size:10px;color:#687260;display:block;margin-bottom:30px}
.studio-perspective h2{font-size:clamp(38px,4.3vw,65px);line-height:1.08;letter-spacing:-.045em}
.studio-perspective h2 em{font-style:normal;color:var(--orange)}
.studio-perspective-copy{display:grid;gap:25px;max-width:540px;padding-top:40px}
.studio-perspective-copy p{font-size:17px;line-height:1.65}
.studio-perspective-copy .studio-lead{font-size:25px;line-height:1.4;margin-bottom:5px}
.studio-working-context{background:#e3e6dc}
.studio-context-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:8vw}
.studio-context-layout h2{font-size:clamp(34px,3.5vw,53px);line-height:1.1;letter-spacing:-.035em;max-width:530px}
.studio-context-layout p{font-size:17px;line-height:1.65;max-width:540px;margin-bottom:25px}
.studio-context-links{display:flex;flex-wrap:wrap;gap:18px 30px;margin-top:35px}
.studio-context-links>a,.studio-context-links>button{font-size:14px;padding-bottom:8px;border-bottom:1px solid #14151455;display:flex;gap:20px}
.studio-context-links>a:hover,.studio-context-links>button:hover{color:#bd3c0a}
/* A closing image annotation, not a second homepage hero. */
.home-packaging-photo .tile-reveal-message{bottom:9svh;max-width:590px;right:auto;padding:0 20px 0 24px;border-left:2px solid var(--orange)}
.home-packaging-photo .tile-reveal-message>.mono{font-size:9px;margin-bottom:17px}
.home-packaging-photo .tile-reveal-message>h2{font-size:clamp(29px,3.1vw,48px);line-height:1.12;letter-spacing:-.035em;margin-bottom:20px;max-width:560px}
.home-packaging-photo .tile-reveal-message>p{font-size:15px;line-height:1.6;max-width:410px}
.home-v4 .home-packaging-photo .tile-next:after{background:linear-gradient(0deg,#0d1515e8,transparent 70%)}
/* One contact dialog, two channel choices. All data stays local until an explicit handoff. */
.contact-v8{width:min(820px,calc(100% - 40px));padding:52px 55px 40px;max-height:92svh}
.contact-toolbar{position:sticky;top:-52px;z-index:3;display:flex;justify-content:flex-end;background:var(--paper);margin:-52px -55px 24px;padding:16px 26px}
.contact-toolbar>.dialog-close{position:static;border:0;font-size:13px;padding:4px;gap:25px}
.contact-v8>span{margin-bottom:22px;font-size:10px;color:#65715f}
.contact-v8 h2{font-size:clamp(36px,4vw,53px);letter-spacing:-.045em;margin-bottom:20px;max-width:600px}
.contact-v8 .contact-intro{font-size:16px;line-height:1.5;max-width:520px;margin-bottom:30px;color:#515c4d}
.contact-v8 form{gap:22px}
.contact-v8 label{font-size:12px;line-height:1.5}
.contact-channel{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-channel legend{font-size:12px;margin-bottom:10px}
.contact-v8 .contact-channel label{position:relative;display:block}
.contact-channel input{position:absolute;opacity:0;width:1px!important;height:1px;padding:0!important}
.contact-channel label>span{display:block;padding:17px 18px;border:1px solid #14151440;font-size:21px;line-height:1.2;transition:background .2s,color .2s,border-color .2s}
.contact-channel small{display:block;font-size:11px;margin-top:10px;opacity:.8}
.contact-channel input:checked+span{background:var(--petrol);border-color:var(--petrol);color:var(--paper)}
.contact-channel label:hover>span{border-color:var(--orange)}
.contact-channel input:focus-visible+span{outline:2px solid var(--orange);outline-offset:4px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-v8 input,.contact-v8 textarea,.contact-v8 select{font-size:16px;background:#fff4;padding:12px;line-height:1.45}
.contact-v8 textarea{resize:vertical;min-height:110px}
.contact-v8 .submit{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--petrol);color:var(--paper);padding:18px 20px;font-size:15px;transition:background .2s,color .2s}
.contact-v8 .submit:hover{background:var(--orange);color:var(--ink)}
.contact-v8 .form-note{font-size:12px;line-height:1.6;color:#5d6755}
.contact-v8 #contact-result{padding:25px;background:#e1e4d8;scroll-margin:20px}
.contact-v8 #contact-result>.mono{font-size:9px;display:block;margin-bottom:20px;color:#53614e}
.contact-v8 .summary-label{display:block;margin-bottom:8px}
.contact-v8 #contact-summary{height:210px;background:#fff6;margin-bottom:15px}
.contact-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:20px}
.contact-v8 #copy-summary{font-size:13px;border:0;border-bottom:1px solid #14151455;padding:8px 0}
.contact-v8 #copy-status{display:block;margin:12px 0 0;font-size:12px}
.contact-v8 [hidden]{display:none!important}
@media(max-width:760px){
 .page-intro{padding:25px 20px 40px}.page-intro .breadcrumb{margin-bottom:38px;font-size:9px}.page-intro>.mono{font-size:9px;margin-bottom:20px}
 .page-intro-layout{grid-template-columns:1fr;gap:25px}.page-intro h1{font-size:clamp(55px,14vw,90px)}.page-intro p{font-size:18px;line-height:1.5;max-width:460px}
 .page-estudio .page-intro h1,.page-proyectos .page-intro h1{font-size:clamp(48px,12vw,78px)}
 .page-banner>img{height:290px}.page-banner figcaption{bottom:12px;right:15px;left:15px;max-width:none;width:max-content;font-size:6px;padding:7px 8px}
 .studio-perspective,.studio-context-layout{grid-template-columns:1fr;gap:30px}.studio-perspective h2{font-size:42px}.studio-perspective-title>.mono,.studio-working-context>.mono{font-size:9px;margin-bottom:25px}
 .studio-perspective-copy{padding-top:0;gap:23px}.studio-perspective-copy p,.studio-context-layout p{font-size:16px}.studio-perspective-copy .studio-lead{font-size:23px}
 .studio-context-layout h2{font-size:36px}.studio-context-links{gap:23px;flex-direction:column;align-items:start}.studio-context-links>a,.studio-context-links>button{font-size:13px}
 .home-packaging-photo .tile-reveal-message{bottom:10svh;left:20px;right:20px;padding-left:17px;max-width:460px}.home-packaging-photo .tile-reveal-message>.mono{font-size:7px;margin-bottom:15px}
 .home-packaging-photo .tile-reveal-message>h2{font-size:31px;margin-bottom:18px}.home-packaging-photo .tile-reveal-message>p{font-size:14px;max-width:300px}
 .contact-v8{width:100%;max-height:100svh;padding:60px 22px 30px}.contact-v8 h2{font-size:40px;margin-bottom:20px}.contact-v8 .contact-intro{font-size:15px;margin-bottom:25px}.contact-channel{gap:10px}
 .contact-toolbar{top:-60px;margin:-60px -22px 23px;padding:17px 22px}
 .contact-channel label>span{padding:15px 12px;font-size:19px}.contact-channel small{font-size:10px;line-height:1.5}.contact-fields{grid-template-columns:1fr;gap:20px}
 .contact-v8 #contact-result{padding:20px 15px}.contact-v8 #contact-summary{height:240px}.contact-v8 .submit{font-size:14px;padding:16px}.contact-result-actions{align-items:stretch;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.contact-channel label>span,.contact-v8 .submit{transition:none}}
