/* ============================================================
   ARQUITHEL OBRAS — shared design system
   ============================================================ */
:root

{
    
  /* TYPOGRAPHY */
  --font-xs: clamp(12px, 0.6vw, 13px);
  --font-sm: clamp(13px, 0.8vw, 15px);
  --font-md: clamp(15px, 1vw, 18px);
  --font-lg: clamp(18px, 1.2vw, 22px);
  --font-xl: clamp(22px, 1.8vw, 28px);
  --font-xxl: clamp(28px, 2.5vw, 40px);
  --font-hero: clamp(32px, 4vw, 64px);

  /* SPACING */
  --space-1: clamp(4px, 0.4vw, 6px);
  --space-2: clamp(8px, 0.6vw, 10px);
  --space-3: clamp(12px, 1vw, 16px);
  --space-4: clamp(16px, 1.5vw, 24px);
  --space-5: clamp(24px, 2vw, 36px);
  --space-6: clamp(32px, 3vw, 48px);
  --space-7: clamp(48px, 4vw, 72px);
  --space-8: clamp(64px, 6vw, 96px);

  /* RADIUS */
  --radius-sm: clamp(6px, 0.6vw, 10px);
  --radius-md: clamp(10px, 1vw, 16px);
  --radius-lg: clamp(16px, 1.5vw, 24px);

  /* COLORS */
  --cream:#f4f1ea;
  --cream-2:#efece4;
  --gray-footer:#e7e8ea;
  --slate:#3a4049;
  --slate-deep:#2f343d;
  --ink:#3b414c;
  --ink-soft:#5b626c;
  --black:#0b0b0b;
  --teal:#3a8b9a;
  --teal-dark:#2f7482;
  --teal-bright:#2a93a6;
  --red:#c0272e;
  --gold:#f0b429;
  --line:#cfd2d6;
  --white:#ffffff;

  /* TYPOGRAPHY FAMILIES */
  --maxw:1180px;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Times New Roman",Times,Georgia,serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
section[id]{scroll-margin-top:24px;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;}
html{
  font-size: clamp(14px, 0.4vw + 12px, 18px);
}
body.bg-cream{background:var(--cream);}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 clamp(16px, 3vw, 48px);
}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  border-radius:999px;border:1.5px solid transparent;
  font-size: var(--font-sm);font-weight:700;letter-spacing:.2px;
  padding: clamp(10px, 1vw, 14px) clamp(18px, 2vw, 28px);line-height:1;white-space:nowrap;
  transition:transform .15s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-black{background:var(--black);color:#fff;}
.btn-black:hover{background:#262626;}
.btn-white{background:#fff;color:var(--ink);}
.btn-white:hover{box-shadow:0 6px 18px rgba(0,0,0,.12);}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{background:var(--teal-dark);}
.home-hero .h-aside .btn-teal{
    animation: pozoPulse 2s ease-in-out infinite;
}
.btn-red{background:var(--red);color:#fff;font-weight:800;}
.btn-red:hover{background:#a51f25;}
.btn-outline{background:transparent;border-color:currentColor;color:var(--ink);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.85);color:#fff;}
.btn-outline-light:hover{background:rgba(255,255,255,.12);}
.btn-ghost-teal{background:transparent;border-color:var(--teal);color:var(--teal);}
.btn-ghost-teal:hover{background:var(--teal);color:#fff;}

/* ============================================================
   LOGOS (recreated as type)
   ============================================================ */
.brothel{
  display:inline-block;border:1px solid #8a8f95;padding:6px 12px 4px;
  font-family:var(--serif);color:#2c3138;text-align:center;line-height:1;
  position:relative;background:transparent;
}
.brothel .bt{display:block;font-size:.72em;letter-spacing:.02em;}
.brothel .bm{display:block;font-size:1.7em;font-weight:700;letter-spacing:.01em;
  border-bottom:1px solid #2c3138;padding-bottom:2px;margin-top:1px;}
.brothel .bs{display:block;font-size:.5em;letter-spacing:.5em;padding-left:.5em;margin-top:3px;text-transform:none;}
.brothel .reg{position:absolute;right:-12px;bottom:-6px;font-size:.5em;font-family:var(--sans);color:#8a8f95;}

/* brothel logos as PNG */
.brothel-logo{display:inline-block;width:auto;height:auto;object-fit:contain;}
.header-logos .brothel-logo{
  height: clamp(32px, 2vw, 48px);
}

.footer-brothels .brothel-logo{
  height: clamp(34px, 2.2vw, 56px);
}
.intro-logos .brothel-logo{height: clamp(56px, 5vw, 74px);}

/* arquithel obras wordmark */
.arquithel{
  display:inline-block;position:relative;font-family:var(--sans);
  font-weight:800;letter-spacing:-.02em;color:var(--black);line-height:.9;
  font-size: clamp(24px, 2.6vw, 34px);padding-bottom:.4em;
}
/* arquithel image logo (header) — dark for cream, light for dark heroes */
.arq-logo{display:inline-flex;align-items:center;}
.arq-logo-img{
  height: clamp(32px, 2vw, 54px);
}
.arq-logo-img.light{display:none;}
.site-header.over-white .arq-logo-img.dark{display:none;}
.site-header.over-white .arq-logo-img.light{display:block;}
.footer-arq .arq-logo-img{
  height: clamp(38px, 2.5vw, 64px);
}
.intro-logos .arq-logo-img{
  height: clamp(40px, 3vw, 74px);
}
.arquithel .thel{color:var(--teal-bright);}
.arquithel .reg{font-size:.32em;font-weight:700;vertical-align:super;color:var(--black);}
.arquithel .obras{
  position:absolute;right:0;bottom:0;font-size:.42em;font-weight:800;
  letter-spacing:.01em;color:var(--black);line-height:1;
}
.arquithel.on-dark{color:#fff;}
.arquithel.on-dark .reg,.arquithel.on-dark .obras{color:#fff;}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:relative;z-index:40;background:transparent;}
.site-header.solid{background:var(--cream);}
.site-header .bar{
  padding: clamp(14px, 1.5vw, 22px) clamp(18px, 3vw, 48px);
}
.header-logos{display:flex;align-items:center;gap:26px;flex:1;}
.header-logos .logo-home{display:flex;align-items:center;gap:26px;text-decoration:none;}
.header-logos .brothel{font-size: clamp(12px, 1vw, 15px);}
.header-logos .arquithel{font-size: clamp(22px, 2vw, 30px);}
.main-nav{display:flex;align-items:center;gap:30px;}
.main-nav a{font-size: clamp(14px, 1vw, 17px);color:var(--ink);font-weight:400;transition:color .25s ease, transform .25s ease;}
.main-nav a:hover,.main-nav a.active{color:#fff;transform:scale(1.08);}
.main-nav .nav-item{position:relative;}
.main-nav .nav-sub-toggle{font-family:inherit;font-size: clamp(14px, 1vw, 17px);color:var(--ink);font-weight:400;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .15s;}
.main-nav .nav-sub-toggle{font-family:inherit;font-size: clamp(14px, 1vw, 17px);color:var(--ink);font-weight:400;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .25s ease, transform .25s ease;}
.main-nav .nav-sub-toggle:hover,.main-nav .nav-item.active .nav-sub-toggle,.main-nav .nav-item.open .nav-sub-toggle{color:#fff;transform:scale(1.08);}
.main-nav .caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .2s;}
.main-nav .sub-menu{position:absolute;top:100%;left:0;margin-top:12px;min-width:170px;background:var(--cream);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.16);padding:8px 0;display:none;flex-direction:column;z-index:50;}
.main-nav .sub-menu a{font-size: clamp(13px, 0.9vw, 16px);padding:9px 20px;white-space:nowrap;}
.main-nav .sub-menu a:hover{background:rgba(0,0,0,.05);color:var(--teal);}
.main-nav .nav-item:hover .sub-menu,.main-nav .nav-item.open .sub-menu{display:flex;}
.main-nav .nav-item:hover .caret,.main-nav .nav-item.open .caret{transform:rotate(-135deg);margin-top:2px;}
.nav-toggle{display:none;background:none;border:0;align-items:center;gap:7px;padding:6px;}
.nav-toggle .nt-bars{display:flex;flex-direction:column;gap:5px;}
.nav-toggle .nt-bars span{width:26px;height:2px;background:var(--ink);display:block;}
.nav-toggle .nt-text{display:none;font-size: clamp(14px, 1vw, 17px);font-weight:600;color:var(--ink);font-family:var(--sans);letter-spacing:.01em;}
.nav-toggle .nt-caret{display:none;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .2s;color:var(--ink);}
.nav-toggle.open .nt-caret{transform:rotate(-135deg);margin-top:2px;}

/* header that floats over a hero image */
.site-header.over,.site-header.over-white{position:absolute;top:0;left:0;right:0;}
.site-header.over .bar,.site-header.over-white .bar{background:transparent;}

/* over-white: white text for home hero */
.site-header.over-white .main-nav a,
.site-header.over-white .main-nav .nav-sub-toggle{color:#fff;}
/* darker header text on empleo / proveedores (light hero) */
body.dk-header .main-nav a,
body.dk-header .main-nav .nav-sub-toggle{color:#0b0b0b;}
body.dk-header .nav-toggle .nt-text,
body.dk-header .nav-toggle .nt-caret{color:#0b0b0b;}
body.dk-header .nav-toggle .nt-bars span{background:#0b0b0b;}
/* active/selected item also black (teal is unreadable on light hero) */
body.dk-header .main-nav a.active,
body.dk-header .main-nav .nav-item.active .nav-sub-toggle,
body.dk-header .main-nav .nav-item.open .nav-sub-toggle{color:#0b0b0b;}
.site-header.over-white .main-nav a:hover,
.site-header.over-white .main-nav a.active,
.site-header.over-white .main-nav .nav-sub-toggle:hover,
.site-header.over-white .main-nav .nav-item.open .nav-sub-toggle{color:#fff;transform:scale(1.08);}
.site-header.over-white .nav-toggle .nt-bars span{background:#fff;}
.site-header.over-white .nav-toggle .nt-text,.site-header.over-white .nav-toggle .nt-caret{color:#fff;}
/* dropdown panel has a cream bg, so its links must stay dark even on over-white headers */
@media(min-width:1081px){
  .site-header.over-white .main-nav .sub-menu a{color:var(--ink);}
  .site-header.over-white .main-nav .sub-menu a:hover{color:var(--teal);}
}

.site-header.over-white .brothel-logo{filter:brightness(0) invert(1);}
.site-header.over-white .arquithel{color:#fff;}
.site-header.over-white .arquithel .reg{color:#fff;}
.site-header.over-white .arquithel .obras{color:#fff;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:#fff;color:var(--ink);position:relative;overflow:hidden;}
.footer-top{max-width:var(--maxw);margin:0 auto;padding:30px 32px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:2;}
.footer-brothels{display:flex;gap:22px;align-items:center;}
.footer-brothels .brothel{font-size: clamp(13px, 1vw, 16px);}
.footer-brothels [src="assets/logo-ailen.png"]{width:90px;height:55px;object-fit:contain;}
.footer-arq{position:relative;}
.footer-arq .arquithel{font-size: clamp(28px, 3.2vw, 42px);}
.footer-watermark{
  position:absolute;right:-20px;top:-80px;font-family:var(--sans);font-weight:800;
  font-size: clamp(180px, 20vw, 320px);line-height:1;color:rgba(58,139,154,.10);z-index:1;pointer-events:none;
  letter-spacing:-.04em;}
.footer-rule{max-width:var(--maxw);margin:0 auto;height:2px;background:var(--teal);opacity:.5;}
.footer-cols{max-width:var(--maxw);margin:0 auto;padding:22px 32px 26px;
  display:grid;grid-template-columns:150px 160px 1fr auto;gap:30px;align-items:start;position:relative;z-index:2;}
.footer-cols h4{
  font-size: clamp(13px, 0.9vw, 16px);
}
.footer-cols ul{list-style:none;margin:0;padding:0;}
.footer-cols ul li{margin-bottom:7px;}
.footer-cols ul li a{
  font-size: clamp(13px, 0.9vw, 16px);
}
.footer-cols ul li a:hover{color:var(--teal);}
.footer-info p{
  font-size: clamp(13px, 0.9vw, 16px);
}
.footer-social{display:flex;gap:14px;align-self:flex-end;}
.footer-social a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--black);}
.footer-social svg{width:26px;height:26px;}
.footer-legal{background:#fff;padding:18px 32px 12px;text-align:center;}
.footer-legal .legal-txt{max-width:1000px;margin:0 auto;font-size: clamp(11px, 0.8vw, 13px);color:#6a6f77;line-height:1.6;}
.footer-legal .legal-txt b{color:#4a4f57;}
.footer-copy{text-align:center;font-size: clamp(11px, 0.8vw, 13px);color:#7a7f87;padding:10px 0 4px;}

/* ============================================================
   FORMS (dark panel)
   ============================================================ */
.form-panel{background:var(--slate);color:#fff;position:relative;overflow:hidden;}
.form-panel .form-watermark{
  position:absolute;left:0;bottom:-2%;font-family:var(--sans);font-weight:800;
  font-size:330px;line-height:.8;color:rgba(255,255,255,.045);white-space:nowrap;
  pointer-events:none;z-index:0;letter-spacing:-.02em;
}
.form-inner{max-width:var(--maxw);margin:0 auto;padding:60px 32px 70px;position:relative;z-index:2;}
.form-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  border-bottom:2px solid rgba(255,255,255,.45);padding-bottom:18px;margin-bottom:40px;}
.form-head h2{font-size: clamp(28px, 3.6vw, 46px);font-weight:800;margin:0;letter-spacing:-.01em;}
.form-phone{display:flex;align-items:center;gap:12px;font-size: clamp(20px, 2.4vw, 30px);font-weight:400;white-space:nowrap;}
.form-phone b{font-weight:800;}
.form-phone .phone-ic{width:46px;height:46px;border-radius:50%;border:2px solid #fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.form-phone .phone-ic svg{width:24px;height:24px;}
.afield{display:flex;flex-direction:column;gap:9px;}
.afield label{font-size:15px;font-weight:700;color:#fff;}
.afield label .req{color:var(--red);margin-left:2px;}
.afield label .opt{font-weight:400;color:#cfd3d8;}
.actrl{
  background:transparent;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;
  padding:14px 22px;color:#fff;font-size:15px;font-family:var(--sans);width:100%;
}
.actrl::placeholder{color:#aeb3ba;font-style:italic;}
.actrl:focus{outline:none;border-color:#fff;}
textarea.actrl{border-radius:26px;resize:vertical;min-height:130px;}
.aselect{position:relative;}
.aselect select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:46px;}
.aselect select:invalid{color:#aeb3ba;font-style:italic;}
.aselect option{color:#1a1a1a;font-style:normal;}
.aselect::after{content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;
  border-right:2px solid #cfd3d8;border-bottom:2px solid #cfd3d8;transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.afield.file .actrl{cursor:pointer;color:#aeb3ba;font-style:italic;padding:11px 22px;}
.afield.file .actrl::file-selector-button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.5);
  border-radius:999px;padding:7px 16px;margin-right:14px;font-family:var(--sans);font-size:13px;font-style:normal;cursor:pointer;}
.form-grid{display:grid;gap:26px 40px;}
.form-actions{display:flex;justify-content:flex-end;margin-top:34px;position:relative;z-index:2;}
.form-actions .btn{padding:14px 40px;font-size:16px;}
.form-note{margin-top:14px;color:#9fe6c9;font-size:14px;text-align:right;display:none;}
.form-note.show{display:block;}

/* ============================================================
   IMAGE SLOT placeholder styling
   ============================================================ */
image-slot{
  --slot-bg:repeating-linear-gradient(135deg,#e3e0d8 0 14px,#ebe8e1 14px 28px);
  background:var(--slot-bg);color:#9a9387;font-family:var(--sans);
}
image-slot::part(placeholder){font-family:var(--sans);}
.slot-dark{--slot-bg:repeating-linear-gradient(135deg,#23262c 0 14px,#2a2e35 14px 28px);}

/* ============================================================
   GENERIC SECTION HELPERS
   ============================================================ */
.section{
  padding: clamp(48px, 6vw, 110px) 0;
}
.eyebrow{color:var(--teal);font-weight:800;}
.center{text-align:center;}
.map-embed{width:100%;height:330px;border:0;display:block;background:#cfe0e6;}

/* hero shared */
.hero{position:relative;color:var(--ink);overflow:hidden;}
.hero .hero-img{position:absolute;inset:0;width:100%;height:100%;}
video.hero-img,img.hero-img{object-fit:cover;}

/* HERO: video en desktop y mobile - sin imagen */
.hero-video {
  display: block !important;
  visibility: visible !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

.hero-image {
  display: none !important;
  visibility: hidden !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Mobile: video TAMBIÉN visible */
@media (max-width: 680px) {
  .hero-video {
    display: block !important;      /* VIDEO VISIBLE EN MOBILE */
    visibility: visible !important;
    z-index: 1 !important;
    pointer-events: auto !important;
  }
  .hero-image {
    display: none !important;
    visibility: hidden !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
}

.hero .hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(244,241,234,.25),rgba(244,241,234,.15));}
.hero .hero-content{position:relative;z-index:2;}

/* responsive */
@media(max-width:1080px) and (min-width:901px){
  .site-header .nav-toggle{display:flex;}
  .site-header .main-nav{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:flex-start;background:var(--cream);
    padding:18px 24px;gap:18px;display:none;box-shadow:0 12px 24px rgba(0,0,0,.12);}
  .site-header .main-nav.open{display:flex;}
  .site-header .main-nav .nav-item{width:100%;}
  .site-header .main-nav .sub-menu{position:static;display:none !important;box-shadow:none;background:transparent;
    padding:6px 0 2px 16px;margin:6px 0 0;min-width:0;gap:12px;}
  .site-header .main-nav .nav-item.open .sub-menu{display:flex !important;}
}
@media(max-width:900px){
  .wrap,.form-inner,.footer-top,.footer-cols{padding-left:22px;padding-right:22px;}
  .form-grid{grid-template-columns:1fr !important;}
  .footer-cols{grid-template-columns:1fr 1fr;gap:26px;}
  .footer-info{grid-column:1/-1;}
  .footer-social{align-self:flex-start;}
  .header-logos .brothel-logo:nth-child(3){display:none;}
  .main-nav{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:flex-start;background:var(--cream);
    padding:18px 24px;gap:18px;display:none;box-shadow:0 12px 24px rgba(0,0,0,.12);}
  .main-nav.open{display:flex;}
  .main-nav .nav-item{width:100%;}
  .main-nav .nav-sub-toggle{font-size:16px;}
  .main-nav .sub-menu{position:static;display:none !important;box-shadow:none;background:transparent;
    padding:6px 0 2px 16px;margin:6px 0 0;min-width:0;gap:12px;}
  .main-nav .nav-item.open .sub-menu{display:flex !important;}
  .nav-toggle{display:flex;}
  .form-head{flex-direction:column;align-items:flex-start;gap:14px;}
  .form-head h2{font-size:34px;}
  .form-phone{font-size:24px;}
  .footer-arq .arquithel{font-size:40px;}
  .footer-watermark{font-size:120px;}
}

/* ============================================================
   PHONE (<=680px) — mobile design per spec
   ============================================================ */
@media(max-width:680px){
  /* --- header --- */
  /* non-home pages: cream bar in normal flow (relative keeps menu's positioning context) */
  .site-header,
  .site-header.over-white{position:relative;background:var(--cream);}
  /* home: header sits INSIDE the photo, transparent background */
  .site-header.over{position:absolute;background:transparent;}
  .site-header .bar{flex-direction:column;gap:9px;padding:13px 18px;}
  .header-logos{flex:none;width:100%;justify-content:center;}
  .header-logos .logo-home{gap:14px;justify-content:center;flex-wrap:nowrap;}
  .header-logos .brothel-logo,
  .header-logos .brothel-logo:nth-child(3){display:inline-block;height:34px;}
  .header-logos .arquithel{font-size:23px;}
  .arq-logo-img{height:34px;}
  /* mobile over-white = cream bar -> dark logo */
  .site-header.over-white .arq-logo-img.dark{display:block;}
  .site-header.over-white .arq-logo-img.light{display:none;}
  /* reset over-white (dark-hero) treatment so logos read on cream */
  .site-header.over-white .brothel-logo{filter:none;}
  .site-header.over-white .arquithel,
  .site-header.over-white .arquithel .reg,
  .site-header.over-white .arquithel .obras{color:var(--black);}
  .header-logos .arquithel .obras,
  .header-logos .arquithel .reg{color:var(--black) !important;}
  .site-header.over-white .main-nav a,
  .site-header.over-white .main-nav .nav-sub-toggle{color:var(--ink);}

  .nav-toggle{display:inline-flex !important;}
  .nav-toggle .nt-bars{display:none;}
  .nav-toggle .nt-text,.nav-toggle .nt-caret{display:inline-block;}
  .nav-toggle .nt-text{color:var(--ink);}
  .main-nav{top:100%;margin-top:0;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 14px 26px rgba(0,0,0,.16);z-index:60;}

  /* --- trayectoria (conocenos): header transparent over black hero, white logos --- */
  body.tray-page .site-header.over-white{position:absolute;background:transparent;}
  body.tray-page .site-header.over-white .brothel-logo{filter:brightness(0) invert(1);}
  body.tray-page .site-header.over-white .arquithel,
  body.tray-page .site-header.over-white .arquithel .reg,
  body.tray-page .site-header.over-white .arquithel .obras{color:#fff !important;}
  body.tray-page .header-logos .arquithel .obras,
  body.tray-page .header-logos .arquithel .reg{color:#fff !important;}
  body.tray-page .site-header.over-white .nav-toggle .nt-text,
  body.tray-page .site-header.over-white .nav-toggle .nt-caret{color:#fff;}
  body.tray-page .site-header.over-white .main-nav a,
  body.tray-page .site-header.over-white .main-nav .nav-sub-toggle{color:#fff;}
  body.tray-page .main-nav{background:var(--black);border-top-color:rgba(255,255,255,.15);}
  /* trayectoria: transparent over black hero -> light logo */
  body.tray-page .site-header.over-white .arq-logo-img.dark{display:none;}
  body.tray-page .site-header.over-white .arq-logo-img.light{display:block;}

  /* hide the big "arquithel" watermark behind forms on mobile */
  .form-panel .form-watermark{display:none;}

  /* --- footer: single centered column, info only, grey tone --- */
  .site-footer,
  .footer-legal{background:var(--gray-footer);}
  .footer-top{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;text-align:center;gap:14px;padding-top:26px;}
  .footer-brothels{display:contents;}
  .footer-top .brothel-logo{height:32px;width:auto;}
  .footer-brothels .brothel-logo:nth-child(1){order:0;}
  .footer-brothels .brothel-logo:nth-child(2){order:2;}
  .footer-arq{order:1;}
  .footer-arq .arquithel{font-size:30px;}
  .footer-arq .arq-logo-img{height:38px;}
  .footer-cols{grid-template-columns:1fr;text-align:center;gap:18px;padding-top:26px;padding-bottom:24px;}
  .footer-cols > div:nth-child(1),
  .footer-cols > div:nth-child(2){display:none;} /* menú + trabajo: nav lives in header */
  .footer-info{grid-column:auto;}
  .footer-social{justify-content:center;align-self:center;}
  .footer-watermark{font-size:150px;top:-30px;right:-30px;}
}

/* narrow phones: shrink header logos so the three fit on one row */
@media(max-width:360px){
  .header-logos .logo-home{gap:9px;}
  .header-logos .brothel-logo,
  .header-logos .brothel-logo:nth-child(3){height:29px;}
  .arq-logo-img{height:29px;}
}

/* ============================================================
   BACK TO TOP — left-side floating button (all pages, all sizes)
   ============================================================ */
.to-top{
  position:fixed;left:18px;bottom:22px;z-index:900;
  width:46px;height:46px;border-radius:50%;border:0;padding:0;
  background:var(--teal,#3a8b9a);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s,filter .2s ease;
}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{filter:brightness(1.08);}
.to-top svg{width:22px;height:22px;display:block;}
@media(max-width:680px){
  .to-top{left:14px;bottom:16px;width:44px;height:44px;}
}
@media(prefers-reduced-motion:reduce){
  .to-top{transition:opacity .2s ease,visibility .2s;}
}
/* ==========================================
   SMART HEADER
========================================== */

header[data-site-header]{
    transition:
        transform .35s ease,
        background-color .25s ease,
        box-shadow .25s ease;
    will-change: transform;
}

header[data-site-header].header-hidden{
    transform:translateY(-100%);
}
@media (min-width: 1600px){

  .wrap{
    max-width: 1320px;
  }

  .site-header .bar{
    padding: 22px 60px;
  }

  .main-nav a{
    font-size: 17px;
  }
}

@media (min-width: 2200px){

  .wrap{
    max-width: 1500px;
  }

  body{
  font-size: var(--font-sm);
}

  .site-header .bar{
    padding: 26px 80px;
  }

  .section{
    padding: 140px 0;
  }
}

/* ---------- pozo CTA pulse animation ---------- */
@keyframes pozoPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(58,139,154,.55);}
  50%{transform:scale(1.06);box-shadow:0 0 0 12px rgba(58,139,154,0);}
}