*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:#0B0C0E;font-family:'Geist','Inter',system-ui,sans-serif;color:#DAD5CC;-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
a:hover{color:#E0AA45;}
a:focus-visible,button:focus-visible{outline:2px solid #E0AA45;outline-offset:3px;border-radius:6px;}
/* El dorado claro no alcanza 3:1 sobre los fondos claros: se oscurece el anillo. */
.sw-home-clients a:focus-visible,.sw-home-clients button:focus-visible,
.sw-home-contact a:focus-visible,.sw-home-contact button:focus-visible{outline-color:#8A5F12;}
::selection{background:rgba(200,146,45,.28);color:#FBF9F5;}
/* height:auto es obligatorio junto a max-width:100%: sin el, el height="" del
   HTML se aplica como pixeles literales y la imagen queda aplastada/estirada
   cuando el ancho se reduce por max-width. */
img{max-width:100%;height:auto;display:block;}
@keyframes sw-fade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.sw-page{animation:sw-fade .5s cubic-bezier(.22,.61,.36,1) both;}

/* header hover states (were inline style-hover in the original) */
.sw-nav-link:hover{color:#F5C842;background:rgba(255,255,255,.05);}
.sw-btn-outline:hover{border-color:rgba(200,146,45,.55);color:#F5C842;}
.sw-suite-login{transition:background-color .2s ease,border-color .2s ease,color .2s ease;}
.sw-suite-login:hover{background:transparent !important;border-color:rgba(200,146,45,.55) !important;color:#F5C842 !important;}
.sw-suite-login:focus-visible{background:transparent !important;border-color:rgba(200,146,45,.55) !important;color:#F5C842 !important;outline:2px solid #E0AA45;outline-offset:3px;}
.sw-btn-solid:hover{background:#E0AA45;}
.sw-card:hover{border-color:rgba(200,146,45,.3);background:#15181c;}
/* Logos de clientes: caja comun + contain. La altura por logo (--logo-h) es
   solo un ajuste optico; contain conserva siempre la proporcion original. */
.sw-client-logo{width:100%;height:var(--logo-h,38px);object-fit:contain;object-position:center;filter:none;opacity:1 !important;}
.sw-client-logo:hover{filter:none;opacity:1 !important;}
.sw-contact-card:hover{border-color:rgba(200,146,45,.5);}
.sw-social:hover{color:#E0AA45;border-color:rgba(200,146,45,.5);}
.sw-footer-link:hover{color:#E0AA45;}

/* Home preview: alternating section backgrounds */
.sw-home-hero{background:#0B0B0C;box-shadow:0 0 0 100vmax #0B0B0C;clip-path:inset(0 -100vmax);}
.sw-home-services{background:#151516;box-shadow:0 0 0 100vmax #151516;clip-path:inset(0 -100vmax);}
.sw-home-clients{background:#F5F2EC;box-shadow:0 0 0 100vmax #F5F2EC;clip-path:inset(0 -100vmax);}
.sw-home-clients > div:first-child > h2{color:#202022 !important;}
.sw-client-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}
.sw-client-cell{background:#FFFCF7;border:1px solid rgba(32,32,34,.1);border-radius:11px;transition:border-color .22s ease;}
.sw-client-cell:hover{border-color:rgba(200,146,45,.38);}
.sw-home-about{background:#151516;box-shadow:0 0 0 100vmax #151516;clip-path:inset(0 -100vmax);}
.sw-home-about h2{color:#FBF9F5 !important;}
.sw-home-about p{color:#B3B8C0 !important;}
.sw-home-suite{background:radial-gradient(720px 360px at 72% 42%,rgba(200,146,45,.12),transparent 64%),#0B0B0C;box-shadow:0 0 0 100vmax #0B0B0C;clip-path:inset(0 -100vmax);}
.sw-home-contact{background:#EEE8DE;box-shadow:0 0 0 100vmax #EEE8DE;clip-path:inset(0 -100vmax);}
.sw-home-contact > div{background:#EEE8DE !important;border-color:rgba(200,146,45,.32) !important;}
.sw-home-contact h2{color:#202022 !important;}
.sw-home-contact p{color:#5B5650 !important;}
.sw-home-contact .sw-btn-outline{color:#202022 !important;border-color:rgba(32,32,34,.28) !important;}
.sw-home-contact .sw-contact-card{background:rgba(255,255,255,.5) !important;border-color:rgba(32,32,34,.14) !important;}
.sw-home-contact .sw-contact-card > span:last-child > span:first-child{color:#716A61 !important;}
.sw-home-contact .sw-contact-card > span:last-child > span:last-child{color:#202022 !important;}
.sw-home-services,.sw-home-clients,.sw-home-about,.sw-home-suite,.sw-home-contact{border-top:1px solid rgba(255,255,255,.06);}
.sw-home-clients,.sw-home-contact{border-top-color:rgba(32,32,34,.1);}
/* Los overrides !important de la seccion clara anulaban los :hover globales.
   Se reponen aqui con la misma especificidad, en la version oscura de la paleta. */
.sw-home-contact .sw-contact-card:hover{border-color:rgba(138,95,18,.55) !important;background:rgba(255,255,255,.78) !important;}
.sw-home-contact .sw-btn-outline:hover{border-color:rgba(138,95,18,.55) !important;color:#6B4E14 !important;}

/* El header sticky mide 72px: sin esto las anclas quedan bajo la barra. */
#servicios,#nosotros,#contacto{scroll-margin-top:88px;}

/* mobile menu (JS toggled) */
.sw-mobile-menu{display:none;}
.sw-mobile-menu.is-open{display:flex;}

/* FAQ accordion (JS toggled) */
.sw-faq-answer{display:none;}
.sw-faq-item.is-open .sw-faq-answer{display:block;}
.sw-faq-item.is-open .sw-faq-icon{transform:rotate(45deg);}
.sw-faq-icon{transition:transform .2s ease;}

@media(max-width:920px){
  .sw-client-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .sw-hero-grid{grid-template-columns:1fr !important;}
  .sw-split{grid-template-columns:1fr !important;}
  .sw-feat{grid-template-columns:1fr !important;gap:32px !important;}
  .sw-feat-media{order:2 !important;}
  .sw-desktop-nav{display:none !important;}
  .sw-mobile-toggle{display:inline-flex !important;}
  .sw-header-ctas{display:none !important;}
}
@media(max-width:640px){
  .sw-client-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  /* En 2 columnas la celda es angosta: se recorta el padding para que los
     logotipos anchos no queden limitados por el ancho, y se baja la caja. */
  .sw-client-cell{min-height:96px !important;padding:22px 16px !important;}
  .sw-client-logo{height:calc(var(--logo-h,38px) * .82);}
  .sw-pad{padding-left:22px !important;padding-right:22px !important;}
  .sw-foot-grid{grid-template-columns:1fr 1fr !important;}
  .sw-quote-band{flex-direction:column !important;align-items:stretch !important;margin-bottom:24px !important;}
  .sw-quote-btn{width:100% !important;}
}
