/* Páginas profesionales: extensión editorial de la identidad existente. */
.pro-page { margin:0; min-width:0; background:#f7f5f0; color:#11110f; font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.75; }
.pro-page *, .pro-home-content *, .pro-header * { box-sizing:border-box; }
.pro-page a, .pro-home-content a { color:inherit; }
.pro-page a:focus-visible, .pro-home-content a:focus-visible, .pro-page summary:focus-visible, .pro-skip:focus-visible { outline:3px solid #176e64; outline-offset:5px; }
.pro-page h1,.pro-page h2,.pro-page h3,.pro-home-content h2,.pro-home-content h3 { font-family:'Bodoni Moda',Georgia,serif; font-weight:500; letter-spacing:-.04em; text-wrap:balance; }
.pro-page h1 { font-size:clamp(3.2rem,6.5vw,6.5rem); line-height:1.04; margin:1.8rem 0; max-width:19ch; }
.pro-page :is(h1,h2,h3),.pro-home-content :is(h2,h3) { overflow-wrap:break-word; hyphens:auto; }
.pro-page h2,.pro-home-content h2 { font-size:clamp(2.4rem,4vw,4.6rem); line-height:1.1; margin:0 0 1.5rem; }
.pro-page h3,.pro-home-content h3 { font-size:clamp(1.8rem,2.5vw,2.5rem); line-height:1.15; margin:0 0 1rem; }
.pro-page p,.pro-home-content p { margin:0 0 1.3rem; }
.pro-page em,.pro-home-content em { color:#176e64; }
.pro-page img { display:block; max-width:100%; height:auto; }
.pro-skip { position:fixed; top:8px; left:12px; transform:translateY(-160%); padding:12px 18px; background:#fff; color:#111; z-index:10000; font:700 14px Manrope,Arial,sans-serif; }
.pro-skip:focus { transform:none; }
.pro-header { position:fixed; top:0; left:0; right:0; height:78px; display:flex; align-items:center; gap:2rem; padding:0 clamp(1.25rem,4vw,4rem); z-index:100; background:#f7f5f0f5; border-bottom:1px solid #d9d5cc; backdrop-filter:blur(12px); }
.pro-brand { display:flex; align-items:center; width:240px; flex-shrink:0; }
.pro-brand img { width:100%; height:auto; }
.pro-desktop-nav { margin-left:auto; display:flex; align-items:center; gap:2rem; }
.pro-desktop-nav a { display:flex; align-items:center; min-height:44px; color:#35332e; font-size:.82rem; text-decoration:none; }
.pro-desktop-nav a[aria-current],.pro-desktop-nav a:hover { color:#176e64; text-decoration:underline; text-underline-offset:6px; }
.pro-desktop-nav a:last-child { color:#176e64; font-weight:750; }
.pro-mobile-menu { display:none; position:relative; margin-left:auto; }
.pro-mobile-menu summary { cursor:pointer; display:flex; align-items:center; min-height:44px; gap:12px; list-style:none; font-size:.85rem; }
.pro-mobile-menu summary::-webkit-details-marker { display:none; }
.pro-mobile-menu summary span { font-size:1.4rem; }
.pro-mobile-menu nav { position:absolute; top:100%; right:0; width:min(310px,calc(100vw - 2.5rem)); padding:.7rem 1.2rem; background:#f7f5f0; border:1px solid #d9d5cc; box-shadow:0 18px 35px #11110f15; }
.pro-mobile-menu nav a { display:block; min-height:44px; padding:.65rem 0; border-bottom:1px solid #d9d5cc; text-decoration:none; font-size:.9rem; }
.pro-mobile-menu nav a:last-child { border:0; color:#176e64; }
.pro-page main { max-width:1400px; margin:0 auto; padding:78px clamp(1.25rem,5vw,5rem) 0; }
.pro-breadcrumb { display:flex; flex-wrap:wrap; gap:.6rem; font-size:.7rem; color:#555149; padding:2rem 0; }
.pro-breadcrumb a { text-underline-offset:4px; }
.pro-hero { padding:3rem 0 5rem; }
.pro-eyebrow { font-family:Manrope,Arial,sans-serif; font-size:.68rem; letter-spacing:.16em; font-weight:750; line-height:1.6; text-transform:uppercase; color:#176e64; }
.pro-page .pro-lead,.pro-home-content .pro-lead { max-width:65ch; font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.75; color:#49463f; margin:1.8rem 0; }
.pro-page .pro-specialty-line,.pro-home-content .pro-specialty-line { font-size:.8rem; line-height:1.9; max-width:100%; margin:0 0 2rem; color:#49463f; }
.pro-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(2rem,7vw,7rem); padding:5rem 0; border-top:1px solid #cec9be; }
.pro-section h2 { font-size:clamp(2.1rem,3.5vw,3.6rem); }
.pro-prose { max-width:66ch; color:#49463f; }
.pro-list { padding-left:1.1rem; margin:0; }
.pro-list li { padding:0 0 .85rem .3rem; }
.pro-list li::marker { color:#176e64; }
.pro-page .text-link,.pro-home-content .text-link { display:inline-block; min-height:44px; padding:.65rem 0; font-size:.88rem; line-height:1.6; color:#176e64; font-weight:700; text-underline-offset:5px; }
.text-link span { display:inline-block; margin-left:.45rem; }
.pro-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #cec9be; margin:2rem 0; }
.pro-page .pro-card,.pro-home-content .pro-card { display:block; position:relative; padding:2.5rem 3.5rem 2.5rem 0; border-bottom:1px solid #cec9be; text-decoration:none; transition:background-color .2s; }
.pro-card:nth-child(even) { padding-left:2.5rem; border-left:1px solid #cec9be; }
.pro-card:nth-child(odd) { padding-right:3rem; }
.pro-card:hover { background:#ece9e160; }
.pro-card h3 { max-width:18ch; }
.pro-card p { max-width:44ch; color:#49463f; font-size:.93rem; line-height:1.75; margin-bottom:0; }
.pro-card-number { display:block; color:#176e64; font:700 .68rem/1.5 Manrope,Arial,sans-serif; letter-spacing:.1em; margin-bottom:1.5rem; }
.pro-card-arrow { position:absolute; top:2rem; right:1.2rem; color:#176e64; font-size:1.5rem; }
.pro-faq,.pro-method,.pro-projects { padding:5rem 0; border-top:1px solid #cec9be; }
.pro-faq details { border-bottom:1px solid #cec9be; }
.pro-faq summary { cursor:pointer; padding:1.4rem 2rem 1.4rem 0; font-size:1rem; font-weight:650; }
.pro-faq details p { max-width:75ch; color:#49463f; padding:0 0 1rem; }
.pro-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:3rem; border-top:1px solid #cec9be; }
.pro-principles article { padding:2rem 1.5rem 0 0; }
.pro-principles article+article { padding-left:1.5rem; border-left:1px solid #cec9be; }
.pro-principles h3 { font-size:2rem; }
.pro-principles p { font-size:.88rem; line-height:1.8; color:#49463f; }
.pro-principles strong { font-weight:650; color:#292722; }
.pro-about { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,7vw,7rem); align-items:center; padding:5rem 0; border-top:1px solid #cec9be; }
.pro-about img { width:100%; max-height:570px; object-fit:cover; }
.pro-about p:not(.pro-eyebrow) { color:#49463f; }
.pro-closing { font-family:'Bodoni Moda',Georgia,serif; font-size:clamp(2.7rem,5vw,5rem); line-height:1.12; letter-spacing:-.04em; padding:3rem 0 6rem; }
.pro-case-list { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin:2rem 0 4rem; }
.pro-case-list>a { display:block; border-top:1px solid #cec9be; padding:2rem 0; text-decoration:none; }
.pro-case-list h3 { margin-top:1.5rem; max-width:20ch; }
.pro-case-list p { color:#49463f; font-size:.95rem; line-height:1.75; }
.pro-case-list>a>span:last-child { font-size:1.8rem; color:#176e64; }
.pro-case-list>a:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:8px; }
.pro-project-row { display:grid; grid-template-columns:40px 1fr 1.2fr; gap:2rem; align-items:baseline; padding:2rem 0; border-top:1px solid #cec9be; }
.pro-project-row>span { font-size:.7rem; color:#176e64; }
.pro-project-row h3 { font-size:2rem; margin:0; }
.pro-project-row p { color:#49463f; font-size:.93rem; margin:0; }
.pro-status { padding:1.5rem 2rem; background:#ece9e1; border-left:3px solid #176e64; margin-bottom:4rem; }
.pro-status strong { color:#176e64; font-size:.84rem; }
.pro-status p { margin:1rem 0 0; font-size:.94rem; color:#49463f; }
.pro-contact { background:#ece9e1; border-top:1px solid #cec9be; padding:5rem clamp(1.25rem,5vw,5rem); display:grid; grid-template-columns:1.5fr 1fr; gap:4rem; align-items:center; }
.pro-contact h2 { max-width:14ch; }
.pro-contact p:not(.pro-eyebrow) { max-width:60ch; color:#49463f; }
.pro-contact .pro-button { display:inline-flex; align-items:center; min-height:50px; padding:.9rem 1.5rem; background:#176e64; color:white; font-weight:700; font-size:.85rem; text-decoration:none; gap:2rem; }
.pro-contact .pro-button:hover { background:#10554d; }
.pro-email { display:block; width:fit-content; max-width:100%; overflow-wrap:anywhere; margin-top:1.2rem; font-size:.85rem; text-underline-offset:4px; }
.pro-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem; padding:3rem clamp(1.25rem,5vw,5rem); border-top:1px solid #cec9be; font-size:.8rem; color:#49463f; }
.pro-footer strong { color:#11110f; }
.pro-footer p { margin-top:.75rem; }
.pro-footer nav { display:flex; flex-wrap:wrap; gap:1.5rem; }
.pro-footer nav a { min-height:44px; text-underline-offset:4px; }
.pro-footer-note { flex-basis:100%; }
.pro-footer .text-link { font-size:.8rem; }
.pro-home-content { width:100%; font-family:Manrope,Arial,sans-serif; background:#f7f5f0; color:#11110f; line-height:1.75; }
.pro-home-section { padding:6rem clamp(1.25rem,5vw,6rem); border-top:1px solid #cec9be; }
.pro-home-section>h2 { max-width:21ch; }
.pro-home-method { background:#ece9e1; }
.pro-relationship { display:grid; grid-template-columns:1fr 1.5fr; gap:1rem 4rem; padding-top:3rem; border-top:1px solid #cec9be; }
.pro-relationship h3 { max-width:18ch; }
.pro-relationship p { color:#49463f; font-size:.95rem; }
.pro-relationship .text-link { grid-column:2; }
.pro-home-content [id],.pro-page [id] { scroll-margin-top:94px; }
.js-header-specialties { display:inline-flex; align-items:center; min-height:44px; color:#176e64; font-size:.8rem; font-weight:750; text-decoration:none; }
@media (max-width:1100px) {
  .joaquin-home[data-launch-ready] .scene-nav { display:none; }
  .joaquin-home[data-launch-ready] .js-mobile-menu { display:block; }
  .js-header-specialties { margin-left:auto; }
  .joaquin-home[data-launch-ready] .js-header-contact { margin-left:0; }
  .pro-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pro-principles article { border-bottom:1px solid #cec9be; }
  .pro-principles article:nth-child(3) { border-left:0; padding-left:0; }
}
@media (max-width:760px) {
  .pro-header { height:66px; padding:0 1.25rem; }
  .pro-brand { width:190px; }
  .pro-desktop-nav { display:none; }
  .pro-mobile-menu { display:block; }
  .pro-page main { padding-top:66px; }
  .pro-breadcrumb { padding:1.3rem 0; }
  .pro-hero { padding:2rem 0 3rem; }
  .pro-page h1 { font-size:clamp(2.7rem,10.5vw,4.5rem); max-width:18ch; }
  .pro-section { grid-template-columns:1fr; gap:.8rem; padding:3rem 0; }
  .pro-section h2 { max-width:17ch; }
  .pro-cards { grid-template-columns:1fr; }
  .pro-page .pro-card,.pro-home-content .pro-card { padding:2rem 2.3rem 2rem 0; border-left:0; }
  .pro-card h3 { font-size:2.1rem; }
  .pro-principles { grid-template-columns:1fr; }
  .pro-principles article,.pro-principles article+article { padding:1.8rem 0; border-left:0; }
  .pro-principles .pro-card-number { margin-bottom:.7rem; }
  .pro-principles p:last-child { margin-bottom:0; }
  .pro-about { grid-template-columns:1fr; padding:3rem 0; }
  .pro-about img { max-width:360px; max-height:420px; object-position:center 25%; }
  .pro-faq,.pro-method,.pro-projects { padding:3rem 0; }
  .pro-closing { padding:2rem 0 4rem; }
  .pro-case-list { grid-template-columns:1fr; gap:0; margin-bottom:2rem; }
  .pro-case-list>a { padding:2rem 0; }
  .pro-project-row { grid-template-columns:25px 1fr; gap:.7rem 1rem; }
  .pro-project-row p { grid-column:2; }
  .pro-project-row h3 { font-size:1.8rem; }
  .pro-status { padding:1.3rem; margin-bottom:3rem; }
  .pro-contact { grid-template-columns:1fr; gap:1rem; padding:3.5rem 1.25rem; }
  .pro-footer { gap:1rem; padding:2rem 1.25rem; }
  .pro-footer nav { gap:.3rem 1.5rem; }
  .pro-home-section { padding:4rem 1.25rem; }
  .pro-relationship { grid-template-columns:1fr; gap:1rem; }
  .pro-relationship .text-link { grid-column:1; }
  .pro-home-content [id],.pro-page [id] { scroll-margin-top:80px; }
  .joaquin-home[data-launch-ready] .js-header-specialties { display:none; }
  .joaquin-home[data-launch-ready] .js-header-contact { margin-left:auto; }
}
@media (prefers-reduced-motion:reduce) { .pro-card { transition:none; } }
@media (max-width:360px) { .pro-page h1 { font-size:2.1rem; line-height:1.12; hyphens:none; } }
