/* Shared viewport system. Only the footer introduces a background layer. */
.standard-section{position:relative;height:100vh;height:100svh;text-align:center}
.standard-container{position:relative;height:100%;max-width:var(--container-max);margin:auto;padding:calc(var(--section-label-top) + 2.5rem) var(--gutter) max(1.5rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,2.5svh,2rem)}
.standard-label{position:absolute;top:var(--section-label-top);left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1rem;margin:0;font-size:.6rem;line-height:1.4;letter-spacing:.25em;color:var(--navy-200)}.standard-label>span{height:1px;width:2.5rem;background:var(--gold-500)}
.standard-heading{flex-shrink:0}.standard-heading h2{font-size:clamp(1.75rem,3.3vw,3.3rem);line-height:1.08;font-weight:900;letter-spacing:-.04em;margin:0 0 .75rem;text-wrap:balance}.standard-heading em{font-style:normal;color:var(--gold-500)}.standard-heading>p{font-size:clamp(.75rem,1vw,.95rem);line-height:1.5;color:var(--navy-200);max-width:80ch;margin:0 auto;text-wrap:balance}
.section-reveal{width:100%;max-width:64rem;min-height:0}
.action-link{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1rem;background:var(--grad-gold);color:var(--navy-800);font-size:.75rem;font-weight:600;border:1px solid var(--gold-500);border-radius:3px}.action-link.ghost{background:transparent;color:var(--gold-500)}.action-link:hover{filter:brightness(1.08)}.unavailable{opacity:.65;cursor:default}.unavailable small{font-size:.6rem;margin-left:.4rem}.text-link{color:var(--gold-500);text-decoration:underline;text-underline-offset:3px}
.faq-list{max-width:860px;flex:0 1 auto}.faq-item{border-bottom:1px solid var(--border);position:relative;text-align:left}.faq-item::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--gold-500);transform:scaleX(0);transform-origin:left;transition:transform .4s}.faq-item.is-open::after{transform:scaleX(1)}.faq-item h3{margin:0}.faq-item button{background:none;width:100%;display:grid;grid-template-columns:2rem 1fr 1.2rem;align-items:center;gap:.7rem;text-align:left;min-height:44px;padding:.75rem 0;font-size:clamp(.8rem,1.1vw,1rem);font-weight:600;transition:color .3s,translate .3s}.faq-item button:hover{color:var(--gold-500);translate:6px 0}.faq-number{color:var(--navy-300);font-size:.65rem}.faq-plus{font-size:1.3rem;font-weight:400;transition:rotate .35s}.is-open .faq-plus{rotate:45deg;color:var(--gold-500)}.faq-answer{overflow:hidden}.faq-answer p{margin:0;padding:.2rem 1.9rem .9rem 2.7rem;font-size:clamp(.72rem,1vw,.9rem);line-height:1.5;color:var(--navy-200)}
.contact-layout{display:grid;grid-template-columns:3fr 2fr;gap:2.5rem;text-align:left;flex:0 1 auto}#contact-form{position:relative;background:color-mix(in srgb,var(--navy-900) 65%,transparent);border:1px solid var(--border);border-radius:10px;padding:1.2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.field{position:relative;padding-bottom:.15rem}.field input,.field select,.field textarea{width:100%;min-height:48px;color:var(--white);background:transparent;border:0;border-bottom:1px solid var(--border);font:inherit;font-size:.8rem;padding:1.15rem .4rem .35rem;border-radius:0;resize:vertical}.field select{color:var(--navy-200);font-size:.72rem}.field select option{background:var(--navy-900)}.field label{position:absolute;top:.9rem;left:.4rem;color:var(--navy-200);font-size:.75rem;pointer-events:none;transform-origin:left top;transition:transform .25s,color .25s}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field select+label{transform:translateY(-.65rem) scale(.8);color:var(--gold-500)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold-500);box-shadow:0 1px 0 var(--gold-500)}.field-error{display:block;color:var(--gold-300);font-size:.65rem;line-height:1.3;min-height:0}.field-error:not(:empty){padding-top:.25rem}.field [aria-invalid=true]{border-color:var(--gold-300)}.privacy-check{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.67rem;color:var(--navy-200);margin:.7rem 0}.privacy-check input{accent-color:var(--gold-500);width:18px;height:18px}.form-actions{display:flex;gap:.7rem;justify-content:flex-end}.form-status{font-size:.7rem;color:var(--gold-300);line-height:1.4;margin:.6rem 0 0}.form-progress{font-size:.65rem;letter-spacing:.12em;color:var(--gold-500);margin:0 0 .7rem}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-details{display:flex;flex-direction:column;justify-content:center;gap:1rem;font-size:.8rem;color:var(--navy-200)}.detail-label{display:block;color:var(--gold-500);font-size:.65rem;letter-spacing:.1em;margin-bottom:.3rem}.contact-details button{background:none;padding:0;min-height:30px;text-align:left;font-size:.8rem}.contact-details p{font-size:.8rem}.contact-details .action-link{align-self:flex-start}.social-links{display:flex;gap:1rem}.details-toggle{display:none}.submit-request[disabled]{opacity:.6}.submit-request.is-sending::after{content:'';width:12px;height:12px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;margin-left:.6rem;animation:form-spin .8s linear infinite}@keyframes form-spin{to{rotate:360deg}}
.site-footer{position:relative;isolation:isolate;background:var(--ink-900);border-top:1px solid var(--border);padding:4rem var(--gutter) 0;overflow:hidden}.footer-columns{max-width:var(--container-max);margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem}.footer-columns h3{font-size:.75rem;letter-spacing:.1em;color:var(--gold-500);margin:0 0 1.2rem}.footer-columns a,.footer-columns p,.footer-columns .unavailable{display:block;font-size:.75rem;line-height:1.6;color:var(--navy-200);margin:0 0 .6rem;overflow-wrap:anywhere}.footer-brand>a{display:flex;align-items:center;gap:.8rem;color:var(--white)}.footer-brand nav{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:1rem}.site-footer a{text-decoration-color:transparent;text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}.site-footer a:hover{color:var(--gold-500);text-decoration:underline}.footer-legal{max-width:var(--container-max);margin:2rem auto 0;padding:1.25rem 0;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.7rem 1.3rem;font-size:.65rem;color:var(--navy-200)}.footer-wordmark{font-size:clamp(3rem,13vw,14rem);font-weight:900;white-space:nowrap;line-height:.8;letter-spacing:-.055em;text-align:center;color:var(--navy-200);opacity:.05;transform:translateY(.15em);margin-top:1.5rem}
@media(max-width:1023px){.contact-layout{gap:1.5rem}.footer-columns{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.standard-container{gap:.9rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.standard-heading h2{font-size:1.75rem;margin-bottom:.5rem}.standard-heading>p{font-size:.7rem;line-height:1.4}.faq-item button{font-size:.75rem;padding:.55rem 0;grid-template-columns:1.4rem 1fr 1rem;gap:.4rem}.faq-answer p{font-size:.68rem;line-height:1.4;padding:.2rem 1rem .7rem 1.8rem}.contact-layout{position:relative;display:flex;flex-direction:column;gap:.65rem}#contact-form{padding:.9rem}.form-grid{gap:.6rem}.field input,.field select,.field textarea{font-size:.75rem}.field textarea{max-height:72px}.field select{font-size:.65rem}.contact-details{display:none;background:var(--navy-900);border:1px solid var(--border);border-radius:8px;padding:1rem;gap:.65rem;position:absolute;inset:0;z-index:3;overflow:auto}.contact-details.is-visible{display:flex}.details-toggle{display:block;min-height:44px;border:1px solid var(--border);background:transparent;color:var(--gold-500);font-size:.75rem}.contact-details .details-close{align-self:flex-end;min-height:44px}.footer-columns{grid-template-columns:1fr;gap:1.5rem}.site-footer{padding-top:2.5rem}}
@media(max-height:700px){.standard-container{padding-top:calc(var(--section-label-top) + 1.8rem);gap:.65rem}.standard-heading h2{font-size:clamp(1.4rem,3vw,2.5rem)}.standard-heading>p{font-size:.68rem}.faq-item button{padding:.4rem 0;font-size:.7rem}.faq-answer p{font-size:.64rem;padding-bottom:.5rem}.field input,.field select{min-height:44px}.contact-layout{gap:.6rem}.form-grid{gap:.4rem}}
.standard-section:not(.section-enhanced){height:auto;min-height:100svh}.standard-section:not(.section-enhanced) .standard-container{height:auto}.standard-section:not(.section-enhanced) .contact-details{display:flex;position:static;background:none;border:0}
@media(prefers-reduced-motion:reduce){.faq-item button,.faq-item::after,.faq-plus,.field label{transition:none}.submit-request.is-sending::after{animation:none}}

@media(min-width:768px){.details-close{display:none}}
#navigation .contact[aria-current=page]{border-color:var(--gold-500);color:var(--gold-500)}

.success-check{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-right:.5rem;fill:none;stroke:var(--gold-500);stroke-width:2}.success-check path{stroke-dasharray:1;animation:success-draw .6s ease both}@keyframes success-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.success-check path{animation:none}}

/* Nosotros shares the editorial type scale of Preguntas and Contacto. */
.nosotros h2{font-size:clamp(1.75rem,3.3vw,3.3rem);line-height:1.08;letter-spacing:-.04em}
.nosotros-description p{font-size:clamp(.75rem,1vw,.95rem);line-height:1.5}
.nosotros-description .nosotros-closing{font-size:clamp(.75rem,1vw,.95rem);line-height:1.5;font-weight:700;margin-top:.85rem}
.nosotros-stage{gap:clamp(.8rem,2svh,1.3rem)}
@media(max-width:767px){
  /* Text and portraits form one centered group, instead of two distant anchors. */
  .nosotros{display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--section-label-top) + 2rem);padding-bottom:1rem}
  .nosotros .section-container{position:static;min-height:0;height:auto;padding:0 var(--gutter);order:1;margin:0;flex:0 0 auto}
  .nosotros .nosotros-portraits{position:relative;inset:auto;order:2;width:100%;height:clamp(9rem,25svh,15rem);flex:0 1 clamp(9rem,25svh,15rem);min-height:7rem;margin-top:.65rem}
  .nosotros .nosotros-portrait{width:49vw;height:100%;max-height:none;bottom:0;object-position:center top}
  .nosotros h2{font-size:1.75rem}
  .nosotros-description p,.nosotros-description .nosotros-closing{font-size:.7rem;line-height:1.4}
  .nosotros-stage{gap:.85rem}
}
@media(max-height:700px){.nosotros h2{font-size:clamp(1.4rem,3vw,2.5rem)}.nosotros-description p,.nosotros-description .nosotros-closing{font-size:.68rem}}
@media(max-height:700px) and (max-width:767px){.nosotros{padding-top:calc(var(--section-label-top) + 1.5rem);padding-bottom:.5rem}.nosotros-stage{gap:.65rem}.nosotros .nosotros-portraits{height:22svh;flex-basis:22svh;margin-top:.5rem}.nosotros-description .nosotros-closing{margin-top:.65rem}}

/* Mobile portraits: larger silhouettes and a deliberate text-to-image gap. */
@media(max-width:767px){
  .nosotros .nosotros-portraits{height:clamp(11rem,29svh,18rem);flex-basis:clamp(11rem,29svh,18rem);min-height:10rem;margin-top:clamp(1.75rem,4svh,2.75rem)}
  .nosotros .nosotros-portrait{width:64vw;height:100%;object-fit:contain;object-position:center top}
  .nosotros .nosotros-portrait--left{left:-9vw}
  .nosotros .nosotros-portrait--right{right:-9vw}
}
@media(max-height:700px) and (max-width:767px){
  .nosotros .nosotros-portraits{height:27svh;flex-basis:27svh;min-height:9rem;margin-top:1.5rem}
}

/* Keep the text and portraits together with a bounded, moderate gap. */
@media(max-width:767px){
  .nosotros{justify-content:center;padding-bottom:1rem}
  .nosotros .section-container{margin:0}
  .nosotros .nosotros-portraits{margin-top:clamp(2rem,4svh,2.75rem);flex-shrink:0}
}
@media(max-height:700px) and (max-width:767px){
  .nosotros .nosotros-portraits{margin-top:1.5rem;flex-shrink:1}
}
