/* Clear spacing between the main contact action and social card. */
#inicio .hero-actions + .hero-instagram {
  margin-top: 24px !important;
}

/* Keep the editorial section out of the public home page while it is paused. */
#blog {
  display: none !important;
}

@media (max-width: 700px) {
  #inicio .hero-actions + .hero-instagram {
    margin-top: 20px !important;
  }
}

@media (min-width: 1001px) {
  #inicio .hero .summer-hero-media {
    align-self: start;
    margin-top: clamp(120px, 15vh, 170px);
  }

  #inicio .summer-hero-media > * {
    position: relative;
    z-index: 1;
  }

  #fix-contact .fix-launcher-label {
    display: none;
  }

  #fix-contact .fix-launcher:hover .fix-launcher-label,
  #fix-contact .fix-launcher:focus-visible .fix-launcher-label {
    display: block;
  }

  #fix-contact .fix-launcher[aria-expanded="true"] .fix-launcher-label {
    display: none !important;
  }
}

/* Consistent hierarchy, calm surfaces and generous, deliberate spacing. */
body { -webkit-font-smoothing: antialiased; }
.top { border-bottom: 1px solid #e3eaf0; }
.nav { min-height: 88px; }
.nav .brand img { width: 72px; }
.nav .button { padding: 14px 24px; }
.button { min-height: 48px; }
button, input, select, textarea { font: inherit; }
:is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #7baad0;
  outline-offset: 4px;
}
#inicio .hero { gap: clamp(32px, 5vw, 72px); padding: 54px 0 58px; }
#inicio h1 { font-size: clamp(42px, 4.5vw, 64px); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; margin: 22px 0; }
#inicio .intro { font-size: 17px; line-height: 1.75; max-width: 510px; margin-bottom: 26px; }
#inicio .hero-actions { gap: 16px 24px; }
#inicio .hero-instagram { padding: 12px 16px; border-radius: 16px; box-shadow: none; font-size: 14px; }
#inicio .hero-instagram strong { font-size: 17px; }
#inicio .instagram-color { width: 44px; height: 44px; border-radius: 13px; }
#inicio .summer-hero-media { position: relative; padding: 18px; border-radius: 22px; box-shadow: 0 20px 55px #04142626; }
#inicio .summer-hero-media video { border-radius: 13px; }
#inicio .summer-video-label { font-size: 11px; letter-spacing: 1.6px; }
.section { padding-top: 72px; padding-bottom: 72px; }
.section-head { margin-bottom: 30px; gap: 32px; }
.section-head h2 { font-size: clamp(30px, 3.3vw, 43px); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.section-head > p { font-size: 16px; line-height: 1.7; }
#servicios .services-compact .service { border-radius: 17px; box-shadow: 0 4px 16px #102b4305; transition: border-color .2s, box-shadow .2s; }
#servicios .services-compact .service:hover { border-color: #94b4cf; box-shadow: 0 10px 26px #102b4310; }
#servicios .service-shortcut { padding: 24px; gap: 18px; min-height: 112px; }
#servicios .services-compact .service-top svg { width: 34px; height: 34px; padding: 13px; border-radius: 14px; }
#servicios .services-compact h3 { font-size: 19px; letter-spacing: -.3px; }
.process-card, .area-list, .quote-form { border: 1px solid #dce5ed; box-shadow: 0 8px 30px #102b4306; }
#equipamiento .equipment-grid article { border: 1px solid #e0e8ee; border-radius: 20px; }
#clientes .client-card { border-radius: 16px; box-shadow: 0 4px 14px #102b4304; }
#clientes .client-card img { padding: 8px; }
.quote-form { border-radius: 22px; }
.quote-form :is(input, select, textarea) { border: 1px solid #b9cbd9; border-radius: 10px; background: #fafcfe; color: #102b43; min-height: 48px; }
.quote-form :is(input, select, textarea):focus { background: #fff; border-color: #245e92; }
.quote-form textarea { resize: vertical; }
.contact-links a { overflow-wrap: anywhere; }
@media (min-width: 1001px) {
  #inicio .hero .summer-hero-media { margin-top: 38px; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  #inicio .hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }
  #inicio h1 { font-size: 43px; }
  #inicio .summer-hero-media { padding: 13px; }
  #servicios .service-shortcut { padding: 18px; gap: 12px; }
}
@media (max-width: 700px) {
  .nav { min-height: 72px; }
  .nav .brand img { width: 52px; }
  #inicio .hero { padding: 30px 0 36px; }
  #inicio h1 { font-size: clamp(37px, 10vw, 48px); line-height: 1.1; margin: 18px 0; }
  #inicio .intro { font-size: 16px; line-height: 1.65; margin-bottom: 22px; }
  #inicio .hero-actions .button { justify-content: center; gap: 14px; }
  #inicio .hero-instagram { display: flex; width: 100%; max-width: none; align-items: center; gap: 13px; background: #fff7fc; color: #163b58; border: 1px solid #efd9e6; }
  #inicio .hero-actions + .hero-instagram { margin-top: 14px !important; }
  #inicio .summer-hero-media { margin-top: 26px; padding: 13px; border-radius: 18px; }
  .section { padding-top: 44px; padding-bottom: 44px; }
  .section-head { margin-bottom: 24px; }
  #servicios .services.services-compact { gap: 12px; }
  #servicios .service-shortcut { flex-direction: column; justify-content: center; text-align: center; gap: 12px; padding: 19px 10px; min-height: 136px; }
  #servicios .services-compact h3 { font-size: 16px; line-height: 1.3; }
  #servicios .services-compact .service-top svg { width: 30px; height: 30px; padding: 11px; }
  .quote-form { padding: 22px 18px; }
  .quote-form :is(input, select, textarea) { font-size: 16px; max-width: 100%; }
  .contact { padding: 44px 0; }
  .contact-inner > div { min-width: 0; }
}

/* Small-screen layout: readable labels and predictable column widths. */
@media (max-width: 700px) {
  #inicio .hero > *, .quote-layout > *, .form-fields > *, .quiz-stage > * { min-width: 0; }
  #inicio h1 { overflow-wrap: anywhere; }
  #inicio .hero-instagram strong { color: #ad216e; }
  #inicio .instagram-color { flex-shrink: 0; }
  .form-fields { grid-template-columns: minmax(0, 1fr); }
  .quote-form :is(input, select, textarea) { width: 100%; min-width: 0; }
  .contact-inner > div:last-child { width: 100%; }
  .contact-inner .button { width: 100%; text-align: center; }
  .quiz-cta.quiz-cta-character { min-height: 154px; padding-left: 110px; }
  .quiz-cta.quiz-cta-character > .quiz-cta-portrait { width: 104px; }
  .quiz-cta-portrait img { width: 112px; height: 168px; }
  .quiz-cta-copy strong { font-size: 23px; }
  .quiz-guide { height: auto; min-height: 135px; }
  .quiz-speech { min-width: 0; }
  .quiz-mascot { flex-shrink: 0; }
  #fix-contact .fix-launcher-label { display: none; }
  #fix-contact .fix-launcher img { width: 52px; height: 78px; }
  #fix-contact .fix-launcher::before { width: 50px; height: 50px; }
}
@media (max-width: 360px) {
  .wrap, #inicio { padding-left: 16px; padding-right: 16px; }
  .nav .brand img { width: 43px; }
  .nav .brand-name { font-size: 19px; }
  .mobile-menu-toggle { padding: 9px 10px; }
  #inicio h1 { font-size: 34px; }
  #inicio .eyebrow { letter-spacing: 1px; font-size: 10px; }
  .quiz-cta.quiz-cta-character { padding-left: 92px; padding-right: 12px; }
  .quiz-cta.quiz-cta-character > .quiz-cta-portrait { width: 87px; }
  .quiz-cta-portrait img { width: 96px; height: 156px; }
  .quiz-cta-copy strong { font-size: 21px; }
  #servicios .services-compact h3 { font-size: 15px; }
  .quiz-guide { gap: 8px; padding-left: 12px; padding-right: 12px; }
  .quiz-speech { padding: 12px; }
  .quiz-mascot { width: 84px; }
}

/* Separate the primary service journey from social and learning links. */
#inicio .hero { align-items: center; }
#inicio .hero .summer-hero-media { align-self: center; margin-top: 0; }
#inicio .hero-actions { align-items: center; gap: 20px; margin-top: 28px; }
#inicio .hero-actions .textlink { border-bottom-color: #a7c0d3; color: #e1edf6; }
#servicios { padding-bottom: 32px; }
.discovery-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 24px; }
.discovery-instagram { display: flex; align-items: center; gap: 20px; border: 1px solid #e5dce5; border-radius: 20px; background: #fff; padding: 25px 28px; color: #163b58; font-size: 17px; min-height: 140px; }
.discovery-instagram strong { display: block; color: #aa226c; font-size: 23px; margin-top: 3px; }
.discovery-instagram .instagram-color { display: grid; place-items: center; flex: 0 0 54px; width: 54px; height: 54px; border-radius: 16px; background: radial-gradient(circle at 30% 105%,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 78%,#4f5bd5 100%); color: #fff; }
.discovery-instagram .ui-icon { width: 28px; height: 28px; }
.discovery-instagram:hover { background: #fff7fc; border-color: #d8b3cc; }
.discovery-links .quiz-cta.quiz-cta-character { width: 100%; margin: 0; min-height: 140px; box-shadow: none; border-color: #d3e0eb; padding-top: 16px; padding-bottom: 16px; animation: none; }
.discovery-links .quiz-cta-copy strong { font-size: 23px; }
.discovery-links .quiz-cta-copy small { margin-bottom: 6px; }
.discovery-links .quiz-cta-portrait img { top: 5px; }
@media (max-width: 700px) {
  #inicio .hero { display: grid; grid-template-columns: minmax(0,1fr); gap: 30px; }
  #inicio .hero-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 24px; }
  #inicio .hero-actions > .textlink { display: inline-flex; justify-self: center; align-items: center; min-height: 44px; padding: 6px 0; }
  #inicio .hero .summer-hero-media { width: 100%; }
  .discovery-links { grid-template-columns: minmax(0,1fr); gap: 14px; padding-bottom: 8px; }
  .discovery-instagram { padding: 20px; min-height: 100px; gap: 16px; font-size: 15px; border-radius: 18px; }
  .discovery-instagram strong { font-size: 21px; }
  .discovery-links .quiz-cta.quiz-cta-character { min-height: 145px; border-radius: 18px; }
}

/* Portada editorial: identidad, consejo y consulta. */
.top .nav .brand{gap:12px}.top .nav .brand img{width:82px;height:auto;object-fit:contain}.top .brand-name{font-size:31px}.top .brand-name small{letter-spacing:2px}
#inicio{background:radial-gradient(ellipse at 95% 25%,#255b81 0%,transparent 52%),linear-gradient(115deg,#0c263d,#173e5c);border-top:3px solid #74abc9}
#inicio .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(30px,5vw,74px);padding:clamp(32px,4.7vw,66px) 0;align-items:center}
.cover-signature{display:flex;align-items:center;gap:16px;color:#e7f2fa;margin:0 0 30px}.cover-signature strong{font-size:clamp(30px,3vw,44px);letter-spacing:-.055em;line-height:.95;font-weight:900}.cover-signature span{font-size:12px;line-height:1.4;border-left:2px solid #6aa3c5;padding-left:14px;font-weight:600}.cover-copy{min-width:0}
#inicio .hero .eyebrow{color:#acd9f2;font-size:11px;letter-spacing:.14em}#inicio .hero h1{font-size:clamp(36px,4.3vw,66px);margin:14px 0 18px;line-height:1.03}#inicio h1 span{color:#bee3f8}#inicio .intro{color:#e0ebf3;line-height:1.6;margin-bottom:20px}
#inicio .hero-actions{margin-top:0;gap:13px 20px}#inicio .hero-actions .button{background:#fff;color:#103958}
#inicio .hero .summer-hero-media{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'series category' 'video video' 'caption listen';align-items:center;gap:16px 12px;background:#f5f9fc;color:#10324c;border:1px solid #d9e7ef;padding:clamp(15px,2vw,24px);border-radius:24px;box-shadow:0 16px 36px #06172438;margin:0;min-width:0}
#inicio .cover-series{grid-area:series;font-size:clamp(17px,1.6vw,23px);font-weight:800;letter-spacing:-.035em;line-height:1.1}
#inicio .summer-video-label{grid-area:category;border-radius:30px;color:#1d5276;background:#dfedf6;padding:6px 10px;font-size:10px;letter-spacing:.045em;line-height:1.4;margin:0;text-align:center}
#inicio .summer-hero-media video{grid-area:video;width:100%;aspect-ratio:16/9;display:block;background:#0b2234;border-radius:13px;object-fit:contain}
#inicio .summer-hero-media p{grid-area:caption;margin:0;font-size:15px;font-weight:650;line-height:1.35;color:#28485e}
#inicio .summer-hero-media .story-listen{grid-area:listen;margin:0;padding:10px 14px;min-height:44px;font-size:13px;background:#174c74;color:#fff;border:0;border-radius:24px;line-height:1.35}
@media(max-width:850px){#inicio .hero{grid-template-columns:minmax(0,1fr);gap:28px}.cover-signature{margin-bottom:22px}#inicio .hero .summer-hero-media{width:100%;max-width:620px;justify-self:start}.top .nav .brand img{width:58px}.top .brand-name{font-size:24px}}
@media(max-width:480px){#inicio .hero{padding:25px 0 30px}.cover-signature strong{font-size:29px}.cover-signature span{font-size:11px}#inicio .hero-actions{display:flex;align-items:center;flex-wrap:wrap}#inicio .hero-actions .button{width:100%}#inicio .hero-actions .textlink{margin:auto}#inicio .hero .summer-hero-media{gap:12px 8px;padding:14px;border-radius:18px;grid-template-areas:'series category' 'video video' 'caption caption' 'listen listen'}#inicio .summer-hero-media .story-listen{justify-self:start}.top .nav .brand{gap:5px}.top .nav .brand img{width:53px}}

/* Keep the complete logo prominent without repeating its lettering. */
.top .nav .brand:has(img:only-child){display:grid;place-items:center;width:114px;height:84px;flex:none;overflow:hidden}.top .nav .brand img:only-child{width:142px;max-width:none;height:142px;grid-area:1/1;align-self:center;justify-self:center;transform:translateY(3px)}
#inicio .cover-location{font-size:12px;letter-spacing:.075em;text-transform:none;line-height:1.5}
@media(max-width:700px){.top .nav .brand:has(img:only-child){width:93px;height:69px}.top .nav .brand img:only-child{width:115px;height:115px}.top .nav{min-height:74px}}
 .top .nav .brand:has(img:only-child){grid-template:100% / 100%}
