/* ============================================================================
   FARELLO ASESORES DE SEGUROS — Landing
   Construida sobre el Design System oficial: dos colores (magenta + violeta),
   neutros cálidos, mucho espacio en blanco, FF Mark Pro, gesto diagonal de marca.
   ============================================================================ */

/* -------- Tipografía --------------------------------------------------------
   Sitio público: Mulish (Google Fonts, gratis) — humanista geométrica, muy
   cercana a FF Mark Pro. Se carga desde index.html.
   NOTA: FF Mark Pro (la fuente de marca) requiere licencia Webfont anual de
   Monotype por dominio. Si se adquiere, agregar acá el @font-face del
   self-hosting kit oficial y anteponerla en --font. La licencia desktop (.otf)
   NO habilita uso web, por eso no se incluye en el deploy.
--------------------------------------------------------------------------- */

:root {
  /* Marca */
  --magenta:      #DF3569;
  --magenta-600:  #C42757;
  --magenta-700:  #A81E48;
  --magenta-100:  #FDE7EE;
  --magenta-50:   #FEF4F7;
  --purple:       #6C2A88;
  --purple-600:   #581F70;
  --purple-700:   #431657;
  --purple-100:   #EDE2F2;
  --purple-50:    #F7F1FA;

  /* Neutros cálidos (sesgo violeta — nunca grises fríos ni negro puro) */
  --ink-900:#1A1320; --ink-800:#2B2034; --ink-700:#463A52; --ink-600:#6B5E77;
  --ink-500:#8C8196; --ink-400:#B5ABBD; --ink-300:#D8D1DE; --ink-200:#EAE5EE;
  --ink-100:#F4F0F7; --ink-50:#FAF8FB; --white:#fff;

  --fg-1:var(--ink-900); --fg-2:var(--ink-700); --fg-3:var(--ink-500);
  --bg-1:#fff; --bg-2:var(--ink-50); --bg-3:var(--ink-100);

  --success:#1E9E6A; --whatsapp:#25D366; --whatsapp-600:#1EBE5D;

  --border-1:var(--ink-200); --border-2:var(--ink-300); --border-brand:var(--magenta-100);

  /* Gesto de marca: diagonal dura magenta→violeta (una vez por página) */
  --grad-brand: linear-gradient(115deg, var(--magenta) 0%, var(--magenta) 48%, var(--purple) 48%, var(--purple) 100%);
  --grad-brand-soft: linear-gradient(125deg, var(--magenta) 0%, var(--purple) 100%);
  --grad-wash: linear-gradient(180deg, var(--magenta-50) 0%, #fff 60%);

  /* Sombras suaves, tinte violeta — nunca gris puro */
  --shadow-xs:0 1px 2px rgba(26,19,32,.05);
  --shadow-sm:0 2px 6px rgba(26,19,32,.06),0 1px 2px rgba(26,19,32,.04);
  --shadow-md:0 8px 20px rgba(26,19,32,.08),0 2px 4px rgba(26,19,32,.04);
  --shadow-lg:0 20px 40px rgba(26,19,32,.10),0 4px 8px rgba(26,19,32,.05);
  --shadow-brand:0 10px 24px rgba(223,53,105,.25);

  /* Radios — "amable, no infantil"; 12px es la esquina Farello */
  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-pill:999px;

  --font: 'Mulish','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --ease:cubic-bezier(.2,0,0,1);
  --ease-soft:cubic-bezier(.32,.72,0,1);

  --maxw:1140px;
  --pad:clamp(1.1rem,4vw,2rem);
}

/* -------- Reset -------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
body{font:400 16px/1.55 var(--font);color:var(--fg-1);background:var(--ink-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font);letter-spacing:-.01em;line-height:1.1;}
::selection{background:var(--magenta-100);color:var(--purple-700);}
:focus-visible{outline:2px solid var(--magenta);outline-offset:2px;border-radius:var(--r-sm);}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);}
.hide-mobile{display:none;}

/* Glifo chevron de marca */
.chev{color:var(--magenta);font-weight:900;}
.tx-mag{color:var(--magenta);} .tx-pur{color:var(--purple);}

/* -------- Overline (única mayúscula permitida) -------- */
.overline{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.75rem;
  text-transform:uppercase;letter-spacing:.08em;color:var(--magenta);}

/* ============================================================================
   BOTONES — CTAs primarios siempre pill
   ============================================================================ */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.97rem;
  padding:.8rem 1.4rem;border-radius:var(--r-pill);cursor:pointer;border:1.5px solid transparent;
  transition:transform var(--dur,.18s) var(--ease),box-shadow .2s var(--ease),background .18s,border-color .18s,color .18s;
  white-space:nowrap;line-height:1;}
.btn svg{width:18px;height:18px;}
.btn:active{transform:scale(.98);}
.btn--wa{background:var(--whatsapp);color:#fff;box-shadow:var(--shadow-sm);}
.btn--wa:hover{background:var(--whatsapp-600);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.btn--mag{background:var(--magenta);color:#fff;box-shadow:var(--shadow-brand);}
.btn--mag:hover{background:var(--magenta-600);transform:translateY(-1px);}
.btn--ghost{background:transparent;color:var(--magenta);border-color:var(--magenta-100);}
.btn--ghost:hover{background:var(--magenta-50);border-color:var(--magenta);}
.btn--light{background:#fff;color:var(--purple-700);}
.btn--light:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn--on-grad{background:#fff;color:var(--magenta-700);}

/* ============================================================================
   NAV
   ============================================================================ */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent;}
.nav.is-scrolled{background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom-color:var(--border-1);box-shadow:var(--shadow-xs);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem;}
.nav__brand{display:flex;align-items:center;}
.nav__brand img{height:30px;width:auto;}
.nav__links{display:none;align-items:center;gap:1.6rem;}
.nav__links a:not(.btn){font-size:.95rem;font-weight:500;color:var(--fg-2);transition:color .18s;}
.nav__links a:not(.btn):hover{color:var(--magenta-700);}
.nav__links a.btn{color:#fff;}
.nav__burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.nav__burger span{width:24px;height:2px;background:var(--ink-900);border-radius:2px;transition:.3s var(--ease);}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav__links.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;position:absolute;top:64px;left:0;right:0;padding:1.4rem var(--pad) 1.8rem;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-1);box-shadow:var(--shadow-md);}
.nav__links.is-open a{font-size:1.1rem;}

/* ============================================================================
   HERO — blanco cálido, espacio generoso (trust). Sin gradiente fuerte acá.
   ============================================================================ */
.hero{position:relative;background:linear-gradient(160deg,var(--magenta-50) 0%,var(--purple-50) 55%,var(--magenta-100) 100%);padding:clamp(7rem,15vh,10rem) 0 clamp(3.5rem,8vh,5.5rem);overflow:hidden;}
.hero__chev{position:absolute;right:-6%;top:50%;transform:translateY(-50%);font-size:46vw;line-height:0;font-weight:900;color:var(--magenta);opacity:.05;pointer-events:none;user-select:none;}
.hero__inner{position:relative;z-index:1;max-width:920px;}
/* Bloque suave que contiene título + texto + botones (corta el blanco) */
.hero__panel{background:linear-gradient(135deg,var(--magenta-100) 0%,var(--purple-100) 100%);
  border:1px solid rgba(108,42,136,.12);border-radius:var(--r-xl);
  padding:clamp(1.6rem,4.5vw,3rem) clamp(1.4rem,4vw,3rem);box-shadow:var(--shadow-md);
  margin-bottom:1.8rem;position:relative;overflow:hidden;}
.hero__panel .overline{margin-bottom:1.1rem;}
.hero__title{font-weight:900;font-size:clamp(2.4rem,6.4vw,4.3rem);line-height:1.02;letter-spacing:-.02em;margin:1.3rem 0;color:var(--ink-900);}
.hero__sub{font-weight:500;font-size:clamp(1.05rem,2.2vw,1.3rem);line-height:1.5;color:var(--fg-2);max-width:620px;margin-bottom:2rem;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2.4rem;}
.hero__trust{display:flex;flex-direction:column;gap:.7rem;}
.hero__trust-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-3);font-weight:700;}
.hero__trust-logos{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center;}
.hero__trust-logos img{height:30px;width:auto;opacity:.9;}
.hero__trust-logos .partner{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--purple);font-size:.95rem;}
.hero__trust-logos .partner::before{content:"›";color:var(--magenta);font-weight:900;}

/* ============================================================================
   SECCIONES
   ============================================================================ */
.section{padding:clamp(3.5rem,9vh,6.5rem) 0;position:relative;background:var(--magenta-50);}
.section--tint{background:var(--purple-50);}
.section--wash{background:var(--ink-50);}
.section__head{max-width:720px;margin-bottom:clamp(2.2rem,5vw,3.4rem);}
.section__title{font-weight:900;font-size:clamp(1.8rem,4.4vw,2.8rem);line-height:1.08;color:var(--ink-900);margin:.7rem 0 .9rem;}
.section__lead{font-weight:500;font-size:clamp(1.02rem,2vw,1.18rem);color:var(--fg-2);}
.section__sign{margin-top:clamp(2rem,5vw,3rem);text-align:center;font-weight:700;font-size:clamp(1.2rem,3vw,1.7rem);color:var(--purple-700);letter-spacing:-.01em;}
.section__sign .chev{margin-right:.3rem;}

.grid{display:grid;gap:clamp(.9rem,2.2vw,1.4rem);}
.grid--3{grid-template-columns:1fr;}
.grid--4{grid-template-columns:1fr;}

/* ============================================================================
   CARDS — Qué resolvemos (esquina Farello 12px, sombra suave)
   ============================================================================ */
.card{background:#fff;border:1px solid var(--border-1);border-radius:var(--r-md);padding:1.5rem 1.4rem;
  box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s;position:relative;overflow:hidden;}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--magenta);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-brand);}
.card:hover::before{transform:scaleX(1);}
.card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--magenta-50);color:var(--magenta);margin-bottom:1rem;}
.card__icon svg{width:26px;height:26px;}
.card__title{font-weight:700;font-size:1.2rem;margin-bottom:.45rem;}
.card__desc{font-size:.95rem;color:var(--fg-2);margin-bottom:1rem;}
.card__desc strong{color:var(--purple-700);font-weight:700;}
.card__list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;}
.card__list li{font-size:.78rem;font-weight:600;color:var(--purple-700);background:var(--purple-50);padding:.28rem .65rem;border-radius:var(--r-xs);}

/* ============================================================================
   PILARES — Por qué nosotros (uno destacado: magenta-50 + border-left)
   ============================================================================ */
.pillar{background:#fff;border:1px solid var(--border-1);border-radius:var(--r-md);padding:1.8rem 1.6rem;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s;}
.pillar:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.pillar--feature{background:var(--magenta-50);border:1px solid var(--magenta-100);border-left:3px solid var(--magenta);}
.pillar__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--white);color:var(--magenta);border:1px solid var(--border-1);margin-bottom:1rem;}
.pillar--feature .pillar__icon{background:#fff;border-color:var(--magenta-100);}
.pillar__icon svg{width:28px;height:28px;}
.pillar__num{font-weight:900;font-size:.85rem;color:var(--magenta);letter-spacing:.08em;margin-bottom:.4rem;}
.pillar__title{font-weight:700;font-size:1.3rem;margin-bottom:.5rem;}
.pillar__desc{font-size:.97rem;color:var(--fg-2);}

/* ============================================================================
   FRANJA SUAVE / VALUE BAR — corta el blanco, da ritmo (paleta suave)
   ============================================================================ */
.valuebar{background:linear-gradient(90deg,var(--magenta-50),var(--purple-50));
  border-block:1px solid var(--border-brand);}
.valuebar__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2rem;padding:.95rem 0;}
.valuebar__item{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.92rem;color:var(--purple-700);}
.valuebar__item .chev{font-size:1.05em;}

/* ============================================================================
   INSURTECH — el gesto diagonal de marca (única vez por página)
   ============================================================================ */
.lab{position:relative;color:#fff;background:var(--grad-brand-soft);overflow:hidden;}
.lab__chev{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ctext x='8' y='44' font-size='44' font-weight='900' fill='%23ffffff' fill-opacity='0.06' font-family='sans-serif'%3E%E2%80%BA%3C/text%3E%3C/svg%3E");pointer-events:none;}
.lab .container{position:relative;z-index:1;}
.lab .overline{color:#fff;opacity:.9;}
.lab .section__title{color:#fff;}
.lab .section__lead{color:rgba(255,255,255,.85);}
.lab .section__sign{color:#fff;}
.tech-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-md);padding:1.6rem 1.4rem;transition:transform .2s var(--ease),background .2s,border-color .2s;}
.tech-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.4);}
.tech-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.tech-card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--r-md);background:rgba(255,255,255,.14);color:#fff;}
.tech-card__icon svg{width:26px;height:26px;}
.tech-card__title{font-weight:700;font-size:1.18rem;margin-bottom:.45rem;color:#fff;}
.tech-card__desc{font-size:.93rem;color:rgba(255,255,255,.85);}
.badge{font-weight:700;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;padding:.28rem .6rem;border-radius:var(--r-pill);white-space:nowrap;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3);}
.badge--live{background:rgba(37,211,102,.22);border-color:rgba(255,255,255,.45);}

/* Base del ecosistema — Campus Olegario (tarjeta blanca sobre el gradiente) */
.office{display:grid;grid-template-columns:1fr;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:clamp(2rem,5vw,3rem);}
.office__info{padding:clamp(1.6rem,4vw,2.4rem);}
.office__kicker{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--magenta);margin-bottom:.7rem;}
.office__name{font-weight:900;font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--ink-900);margin-bottom:.3rem;}
.office__tagline{font-weight:700;color:var(--purple);font-size:1.05rem;margin-bottom:.9rem;}
.office__desc{color:var(--fg-2);font-size:.97rem;margin-bottom:1.4rem;max-width:46ch;}
.office__actions{display:flex;flex-wrap:wrap;gap:.6rem;}
.office__map{min-height:280px;background:var(--ink-100);}
.office__map iframe{display:block;width:100%;height:100%;min-height:280px;border:0;}
.office__projects-title{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:1.05rem;color:#fff;opacity:.92;margin-bottom:1rem;}

/* ============================================================================
   NOSOTROS
   ============================================================================ */
.about{display:grid;gap:clamp(1.6rem,4vw,3rem);grid-template-columns:1fr;align-items:center;}
.about__media{position:relative;}
.about__photo{aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--purple-50);}
.about__photo img{width:100%;height:100%;object-fit:cover;}
.about__photo--empty{display:grid;place-items:center;color:var(--purple);background:var(--grad-brand-soft);}
.about__photo--empty span{color:#fff;font-weight:700;opacity:.9;}
.about__badge{position:absolute;left:-12px;bottom:-12px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:.7rem 1rem;display:flex;align-items:center;gap:.6rem;border:1px solid var(--border-1);}
.about__badge .chev{font-size:1.4rem;}
.about__badge b{font-weight:700;font-size:.95rem;color:var(--ink-900);}
.about__badge small{display:block;color:var(--fg-3);font-size:.75rem;}
.about__text p{color:var(--fg-2);margin-bottom:1rem;max-width:56ch;}
.about__text strong{color:var(--ink-900);font-weight:700;}
.about__points{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-top:1.3rem;}
.about__points li{display:flex;gap:.6rem;align-items:baseline;color:var(--fg-2);}
.about__points li::before{content:"›";color:var(--magenta);font-weight:900;}

/* ============================================================================
   CONTACTO
   ============================================================================ */
.contact{display:grid;gap:clamp(1.1rem,3vw,2rem);grid-template-columns:1fr;}
.contact__channels{display:flex;flex-direction:column;gap:.75rem;}
.contact__card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--border-1);border-radius:var(--r-md);padding:1.05rem 1.15rem;cursor:pointer;transition:transform .18s var(--ease),box-shadow .2s,border-color .18s;}
.contact__card:hover{transform:translateX(3px);box-shadow:var(--shadow-md);border-color:var(--magenta);}
.contact__ico{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);background:var(--magenta-50);color:var(--magenta);}
.contact__ico svg{width:24px;height:24px;}
.contact__ico--wa{background:var(--whatsapp);color:#fff;}
.contact__body strong{display:block;font-weight:700;font-size:1.04rem;}
.contact__body small{color:var(--fg-3);}
.contact__schedule{background:#fff;border:1px solid var(--border-1);border-radius:var(--r-lg);padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm);}
.contact__schedule h3{font-weight:700;font-size:1.3rem;margin-bottom:.4rem;}
.contact__schedule p{color:var(--fg-2);margin-bottom:1.2rem;}
.calendar-mount iframe{width:100%;border:0;border-radius:var(--r-md);min-height:600px;}
.calendar-open{display:inline-block;margin-top:.7rem;font-size:.82rem;font-weight:600;color:var(--magenta-700);}
.calendar-open:hover{text-decoration:underline;}
.calendar-placeholder{border:2px dashed var(--border-2);border-radius:var(--r-md);padding:1.4rem;text-align:center;color:var(--fg-3);font-size:.9rem;}
.calendar-placeholder code{background:var(--purple-50);color:var(--purple-700);padding:.1rem .35rem;border-radius:4px;}

/* ============================================================================
   FOOTER
   ============================================================================ */
.footer{background:var(--ink-900);color:#fff;padding:3rem 0 2.4rem;position:relative;overflow:hidden;}
.footer__chev{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ctext x='8' y='44' font-size='44' font-weight='900' fill='%23DF3569' fill-opacity='0.06' font-family='sans-serif'%3E%E2%80%BA%3C/text%3E%3C/svg%3E");pointer-events:none;}
.footer .container{position:relative;z-index:1;}
.footer__inner{display:flex;flex-direction:column;gap:1.8rem;}
.footer__top{display:flex;flex-direction:column;gap:1.6rem;}
.footer__brand img{height:34px;width:auto;margin-bottom:.7rem;filter:brightness(0) invert(1);}
.footer__brand p{color:rgba(255,255,255,.6);font-size:.9rem;max-width:34ch;}
.footer__partners{display:flex;flex-direction:column;gap:.6rem;}
.footer__partners small{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:rgba(255,255,255,.5);font-weight:700;}
.footer__partners img{height:26px;width:auto;opacity:.85;}
.footer__group{display:flex;align-items:center;gap:.9rem;}
.footer__group small{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:rgba(255,255,255,.5);font-weight:700;}
.footer__group a{display:inline-flex;align-items:center;gap:.9rem;}
.footer__group-logo{height:64px;width:auto;display:block;opacity:.95;}
.footer__meta{border-top:1px solid rgba(255,255,255,.12);padding-top:1.4rem;}
.footer__meta p{color:rgba(255,255,255,.55);font-size:.85rem;margin-bottom:.3rem;}

/* ============================================================================
   WHATSAPP FAB — 56px, pulso suave 4s, siempre sólido
   ============================================================================ */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:90;width:56px;height:56px;border-radius:50%;
  background:var(--whatsapp);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-md);
  transition:transform .2s var(--ease);}
.wa-float svg{width:30px;height:30px;}
.wa-float:hover{transform:scale(1.06);}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--whatsapp);z-index:-1;animation:waPulse 4s var(--ease) infinite;}
@keyframes waPulse{0%,100%{transform:scale(1);opacity:.55;}50%{transform:scale(1.12);opacity:0;}}

/* ============================================================================
   REVEAL ON SCROLL — fade + slide corto (sin rebotes)
   ============================================================================ */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (min-width:640px){ .grid--4{grid-template-columns:repeat(2,1fr);} }
@media (min-width:760px){
  .hide-mobile{display:inline;}
  .nav__burger{display:none;}
  .nav__links{display:flex;}
  .contact{grid-template-columns:.9fr 1.1fr;align-items:start;}
  .about{grid-template-columns:.85fr 1.15fr;}
  .office{grid-template-columns:1.05fr .95fr;}
  .office__map{min-height:340px;}
  .footer__top{flex-direction:row;justify-content:space-between;align-items:flex-start;}
}
@media (min-width:960px){
  .grid--3{grid-template-columns:repeat(3,1fr);}
  .grid--4{grid-template-columns:repeat(4,1fr);}
  .wa-float{width:60px;height:60px;right:24px;bottom:24px;}
}
