*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#222421;background:#fafaf7;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee}.logo{width:220px;height:auto}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.navcta{border:1px solid #bbb;padding:14px 22px;border-radius:4px}#menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:78px 9% 42px 10%}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 28px}h1{font-size:clamp(42px,4.1vw,68px);line-height:1.05;letter-spacing:-3px;margin:0 0 26px}h1 span{color:#f37400}.intro{color:#666;line-height:1.7;font-size:17px}.button{display:inline-flex;justify-content:space-between;gap:28px;padding:18px 24px;border:0;border-radius:4px;font-weight:700;font-size:14px}.orange{background:#ff7900;color:#171914}.dark{background:#20231f;color:white}.textlink{display:block;margin:24px 0;font-size:14px}.hero-note{margin-top:65px;display:flex;align-items:center;gap:18px;border-top:1px solid #dcded7;padding-top:22px;font-size:12px;color:#777}.hero-note strong{color:#222;white-space:nowrap}.hero-photo{position:relative;min-height:550px;background:#333;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;filter:brightness(.63)}.photo-label{position:absolute;top:35px;left:35px;color:white;background:#2228;padding:12px;font-size:12px;border:1px solid #fff5;border-radius:30px}.dot{display:inline-block;width:7px;height:7px;background:#ff7900;border-radius:50%;margin-right:8px}.photo-number{position:absolute;bottom:42px;left:40px;color:white;font-size:110px;letter-spacing:-7px;font-weight:700}.photo-number small{display:block;font-size:13px;letter-spacing:2px;font-weight:400}.ribbon{background:#ff7900;display:flex;gap:30px;justify-content:space-around;align-items:center;padding:22px;font-size:12px;font-weight:700;letter-spacing:2px;flex-wrap:wrap}.ribbon b{font-size:24px}.section{padding:95px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}h2{font-size:clamp(34px,3.3vw,52px);line-height:1.08;letter-spacing:-2px;margin:0}.section-heading>p{color:#74766f;line-height:1.7;font-size:14px}.filters{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.search{background:white;border:1px solid #d9dcd4;display:flex;align-items:center;padding:10px 16px;gap:10px;min-width:300px}.search input{border:0;background:transparent;padding:7px;width:100%;min-width:0}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-buttons button{border:1px solid #ddd;background:transparent;padding:13px 17px;border-radius:4px;font-size:12px}.filter-buttons button.active{background:#252823;color:white;border-color:#252823}.resultados{font-size:12px;color:#777;margin:22px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.playa{padding:24px;background:white;border:1px solid #dfe2da;border-radius:6px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.playa:hover{transform:translateY(-4px);border-color:#ff7900}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#777}.card-num{font-size:17px;color:#c0c2bb}.playa h3{font-size:22px;letter-spacing:-.7px;margin:28px 0 10px}.address{font-size:13px;margin:0 0 22px;line-height:1.5;min-height:39px}.details{border-top:1px solid #eee;padding-top:12px;color:#73766e;font-size:12px;line-height:1.5;flex:1}.details p{display:flex;gap:9px}.card-actions{display:flex;justify-content:space-between;gap:8px;margin-top:23px;font-size:11px;font-weight:700}.card-actions>a:last-child{color:#bb5500}.business{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#232720;color:#fff}.business h2 span{color:#ff7900}.business>div>p:not(.eyebrow){color:#bdc1b6;line-height:1.7;font-size:15px;margin:25px 0 30px}.service-list article{display:flex;gap:25px;border-top:1px solid #ffffff35;padding:24px 0}.service-list article>span{color:#ff7900;font-size:12px;padding-top:4px}.service-list h3{margin:0 0 10px;font-size:21px;letter-spacing:-.5px}.service-list p{color:#bdc1b6;font-size:14px;line-height:1.6;margin:0}.about>div{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about h2 span{color:#92988b}.about>div>div>p{font-size:17px;color:#64695e;line-height:1.8;margin:0 0 20px}.about-stat{display:flex;align-items:center;gap:22px;border-top:1px solid #ddd;padding-top:25px;margin-top:25px}.about-stat strong{font-size:65px;letter-spacing:-4px}.about-stat span{font-size:12px;color:#777;line-height:1.6}.contact{background:#eceee7;display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact>div>p:not(.eyebrow){max-width:360px;line-height:1.7;color:#73776c}.email{display:block;margin:35px 0 18px;font-size:clamp(15px,1.5vw,22px);font-weight:700}.small{font-size:12px;line-height:1.6;color:#75786e}form label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}form input,form select,form textarea{display:block;margin-top:9px;width:100%;padding:13px;border:1px solid #cfd3c6;border-radius:3px;background:#ffffffbd;color:#222}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 6%;gap:20px;background:white;font-size:12px;color:#72776b}footer img{width:180px;height:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:white;padding:20px}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}nav{gap:18px}.hero-copy{padding:60px 8%}h1{font-size:49px}.hero-note{margin-top:40px}.filter-buttons{align-items:center}}@media(max-width:700px){header{height:76px}.logo{width:185px}#menu{display:block;background:none;border:1px solid #ddd;font-size:23px;padding:5px 12px}nav{display:none;position:absolute;left:0;right:0;top:76px;background:white;padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 6% 35px}h1{font-size:49px;letter-spacing:-2.5px}.hero-photo{min-height:340px}.photo-number{font-size:85px;bottom:25px}.photo-label{left:23px;top:23px}.hero-note{margin-top:35px}.ribbon{gap:16px;font-size:10px;padding:18px}.ribbon b{display:none}.section{padding:60px 6%}.section-heading{display:block}.section-heading>p{margin-top:24px}.grid{grid-template-columns:1fr}.search{min-width:0;width:100%}.filter-buttons button{padding:11px 12px}.business,.about>div,.contact{grid-template-columns:1fr;gap:38px}.about h2{margin-bottom:20px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap}footer p{display:none}footer span{width:100%}.card-actions{font-size:13px}.playa{padding:24px}.address{min-height:0}.playa h3{margin-top:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.playa{transition:none}}

/* Encabezado azul: contraste para el logotipo blanco original. */
header{background:#18365b;color:#fff;border-bottom-color:#29496f}
header nav a{color:#fff}
header nav a:hover{color:#ff9b40}
header .navcta{border-color:#ffffff80;background:#ffffff08}
header .navcta:hover{background:#ffffff15;color:#fff;border-color:#fff}
header #menu{color:#fff;border-color:#ffffff80}
header a:focus-visible,header button:focus-visible{outline:2px solid #ff9b40}
@media(max-width:700px){header nav{background:#18365b;border-bottom:1px solid #29496f}}
/* Pie institucional, legible con el logo original blanco. */
footer{background:#18365b;color:#fff;border-top:1px solid #29496f}
footer a{color:#fff}
footer a:hover{color:#ff9b40}
footer a:focus-visible{outline:2px solid #ff9b40}

.playa{overflow:hidden}.playa-foto{display:block;width:calc(100% + 48px);max-width:none;height:175px;object-fit:cover;margin:-24px -24px 22px}.playa-foto-pendiente{display:flex;flex-direction:column;justify-content:center;gap:10px;background:#18365b;color:#fff;width:calc(100% + 48px);height:175px;margin:-24px -24px 22px;padding:24px}.playa-foto-pendiente>span{font-size:10px;letter-spacing:3px;color:#ff9b40}.playa-foto-pendiente small{font-size:24px}.playa-foto-pendiente em{font-size:10px;font-style:normal;color:#c7d5e6}.hero-photo>img{filter:brightness(.8);object-position:45% center}@media(max-width:700px){.playa-foto,.playa-foto-pendiente{height:230px}}

/* Ajustes de imágenes y distribución en todos los tamaños. */
img{max-width:100%}.hero-copy,.hero-photo,.section-heading>*,.business>*,.about>div>*,.contact>*{min-width:0}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.playa-foto{max-width:none;height:auto;aspect-ratio:4/3;object-fit:cover}.hero-photo>img{max-width:none;object-fit:cover}.email{overflow-wrap:anywhere}.photo-label{max-width:calc(100% - 46px)}.photo-number{max-width:calc(100% - 60px)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#captcha{width:160px;margin:0 0 15px}button:disabled{opacity:.65;cursor:wait}#form-status{line-height:1.6;font-size:14px}form .button{margin-top:10px}.card-actions{flex-wrap:wrap}footer{flex-wrap:wrap}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-buttons{max-width:100%}}
@media(max-width:700px){.grid{grid-template-columns:minmax(0,1fr)}.hero-photo{min-height:0;aspect-ratio:4/3}.hero-photo>img{width:100%;height:100%}.playa-foto{height:auto;aspect-ratio:4/3}h1{font-size:clamp(34px,8vw,49px)}.photo-number{font-size:70px}.section-heading h2{overflow-wrap:break-word}}
