/* Balboa N27 — styles scoped to the parallel design */
body.balboa-n27{margin:0;background:#f2f2f2;color:#4d4d4d;font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.5}body.balboa-n27 *{box-sizing:border-box}body.balboa-n27 a{color:inherit;text-decoration:none}body.balboa-n27 button{font:inherit;color:inherit;cursor:pointer}body.balboa-n27 [hidden]{display:none!important}.n27-site{max-width:1920px;margin:auto;padding:0 clamp(22px,3.2vw,65px)}.n27-header{position:relative;z-index:30;display:flex;justify-content:space-between;align-items:start;padding:28px 0;min-height:100px;gap:24px}.n27-wordmark{font-size:14px;font-weight:700;letter-spacing:.015em;color:#000!important;white-space:nowrap}.n27-nav{display:flex;align-items:center;gap:3px;width:min(58%,760px)}.n27-nav>a,.n27-nav>button,.n27-menu-toggle,.n27-footer__label,.n27-service h2{background:#e6e6e6;border:0;border-radius:100px;padding:9px 18px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.01em}.n27-nav>a,.n27-nav>button{flex:1}.n27-nav .is-active{background:#d5d5d5}.n27-nav>button{display:flex;justify-content:space-between}.n27-contact-pop,.n27-mobile-menu{position:absolute;right:0;top:69px;width:min(310px,90vw);background:#e6e6e6;border-radius:12px;padding:24px;box-shadow:0 10px 30px #0001}.n27-contact-pop>a,.n27-mobile-menu>a{display:block;margin-bottom:12px}.n27-contact-pop p{margin:14px 0}.n27-contact-pop button,.n27-mobile-menu button{border:0;padding:0;text-decoration:underline;background:transparent}.n27-menu-toggle{display:none}.n27-main{min-height:55vh}.n27-hero-images{display:grid;grid-template-columns:1.1fr 1fr 1.25fr 1.05fr 1.2fr 1fr;align-items:center;gap:clamp(12px,1.5vw,30px);padding:clamp(35px,5vw,100px) 0 90px}.n27-hero-images__tile{height:clamp(130px,14vw,270px);background:#ddd;overflow:hidden}.n27-hero-images__tile:nth-child(even){height:clamp(100px,11vw,210px)}.n27-hero-images__tile img,.n27-project__image img,.n27-think__image img{width:100%;height:100%;object-fit:cover;display:block}.n27-kicker,.n27-section-head h2{font-size:17px;font-weight:500;letter-spacing:.05em;margin:0}.n27-intro{padding:30px 0 100px}.n27-intro h1{font-size:clamp(24px,2.5vw,44px);font-weight:500;line-height:1.25;letter-spacing:-.035em;max-width:1050px;margin:20px 0}.n27-intro p{font-size:clamp(18px,1.6vw,27px);line-height:1.4;max-width:1000px}.n27-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.n27-section-head a{font-size:11px;font-weight:700}.n27-home-projects{padding-bottom:100px}.n27-home-projects__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,36px)}.n27-project{min-width:0}.n27-project__toggle{display:block;text-align:left;width:100%;background:transparent;border:0;padding:0}.n27-project__image{display:block;aspect-ratio:1.12;background:#ddd;overflow:hidden;border-radius:3px}.n27-project__name{display:block;color:#111;font-weight:600;margin-top:10px;font-size:14px}.n27-project__category{display:block;font-size:10px;letter-spacing:.04em;text-transform:uppercase;margin-top:2px}.n27-project__detail{margin-top:16px;background:#e6e6e6;border-radius:4px}.n27-project__detail-inner{padding:clamp(18px,2.2vw,35px);font-size:14px;line-height:1.65}.n27-project__detail-inner p:first-child{margin-top:0}.n27-project__detail-inner p:last-child{margin-bottom:0}.n27-project__toggle:focus-visible,.n27-nav a:focus-visible,.n27-nav button:focus-visible{outline:2px solid #111;outline-offset:4px}.n27-clients{padding-bottom:110px}.n27-clients h2{margin-bottom:30px}.n27-clients__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.n27-client{background:#fff;aspect-ratio:1.65;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-size:11px}.n27-client img{max-width:100%;max-height:100%;object-fit:contain}.n27-think{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding-bottom:100px;align-items:start}.n27-think h2{font-size:clamp(24px,2.6vw,42px);color:#111;margin:0 0 4px}.n27-think p{margin-top:65px;max-width:400px}.n27-think__image{min-height:280px;aspect-ratio:1.8;background:#d0d0d0}.n27-services{padding:clamp(65px,9vw,170px) 0 160px}.n27-services__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.n27-service h2{margin:0 0 28px;white-space:nowrap}.n27-service p{padding:0 12px;font-size:clamp(13px,1.05vw,16px);line-height:1.6;max-width:360px}.n27-projects{padding:35px 0 130px}.n27-projects>h1{font-size:clamp(21px,2.3vw,38px);font-weight:500;line-height:1.35;max-width:900px;margin:0 0 70px}.n27-projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(16px,2vw,45px);row-gap:70px;align-items:start}.n27-projects__grid .n27-project:nth-child(3n+2){padding-top:75px}.n27-projects__grid .n27-project:nth-child(3n+3){padding-top:18px}.n27-projects__grid .n27-project:nth-child(3n+2) .n27-project__image{aspect-ratio:1.15}.n27-projects__grid .n27-project:nth-child(3n+1) .n27-project__image{aspect-ratio:.85}.n27-projects__grid .n27-project:nth-child(3n+3) .n27-project__image{aspect-ratio:.78}.n27-footer{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:40px 0 55px;align-items:start}.n27-footer__label{display:block;margin-bottom:12px}.n27-footer p{font-size:12px;margin:0 10px}.n27-underlined{display:block;border:0;background:transparent;text-decoration:underline;margin:18px 10px 0;padding:0;font-size:11px;font-weight:700}.n27-dialog{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.n27-dialog__shade{position:absolute;inset:0;background:#0009}.n27-dialog__panel{position:relative;background:#f2f2f2;width:min(640px,100%);max-height:90vh;overflow:auto;padding:clamp(24px,4vw,55px);border-radius:8px}.n27-dialog__panel h2{font-size:25px;color:#111}.n27-dialog__close{position:absolute;right:20px;top:12px;border:0;background:transparent;font-size:32px!important}.n27-dialog input:not([type=submit]),.n27-dialog textarea{max-width:100%;width:100%;padding:12px;border:1px solid #ccc;background:#fff}.n27-dialog input[type=submit]{background:#111;color:#fff;padding:12px 25px;border:0}
@media(max-width:900px){.n27-nav{display:none}.n27-menu-toggle{display:block}.n27-hero-images{grid-template-columns:repeat(3,1fr);padding:25px 0 60px}.n27-hero-images__tile,.n27-hero-images__tile:nth-child(even){height:auto;aspect-ratio:1.05}.n27-home-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.n27-clients__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.n27-services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 18px}.n27-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.n27-projects__grid .n27-project{padding-top:0!important}.n27-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.n27-think{gap:25px}}
@media(max-width:580px){.n27-site{padding:0 20px}.n27-header{padding:20px 0;min-height:75px}.n27-wordmark{font-size:12px}.n27-hero-images{gap:8px}.n27-intro{padding:20px 0 70px}.n27-intro h1{font-size:23px}.n27-intro p{font-size:17px}.n27-home-projects{padding-bottom:75px}.n27-home-projects__grid{gap:15px}.n27-project__name{font-size:12px}.n27-project__category{font-size:9px}.n27-clients__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.n27-clients{padding-bottom:75px}.n27-think{grid-template-columns:1fr;padding-bottom:75px}.n27-think p{margin-top:25px}.n27-think__image{min-height:190px}.n27-services{padding:55px 0 100px}.n27-services__grid{grid-template-columns:1fr;gap:40px}.n27-service h2{margin-bottom:16px}.n27-service p{padding:0 8px}.n27-projects{padding:20px 0 85px}.n27-projects>h1{font-size:22px;margin-bottom:40px}.n27-projects__grid{grid-template-columns:1fr;row-gap:35px}.n27-projects__grid .n27-project__image{aspect-ratio:1.3!important}.n27-footer{grid-template-columns:1fr 1fr;gap:24px;padding:30px 0 45px}.n27-footer>.n27-wordmark{grid-column:1/-1}.n27-footer__label{font-size:9px;padding:8px}.n27-footer p{font-size:11px;margin:0}.n27-underlined{margin:12px 0}}
@media(prefers-reduced-motion:no-preference){.n27-project__image img{transition:transform .4s ease}.n27-project__toggle:hover img{transform:scale(1.025)}}

/* N27 refinamiento editorial — 2026-11-09 */
.n27-header{align-items:center}
.n27-intro h1,.n27-intro p{font-weight:500;letter-spacing:0;color:#999}
.n27-intro h1{max-width:none;line-height:1.2;margin:28px 0 48px}
.n27-intro p{max-width:none;line-height:1.25;margin:0}
.n27-intro .n27-emphasis{color:#4d4d4d;font-weight:500}
.n27-intro strong{font-weight:500;color:#4d4d4d}
@media(min-width:901px){.n27-intro h1,.n27-intro p{font-size:clamp(34px,2.15vw,32px)}.n27-intro{padding-bottom:100px}}
@media(max-width:900px){.n27-header{align-items:center}.n27-menu-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;flex:0 0 auto;min-height:36px;line-height:1.1}.n27-wordmark{line-height:1.15}.n27-intro h1{margin:20px 0 32px}}
@media(max-width:580px){.n27-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:74px}.n27-wordmark{font-size:12px;white-space:nowrap;letter-spacing:0}.n27-menu-toggle{width:auto;min-width:106px;padding:10px 15px;font-size:12px}.n27-intro h1,.n27-intro p{font-size:clamp(19px,5.2vw,25px);line-height:1.35}.n27-intro h1{margin:22px 0 30px}}
/* Animaciones no intrusivas: solo cuando JS confirma observación */
@media(prefers-reduced-motion:no-preference){
.n27-motion-ready .n27-animate{opacity:0;transform:translate3d(0,18px,0);transition:opacity .75s ease,transform .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--n27-delay,0ms)}
.n27-motion-ready .n27-animate.n27-in-view{opacity:1;transform:translateZ(0)}
.n27-hero-images__tile img,.n27-project__image img{transition:transform .7s cubic-bezier(.22,1,.36,1)}
.n27-hero-images__tile:hover img,.n27-project__toggle:hover img{transform:scale(1.035)}
.n27-menu-toggle,.n27-nav>a,.n27-nav>button{transition:background-color .25s ease}
.n27-menu-toggle:hover,.n27-nav>a:hover,.n27-nav>button:hover{background-color:#d8d8d8}
}

/* N27 v3 — tarjetas de Home ajustadas a la maqueta de Masha.
   Afecta exclusivamente a la sección de proyectos de la Home N27. */
.n27-home-projects .n27-section-head{margin-bottom:clamp(28px,2.7vw,52px)}
.n27-home-projects .n27-section-head h2,
.n27-home-projects .n27-section-head a{
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(12px,0.94vw,17px);
  font-weight:400;
  letter-spacing:.075em;
  line-height:1.4;
  color:#4d4d4d;
}
.n27-home-projects .n27-home-projects__grid{align-items:start;gap:clamp(16px,3.2vw,60px)}
.n27-home-projects .n27-project__image{aspect-ratio:auto;height:auto;border-radius:5px}
.n27-home-projects .n27-project:nth-child(odd) .n27-project__image{aspect-ratio:0.82}
.n27-home-projects .n27-project:nth-child(even) .n27-project__image{aspect-ratio:0.94;margin-top:clamp(18px,1.5vw,30px)}
.n27-home-projects .n27-project__name{
  font-size:clamp(15px,1.25vw,24px);
  font-weight:400;
  line-height:1.3;
  letter-spacing:-.015em;
  margin-top:clamp(12px,1.1vw,20px);
  color:#111;
}
.n27-home-projects .n27-project__category{
  font-size:clamp(11px,.95vw,17px);
  font-weight:400;
  letter-spacing:.075em;
  line-height:1.45;
  margin-top:2px;
  color:#4d4d4d;
}
@media(max-width:900px){
  .n27-home-projects .n27-home-projects__grid{gap:28px 20px}
  .n27-home-projects .n27-project:nth-child(even) .n27-project__image{margin-top:14px}
}
@media(max-width:580px){
  .n27-home-projects .n27-home-projects__grid{gap:24px 14px}
  .n27-home-projects .n27-section-head h2,.n27-home-projects .n27-section-head a{font-size:11px}
  .n27-home-projects .n27-project__name{font-size:13px}
  .n27-home-projects .n27-project__category{font-size:10px}
  .n27-home-projects .n27-project:nth-child(even) .n27-project__image{margin-top:10px}
}


/* ==========================================
   BALBOA N27 — HOME / PROYECTOS
   Ajustes de fidelidad visual
   ========================================== */

/* Títulos de los proyectos */
.n27-home-projects .n27-project__name {
    font-size: clamp(15px, 1.25vw, 22px);
    font-weight: 400;
    line-height: 1.3;
}

/* Categorías */
.n27-home-projects .n27-project__category {
    font-size: clamp(11px, .95vw, 16px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .04em;
}

/* Cabecera: Proyectos / Ver más */
.n27-home-projects .n27-section-head h2,
.n27-home-projects .n27-section-head a {
    font-weight: 500;
}

/* Esquinas suavemente redondeadas */
.n27-home-projects .n27-project__media {
    border-radius: 6px;
    overflow: hidden;
}

/* Imágenes dentro de las tarjetas */
.n27-home-projects .n27-project__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}


/* N27 — desplegable editorial de proyectos. Conserva los ajustes previos. */
body.balboa-n27 .n27-project__detail {
    overflow: hidden;
    margin-top: 0;
    opacity: 0;
    transform: translateY(-8px);
    will-change: height;
}
body.balboa-n27 .n27-project__detail.is-open {
    margin-top: 16px;
    opacity: 1;
    transform: translateY(0);
}
body.balboa-n27 .n27-project__toggle[aria-expanded="true"] .n27-project__name {
    color: #4d4d4d;
}
@media (prefers-reduced-motion: reduce) {
    body.balboa-n27 .n27-project__detail { transform: none; will-change: auto; }
}

/* N27 — microinteracciones editoriales (solo movimiento, sin alterar diseño). */
@media (prefers-reduced-motion: no-preference) {
 body.balboa-n27 .n27-project__image img {transition:transform 650ms cubic-bezier(.22,1,.36,1);}
 body.balboa-n27 .n27-project__toggle:hover .n27-project__image img {transform:scale(1.035);}
 body.balboa-n27 .n27-nav a,body.balboa-n27 .n27-nav button,
 body.balboa-n27 .n27-menu-toggle,body.balboa-n27 .n27-section-head a {
   transition:background-color 240ms ease,color 240ms ease,opacity 240ms ease;
 }
 body.balboa-n27 .n27-project__detail-inner {transition:opacity 320ms ease;}
 body.balboa-n27 .n27-project__toggle .n27-project__name {transition:color 250ms ease;}
 body.balboa-n27 .n27-contact-pop:not([hidden]),body.balboa-n27 .n27-mobile-menu:not([hidden]) {
   animation:n27-menu-enter 300ms cubic-bezier(.22,1,.36,1) both;
 }
 @keyframes n27-menu-enter {from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
 body.balboa-n27 .n27-dialog:not([hidden]) .n27-dialog__shade {animation:n27-shade-enter 250ms ease both;}
 body.balboa-n27 .n27-dialog:not([hidden]) .n27-dialog__panel {animation:n27-dialog-enter 380ms cubic-bezier(.22,1,.36,1) both;}
 @keyframes n27-shade-enter {from{opacity:0}to{opacity:1}}
 @keyframes n27-dialog-enter {from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
}
@media (prefers-reduced-motion: reduce) {
 body.balboa-n27 .n27-animate {opacity:1!important;transform:none!important;transition:none!important;}
 body.balboa-n27 .n27-project__image img {transition:none!important;transform:none!important;}
}

/* N27 — logotipo editorial de Masha y radios suaves en imágenes */
body.balboa-n27 .n27-wordmark{display:inline-flex;align-items:baseline;gap:.28em;font-family:Inter,Arial,sans-serif;font-size:clamp(12px,.95vw,16px);line-height:1.2;letter-spacing:.055em;color:#000!important;white-space:nowrap;font-weight:400}
body.balboa-n27 .n27-wordmark__strong{font-weight:650}
body.balboa-n27 .n27-wordmark__light{font-weight:300;white-space:pre}
body.balboa-n27 .n27-hero-images__tile{border-radius:7px;overflow:hidden;isolation:isolate}
body.balboa-n27 .n27-hero-images__tile img{border-radius:inherit}
/* El HTML de las tarjetas usa __image (no __media). */
body.balboa-n27 .n27-home-projects .n27-project__image{border-radius:6px;overflow:hidden;isolation:isolate}
@media(max-width:580px){body.balboa-n27 .n27-wordmark{font-size:clamp(10px,2.7vw,12px);letter-spacing:.025em;gap:.18em}body.balboa-n27 .n27-hero-images__tile{border-radius:5px}}


/* N27 — Think Tank: proporciones y alineación según maqueta (2026-11-09). */
body.balboa-n27 .n27-think{
  grid-template-columns:minmax(0,1fr) minmax(0,2.05fr);
  gap:clamp(28px,3.6vw,72px);
  align-items:stretch;
}
body.balboa-n27 .n27-think__copy{
  display:flex;flex-direction:column;align-items:flex-start;min-width:0;
}
body.balboa-n27 .n27-think__copy h2{
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(27px,2.85vw,56px);
  font-weight:300;letter-spacing:0;line-height:1.12;
  white-space:nowrap;margin:0 0 20px;color:#000;
}
body.balboa-n27 .n27-think__title-light{font-weight:300}
body.balboa-n27 .n27-think__copy h2 strong{font-weight:700}
body.balboa-n27 .n27-think__copy > .n27-kicker{
  font-size:clamp(11px,1vw,18px);font-weight:400;letter-spacing:.085em;line-height:1.4;
}
body.balboa-n27 .n27-think__copy > p{
  margin:auto 0 0;max-width:100%;
  font-size:clamp(13px,1vw,18px);line-height:1.48;letter-spacing:0;
}
body.balboa-n27 .n27-think__image{
  position:relative;width:100%;min-height:0;aspect-ratio:2.7 / 1;
  background:#d0d0d0;border-radius:7px;overflow:hidden;isolation:isolate;
}
body.balboa-n27 .n27-think__video{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:center;border-radius:inherit;
}
@media(max-width:900px){
  body.balboa-n27 .n27-think{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:25px}
  body.balboa-n27 .n27-think__copy h2{font-size:clamp(20px,3vw,32px);white-space:normal}
  body.balboa-n27 .n27-think__image{aspect-ratio:2 / 1}
}
@media(max-width:580px){
  body.balboa-n27 .n27-think{grid-template-columns:1fr;gap:22px}
  body.balboa-n27 .n27-think__copy h2{font-size:clamp(26px,6vw,36px);margin-bottom:12px}
  body.balboa-n27 .n27-think__copy > p{margin:28px 0 0;font-size:14px}
  body.balboa-n27 .n27-think__image{aspect-ratio:1.8 / 1;min-height:0;border-radius:5px}
}


/* N27 — tipografía aprobada y transiciones premium V4 */
body.balboa-n27 .n27-project__name{font-size:18px}
body.balboa-n27 .n27-project__category{font-size:13px}
@media(max-width:580px){
 body.balboa-n27 .n27-projects__grid .n27-project__name{font-size:16px}
 body.balboa-n27 .n27-projects__grid .n27-project__category{font-size:12px}
}
@media(prefers-reduced-motion:no-preference){
 /* Entrada sin desplazamiento de la página: evita el parpadeo del contenido. */
 body.balboa-n27 .n27-site{animation:n27-page-enter 620ms cubic-bezier(.22,1,.36,1) both}
 @keyframes n27-page-enter{from{opacity:0}to{opacity:1}}
 body.balboa-n27.n27-page-leaving .n27-site{
   animation:none!important;opacity:0!important;
   transition:opacity 260ms cubic-bezier(.4,0,.2,1)!important;
 }
 /* Cada fotografía permanece en su sitio: apenas 8px de derecha a izquierda. */
 body.balboa-n27.n27-hero-sequence .n27-hero-images__tile{
   animation:n27-hero-soft-in 850ms cubic-bezier(.22,1,.36,1) both;
   animation-delay:calc(180ms + var(--n27-hero-index,0) * 115ms);
 }
 @keyframes n27-hero-soft-in{
   from{opacity:0;transform:translate3d(8px,0,0)}
   to{opacity:1;transform:translate3d(0,0,0)}
 }
 /* Bloques de contenido: revelar con opacidad, sin saltos verticales. */
 body.balboa-n27.n27-motion-ready .n27-page-reveal{
   opacity:0;transform:none;
   transition:opacity 680ms cubic-bezier(.22,1,.36,1);
   transition-delay:var(--n27-delay,0ms);
 }
 body.balboa-n27.n27-motion-ready .n27-page-reveal.n27-in-view{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
 body.balboa-n27 .n27-site,body.balboa-n27 .n27-hero-images__tile{animation:none!important}
 body.balboa-n27 .n27-page-reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* N27 V5 — cabecera móvil equilibrada y galería horizontal táctil. */
@media (max-width:580px){
  body.balboa-n27 .n27-header{min-height:72px;padding:18px 0;gap:12px;align-items:center}
  body.balboa-n27 .n27-wordmark{font-size:clamp(13px,3.25vw,16px);line-height:1.2;letter-spacing:.005em;white-space:nowrap;flex:0 1 auto;min-width:0}
  body.balboa-n27 .n27-menu-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;width:auto;min-width:0;min-height:0;padding:9px 13px;border-radius:999px;font-size:11px;line-height:1.25;font-weight:500;letter-spacing:0}
  body.balboa-n27 .n27-hero-images{
    display:flex;align-items:center;gap:12px;
    width:calc(100% + 20px);margin-right:-20px;
    padding:25px 20px 42px 0;
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;scroll-padding-inline:0 20px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
  }
  body.balboa-n27 .n27-hero-images::-webkit-scrollbar{display:none}
  body.balboa-n27 .n27-hero-images__tile,
  body.balboa-n27 .n27-hero-images__tile:nth-child(even){
    flex:0 0 clamp(205px,65vw,310px);
    width:clamp(205px,65vw,310px);
    height:auto;aspect-ratio:1.06;
    scroll-snap-align:start;scroll-snap-stop:always;
    border-radius:7px;overflow:hidden;
  }
  body.balboa-n27 .n27-hero-images__tile img{width:100%;height:100%;object-fit:cover}
  /* No retrasar ni animar todas las fotos fuera de pantalla. */
  body.balboa-n27.n27-hero-sequence .n27-hero-images__tile{
    animation:none!important;opacity:1!important;transform:none!important;
  }
}
@media(max-width:380px){
  body.balboa-n27 .n27-wordmark{font-size:12px}
  body.balboa-n27 .n27-menu-toggle{padding:8px 11px;font-size:10px;gap:8px}
}

/* N27 V7 — galería Home: carrusel editorial panorámico, alto y con autoplay. */
body.balboa-n27 .n27-hero-images{
  display:flex;align-items:center;gap:clamp(12px,1.4vw,24px);
  width:100%;padding:clamp(35px,5vw,90px) 0 clamp(55px,6vw,100px);
  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;touch-action:pan-x pan-y;
}
body.balboa-n27 .n27-hero-images::-webkit-scrollbar{display:none}
body.balboa-n27 .n27-hero-images__tile,
body.balboa-n27 .n27-hero-images__tile:nth-child(even){
  flex:0 0 clamp(210px,22vw,410px);
  width:clamp(210px,22vw,410px);
  height:auto;aspect-ratio:.79;
  border-radius:9px;overflow:hidden;
  scroll-snap-align:start;
}
body.balboa-n27 .n27-hero-images__tile img{width:100%;height:100%;object-fit:cover}
/* Se evita que las animaciones de entrada alteren el desplazamiento del carrusel. */
body.balboa-n27.n27-hero-sequence .n27-hero-images__tile{animation:none!important;opacity:1!important;transform:none!important}
@media(max-width:900px){
 body.balboa-n27 .n27-hero-images__tile,
 body.balboa-n27 .n27-hero-images__tile:nth-child(even){flex-basis:clamp(210px,38vw,330px);width:clamp(210px,38vw,330px);aspect-ratio:.8}
}
@media(max-width:580px){
 body.balboa-n27 .n27-hero-images{
   width:calc(100% + 20px);margin-right:-20px;
   padding:20px 20px 52px 0;gap:12px;
   scroll-snap-type:x mandatory;
 }
 body.balboa-n27 .n27-hero-images__tile,
 body.balboa-n27 .n27-hero-images__tile:nth-child(even){
   flex:0 0 clamp(230px,75vw,350px);width:clamp(230px,75vw,350px);
   aspect-ratio:.78;border-radius:8px;scroll-snap-align:start;
 }
}
@media(prefers-reduced-motion:reduce){body.balboa-n27 .n27-hero-images{scroll-behavior:auto}}


/* N27 V8 — carrusel con ritmo de alturas de la maqueta original. */
body.balboa-n27 .n27-hero-images{
  display:flex;align-items:center;flex-wrap:nowrap;
  gap:clamp(12px,1.45vw,28px);
  width:100%;max-width:100%;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  padding:clamp(38px,4.8vw,90px) 0 clamp(55px,6vw,110px);
}
body.balboa-n27 .n27-hero-images__tile,
body.balboa-n27 .n27-hero-images__tile:nth-child(even){
  display:block;position:relative;flex:0 0 clamp(185px,16.7vw,325px);
  width:clamp(185px,16.7vw,325px);
  height:auto;min-width:0;
  aspect-ratio:.82; /* alta: 1, 3, 5 */
  border-radius:8px;overflow:hidden;isolation:isolate;
  scroll-snap-align:start;
}
/* La secuencia se repite también en los clones del bucle. */
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+2),
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+6){aspect-ratio:1.06}
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+4){aspect-ratio:.96}
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+1),
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+3),
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+5){aspect-ratio:.82}
body.balboa-n27 .n27-hero-images__tile img{display:block;width:100%;height:100%;object-fit:cover}
/* No alterar el scroll con animaciones de transform en las tarjetas. */
body.balboa-n27.n27-hero-sequence .n27-hero-images__tile{animation:none!important;opacity:1!important;transform:none!important}
@media(max-width:900px){
  body.balboa-n27 .n27-hero-images__tile,
  body.balboa-n27 .n27-hero-images__tile:nth-child(even){flex-basis:clamp(205px,34vw,300px);width:clamp(205px,34vw,300px)}
}
@media(max-width:580px){
  body.balboa-n27 .n27-hero-images{
    width:calc(100% + 20px);max-width:calc(100% + 20px);margin-right:-20px;
    padding:20px 20px 46px 0;gap:12px;scroll-snap-type:x mandatory;
  }
  body.balboa-n27 .n27-hero-images__tile,
  body.balboa-n27 .n27-hero-images__tile:nth-child(even){
    flex:0 0 clamp(220px,69vw,320px);width:clamp(220px,69vw,320px);
    border-radius:7px;scroll-snap-align:start;
  }
}

/* N27 V9 — galería con fotografías completas, mayores y más aire editorial.
   Cuatro tarjetas exactas en escritorio, dos en tablet y una en móvil.
   Mantener el ritmo de alturas de la referencia (1/3/5 altas). */
body.balboa-n27 .n27-hero-images{
  --n27-hero-gap:clamp(18px,1.55vw,30px);
  --n27-hero-visible:4;
  gap:var(--n27-hero-gap);
  box-sizing:border-box;
  width:100%;max-width:100%;margin-right:0;
  padding:clamp(95px,8vw,155px) 0 clamp(110px,9vw,170px);
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
body.balboa-n27 .n27-hero-images__tile,
body.balboa-n27 .n27-hero-images__tile:nth-child(even){
  box-sizing:border-box;
  flex:0 0 calc((100% - (var(--n27-hero-visible) - 1)*var(--n27-hero-gap))/var(--n27-hero-visible));
  width:calc((100% - (var(--n27-hero-visible) - 1)*var(--n27-hero-gap))/var(--n27-hero-visible));
  max-width:none;
  height:auto;
  border-radius:8px;
}
/* Repetición de la secuencia en las copias usadas para el bucle. */
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+1),
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+3),
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+5){aspect-ratio:.82}
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+2),
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+6){aspect-ratio:1.06}
body.balboa-n27 .n27-hero-images__tile:nth-child(6n+4){aspect-ratio:.96}
@media(max-width:1000px){
  body.balboa-n27 .n27-hero-images{
    --n27-hero-visible:2;
    --n27-hero-gap:20px;
    padding-top:75px;padding-bottom:95px;
  }
}
@media(max-width:580px){
  body.balboa-n27 .n27-hero-images{
    --n27-hero-visible:1;
    --n27-hero-gap:14px;
    width:100%;max-width:100%;margin-right:0;
    padding:55px 0 75px;
    scroll-snap-type:x mandatory;
  }
  body.balboa-n27 .n27-hero-images__tile,
  body.balboa-n27 .n27-hero-images__tile:nth-child(even){
    flex-basis:100%;width:100%;border-radius:8px;
  }
}

/* N27 V10 — seis imágenes completas y alternas en escritorio. */
@media(min-width:1001px){
  body.balboa-n27 .n27-hero-images{
    --n27-hero-visible:6;
    --n27-hero-gap:clamp(12px,1.25vw,23px);
    padding-top:clamp(115px,9vw,180px);
    padding-bottom:clamp(125px,10vw,190px);
  }
  body.balboa-n27 .n27-hero-images__tile,
  body.balboa-n27 .n27-hero-images__tile:nth-child(even){
    flex-basis:calc((100% - 5 * var(--n27-hero-gap))/6);
    width:calc((100% - 5 * var(--n27-hero-gap))/6);
  }
}
body.balboa-n27 .n27-hero-images{
  cursor:grab;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:auto;
  scroll-snap-type:none;
  user-select:none;
  touch-action:pan-x pan-y;
}
body.balboa-n27 .n27-hero-images.n27-hero-dragging{cursor:grabbing;scroll-snap-type:none}
body.balboa-n27 .n27-hero-images__tile{user-select:none;flex-shrink:0}
body.balboa-n27 .n27-hero-images__tile img{-webkit-user-drag:none;pointer-events:none}
@media(max-width:580px){body.balboa-n27 .n27-hero-images{scroll-snap-type:x proximity}}
@media(prefers-reduced-motion:reduce){body.balboa-n27 .n27-hero-images__tile{animation:none!important}}

/* N27 V11 — mayor altura de las seis fotografías, sin cambiar su anchura.
   El ritmo editorial se conserva: alta / corta / alta / intermedia / alta / corta.
   Solo escritorio: no altera swipe, autoplay, orden ni responsive móvil. */
@media (min-width:1001px) {
  body.balboa-n27 .n27-hero-images__tile:nth-child(6n+1),
  body.balboa-n27 .n27-hero-images__tile:nth-child(6n+3),
  body.balboa-n27 .n27-hero-images__tile:nth-child(6n+5) {
    aspect-ratio: .65;
    height: auto;
  }
  body.balboa-n27 .n27-hero-images__tile:nth-child(6n+2),
  body.balboa-n27 .n27-hero-images__tile:nth-child(6n+6) {
    aspect-ratio: .85;
    height: auto;
  }
  body.balboa-n27 .n27-hero-images__tile:nth-child(6n+4) {
    aspect-ratio: .77;
    height: auto;
  }
}

/* N27 V12 — cambios editoriales Masha (noviembre 2026). */
body.balboa-n27 .n27-brand-svg{display:block;width:clamp(195px,17vw,320px);height:auto;max-height:54px;object-fit:contain;object-position:left center}
body.balboa-n27 .n27-nav{gap:0}
body.balboa-n27 .n27-nav>a,body.balboa-n27 .n27-nav>button{border-radius:999px;letter-spacing:.075em;font-size:11px;font-weight:500}
body.balboa-n27 .n27-contact-pop{right:0;top:calc(100% - 14px);box-shadow:none;border-radius:0 0 18px 18px;width:calc(min(58%,760px) / 3);min-width:225px}
body.balboa-n27 .n27-footer{column-gap:0}
body.balboa-n27 .n27-footer__label{border-radius:999px;letter-spacing:.075em;font-weight:500}
body.balboa-n27 .n27-clients__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2.6vw,48px)}
body.balboa-n27 .n27-client{background:transparent;aspect-ratio:1.65;padding:clamp(8px,1.3vw,24px)}
body.balboa-n27 .n27-client img{width:100%;height:100%;object-fit:contain}
body.balboa-n27 .n27-service h2{font-size:clamp(13px,1.08vw,18px);font-weight:500}
body.balboa-n27 .n27-services{min-height:calc(100vh - 270px);padding-bottom:clamp(170px,18vh,300px)}
body.balboa-n27 .n27-projects>h1{font-weight:400;color:#999;max-width:1100px}
body.balboa-n27 .n27-projects__grid .n27-project__category,body.balboa-n27 .n27-home-projects .n27-project__category{display:none!important}
body.balboa-n27 .n27-hero-images{--n27-hero-visible:4!important;--n27-hero-gap:clamp(20px,2vw,42px)!important;padding-top:clamp(145px,12vw,235px)!important;padding-bottom:clamp(155px,12vw,235px)!important;align-items:center}
body.balboa-n27 .n27-hero-images__tile,body.balboa-n27 .n27-hero-images__tile:nth-child(even){flex:0 0 calc((100% - 3 * var(--n27-hero-gap))/4)!important;width:calc((100% - 3 * var(--n27-hero-gap))/4)!important;aspect-ratio:.79!important;border-radius:8px}
body.balboa-n27 .n27-hero-images__tile:nth-child(4n+2){aspect-ratio:.68!important}
body.balboa-n27 .n27-hero-images__tile:nth-child(4n+3){aspect-ratio:.87!important}
body.balboa-n27 .n27-hero-images__tile:nth-child(4n+4){aspect-ratio:.79!important}
@media(max-width:1000px){body.balboa-n27 .n27-hero-images{--n27-hero-visible:2!important;padding-top:90px!important;padding-bottom:100px!important}body.balboa-n27 .n27-hero-images__tile,body.balboa-n27 .n27-hero-images__tile:nth-child(even){flex-basis:calc((100% - var(--n27-hero-gap))/2)!important;width:calc((100% - var(--n27-hero-gap))/2)!important}body.balboa-n27 .n27-clients__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:580px){body.balboa-n27 .n27-brand-svg{width:clamp(170px,50vw,230px)}body.balboa-n27 .n27-menu-toggle{font-size:12px;padding:10px 14px}body.balboa-n27 .n27-hero-images{padding-top:65px!important;padding-bottom:85px!important}body.balboa-n27 .n27-hero-images__tile,body.balboa-n27 .n27-hero-images__tile:nth-child(even){flex-basis:100%!important;width:100%!important}body.balboa-n27 .n27-clients__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* N27 V13 — logo SVG sin márgenes internos; carrusel sin destellos */
body.balboa-n27 .n27-header .n27-brand-svg{width:clamp(225px,20vw,355px);max-height:none;height:auto;object-fit:contain}
body.balboa-n27 .n27-footer .n27-brand-svg{width:clamp(205px,17vw,315px);max-height:none;height:auto}
body.balboa-n27 .n27-hero-images{scroll-snap-type:none!important;scroll-behavior:auto!important}
body.balboa-n27 .n27-hero-images__tile{backface-visibility:hidden;transform:translateZ(0)}
body.balboa-n27 .n27-hero-images__tile img{backface-visibility:hidden}
@media(max-width:900px){body.balboa-n27 .n27-header .n27-brand-svg{width:clamp(190px,48vw,280px)}}
@media(max-width:580px){body.balboa-n27 .n27-header .n27-brand-svg{width:clamp(175px,48vw,235px)}}

/* N27 V14 — ajustes solicitados, sin afectar a V3 */
@media (min-width: 901px) {
 body.balboa-n27 .n27-contact-pop { right:0; top:calc(100% - 44px); }
}
/* Introducción editorial de proyectos: contraste ligero/oscuro como maqueta */
body.balboa-n27 .n27-projects > h1.n27-projects__lead {
 max-width: min(1250px, 88%);
 font-family: Inter, Arial, sans-serif;
 font-size: clamp(24px, 2.15vw, 36px);
 font-weight: 400;
 line-height: 1.25;
 letter-spacing: -.025em;
 color: #999;
 margin: 0 0 clamp(65px, 6vw, 110px);
}
body.balboa-n27 .n27-projects__lead-light { color:#999; font-weight:400; }
body.balboa-n27 .n27-projects__lead-dark { color:#4d4d4d; font-weight:500; }
/* Devil in Silver: altura de la tarjeta de Bulgari, manteniendo ancho */
/*body.balboa-n27 .n27-hero-images__tile:has(img[src*="devil" i]),
body.balboa-n27 .n27-hero-images__tile:has(img[src*="silver" i]) {
 aspect-ratio: .68 !important;
}*/
@media (max-width: 580px) {
 body.balboa-n27 .n27-projects > h1.n27-projects__lead {
  max-width:100%; font-size:clamp(23px,5.8vw,31px); margin-bottom:45px;
 }
}

/* N27 V16: los vídeos del carrusel comparten geometría con las fotografías. */
body.balboa-n27 .n27-hero-images__tile video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;backface-visibility:hidden}

/* N27 V17 — ritmo alto/bajo constante, incluso con vídeo y clones del carrusel.
   Mantener 4 tarjetas completas en escritorio y el ancho actual. */
@media (min-width: 1001px) {
  body.balboa-n27 .n27-hero-images__tile:nth-child(n) {
    aspect-ratio: .70 !important;
  }
  body.balboa-n27 .n27-hero-images__tile:nth-child(even) {
    aspect-ratio: .89 !important;
  }
}
@media (min-width: 581px) and (max-width: 1000px) {
  body.balboa-n27 .n27-hero-images__tile:nth-child(n) {aspect-ratio:.70 !important;}
  body.balboa-n27 .n27-hero-images__tile:nth-child(even) {aspect-ratio:.89 !important;}
}
@media (max-width: 580px) {
  body.balboa-n27 .n27-hero-images__tile:nth-child(n) {aspect-ratio:.70 !important;}
  body.balboa-n27 .n27-hero-images__tile:nth-child(even) {aspect-ratio:.89 !important;}
}

/* BALBOA N27 — Tarjetas blancas para logotipos */

body.balboa-n27 .n27-clients__grid > * {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-sizing: border-box;
}

/* Mantener intactos los logotipos */
body.balboa-n27 .n27-clients__grid img {
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
}


/* N27 V19 — Qué hacemos: titulares contiguos como en la referencia de Masha.
   Solo se elimina el espacio horizontal; se conserva el vertical en responsive. */
body.balboa-n27 .n27-services__grid {
    column-gap: 0;
}
@media (max-width: 900px) {
    body.balboa-n27 .n27-services__grid {
        column-gap: 0;
    }
}



/* Balboa N27 — evitar artefactos de renderizado en Safari */
@supports (-webkit-touch-callout: none) {
    body.balboa-n27 .n27-client {
        border: 0;
        outline: 0;
        box-shadow: none;
        -webkit-appearance: none;
        -webkit-transform: translateZ(0);
    }

    body.balboa-n27 .n27-client img {
        border: 0;
        outline: 0;
        box-shadow: none;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* N27 V26 — más aire vertical alrededor de Think Tank, solo Home. */
body.balboa-n27 .n27-home-projects + .n27-think{
  padding-top:clamp(70px,7vw,130px);
  padding-bottom:clamp(110px,10vw,190px);
}
@media(max-width:580px){
  body.balboa-n27 .n27-home-projects + .n27-think{
    padding-top:75px;
    padding-bottom:105px;
  }
}


/* N27 V20 — ajustes solicitados por Masha (12-11-2026). */
/* Introducción Home: todo el texto en gris claro, sin énfasis oscuro. */
body.balboa-n27 .n27-intro h1,
body.balboa-n27 .n27-intro p,
body.balboa-n27 .n27-intro .n27-emphasis,
body.balboa-n27 .n27-intro strong {color:#999!important;}
/* Introducción Proyectos: gris claro uniforme. */
body.balboa-n27 .n27-projects > h1.n27-projects__lead,
body.balboa-n27 .n27-projects__lead-light,
body.balboa-n27 .n27-projects__lead-dark {color:#999!important;}
/* Cuatro proyectos destacados: mismo rectángulo vertical, sin escalonado. */
body.balboa-n27 .n27-home-projects .n27-project__image,
body.balboa-n27 .n27-home-projects .n27-project:nth-child(odd) .n27-project__image,
body.balboa-n27 .n27-home-projects .n27-project:nth-child(even) .n27-project__image {
  width:100%;height:auto;aspect-ratio:.82!important;margin-top:0!important;
}
body.balboa-n27 .n27-home-projects .n27-project__image img {width:100%;height:100%;object-fit:cover;}

/* N27 V33 — Formulario editorial premium. Solo modal de contacto N27. */
body.balboa-n27 .n27-dialog__shade{background:rgba(18,18,18,.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body.balboa-n27 .n27-dialog__panel{width:min(720px,100%);max-height:min(90dvh,900px);padding:clamp(30px,5vw,70px);border-radius:16px;background:#f5f5f3;box-shadow:0 28px 90px rgba(0,0,0,.18);overscroll-behavior:contain}
body.balboa-n27 .n27-dialog__panel h2{margin:0 44px clamp(28px,4vw,48px) 0;font-size:clamp(24px,3vw,38px);font-weight:600;line-height:1.1;letter-spacing:-.045em;color:#151515}
body.balboa-n27 .n27-dialog__close{top:20px;right:23px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dededb;border-radius:50%;background:transparent;font-family:Arial,sans-serif;font-size:28px!important;font-weight:300;line-height:1;transition:background .2s,border-color .2s,transform .2s}
body.balboa-n27 .n27-dialog__close:hover{background:#e7e7e4;border-color:#d2d2ce;transform:rotate(90deg)}
body.balboa-n27 .n27-dialog .wpcf7 form{margin:0}
body.balboa-n27 .n27-dialog .wpcf7 form p{margin:0 0 19px}
body.balboa-n27 .n27-dialog .wpcf7 form p:empty{display:none}
body.balboa-n27 .n27-dialog .wpcf7-form-control-wrap{display:block}
body.balboa-n27 .n27-dialog input:not([type=submit]):not([type=checkbox]):not([type=radio]),
body.balboa-n27 .n27-dialog textarea{display:block;width:100%;max-width:100%;padding:18px 19px;border:1px solid #dcdcd8;border-radius:8px;background:#fff;color:#222;font:inherit;font-size:15px;line-height:1.5;box-shadow:none;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
body.balboa-n27 .n27-dialog textarea{min-height:165px;resize:vertical}
body.balboa-n27 .n27-dialog input::placeholder,body.balboa-n27 .n27-dialog textarea::placeholder{color:#888;opacity:1}
body.balboa-n27 .n27-dialog input:not([type=submit]):focus-visible,body.balboa-n27 .n27-dialog textarea:focus-visible{border-color:#777;box-shadow:0 0 0 3px rgba(0,0,0,.055)}
body.balboa-n27 .n27-dialog .wpcf7-list-item{margin:0}
body.balboa-n27 .n27-dialog .wpcf7-list-item label{display:inline-flex;align-items:center;gap:13px;cursor:pointer;font-size:13px;line-height:1.5;color:#555}
body.balboa-n27 .n27-dialog input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:21px;height:21px;margin:0;border:1px solid #aaa;border-radius:5px;background:#fff;cursor:pointer;display:inline-grid;place-items:center;transition:background .2s,border-color .2s}
body.balboa-n27 .n27-dialog input[type=checkbox]:checked{background:#222;border-color:#222}
body.balboa-n27 .n27-dialog input[type=checkbox]:checked::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
body.balboa-n27 .n27-dialog input[type=checkbox]:focus-visible{outline:2px solid #444;outline-offset:3px}
body.balboa-n27 .n27-dialog input[type=submit]{min-width:150px;padding:15px 27px;border:1px solid #171717;border-radius:100px;background:#171717;color:#fff;font:inherit;font-size:13px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s,color .2s,transform .2s}
body.balboa-n27 .n27-dialog input[type=submit]:hover{background:#424242;transform:translateY(-1px)}
body.balboa-n27 .n27-dialog input[type=submit]:disabled{opacity:.5;cursor:wait;transform:none}
body.balboa-n27 .n27-dialog .wpcf7-spinner{vertical-align:middle;margin:0 0 0 12px}
body.balboa-n27 .n27-dialog .wpcf7-not-valid-tip{margin-top:7px;color:#a23d3d;font-size:12px}
body.balboa-n27 .n27-dialog .wpcf7 form .wpcf7-response-output{margin:22px 0 0;padding:17px 20px;border:0;border-radius:9px;background:#eceae4;color:#444;font-size:13px;line-height:1.6}
body.balboa-n27 .n27-dialog .wpcf7 form.sent .wpcf7-response-output{position:relative;padding:21px 22px 21px 58px;background:#e9eee9;color:#24372b;border:0;box-shadow:inset 0 0 0 1px #d5e1d6}
body.balboa-n27 .n27-dialog .wpcf7 form.sent .wpcf7-response-output::before{content:'✓';position:absolute;top:50%;left:20px;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#315b40;color:#fff;font-size:14px;font-weight:600}
body.balboa-n27 .n27-dialog .wpcf7 form.invalid .wpcf7-response-output,
body.balboa-n27 .n27-dialog .wpcf7 form.failed .wpcf7-response-output,
body.balboa-n27 .n27-dialog .wpcf7 form.spam .wpcf7-response-output{background:#f3eae8;color:#813e35}
@media(max-width:600px){body.balboa-n27 .n27-dialog{padding:12px}body.balboa-n27 .n27-dialog__panel{padding:34px 23px 30px;border-radius:12px;max-height:calc(100dvh - 24px)}body.balboa-n27 .n27-dialog__panel h2{margin-bottom:28px}body.balboa-n27 .n27-dialog textarea{min-height:130px}body.balboa-n27 .n27-dialog__close{top:12px;right:12px;width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){body.balboa-n27 .n27-dialog__close,body.balboa-n27 .n27-dialog input[type=submit]{transition:none}}
