/* Shared page composition. Source content lives in src/pages. */
.form-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.email-fallback{display:block;margin:16px auto 0;background:none;border:0;color:#dfc599;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:10px}
.form-status[data-result]{padding:15px;border:1px solid #a7b79870;border-radius:7px;margin-top:15px;color:#e7efdb}
.form-status[data-result='error']{border-color:#e2b99b;color:#ffdbc0}
.whatsapp-contact{position:fixed;bottom:22px;right:22px;z-index:30;background:#d0b17e;color:#1c2822;padding:15px 20px;border-radius:30px;box-shadow:0 7px 25px #0003;font-size:14px;font-weight:600}
body.modal-open .whatsapp-contact{visibility:hidden}
@media(max-width:560px){.whatsapp-contact{bottom:12px;right:12px;font-size:12px;padding:13px 16px}.footer{padding-bottom:65px}}
body:not([data-page='inicio']) .header{background:#1c2822f5}
.header nav a[aria-current='page']::after{transform:scaleX(1)}
.footer-navigation{display:flex;flex-wrap:wrap;gap:20px 35px;padding-bottom:30px;margin-bottom:35px;border-bottom:1px solid #ffffff1c;font-size:14px;color:#c9cdbc}
.footer-navigation a:hover{color:var(--gold)}
.page-intro{padding-top:145px;padding-bottom:58px}
.breadcrumb{display:flex;gap:14px;font-size:12px;color:#75786b;margin-bottom:60px}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.intro-grid{display:grid;grid-template-columns:1fr 290px;align-items:end;gap:50px}
.page-intro h1{font-size:clamp(49px,5.1vw,80px);max-width:1020px;line-height:1.08}
.intro-aside{padding:0 0 8px 25px;border-left:1px solid #baa686;color:var(--muted);font-size:16px;line-height:1.9}
.about-panorama{position:relative;padding-right:calc(var(--gutter) + 75px)}
.about-panorama figure{margin:0;position:relative}
.about-panorama figure>img{width:100%;height:580px;object-fit:cover;object-position:center 52%;border-radius:10px 120px 10px 10px}
.about-panorama figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:17px;font-size:13px;color:var(--muted)}
.about-panorama figcaption span{font-size:12px}
.panorama-seal{position:absolute;right:var(--gutter);bottom:75px;padding:35px;width:250px;border-radius:120px 120px 12px 12px;background:#d9c4a1;text-align:center;box-shadow:0 12px 40px #1828181a}
.panorama-seal>span{display:block;letter-spacing:.18em;font-size:11px;margin:17px 0}
.panorama-seal em{display:block;font-family:var(--serif);font-size:37px;line-height:1.2;color:var(--dark)}
.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.original-brand{width:150px;height:auto;margin-top:45px;mix-blend-mode:multiply}
.story-copy .lead{font-family:var(--serif);font-size:30px;line-height:1.4;margin-bottom:25px}
.story-copy>p:not(.lead){color:var(--muted);line-height:1.85}
.story-copy .text-link{margin-top:30px}
.values-section{background:var(--dark);color:var(--paper);border-radius:45px 45px 0 0}
.values-section .eyebrow,.values-section em{color:var(--gold)}
.values-section .section-heading>p{color:#c0c6b8}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.values-grid article{padding-top:25px;border-top:1px solid #687260}
.editorial-number{display:block;font:italic 52px/1.1 var(--serif);color:#a78b61;margin-bottom:24px}
.values-grid h3{font-size:24px;margin-bottom:17px}
.values-grid p{font-size:15px;color:#c0c6b8;line-height:1.85}
.discipline-section{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:8%}
.discipline-image{position:relative}
.discipline-image img{width:100%;height:650px;object-fit:cover;border-radius:150px 150px 10px 10px}
.discipline-section h2{font-size:clamp(38px,4vw,59px)}
.discipline-list{margin-top:35px}
.discipline-list details{border-bottom:1px solid var(--line)}
.discipline-list summary{cursor:pointer;list-style:none;display:flex;gap:20px;justify-content:space-between;padding-block:22px}
.discipline-list summary::-webkit-details-marker{display:none}
.discipline-list summary span{color:#927449;font-size:21px}
.discipline-list details[open] summary span{transform:rotate(45deg)}
.discipline-list p{color:var(--muted);font-size:15px;padding-bottom:23px}
.page-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:70px;background:#e8e4d6;border-radius:40px 40px 0 0}
.page-cta h2{font-size:clamp(36px,4vw,58px)}
.page-cta .button{flex-shrink:0;background:var(--dark);color:#f9ecd6}
.services-cover{position:relative}
.services-cover>img{height:505px;width:100%;object-fit:cover;object-position:center 65%;border-radius:100px 12px 12px 12px}
.services-cover .concept-tag{left:auto;right:calc(var(--gutter) + 23px);top:23px}
.services-cover-caption{position:absolute;inset:auto calc(var(--gutter) + 28px) 30px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:#1c2822e8;border:1px solid #ffffff30;border-radius:8px;padding:22px 27px;color:var(--paper)}
.services-cover-caption>span{font-family:var(--serif);font-size:28px}
.services-cover-caption a{font-size:13px;white-space:nowrap}
.service-directory{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding-block:30px;border-bottom:1px solid var(--line)}
.service-directory a{font-size:13px}
.service-directory a:hover{color:#8c6e45}
.service-directory span{display:block;font-size:11px;color:#8c6e45;margin-bottom:5px}
.service-feature{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:45px;border-top:1px solid var(--line);padding-block:52px;align-items:center;scroll-margin-top:25px}
.service-title{align-self:start}
.service-title h3{font:42px/1.12 var(--serif);letter-spacing:-.025em}
.service-description>p{color:var(--muted);line-height:1.85}
.service-description ul{list-style:none;padding:0;margin-block:22px}
.service-description li{padding:9px 0 9px 16px;position:relative;border-bottom:1px solid #dfded3;font-size:14px}
.service-description li::before{content:'—';position:absolute;left:0;color:#8c6e45}
.service-description .text-link{font-size:13px;gap:15px}
.service-feature>img{width:100%;height:335px;object-fit:cover;border-radius:8px 70px 8px 8px}
.service-feature>img.technical-photo{object-fit:contain;background:white;border-radius:10px}
.service-note{background:#e9e5d9;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:40px;border-radius:9px 65px 9px 9px}
.service-note>span{font:italic 42px/1.2 var(--serif);color:#745e3d}
.service-note p{font-size:14px;margin-top:25px;color:var(--muted)}
.contact-intro{padding-bottom:65px}
.contact-channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:65px}
.contact-channel{display:flex;flex-direction:column;border-top:1px solid #b9b5a4;padding-top:22px;transition:border-color .2s}
.contact-channel:hover{border-color:#81613a}
.channel-caption{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.15em;color:#786544;margin-bottom:22px}
.contact-channel strong{font:23px/1.4 var(--serif);overflow-wrap:anywhere}
.contact-channel>span:last-child{font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin-top:13px}
.contact-channel i{font-style:normal;color:#83693e}
.dedicated-contact .contact-layout{grid-template-columns:.85fr 1.15fr;gap:8%}
.contact-editorial-image{position:relative;margin-top:35px}
.contact-editorial-image img{width:100%;height:280px;object-fit:cover;border-radius:10px 75px 10px 10px}
.contact-steps{list-style:none;margin:35px 0 0;padding:0}
.contact-steps li{display:flex;gap:20px;padding-block:15px;border-bottom:1px solid #ffffff1c}
.contact-steps li>span{color:var(--gold);font:italic 27px/1.3 var(--serif)}
.contact-steps strong{font-size:15px;font-weight:500}
.contact-steps p{margin-top:5px;color:#c1c6b8;font-size:13px}
.service-selection{grid-column:1/-1}
.location-layout{display:grid;grid-template-columns:.7fr 1.5fr;gap:45px}
.location-information{padding:28px 0}
.location-information h3{font:38px/1.1 var(--serif);margin-bottom:22px}
.location-information>p{font-size:15px;color:var(--muted);line-height:1.8}
.location-information .text-link{margin-top:25px;font-size:13px;gap:15px}
.location-note{border-top:1px solid var(--line);margin-top:36px;padding-top:20px}
.location-note>span{font-size:12px;font-weight:600}
.location-note p{color:var(--muted);font-size:13px;margin-top:8px}
.map-shell{border:1px solid #d3d5c6;border-radius:18px;overflow:hidden;background:#ebece2}
.map-toolbar,.map-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 22px;background:#f2f1e9;font-size:12px}
.map-toolbar button{border:0;padding:8px 12px;border-radius:5px;background:#dfdfd3;font-size:12px}
.map-bottom{font-size:11px;border-top:1px solid #d3d5c6}
.map-bottom a{text-decoration:underline;text-underline-offset:3px}
.map-viewport{min-height:420px;position:relative}
.map-viewport iframe{display:block;width:100%;height:420px;border:0;background:#e6e8da}
.map-start{padding:50px 40px;position:relative;background:linear-gradient(145deg,#eeeee4,#dce1cf);min-height:420px}
.map-start h3{font:38px/1.2 var(--serif)}
.map-start>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:20px;max-width:340px}
.map-start .button{margin-top:22px}
.map-start small{display:block;color:var(--muted);font-size:11px;margin-top:15px;max-width:360px}
.map-compass{position:absolute;top:27px;right:28px;text-align:center;font-size:16px;color:#8f947e;line-height:1.5}
.map-shell.expanded{grid-column:1/-1}
.location-layout.map-expanded .location-information{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;max-width:none;padding:0}
.location-layout.map-expanded .location-information .channel-caption{grid-column:1/-1;margin-bottom:0}
.location-layout.map-expanded .location-note{margin:0;padding:0;border:0;grid-column:2;grid-row:3/5}
.location-layout.map-expanded .location-information .text-link{justify-self:start;margin:0}
.map-shell.expanded .map-viewport,.map-shell.expanded iframe{min-height:650px;height:650px}
.contact-closing{padding-block:30px 70px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line)}
.contact-closing>p{font:26px/1.3 var(--serif)}
@media(max-width:1100px){
  .intro-grid{grid-template-columns:1fr 230px;gap:30px}
  .page-intro h1{font-size:58px}
  .service-feature{gap:25px;grid-template-columns:.8fr 1.2fr 1fr}
  .service-title h3{font-size:33px}
  .service-note{padding:25px}.service-note>span{font-size:34px}
  .contact-channel-grid{gap:20px}.contact-channel strong{font-size:20px}
}
@media(max-width:850px){
  .intro-grid{grid-template-columns:1fr;gap:30px}.intro-aside{max-width:510px}.page-intro h1{font-size:61px}
  .about-panorama{padding-right:var(--gutter)}.about-panorama figure>img{height:500px}
  .panorama-seal{width:200px;bottom:75px;right:calc(var(--gutter) + 20px);padding:25px}.panorama-seal em{font-size:29px}
  .story-layout{gap:35px}.values-grid{gap:28px}.values-grid h3{font-size:21px}
  .discipline-section{gap:35px;grid-template-columns:1fr}.discipline-image img{height:400px;border-radius:100px 10px 10px 10px}
  .page-cta{align-items:flex-start;flex-direction:column}
  .service-directory{grid-template-columns:repeat(3,1fr);gap:23px}
  .service-feature{grid-template-columns:1fr 1.4fr;gap:30px}.service-feature>img,.service-note{grid-column:1/-1;height:320px}.service-note{height:auto;padding:30px}
  .contact-channel-grid{grid-template-columns:1fr;gap:27px}.contact-channel strong{font-size:27px}.channel-caption{margin-bottom:13px}
  .dedicated-contact .contact-layout{grid-template-columns:1fr;gap:45px}.contact-editorial-image img{height:330px}
  .location-layout{grid-template-columns:1fr;gap:20px}.location-information{max-width:540px}.contact-closing{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .location-layout.map-expanded .location-information{display:block}
  .location-layout.map-expanded .location-note{margin-top:20px}
  .page-intro{padding-top:120px;padding-bottom:40px}.breadcrumb{margin-bottom:38px}
  .page-intro h1{font-size:clamp(40px,10.5vw,53px)}.page-intro .eyebrow{font-size:10px}.intro-aside{font-size:15px}
  .about-panorama figure>img{height:440px;border-radius:8px 70px 8px 8px}.about-panorama figcaption{font-size:12px}
  .panorama-seal{width:160px;padding:17px;bottom:90px}.panorama-seal em{font-size:26px}.panorama-seal>span{font-size:10px}
  .story-layout{grid-template-columns:1fr}.original-brand{width:100px;margin-top:25px}.story-copy .lead{font-size:27px}
  .values-grid{grid-template-columns:1fr;gap:35px}.values-section{border-radius:28px 28px 0 0}
  .values-grid article{display:grid;grid-template-columns:45px 1fr;gap:15px}.values-grid .editorial-number{grid-row:span 2;font-size:35px}.values-grid h3{margin:0}.values-grid p{grid-column:2}
  .discipline-image img{height:370px}
  .services-cover>img{height:400px;border-radius:65px 10px 10px 10px}
  .services-cover-caption{inset:auto calc(var(--gutter) + 13px) 15px;padding:20px;align-items:flex-start;flex-direction:column;gap:13px}.services-cover-caption>span{font-size:24px}
  .service-directory{gap:20px 12px}.service-directory a{font-size:12px}
  .service-feature{grid-template-columns:1fr;padding-block:37px;gap:25px}.service-title{display:flex;gap:25px;align-items:baseline}.service-title h3{font-size:38px}.service-title .editorial-number{font-size:33px;margin-bottom:0}.service-feature>img{height:280px}
  .contact-channel-grid{margin-top:40px}.contact-channel strong{font-size:25px}.contact-editorial-image img{height:270px}
  .map-toolbar,.map-bottom{flex-wrap:wrap;padding:15px;gap:10px}.map-start{padding:40px 22px}.map-start h3{font-size:30px}.map-start .eyebrow{font-size:10px}.map-compass{top:15px;right:15px;font-size:12px}
  .map-start .button{font-size:12px;gap:15px;padding-inline:15px}.map-shell.expanded .map-viewport,.map-shell.expanded iframe{min-height:550px;height:550px}
  .footer-navigation{gap:15px 25px;font-size:13px}
}

.production-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.production-grid figure{margin:0;min-width:0}.production-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:26px 26px 6px 6px}.production-grid figcaption{padding:22px 4px}.production-grid figcaption>span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#786544}.production-grid h3{font-size:1.45rem;margin-top:12px}.filters{flex-wrap:wrap}.gallery-toolbar{gap:20px;flex-wrap:wrap}@media(max-width:700px){.production-grid{grid-template-columns:1fr}.production-grid img{aspect-ratio:4/3}}

/* Official identity: original artwork stays intact, with a clear white field. */
.wordmark{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.wordmark .brand-symbol{display:block;width:56px;height:56px;margin:0;padding:0;overflow:hidden;background:#fff;border-radius:12px;letter-spacing:normal}
.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.18)}
.wordmark .brand-type{display:block;font:inherit;letter-spacing:inherit;margin:0;padding:0;color:inherit}
.wordmark .brand-type>span{display:block;font-size:10px;letter-spacing:.5em;margin-top:6px}
.footer .brand-symbol{width:66px;height:66px}
.original-brand{width:250px;max-width:100%;height:auto;mix-blend-mode:normal;border-radius:16px}
@media(max-width:600px){.header .wordmark{gap:9px;font-size:17px}.header .brand-symbol{width:44px;height:44px}.header .brand-type>span{font-size:8px}.original-brand{width:200px}}
.wordmark{flex-direction:row}
