:root{
  --blue:#2E5E89;
  --cyan:#28A9DF;
  --cyan-soft:#E9F7FC;
  --ink:#1D1D1B;
  --text:#394A55;
  --paper:#F7F8F7;
  --white:#FFFFFF;
  --line:#DDE6EB;
  --muted:#71818A;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
  --shadow:0 28px 70px rgba(24,67,96,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;background:var(--ink);color:#fff;padding:10px 14px}.skip-link:focus{top:20px}

.utility-bar{height:34px;background:var(--blue);color:#EAF7FC;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.utility-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.utility-inner a{font-weight:700}

.site-header{height:92px;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);z-index:100;border-bottom:1px solid rgba(46,94,137,.12);transition:.3s}
.site-header.is-scrolled{height:76px;box-shadow:0 8px 30px rgba(46,94,137,.07)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand img{height:58px;width:auto}
.site-header.is-scrolled .brand img{height:49px}
.site-nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}
.site-nav>a:not(.nav-cta){position:relative;padding:9px 0}
.site-nav>a:not(.nav-cta):after{content:"";height:2px;background:var(--cyan);position:absolute;left:0;right:100%;bottom:2px;transition:.25s}
.site-nav>a.active:after,.site-nav>a:hover:after{right:0}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:3px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:.25s;cursor:pointer}
.nav-cta{background:var(--blue);color:#fff}
.nav-cta:hover{background:#214D73;transform:translateY(-2px)}
.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span:not(.sr-only){display:block;width:27px;height:2px;background:var(--blue);margin:5px}

/* Floating social bar */
.social-rail{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:2px}
.social-rail a{height:48px;width:48px;background:var(--blue);color:#fff;display:flex;align-items:center;overflow:hidden;box-shadow:4px 8px 24px rgba(22,66,95,.16);transition:.28s}
.social-rail a:nth-child(2){background:#1E8FC0}.social-rail a:nth-child(3){background:#142A39}
.social-rail svg{width:20px;height:20px;fill:currentColor;flex:none;margin:0 14px}
.social-rail span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding-right:15px;white-space:nowrap}
.social-rail a:hover,.social-rail a:focus-visible{width:132px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#1CA869;color:#fff;z-index:95;box-shadow:0 14px 35px rgba(0,0,0,.2);transition:.25s}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}
.whatsapp-float svg{width:28px;height:28px;fill:currentColor}

.hero-home{height:min(760px,calc(100vh - 126px));min-height:630px;position:relative;overflow:hidden;background:var(--blue);color:#fff}
.hero-media,.hero-overlay{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{background:linear-gradient(90deg,rgba(18,50,73,.9) 0%,rgba(18,50,73,.68) 42%,rgba(18,50,73,.18) 74%,rgba(18,50,73,.05) 100%)}
.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;z-index:2;max-width:1160px}
.hero-content h1{font:800 clamp(48px,6vw,86px)/.98 var(--sans);letter-spacing:-.055em;max-width:900px;margin:0}
.hero-content h1 em,.page-hero h1 em,.section h2 em,.visit-cta h2 em,.statement-section em{font:600 1.08em/1 var(--serif);letter-spacing:-.02em}
.hero-content p{font-size:17px;max-width:690px;color:#ECF4F8;margin:26px 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-accent{background:var(--cyan);color:#fff}.btn-accent:hover{background:#1598CE;transform:translateY(-2px)}
.btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.03)}.btn-outline-light:hover{background:#fff;color:var(--blue)}
.btn-dark{background:var(--blue);color:#fff}.btn-dark:hover{background:#214D73}
.hero-stamp{position:absolute;right:max(4vw,30px);bottom:0;z-index:2;background:#fff;color:var(--blue);width:220px;padding:27px}
.hero-stamp span{font-size:10px;letter-spacing:.2em;color:var(--cyan);font-weight:800}
.hero-stamp strong{display:block;font:800 24px/1.05 var(--sans);margin-top:5px}
.kicker{display:block;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:17px}.kicker.light{color:#CDEEFF}
.intro-strip{border-bottom:1px solid var(--line);background:#fff}
.intro-strip-inner{min-height:78px;display:flex;align-items:center;justify-content:center;gap:26px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#58717E}
.intro-strip i{width:4px;height:4px;background:var(--cyan);border-radius:50%}

.section{padding:110px 0}
.section-soft{background:var(--paper)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.story-media{position:relative}
.story-media img{width:100%;height:690px;object-fit:cover}
.photo-label{position:absolute;right:-24px;bottom:30px;background:var(--cyan);color:#fff;padding:14px 20px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}
.story-copy h2,.section-head h2,.service-title h2,.service-feature h2,.home-copy h2,.purpose-grid h2,.contact-info h2,.service-note h2,.outdoor-grid h2{font:800 clamp(40px,4.2vw,66px)/1.02 var(--sans);letter-spacing:-.045em;margin:0 0 27px}
.story-copy .lead{font-size:19px;color:#435965}
.values-list{margin:36px 0}
.values-list article{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:21px 0;border-top:1px solid var(--line)}
.values-list article>span{font-size:10px;font-weight:800;color:var(--cyan)}
.values-list h3{font-size:15px;margin:0 0 3px}.values-list p{margin:0;color:var(--muted);font-size:13px}
.text-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid var(--blue);padding-bottom:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:50px}
.section-head>p{max-width:450px;color:var(--text)}
.experience-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:16px;height:690px}
.experience-card{position:relative;overflow:hidden;background:var(--blue);color:#fff}
.experience-large{grid-row:1/3}
.experience-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.experience-card:hover img{transform:scale(1.025)}
.experience-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(20,48,69,.86))}
.experience-card>div{position:absolute;left:25px;right:25px;bottom:22px;z-index:2}
.experience-card span{font-size:9px;letter-spacing:.2em}.experience-card h3{font:800 29px/1 var(--sans);margin:4px 0}.experience-card p{font-size:12px;margin:0;color:#E7F3F8}
.service-preview{display:grid;grid-template-columns:.78fr 1.22fr;gap:9%;align-items:start}
.service-title{position:sticky;top:120px}
.service-lines{border-top:1px solid var(--line)}
.service-line{display:grid;grid-template-columns:55px 1fr 30px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);transition:.25s}
.service-line span{font-size:9px;color:var(--cyan);font-weight:800}.service-line h3{font:700 clamp(20px,2vw,30px)/1.15 var(--sans);letter-spacing:-.025em;margin:0}.service-line b{font-size:20px;color:var(--blue);transition:.25s}
.service-line:hover{padding-left:12px;color:var(--blue)}.service-line:hover b{transform:translate(4px,-4px)}
.statement-section{background:var(--blue);color:#fff;padding:105px 0;text-align:center}
.statement-section .shell{max-width:1050px}
.statement-mark{font:600 80px/1 var(--serif);color:var(--cyan)}
.statement-section p{font:700 clamp(35px,4.2vw,60px)/1.08 var(--sans);letter-spacing:-.04em;margin:0}
.spaces-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;height:670px;gap:15px}
.spaces-grid figure{margin:0;position:relative;overflow:hidden}.spaces-grid .space-main{grid-row:1/3}
.spaces-grid img{width:100%;height:100%;object-fit:cover;transition:.55s}.spaces-grid figure:hover img{transform:scale(1.02)}
.spaces-grid figcaption{position:absolute;left:0;bottom:0;background:rgba(46,94,137,.92);color:#fff;padding:12px 17px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.visit-cta{background:#163C59;color:#fff;padding:90px 0}
.visit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:center}
.visit-cta h2{font:800 clamp(40px,4.5vw,67px)/1 var(--sans);letter-spacing:-.05em;margin:0}
.visit-info p{color:#D9E9F0;margin:0 0 24px}.visit-info>span{display:block;margin-top:16px;font-size:11px;color:#BFD4DE}

/* Page hero */
.page-hero{padding:110px 0 78px;background:linear-gradient(180deg,#F5FAFC 0%,#fff 100%);border-bottom:1px solid var(--line)}
.page-hero.compact{padding-bottom:60px}
.page-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:end}
.page-hero h1{font:800 clamp(48px,6vw,84px)/.98 var(--sans);letter-spacing:-.055em;margin:0}
.page-hero-grid>p{font-size:17px;color:var(--text);margin:0 0 8px}

/* Nosotros */
.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.editorial-image img{width:100%;height:650px;object-fit:cover}
.editorial-copy h2{font:800 clamp(38px,4vw,60px)/1.03 var(--sans);letter-spacing:-.045em}
.editorial-copy p{color:var(--text)}
.section-blue{background:var(--blue);color:#fff}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18)}
.purpose-grid article{background:var(--blue);padding:55px}.purpose-grid article>span{font-size:10px;color:var(--cyan)}
.purpose-grid h2{font-size:45px;margin:14px 0}.purpose-grid p{color:#DDEBF1}
.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.principles-grid article{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.principles-grid span{font-size:9px;color:var(--cyan);font-weight:800}.principles-grid h3{font-size:23px;margin:14px 0 7px}.principles-grid p{font-size:13px;color:var(--muted);margin:0}
.wide-photo{padding-top:0}.wide-photo img{width:100%;max-height:640px;object-fit:cover}

/* Services */
.service-editorial{display:flex;flex-direction:column;gap:100px}
.service-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center;scroll-margin-top:120px}
.service-feature.reverse{grid-template-columns:1.15fr .85fr}.service-feature.reverse .service-feature-copy{order:2}.service-feature.reverse img{order:1}
.service-feature img{width:100%;height:570px;object-fit:cover}
.service-feature-copy>span{font-size:10px;color:var(--cyan);font-weight:800}
.service-feature-copy h2{font-size:50px}.service-feature-copy>p:last-child{color:var(--text)}
.service-note{max-width:880px;text-align:center}.service-note h2{font-size:60px}.service-note p{max-width:700px;margin:0 auto 25px;color:var(--text)}

/* Home spaces */
.home-showcase{display:flex;flex-direction:column;gap:90px}
.home-feature{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:7%}.home-feature.reverse{grid-template-columns:.85fr 1.15fr}.home-feature.reverse .home-photo{order:2}
.home-photo img{height:590px;width:100%;object-fit:cover}.home-copy>span{font-size:10px;color:var(--cyan);font-weight:800}.home-copy p{color:var(--text)}
.outdoor-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:center}.outdoor-grid p{color:#D7E8F0}
.outdoor-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.outdoor-photos img{height:430px;width:100%;object-fit:cover}

/* Gallery */
.gallery-masonry{columns:3 320px;column-gap:14px}
.gallery-card{break-inside:avoid;margin:0 0 14px}.gallery-card button{display:block;width:100%;padding:0;border:0;background:#EDF4F7;position:relative;overflow:hidden;cursor:zoom-in;text-align:left}
.gallery-card img{width:100%;height:auto;transition:.45s}.gallery-card button:hover img{transform:scale(1.018)}
.gallery-card span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(22,60,89,.9));color:#fff;padding:45px 16px 14px;opacity:0;transition:.3s}
.gallery-card button:hover span,.gallery-card button:focus-visible span{opacity:1}.gallery-card b,.gallery-card small{display:block}.gallery-card b{font-size:13px}.gallery-card small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:rgba(6,22,32,.94);z-index:300;display:grid;place-items:center;padding:35px}.lightbox img{max-width:min(1100px,92vw);max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;right:25px;top:18px;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}
.contact-info dl{margin:35px 0}.contact-info dl>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:16px 0}.contact-info dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted)}.contact-info dd{margin:0;font-size:13px}
.contact-form{background:var(--paper);padding:43px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}
.contact-form input,.contact-form textarea{border:1px solid #C8D6DE;background:#fff;padding:12px 13px;outline:none;text-transform:none;letter-spacing:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(40,169,223,.12)}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.hp{position:absolute!important;left:-9999px!important}.form-success,.form-error{padding:12px 14px;margin-bottom:18px;font-size:12px}.form-success{background:#E1F4EA;color:#17613A}.form-error{background:#FCE9E8;color:#913A35}
.prose{max-width:850px}.prose a{color:var(--blue);text-decoration:underline}


/* Contacto · mapa */
.location-section{
  padding:0 0 110px;
  background:#F5F9FB;
}
.location-head{
  display:grid;
  grid-template-columns:1fr .75fr;
  gap:8%;
  align-items:end;
  padding:70px 0 36px;
  width:min(1080px,100%);
  margin-inline:auto;
}
.location-head h2{
  font:800 clamp(40px,4.2vw,64px)/1 var(--sans);
  letter-spacing:-.045em;
  margin:0;
}
.location-head h2 em{
  font:600 1.08em/1 var(--serif);
}
.location-address{
  border-left:1px solid var(--line);
  padding-left:28px;
}
.location-address>span{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  font-weight:800;
  margin-bottom:7px;
}
.location-address strong{
  display:block;
  font-size:17px;
  margin-bottom:12px;
}
.map-frame{
  width:min(1080px,100%);
  margin-inline:auto;
  background:#fff;
  border:1px solid rgba(46,94,137,.16);
  padding:10px;
  box-shadow:var(--shadow);
}
.map-frame iframe{
  display:block;
  width:100%;
  min-height:520px;
  filter:saturate(.9) contrast(.98);
}

/* Footer */
.site-footer{background:#102D43;color:#E7F0F4;padding:72px 0 26px}
.footer-grid{display:grid;grid-template-columns:2fr .8fr 1.2fr;gap:70px}.footer-brand img{width:280px;height:auto;margin-bottom:23px}.footer-brand p{max-width:430px;color:#B9CDD7;font-size:13px}
.site-footer h2{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#86CDE9}.site-footer a{display:block;font-size:12px;margin:8px 0}.site-footer p{font-size:12px;color:#B9CDD7}
.footer-bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8EABB9}


/* V4.1 · Textura y profundidad visual
   Patrones deliberadamente sutiles para conservar legibilidad. */
.section-soft,
.page-hero,
.statement-section,
.visit-cta,
.section-blue,
.site-footer,
.location-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.section-soft::before,
.page-hero::before,
.statement-section::before,
.visit-cta::before,
.section-blue::before,
.site-footer::before,
.location-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
.section-soft::before,
.page-hero::before,
.location-section::before{
  background:
    radial-gradient(circle at 16% 20%, rgba(40,169,223,.09) 0 1px, transparent 1.5px) 0 0 / 24px 24px,
    radial-gradient(circle at 84% 15%, rgba(46,94,137,.09), transparent 31%),
    linear-gradient(135deg, rgba(255,255,255,.56), transparent 44%);
  opacity:.72;
}
.statement-section::before,
.visit-cta::before,
.section-blue::before,
.site-footer::before{
  background:
    linear-gradient(115deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(25deg, rgba(40,169,223,.06), transparent 42%),
    radial-gradient(circle at 82% 20%, rgba(40,169,223,.15), transparent 30%);
}
.section-soft > *,
.page-hero > *,
.statement-section > *,
.visit-cta > *,
.section-blue > *,
.site-footer > *,
.location-section > *{
  position:relative;
  z-index:1;
}

/* Algunas secciones de lectura se contienen aún más dentro del shell general. */
.story-grid,
.service-preview,
.editorial-split,
.service-editorial,
.home-showcase,
.contact-grid{
  width:min(1080px,100%);
  margin-inline:auto;
}
.page-hero-grid,
.visit-grid{
  width:min(1080px,100%);
}
.section-head{
  width:min(1080px,100%);
  margin-left:auto;
  margin-right:auto;
}

/* Motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1020px){
  .site-nav{gap:15px}.site-nav a{font-size:10px}.brand img{height:50px}
  .story-grid,.editorial-split,.contact-grid{gap:6%}
  .principles-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  .location-head{grid-template-columns:1fr;gap:25px}
  .location-address{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
  .map-frame iframe{min-height:420px}

  .utility-bar{display:none}.site-header{height:76px}
  .menu-button{display:block}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:22px 28px 28px;flex-direction:column;align-items:stretch;gap:7px;box-shadow:0 25px 45px rgba(46,94,137,.1)}
  .site-nav.open{display:flex}.site-nav .nav-cta{margin-top:8px}
  .hero-home{height:720px;min-height:0}.hero-overlay{background:linear-gradient(90deg,rgba(18,50,73,.9),rgba(18,50,73,.52))}
  .hero-stamp{right:0}
  .story-grid,.service-preview,.editorial-split,.page-hero-grid,.visit-grid,.contact-grid,.outdoor-grid{grid-template-columns:1fr}
  .story-media img{height:560px}.photo-label{right:0}.service-title{position:static}
  .experience-grid{height:auto;grid-template-columns:1fr 1fr}.experience-large{grid-row:auto;grid-column:1/-1;height:520px}.experience-card:not(.experience-large){height:360px}
  .service-feature,.service-feature.reverse,.home-feature,.home-feature.reverse{grid-template-columns:1fr;gap:30px}.service-feature.reverse .service-feature-copy,.home-feature.reverse .home-photo{order:initial}
  .service-feature img,.home-photo img{height:500px}
  .purpose-grid{grid-template-columns:1fr}.outdoor-photos img{height:330px}
  .section-head{display:block}.section-head>a{margin-top:15px}
  .spaces-grid{height:600px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .social-rail{top:auto;bottom:95px;transform:none}.social-rail a:hover,.social-rail a:focus-visible{width:48px}.social-rail span{display:none}
}
@media(max-width:600px){
  .shell{width:min(100% - 34px,1160px)}
  .location-section{padding-bottom:70px}
  .location-head{padding-top:55px}
  .map-frame{padding:6px}
  .map-frame iframe{min-height:360px;height:360px}

  .brand img{height:43px}.hero-home{height:670px}.hero-content{padding-bottom:70px}.hero-content h1{font-size:47px}.hero-content p{font-size:14px}.hero-stamp{width:168px;padding:18px}.hero-stamp strong{font-size:18px}
  .intro-strip-inner{justify-content:flex-start;overflow:auto;white-space:nowrap}.section{padding:75px 0}
  .story-media img{height:480px}.story-copy h2,.section-head h2,.service-title h2,.contact-info h2{font-size:42px}
  .experience-grid{display:block}.experience-card,.experience-large{height:400px!important;margin-bottom:12px}
  .spaces-grid{display:block;height:auto}.spaces-grid figure{height:400px;margin-bottom:12px}
  .page-hero{padding:80px 0 55px}.page-hero h1{font-size:50px}.page-hero-grid>p{margin-top:22px}
  .purpose-grid article{padding:35px 25px}.principles-grid{grid-template-columns:1fr}
  .service-feature img,.home-photo img{height:430px}.service-feature-copy h2,.home-copy h2,.service-note h2{font-size:40px}
  .outdoor-photos{grid-template-columns:1fr}.outdoor-photos img{height:330px}
  .gallery-masonry{columns:1}.gallery-card span{opacity:1}
  .contact-form{padding:28px 20px}.form-pair{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom a{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.experience-card img,.gallery-card img{transition:none}}

/* V4.2.2 · EQUIPO COMPACTO */
.team-section{background:radial-gradient(circle at 12% 8%,rgba(40,169,223,.08),transparent 26%),linear-gradient(180deg,#fff 0%,#F5F9FB 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.team-shell{width:min(1080px,calc(100% - 64px))}
.team-intro{max-width:820px;margin:0 auto 44px;text-align:center}
.team-intro h2{font:800 clamp(38px,4vw,58px)/1 var(--sans);letter-spacing:-.045em;margin:0 0 20px}
.team-intro h2 em{font:600 1.08em/1 var(--serif)}
.team-intro>p{max-width:740px;margin:0 auto;color:var(--text);font-size:14px}
.team-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.team-member{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:168px;background:#fff;border:1px solid rgba(46,94,137,.14);box-shadow:0 10px 30px rgba(31,74,104,.055);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.team-member:hover{transform:translateY(-3px);border-color:rgba(40,169,223,.35);box-shadow:0 16px 38px rgba(31,74,104,.09)}
.team-member-photo{width:112px;height:168px;overflow:hidden;background:#EDF3F6}
.team-member-photo img{display:block;width:112px!important;height:168px!important;max-width:none!important;object-fit:cover!important;object-position:center 18%}
.team-member-content{min-width:0;padding:18px 19px 17px;align-self:center}
.team-member-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.team-member-heading span{display:block;color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.team-member-heading h3{font:800 17px/1.08 var(--sans);letter-spacing:-.02em;color:var(--blue);margin:0}
.team-member-content>p{margin:0;color:var(--text);font-size:10.7px;line-height:1.55}
.team-provisional{flex:none;display:inline-flex;background:#FFF4D9;color:#8B6415;border:1px solid #EED9A6;border-radius:30px;padding:4px 7px;font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.team-disclaimer{max-width:780px;margin:24px auto 0;text-align:center;color:var(--muted);font-size:10px;line-height:1.55}
@media(max-width:900px){.team-shell{width:min(100% - 40px,1080px)}.team-members{grid-template-columns:1fr}.team-member{grid-template-columns:105px minmax(0,1fr);min-height:158px}.team-member-photo,.team-member-photo img{width:105px!important;height:158px!important}}
@media(max-width:560px){.team-shell{width:min(100% - 30px,1080px)}.team-member{grid-template-columns:84px minmax(0,1fr);min-height:132px}.team-member-photo,.team-member-photo img{width:84px!important;height:132px!important}.team-member-content{padding:13px 13px 12px}.team-member-heading h3{font-size:15px}.team-member-content>p{font-size:9.7px;line-height:1.48}.team-provisional{font-size:6.5px;padding:3px 5px}}
\n\n/* V4.2.3 · Ajuste definitivo del equipo */\n.team-members{align-items:stretch}\n.team-member{grid-template-columns:108px minmax(0,1fr);min-height:184px;height:auto}\n.team-member-photo{width:108px;height:154px;margin:15px 0 15px 15px;align-self:start;border-radius:2px}\n.team-member-photo img{width:108px!important;height:154px!important;max-width:none!important;object-fit:cover!important;object-position:center 18%}\n.team-member-content{padding:17px 20px 17px 18px;align-self:start}\n.team-member-heading{margin-bottom:9px}\n.team-member-heading h3{font-size:18px}\n.team-member-content>p{font-size:11.2px;line-height:1.58}\n.team-provisional,.team-disclaimer{display:none!important}\n@media(max-width:900px){\n .team-member{grid-template-columns:104px minmax(0,1fr)}\n .team-member-photo{width:104px;height:148px;margin:14px 0 14px 14px}\n .team-member-photo img{width:104px!important;height:148px!important}\n}\n@media(max-width:560px){\n .team-member{grid-template-columns:86px minmax(0,1fr);min-height:0}\n .team-member-photo{width:86px;height:122px;margin:12px 0 12px 12px}\n .team-member-photo img{width:86px!important;height:122px!important}\n .team-member-content{padding:12px 12px 12px 13px}\n .team-member-heading h3{font-size:15px}\n .team-member-content>p{font-size:9.8px;line-height:1.48}\n}\n