:root{
  --navy:#0b1824;--gold:#b8922a;--gold2:#d4aa50;
  --cream:#f9f6f0;--slate:#6b7a8d;--white:#ffffff;--light:#fafaf8;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html{overflow-x:clip;}
body{font-family:'Jost',sans-serif;background:var(--white);color:var(--navy);overflow-x:hidden;overflow-x:clip;}

/* NAV */
nav{position:fixed;top:0;width:100%;z-index:1000;padding:0 5%;height:72px;display:flex;align-items:center;justify-content:space-between;transition:background 0.4s,box-shadow 0.4s;}
nav.scrolled{background:rgba(11,24,36,0.97);border-bottom:1px solid rgba(184,146,42,0.2);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--white);line-height:1.2;letter-spacing:0.5px;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.nav-logo span{display:block;font-size:0.55rem;color:var(--gold2);font-family:'Jost',sans-serif;font-weight:500;letter-spacing:4px;text-transform:uppercase;}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.85);text-decoration:none;font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;font-weight:500;transition:color 0.3s;text-shadow:0 1px 3px rgba(0,0,0,0.4);}
.nav-links a:hover{color:var(--gold2);}
.nav-call{background:transparent;border:1px solid var(--gold2);color:var(--gold2);padding:9px 22px;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;text-decoration:none;transition:background .3s ease,color .3s ease;}
.nav-call:hover{background:var(--gold2);color:var(--navy);}

/* HERO */
#home{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--navy);}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* Scrim doble y ligero: protege el texto sin ahogar el video. */
.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(11,24,36,0.34) 0%,rgba(11,24,36,0.18) 52%,rgba(11,24,36,0.06) 100%),linear-gradient(180deg,rgba(11,24,36,0.44) 0%,rgba(11,24,36,0.04) 26%,rgba(11,24,36,0.06) 60%,rgba(11,24,36,0.52) 100%);}
.hero-content{position:relative;z-index:3;text-align:center;padding:0 32px;}
.hero-eyebrow{font-family:'Jost',sans-serif;font-size:0.8rem;letter-spacing:0.34em;text-transform:uppercase;font-weight:300;color:rgba(255,255,255,0.9);margin:0 0 22px;opacity:0;animation:fadeUp 0.8s 0.2s forwards;}
.hero-title{font-family:'Cormorant Garamond',serif;font-weight:300;text-transform:uppercase;font-size:clamp(2.4rem,7.4vw,6.4rem);letter-spacing:0.11em;line-height:1.02;color:var(--white);margin:0;text-shadow:0 2px 40px rgba(0,0,0,0.5);opacity:0;animation:fadeUp 0.8s 0.38s forwards;text-wrap:balance;}
.hero-title em{font-style:italic;letter-spacing:0.04em;color:var(--gold2);}
.hero-foot{position:absolute;bottom:44px;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 24px;opacity:0;animation:fadeUp 0.8s 0.62s forwards;}
.hero-place{margin:0;font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.75);text-align:center;}
.hero-place span{opacity:.45;margin:0 6px;}
.hero-call{font-family:'Jost',sans-serif;font-size:0.95rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:500;color:var(--white);text-decoration:none;border:1px solid rgba(212,170,80,0.6);padding:13px 32px;border-radius:1px;transition:background .3s ease,color .3s ease,border-color .3s ease;}
.hero-call:hover,.hero-call:focus-visible{background:var(--gold2);color:var(--navy);border-color:var(--gold2);}
@media (prefers-reduced-motion:reduce){.hero-bg{display:none;}#home{background-image:url('assets/img/hero-poster.jpg');background-size:cover;background-position:center;}.hero-eyebrow,.hero-title,.hero-foot{animation:none;opacity:1;}}

/* INTRO STRIP */
/* MARQUEE / TICKER STRIP */
.intro-strip{background:var(--navy);padding:1.6rem 6%;border-top:1px solid rgba(184,146,42,0.18);border-bottom:1px solid rgba(184,146,42,0.18);}
.marquee-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;} /* marquesina detenida */
.marquee-track:hover{animation-play-state:paused;}
.intro-item{display:inline-flex;align-items:center;padding:0.35rem 0;flex-shrink:0;}
.intro-icon{display:none;} /* sin emoji: el hero no usa ninguno */
.intro-title{font-family:'Jost',sans-serif;font-size:0.66rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,255,255,0.72);font-weight:300;}
.intro-sep{color:rgba(184,146,42,0.45);font-size:0.5rem;padding:0 1.4rem;flex-shrink:0;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* SECTIONS */
section{padding:8.5rem 6%;}
.eyebrow{font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.34em;text-transform:uppercase;color:var(--gold);font-weight:300;margin-bottom:1.4rem;display:block;}
/* el eyebrow del hero no lleva guion; se elimina para unificar */
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:300;text-transform:uppercase;color:var(--navy);line-height:1.14;margin-bottom:1.4rem;letter-spacing:0.09em;text-wrap:balance;}
.sec-title em{font-style:italic;}
.sec-sub{font-size:0.95rem;color:var(--slate);line-height:2;max-width:58ch;font-weight:300;}
.sec-hd{margin:0 auto 4.5rem;max-width:1280px;}
.services-layout,.area-grid,.contact-wrap{max-width:1280px;margin-left:auto;margin-right:auto;}

/* SERVICES */
#services{background:var(--white);}
.services-layout{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:3px;}
.svc-card{position:relative;overflow:hidden;cursor:pointer;background:var(--navy);}
.svc-card.large{grid-row:span 2;}
.svc-card img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94),filter 0.5s;filter:brightness(0.88);}
.svc-card:hover img{transform:scale(1.03);filter:brightness(0.72);}
.svc-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,24,36,0.92) 0%,rgba(11,24,36,0.1) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;transition:background 0.4s;}
.svc-card:hover .svc-overlay{background:linear-gradient(to top,rgba(11,24,36,0.97) 0%,rgba(11,24,36,0.3) 100%);}
.svc-num{display:none;} /* los servicios no son una secuencia: numerarlos no informa nada */
.svc-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--white);font-weight:600;margin-bottom:0.4rem;line-height:1.2;}
.svc-card.large .svc-name{font-size:2.2rem;}
.svc-desc{font-size:0.8rem;color:rgba(255,255,255,0.65);line-height:1.7;font-weight:300;max-height:0;overflow:hidden;transition:max-height 0.45s,opacity 0.4s;opacity:0;}
.svc-card:hover .svc-desc{max-height:100px;opacity:1;}
.svc-tag{display:inline-block;margin-top:0.9rem;border:1px solid rgba(212,170,80,0.55);color:var(--gold2);font-family:'Jost',sans-serif;font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;padding:5px 13px;font-weight:400;}

/* ABOUT */
#about{background:var(--cream);padding:0;}
.about-split{display:grid;grid-template-columns:1fr 1fr;min-height:620px;}
.about-img-wrap{position:relative;overflow:hidden;}
.about-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.about-content{display:flex;flex-direction:column;justify-content:center;padding:5rem;background:var(--navy);}
.about-content .eyebrow{color:var(--gold2);}
.about-content .eyebrow::before{background:var(--gold2);}
.about-content .sec-title{color:var(--white);}
.about-list{list-style:none;margin-top:2.5rem;display:flex;flex-direction:column;gap:1.2rem;}
.about-list li{display:flex;align-items:flex-start;gap:1rem;font-size:0.88rem;color:rgba(255,255,255,0.65);line-height:1.7;font-weight:300;}
.about-list li::before{content:'—';color:var(--gold2);font-weight:600;font-size:0.9rem;flex-shrink:0;margin-top:2px;}
.about-cta{margin-top:3rem;background:transparent;border:1px solid rgba(212,170,80,0.6);color:var(--white);padding:14px 34px;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:500;text-decoration:none;display:inline-block;align-self:flex-start;transition:background .3s ease,color .3s ease,border-color .3s ease;}
.about-cta:hover,.about-cta:focus-visible{background:var(--gold2);color:var(--navy);border-color:var(--gold2);}

/* GALLERY */
#work{background:var(--light);}
.work-inner{max-width:1280px;margin:0 auto;}
.gal-block+.gal-block{margin-top:4.5rem;}
.gal-label{display:flex;align-items:center;gap:1rem;font-family:'Jost',sans-serif;font-size:0.68rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--navy);font-weight:500;margin-bottom:1.6rem;}
.gal-label::after{content:"";flex:1;height:1px;background:rgba(184,146,42,0.35);}

/* Rejilla tipo mosaico: respeta la proporcion de cada foto */
.work-grid{columns:3;column-gap:10px;}
.g-item{break-inside:avoid;margin-bottom:10px;position:relative;overflow:hidden;cursor:zoom-in;background:var(--navy);}
.g-item[hidden]{display:none;}
.g-item img{width:100%;height:auto;display:block;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);}
.g-item:hover img{transform:scale(1.03);}
.g-item:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.g-cap{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,24,36,0.88) 0%,transparent 55%);display:flex;align-items:flex-end;padding:1.5rem;opacity:0;transition:opacity 0.35s;pointer-events:none;}
.g-item:hover .g-cap,.g-item:focus-visible .g-cap{opacity:1;}
.g-cap span{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--white);font-weight:600;line-height:1.25;}
/* En pantallas tactiles no hay hover: el pie se ve siempre, mas discreto */
@media (hover:none){
  .g-cap{opacity:1;padding:0.8rem 0.9rem;background:linear-gradient(to top,rgba(11,24,36,0.78) 0%,transparent 42%);}
  .g-cap span{font-size:0.95rem;}
}

/* Antes y despues */
.ba-grid{display:grid;grid-template-columns:repeat(var(--ba-cols,2),minmax(0,1fr));gap:1.6rem;align-items:start;}
.ba-card{margin:0;background:var(--white);border:1px solid #ece7dd;}
.ba-card.is-wide{grid-column:1/-1;}
.ba-grid-solo{max-width:780px;margin:0 auto;}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--white);}
.ba-shot{position:relative;display:block;padding:0;margin:0;border:0;background:var(--navy);cursor:zoom-in;overflow:hidden;font:inherit;}
.ba-shot img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);}
.ba-card.is-wide .ba-shot img{aspect-ratio:4/3;}
.ba-shot:hover img{transform:scale(1.03);}
.ba-shot:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.ba-tag{position:absolute;left:10px;top:10px;font-family:'Jost',sans-serif;font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;padding:6px 11px;background:rgba(11,24,36,0.82);color:var(--white);}
.ba-tag-after{background:var(--gold2);color:var(--navy);}
.ba-card figcaption{padding:1.2rem 1.4rem 1.4rem;}
.ba-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--navy);line-height:1.2;margin-bottom:0.35rem;}
.ba-card figcaption p{font-size:0.88rem;color:var(--slate);line-height:1.75;font-weight:300;}

/* Filtros del portafolio */
.work-filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.6rem;}
.wf{font-family:'Jost',sans-serif;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;color:var(--navy);background:transparent;border:1px solid #ddd6c8;padding:10px 16px;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease;}
.wf small{font-size:0.6rem;color:var(--slate);margin-left:3px;letter-spacing:0;}
.wf:hover{border-color:var(--gold);}
.wf.on{background:var(--navy);border-color:var(--navy);color:var(--white);}
.wf.on small{color:var(--gold2);}
.wf:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.work-more{margin-top:1.8rem;text-align:center;}
.work-more a{font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;}
.work-more a:hover{color:var(--gold);}

/* LIGHTBOX */
.lb{position:fixed;inset:0;background:rgba(6,12,18,0.96);z-index:9999;display:none;align-items:center;justify-content:center;}
.lb.open{display:flex;}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;max-width:88vw;}
.lb img{max-width:88vw;max-height:84vh;object-fit:contain;display:block;}
.lb-cap{margin-top:0.9rem;font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:rgba(255,255,255,0.88);text-align:center;min-height:1.4em;}
.lb-x,.lb-nav{position:absolute;background:none;border:0;color:rgba(255,255,255,0.65);cursor:pointer;line-height:1;transition:color 0.2s;font-family:'Jost',sans-serif;}
.lb-x{top:1.2rem;right:1.6rem;font-size:2.4rem;padding:0.3rem 0.6rem;}
.lb-nav{top:50%;transform:translateY(-50%);font-size:3.2rem;padding:1.2rem 1rem;}
.lb-prev{left:0.6rem;}
.lb-next{right:0.6rem;}
.lb-x:hover,.lb-nav:hover,.lb-x:focus-visible,.lb-nav:focus-visible{color:var(--gold2);}
.lb-count{position:absolute;top:1.7rem;left:1.8rem;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.2em;color:rgba(255,255,255,0.55);}
@media(max-width:768px){
  .work-grid{columns:2;column-gap:6px;}
  .g-item{margin-bottom:6px;}
  .ba-grid{grid-template-columns:1fr;gap:1.2rem;}
  .ba-title{font-size:1.25rem;}
  .gal-block+.gal-block{margin-top:3.2rem;}
  .work-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -5% 1.2rem;padding:0 5% 4px;scrollbar-width:none;}
  .work-filters::-webkit-scrollbar{display:none;}
  .wf{flex:0 0 auto;padding:9px 13px;}
  .lb img{max-width:100vw;max-height:78vh;}
  .lb-fig{max-width:100vw;}
  .lb-cap{padding:0 1rem;font-size:1.05rem;}
  .lb-nav{top:auto;bottom:0.6rem;transform:none;font-size:2.6rem;padding:0.6rem 1.4rem;}
}

/* AREA */
#area{background:var(--white);}
.area-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start;}
.area-towns{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2rem;border-top:1px solid #e8e4dc;border-left:1px solid #e8e4dc;}
.area-town{padding:0.75rem 1rem;border-right:1px solid #e8e4dc;border-bottom:1px solid #e8e4dc;font-family:'Jost',sans-serif;font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--slate);display:flex;align-items:center;gap:0.7rem;transition:background .2s,color .2s;}
.area-town:hover{background:var(--cream);color:var(--gold);}
.area-town::before{content:"";width:14px;height:1px;background:var(--gold);flex-shrink:0;}
.map-wrap{overflow:hidden;height:440px;border:1px solid #e8e4dc;}
.map-wrap iframe{width:100%;height:100%;border:none;display:block;}

/* CONTACT */
#contact{background:var(--navy);padding:7rem 8%;}
.contact-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:6rem;margin-top:4rem;}
.contact-info{display:flex;flex-direction:column;gap:2.2rem;}
.c-item{display:flex;flex-direction:column;border-left:1px solid rgba(184,146,42,0.35);padding-left:1.4rem;} /* hairline dorado en lugar del emoji */
.c-icon{display:none;} /* fuera los emoji de contacto */
.c-label{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold2);margin-bottom:4px;font-weight:600;}
.c-val{font-size:0.95rem;color:var(--white);font-weight:400;}
.c-val a{color:var(--white);text-decoration:none;transition:color 0.3s;}
.c-val a:hover{color:var(--gold2);}
.contact-form{display:flex;flex-direction:column;gap:1.1rem;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.f-group{display:flex;flex-direction:column;gap:0.5rem;}
.f-group label{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:500;}
.f-group input,.f-group select,.f-group textarea{padding:13px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);font-family:'Jost',sans-serif;font-size:0.88rem;color:var(--white);border-radius:0;outline:none;transition:border-color .3s ease,background .3s ease;}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--gold2);background:rgba(255,255,255,0.08);}
.f-group select option{background:var(--navy);color:var(--white);}
.f-group textarea{resize:vertical;min-height:130px;}
.f-submit{background:transparent;border:1px solid rgba(212,170,80,0.6);color:var(--white);padding:15px 40px;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:500;align-self:flex-start;transition:background .3s ease,color .3s ease,border-color .3s ease;}
.f-submit:hover,.f-submit:focus-visible{background:var(--gold2);color:var(--navy);border-color:var(--gold2);}
.f-ok{display:none;background:rgba(134,239,172,0.08);border:1px solid rgba(134,239,172,0.3);padding:1rem 1.5rem;color:#86efac;font-size:0.85rem;margin-top:0.5rem;}

/* FOOTER */
footer{background:#070f17;padding:2.5rem 8%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(184,146,42,0.15);}
.f-logo{font-family:'Cormorant Garamond',serif;color:var(--gold2);font-size:1.1rem;font-weight:600;}
footer p{font-size:0.72rem;color:rgba(255,255,255,0.3);}
footer a{color:var(--gold2);text-decoration:none;}

/* STICKY */
.sticky-call{position:fixed;bottom:2rem;right:2rem;z-index:999;background:var(--gold);color:var(--white);padding:14px 26px;font-family:'Jost',sans-serif;font-weight:500;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;box-shadow:0 4px 18px rgba(11,24,36,0.28);transition:background .3s ease;}
.sticky-call:hover,.sticky-call:focus-visible{background:var(--gold2);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(36px);transition:opacity 0.8s,transform 0.8s;}
.reveal.on{opacity:1;transform:translateY(0);}
.reveal-l{opacity:0;transform:translateX(-36px);transition:opacity 0.8s,transform 0.8s;}
.reveal-l.on{opacity:1;transform:translateX(0);}
.reveal-r{opacity:0;transform:translateX(36px);transition:opacity 0.8s,transform 0.8s;}
.reveal-r.on{opacity:1;transform:translateX(0);}
.d1{transition-delay:0.1s;}.d2{transition-delay:0.2s;}.d3{transition-delay:0.3s;}

/* RESPONSIVE */
@media(max-width:1024px){
  .services-layout{grid-template-columns:1fr 1fr;}
  .svc-card.large{grid-row:span 1;}
  .about-split{grid-template-columns:1fr;}
  .about-img-wrap{height:400px;}
  .intro-strip{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .nav-links{display:none;}
  .hero-foot{bottom:28px;gap:16px;}
  .hero-call{display:none;} /* el boton fijo dorado ya cubre la llamada en movil */
  .hero-place{font-size:0.6rem;letter-spacing:0.16em;white-space:nowrap;} /* que las tres zonas quepan en un renglon */
  .hero-place span{margin:0 4px;}
  section{padding:5rem 5%;}
  .services-layout{grid-template-columns:1fr;}
  .area-grid,.contact-wrap{grid-template-columns:1fr;}
  .f-row{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .intro-strip{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════════
   PAGINAS DE SERVICIO
   ═══════════════════════════════════════════════════════════ */

/* HERO de servicio: mas corto que el de portada, imagen en vez de video */
.svc-hero{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;background:var(--navy);overflow:hidden;}
.svc-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.62);}
.svc-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,24,36,0.72) 0%,rgba(11,24,36,0.34) 45%,rgba(11,24,36,0.78) 100%);}
.svc-hero-inner{position:relative;z-index:3;text-align:center;padding:9rem 24px 4rem;max-width:860px;}
.svc-hero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.1rem,5.2vw,4.1rem);line-height:1.08;color:var(--white);letter-spacing:0.02em;margin:0 0 1.1rem;text-wrap:balance;text-shadow:0 2px 40px rgba(0,0,0,0.5);}
.svc-hero h1 em{font-style:italic;color:var(--gold2);}
.svc-hero-sub{font-size:1rem;line-height:1.8;color:rgba(255,255,255,0.82);font-weight:300;max-width:620px;margin:0 auto 2rem;}
.svc-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* MIGA DE PAN */
.breadcrumb{position:relative;z-index:3;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-bottom:1.5rem;}
.breadcrumb a{color:rgba(255,255,255,0.75);text-decoration:none;transition:color 0.3s;}
.breadcrumb a:hover{color:var(--gold2);}
.breadcrumb span{margin:0 0.55rem;opacity:0.45;}

/* CUERPO DE ARTICULO */
.article{background:var(--white);padding:6rem 8%;}
.article-inner{max-width:780px;margin:0 auto;}
.article h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:300;color:var(--navy);line-height:1.18;margin:3.4rem 0 1.1rem;letter-spacing:-0.2px;}
.article h2:first-child{margin-top:0;}
.article h2 em{font-style:italic;color:var(--gold);}
.article h3{font-family:'Jost',sans-serif;font-size:1.02rem;font-weight:600;color:var(--navy);margin:2.1rem 0 0.7rem;letter-spacing:0.2px;}
.article p{font-size:0.98rem;line-height:1.92;color:#3f4b58;font-weight:300;margin-bottom:1.2rem;}
.article ul{list-style:none;margin:1.3rem 0 1.7rem;display:flex;flex-direction:column;gap:0.85rem;}
.article ul li{display:flex;align-items:flex-start;gap:0.9rem;font-size:0.95rem;line-height:1.8;color:#3f4b58;font-weight:300;}
.article ul li::before{content:'';width:6px;height:6px;background:var(--gold);flex-shrink:0;margin-top:0.68rem;transform:rotate(45deg);}
.article strong{font-weight:600;color:var(--navy);}
.article a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(184,146,42,0.35);transition:border-color 0.3s;}
.article a:hover{border-color:var(--gold);}

/* PASOS DEL PROCESO */
.steps{display:flex;flex-direction:column;gap:0;margin:2rem 0 1rem;border-top:1px solid #e8e4dc;}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;padding:1.6rem 0;border-bottom:1px solid #e8e4dc;align-items:start;}
.step-n{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:300;color:var(--gold);line-height:1;min-width:2.2rem;}
.step-b h3{margin:0 0 0.35rem;}
.step-b p{margin:0;font-size:0.92rem;line-height:1.8;}

/* FRANJA CTA */
.cta-band{background:var(--navy);padding:4.5rem 8%;text-align:center;}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:300;color:var(--white);margin:0 0 0.9rem;line-height:1.15;}
.cta-band h2 em{font-style:italic;color:var(--gold2);}
.cta-band p{font-size:0.95rem;color:rgba(255,255,255,0.6);font-weight:300;max-width:520px;margin:0 auto 2.2rem;line-height:1.85;}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* FAQ */
.faq-sec{background:var(--cream);padding:6rem 8%;}
.faq-inner{max-width:820px;margin:0 auto;}
.faq-list{margin-top:3rem;border-top:1px solid #e0dbd1;}
.faq-item{border-bottom:1px solid #e0dbd1;}
.faq-q{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:1.5rem 3rem 1.5rem 0;font-family:'Jost',sans-serif;font-size:1rem;font-weight:500;color:var(--navy);line-height:1.5;position:relative;transition:color 0.3s;}
.faq-q:hover{color:var(--gold);}
.faq-q::after{content:'+';position:absolute;right:0.6rem;top:50%;transform:translateY(-50%);font-size:1.45rem;font-weight:300;color:var(--gold);transition:transform 0.35s;line-height:1;}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.45s cubic-bezier(0.25,0.46,0.45,0.94);}
.faq-item.open .faq-a{max-height:620px;}
.faq-a p{font-size:0.94rem;line-height:1.92;color:#4a5765;font-weight:300;padding:0 3rem 1.7rem 0;margin:0;}

/* SERVICIOS RELACIONADOS */
.related{background:var(--white);padding:5.5rem 8%;border-top:1px solid #eeeae2;}
.related-inner{max-width:1100px;margin:0 auto;}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.6rem;margin-top:2.6rem;}
.related-card{display:block;text-decoration:none;border:1px solid #e8e4dc;padding:1.7rem 1.6rem;transition:border-color 0.35s,transform 0.35s,box-shadow 0.35s;background:var(--white);}
.related-card:hover{border-color:var(--gold2);transform:translateY(-4px);box-shadow:0 14px 36px rgba(11,24,36,0.08);}
.related-card .rc-name{font-family:'Cormorant Garamond',serif;font-size:1.28rem;color:var(--navy);font-weight:600;margin-bottom:0.45rem;line-height:1.25;}
.related-card .rc-desc{font-size:0.83rem;color:var(--slate);line-height:1.7;font-weight:300;}
.related-card .rc-go{margin-top:1rem;font-size:0.63rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:600;}

/* PUEBLOS EN PAGINA DE SERVICIO */
.towns-inline{display:flex;flex-wrap:wrap;gap:0.55rem;margin:1.6rem 0 0.5rem;}
.towns-inline span{font-size:0.78rem;color:var(--slate);border:1px solid #e8e4dc;padding:0.42rem 0.9rem;font-weight:300;}

/* GALERIA EN PAGINA DE SERVICIO */
.svc-gallery{background:var(--light);padding:5.5rem 8%;}
.svc-gallery-inner{max-width:1100px;margin:0 auto;}

/* PIE AMPLIADO */
.foot-wide{background:#070f17;padding:4rem 8% 0;border-top:1px solid rgba(184,146,42,0.15);}
.foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3.5rem;max-width:1180px;margin:0 auto;padding-bottom:3rem;}
.foot-col h4{font-size:0.62rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold2);font-weight:600;margin-bottom:1.3rem;}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:0.72rem;}
.foot-col a{color:rgba(255,255,255,0.55);text-decoration:none;font-size:0.85rem;font-weight:300;transition:color 0.3s;}
.foot-col a:hover{color:var(--gold2);}
.foot-col p{color:rgba(255,255,255,0.55);font-size:0.85rem;line-height:1.85;font-weight:300;}
.foot-brand{font-family:'Cormorant Garamond',serif;color:var(--gold2);font-size:1.35rem;font-weight:600;margin-bottom:0.8rem;}
.foot-social{display:flex;gap:0.8rem;margin-top:1.3rem;flex-wrap:wrap;}
.foot-social a{border:1px solid rgba(184,146,42,0.32);padding:0.52rem 1rem;font-size:0.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2);transition:background 0.3s,color 0.3s;}
.foot-social a:hover{background:var(--gold2);color:var(--navy);}
.foot-bottom{max-width:1180px;margin:0 auto;border-top:1px solid rgba(255,255,255,0.07);padding:1.6rem 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.8rem;}
.foot-bottom p{font-size:0.72rem;color:rgba(255,255,255,0.3);}
.foot-bottom a{color:var(--gold2);text-decoration:none;}

/* HERO DE PORTADA: linea de apoyo con las palabras clave */
.hero-tagline{font-family:'Jost',sans-serif;font-size:0.9rem;letter-spacing:0.13em;color:rgba(255,255,255,0.86);font-weight:300;margin:1.4rem auto 0;max-width:640px;line-height:1.75;opacity:0;animation:fadeUp 0.8s 0.5s forwards;text-shadow:0 1px 14px rgba(0,0,0,0.5);}

@media(max-width:900px){
  .foot-cols{grid-template-columns:1fr;gap:2.4rem;}
  .article{padding:4rem 7%;}
  .faq-sec{padding:4rem 7%;}
  .related{padding:4rem 7%;}
  .svc-gallery{padding:4rem 7%;}
  .svc-hero-inner{padding:7.5rem 24px 3.5rem;}
  .svc-hero{min-height:56vh;}
  .step{gap:1.1rem;}
  .faq-q{padding-right:2.4rem;}
  .faq-a p{padding-right:2.4rem;}
}

/* Tarjeta de servicio como enlace */
a.svc-card{display:block;text-decoration:none;color:inherit;}

/* Botones compartidos (hero de servicio, franja CTA) */
.btn-gold{display:inline-block;background:var(--gold);color:var(--white);padding:15px 38px;font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;text-decoration:none;border-radius:1px;transition:background .35s,transform .35s,box-shadow .35s;box-shadow:0 4px 20px rgba(184,146,42,0.35);}
.btn-gold:hover,.btn-gold:focus-visible{background:var(--gold2);transform:translateY(-3px);box-shadow:0 10px 30px rgba(184,146,42,0.45);color:var(--white);}
.btn-outline-w{display:inline-block;border:1px solid rgba(255,255,255,0.5);color:var(--white);padding:15px 38px;font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;text-decoration:none;border-radius:1px;transition:border-color .35s,color .35s,background .35s;}
.btn-outline-w:hover,.btn-outline-w:focus-visible{border-color:var(--gold2);color:var(--gold2);background:rgba(212,170,80,0.08);}

/* Menu en tablet y portatil pequeno: con el enlace FAQ son 6 items y
   a menos de 1100px se partian en dos lineas. Se aprieta el espaciado
   en vez de esconder enlaces. Por debajo de 768px el menu ya se oculta. */
@media(min-width:769px) and (max-width:1100px){
  nav{padding:0 3.5%;}
  .nav-links{gap:1.25rem;}
  .nav-links a{font-size:0.64rem;letter-spacing:1.2px;white-space:nowrap;}
  .nav-logo{font-size:1.02rem;white-space:nowrap;}
  .nav-logo span{font-size:0.48rem;letter-spacing:2.5px;}
  .nav-call{padding:8px 15px;font-size:0.62rem;letter-spacing:1.2px;white-space:nowrap;}
}

/* Movil estrecho: el logo empujaba el boton "Call Now" fuera de pantalla.
   Se esconde ese boton -- el boton dorado fijo de abajo ya cubre la llamada,
   igual que se hizo con .hero-call -- y el logo se ajusta al ancho. */
@media(max-width:600px){
  nav{padding:0 5%;height:66px;}
  .nav-call{display:none;}
  .nav-logo{font-size:1.02rem;line-height:1.15;}
  .nav-logo span{font-size:0.47rem;letter-spacing:2.5px;}
  .sticky-call{bottom:1.2rem;right:1.2rem;padding:12px 20px;font-size:0.82rem;}
}

/* El hero de las paginas de servicio necesita aire bajo el menu en movil */
@media(max-width:600px){
  .svc-hero-inner{padding:6.5rem 20px 3rem;}
  .svc-hero h1{font-size:clamp(1.85rem,7.4vw,2.6rem);}
  .svc-hero-sub{font-size:0.92rem;}
  .svc-hero-actions{flex-direction:column;align-items:stretch;}
  .svc-hero-actions .btn-gold,.svc-hero-actions .btn-outline-w{padding:14px 20px;text-align:center;}
  .cta-actions{flex-direction:column;align-items:stretch;}
  .cta-actions .btn-gold,.cta-actions .btn-outline-w{padding:14px 20px;text-align:center;}
  .breadcrumb{font-size:0.6rem;letter-spacing:1.5px;}
}
