@font-face{font-family:'AlbertSans';src:url(../fonts/albert-sans.woff2) format('woff2');font-weight:100 900;font-stretch:100%;font-display:swap}
:root{
  --basalto:#0E1413; --grafito:#1A2120; --linea-oscura:#2A3332; --niebla:#F1F2F0; --blanco:#FFFFFF;
  --piedra:#5F6663; --piedra-clara:#9AA4A1; --glaciar:#8CC7D1; --lago:#2C7382;
  --bg:var(--niebla); --fg:var(--basalto); --muted:var(--piedra); --line:#D5D9D7; --surface:var(--blanco); --link:var(--lago);
  --display:"AlbertSans"; --display-w:200; --display-stretch:100%; --display-track:-0.03em;
  --text:"AlbertSans"; --text-stretch:100%;
  --fallback:"Helvetica Neue", Arial, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#0B100F; --fg:#EDF0EE; --muted:#9AA4A1; --line:#26302E; --surface:#141B1A; --link:#8CC7D1; }
}
:root[data-theme="dark"]{ --bg:#0B100F; --fg:#EDF0EE; --muted:#9AA4A1; --line:#26302E; --surface:#141B1A; --link:#8CC7D1; }
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--text),var(--fallback);font-stretch:var(--text-stretch);font-size:17px;line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img{max-width:100%;display:block}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--glaciar);outline-offset:3px}
.wrap{max-width:980px;margin:0 auto;padding:0 24px}
h1,h2,h3,.display{font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);letter-spacing:var(--display-track);margin:0}
h1{font-size:clamp(40px,6.2vw,74px);line-height:1.02}
h2{font-size:clamp(30px,4vw,46px);line-height:1.08}
h3{font-size:clamp(21px,2.2vw,26px);line-height:1.2}
p{margin:0 0 1em}
.lead{font-size:19px;line-height:1.55;max-width:34em}
.muted{color:var(--muted)}
.small{font-size:14px;line-height:1.5}
.num{font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-0.01em}

/* Botones: píldora, blanco y negro */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font:500 15px/1 var(--text),var(--fallback);letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn-pri{background:var(--fg);color:var(--bg)}
.btn-pri:hover{opacity:.88}
.sec-oscura .btn-pri,.hero .btn-pri,.barra-movil .btn-pri{background:var(--blanco);color:var(--basalto)}
.btn-linea{border-color:currentColor;color:inherit;background:transparent}
.btn-linea:hover{background:rgba(140,199,209,.14)}
.btns{display:flex;flex-wrap:wrap;gap:12px}


/* Encabezado: transparente sobre la portada */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line);transition:background .3s,color .3s,border-color .3s}
.top.sobre-foto{position:absolute;left:0;right:0;background:transparent;border-color:transparent;color:var(--blanco)}
.top.sobre-foto .marca,.top.sobre-foto .nav a,.top.sobre-foto .idiomas button[aria-current="true"]{color:var(--blanco)}
.top.sobre-foto .marca span,.top.sobre-foto .idiomas button{color:rgba(255,255,255,.7)}
.top.sobre-foto .btn-pri{background:var(--blanco);color:var(--basalto)}
.top .wrap{display:flex;align-items:center;gap:20px;height:72px}
.marca{text-decoration:none;color:var(--fg);display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.marca b{font-family:var(--display),var(--fallback);font-weight:400;font-stretch:var(--display-stretch);font-size:19px;letter-spacing:-0.01em}
.marca span{font-size:13px;color:var(--muted)}
.nav{display:flex;gap:24px;margin-left:auto;align-items:center}
.nav a{color:var(--fg);text-decoration:none;font-size:15px}
.nav a:hover{opacity:.7}
.idiomas{display:flex;gap:2px}
.idiomas button{background:none;border:0;color:var(--muted);font:500 13px var(--text),var(--fallback);padding:6px;cursor:not-allowed}
.idiomas button[aria-current="true"]{color:var(--fg);cursor:default;text-decoration:underline;text-underline-offset:5px}
.top .btn{min-height:40px;padding:0 18px;font-size:14px}
@media (max-width:860px){ .nav .enlace{display:none} .marca span{display:none} }
@media (max-width:600px){ .top .wrap{gap:10px} .nav{gap:6px} .nav .btn{display:none} .marca b{font-size:17px} .idiomas button{padding:6px 4px} }

/* Portada con tercios */
.hero{position:relative;min-height:100vh;min-height:100svh;color:var(--blanco);display:flex;align-items:flex-end;overflow:hidden;background:#1d2a28}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 45%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,19,.6) 0%,rgba(14,20,19,.25) 45%,rgba(14,20,19,0) 70%),linear-gradient(180deg,rgba(14,20,19,.45) 0%,rgba(14,20,19,0) 22%,rgba(14,20,19,0) 40%,rgba(14,20,19,.8) 100%)}
.tercios{position:absolute;inset:0;z-index:1;pointer-events:none}
.tercios i{position:absolute;background:rgba(255,255,255,.22)}
.tercios .v1,.tercios .v2{top:0;bottom:0;width:1px}
.tercios .v1{left:33.333%} .tercios .v2{left:66.666%}
.tercios .h1,.tercios .h2{left:0;right:0;height:1px}
.tercios .h1{top:33.333%} .tercios .h2{top:66.666%}
.visor{position:absolute;inset:22px;z-index:1;pointer-events:none}
.visor b{position:absolute;width:24px;height:24px;border-color:rgba(255,255,255,.75);border-style:solid}
.visor .a{top:0;left:0;border-width:1px 0 0 1px}.visor .b{top:0;right:0;border-width:1px 1px 0 0}
.visor .c{bottom:0;left:0;border-width:0 0 1px 1px}.visor .d{bottom:0;right:0;border-width:0 1px 1px 0}
.hero .visor{top:96px}
.hero .wrap{position:relative;z-index:2;padding-bottom:72px;width:100%}
.hero h1{max-width:10.5em;margin-bottom:24px}
.hero .lead{color:rgba(255,255,255,.88);margin-bottom:30px}
@media (max-width:600px){ .hero img{object-position:30% 50%} .hero::after{background:linear-gradient(180deg,rgba(14,20,19,.45) 0%,rgba(14,20,19,.05) 25%,rgba(14,20,19,.85) 100%)} .hero .wrap{padding-bottom:48px} }
@media (prefers-reduced-motion:no-preference){
  .tercios .v1,.tercios .v2{transform-origin:top;animation:trazoV 1.4s cubic-bezier(.2,.7,.2,1) both}
  .tercios .h1,.tercios .h2{transform-origin:left;animation:trazoH 1.4s cubic-bezier(.2,.7,.2,1) both}
  .tercios .v2,.tercios .h2{animation-delay:.25s}
  @keyframes trazoV{from{transform:scaleY(0)}to{transform:scaleY(1)}}
  @keyframes trazoH{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* Secciones */
.sec{padding:104px 0}
.sec-oscura{background:var(--basalto);color:#EDF0EE}
.sec-oscura .muted{color:var(--piedra-clara)}
.sec-oscura a{color:var(--glaciar)}
.declaracion{font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);letter-spacing:var(--display-track);font-size:clamp(26px,3.2vw,38px);line-height:1.22;max-width:24em;margin:0}

/* Filas de experiencias */
.exp-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.fila{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}
.fila:nth-child(even){grid-template-columns:5fr 7fr}
.fila:nth-child(even) .fila-foto{order:2}
.fila-foto{aspect-ratio:4/3;overflow:hidden;background:var(--line);border-radius:2px}
.fila-foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.fila:hover .fila-foto img{transform:scale(1.02)}
.fila h3{font-size:clamp(28px,3.4vw,40px);line-height:1.02;margin-bottom:10px}
.fila .sub{font-size:15px;color:var(--muted);margin-bottom:18px}
.datos{display:grid;grid-template-columns:repeat(3,auto);margin:22px 0 26px;border-top:1px solid var(--line)}
.datos div{padding:12px 16px 0 0}
.datos dt{font-size:13px;color:var(--muted)}
.datos dd{margin:4px 0 0;font-size:21px;line-height:1.2}
.leer{font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;color:var(--fg);padding-bottom:3px}
@media (max-width:760px){
  .exp-intro,.fila,.fila:nth-child(even){grid-template-columns:1fr;gap:24px}
  .fila:nth-child(even) .fila-foto{order:0}
  .sec{padding:72px 0}
}

/* Cita */
.cita{font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);letter-spacing:var(--display-track);font-size:clamp(30px,4.4vw,54px);line-height:1.1;max-width:16em;margin:0}
.cita-firma{margin-top:24px;color:var(--piedra-clara);font-size:15px}

/* Autor */
.autor{display:grid;grid-template-columns:4fr 6fr;gap:56px;align-items:center}
.autor img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:2px}
@media (max-width:760px){.autor{grid-template-columns:1fr;gap:28px}}

/* Pasos */
.pasos{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:paso}
.pasos li{counter-increment:paso;border-top:1px solid var(--line);padding-top:18px}
.pasos li::before{content:counter(paso);display:block;font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);font-size:34px;line-height:1;color:var(--muted);margin-bottom:14px}
@media (max-width:760px){.pasos{grid-template-columns:1fr 1fr}}

.banda-trade{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.banda-trade p{max-width:30em}

.servicios{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:16px}
.servicios a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.pie{background:var(--basalto);color:#AEB8B5;padding:72px 0 40px;font-size:15px}
.pie .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.pie b{display:block;color:#EDF0EE;font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);font-size:22px;line-height:1.15;margin-bottom:12px}
.pie a{color:#DCE3E1;text-decoration:none}
.pie .legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--linea-oscura);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.onp{display:inline-flex;align-items:center;gap:10px;margin-top:14px}
.onp .logo{width:44px;height:44px;border:1px dashed #56615F;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#7E8A86}
@media (max-width:760px){.pie .grid{grid-template-columns:1fr}}

/* Página de experiencia */
.migas{font-size:14px;padding-top:40px}
.migas a{color:var(--muted)}
.exp-cab{padding:20px 0 40px;display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end}
.exp-cab .sub{font-size:17px;color:var(--muted);margin:16px 0 0}
.exp-foto{position:relative;height:min(76vh,720px);overflow:hidden;background:var(--line)}
.exp-foto img{width:100%;height:100%;object-fit:cover}
.nota-foto{position:absolute;right:14px;bottom:10px;z-index:2;font-size:12px;color:rgba(255,255,255,.88);background:rgba(14,20,19,.55);padding:3px 10px;border-radius:999px}
.ficha{display:grid;grid-template-columns:8fr 4fr;gap:48px;padding:52px 0 24px;align-items:start}
.ficha-datos{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin:0}
.ficha-datos div{padding:16px 16px 18px 0;border-bottom:1px solid var(--line)}
.ficha-datos dt{font-size:13px;color:var(--muted)}
.ficha-datos dd{margin:6px 0 0;font-size:19px;line-height:1.25}
.reserva{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:28px}
.reserva .precio{font-size:46px;line-height:1;margin:10px 0 4px}
.reserva .btn{width:100%;margin:22px 0 12px}
.porque{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;margin-top:44px}
.porque h3{margin-bottom:10px}
.recorrido{margin-top:36px;display:grid;gap:48px}
.recorrido.dos{grid-template-columns:1fr 1fr}
.tl{list-style:none;padding:0;margin:20px 0 0}
.tl li{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--linea-oscura);align-items:baseline}
.tl time{font-size:20px;color:#EDF0EE}
.incluye{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:36px}
.incluye ul{list-style:none;padding:0;margin:16px 0 0}
.incluye li{padding:11px 0 11px 24px;border-top:1px solid var(--line);position:relative}
.incluye li::before{content:"";position:absolute;left:2px;top:22px;width:10px;height:1px;background:var(--fg)}
.incluye .no li{color:var(--muted)}
.incluye .no li::before{background:var(--muted)}
.notas{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px}
.notas h3{font-size:19px;margin-bottom:10px}
.barra-movil{display:none}
@media (max-width:860px){
  .exp-cab,.ficha,.porque,.recorrido.dos,.incluye,.notas{grid-template-columns:1fr}
  .ficha-datos{grid-template-columns:1fr 1fr}
  .barra-movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:10px;align-items:center;justify-content:space-between;background:var(--basalto);color:#EDF0EE;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .barra-movil .btn{min-height:44px}
  body.con-barra{padding-bottom:84px}
}

/* Agencias */
.tabla-scroll{overflow-x:auto;margin-top:32px;border-top:1px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:15px}
th,td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}
thead th{font-family:var(--display),var(--fallback);font-weight:var(--display-w);font-stretch:var(--display-stretch);font-size:20px;line-height:1.15;padding-top:18px}
tbody th{font-weight:500;color:var(--muted);width:170px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:32px}
.form label{display:grid;gap:6px;font-size:14px;color:var(--muted)}
.form .ancho{grid-column:1/-1}
.form input,.form select,.form textarea{font:400 16px var(--text),var(--fallback);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:12px 14px;min-height:48px}
.form textarea{min-height:110px;resize:vertical}
.form .check{display:flex;gap:10px;align-items:flex-start;color:var(--fg)}
.form .check input{min-height:auto;margin-top:4px}
.aviso{grid-column:1/-1;display:none;background:var(--surface);border-left:2px solid var(--lago);padding:14px 16px}
@media (max-width:760px){.form{grid-template-columns:1fr}}

/* Autor y prensa */
.prensa{columns:3 220px;column-gap:40px;margin-top:28px}
.prensa div{break-inside:avoid;margin-bottom:26px}
.prensa h3{font-size:18px;margin-bottom:8px}
.prensa a{display:block;padding:3px 0;text-decoration:none;color:var(--fg);border-bottom:1px solid transparent}
.prensa a:hover{border-bottom-color:currentColor}
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:56px}
@media (max-width:760px){.dos-col{grid-template-columns:1fr}}



.top{position:fixed;left:0;right:0}
main{padding-top:72px}
body.en-home main{padding-top:0}

.nav a.btn-pri{color:var(--bg)}
.top.sobre-foto .nav a.btn-pri{color:var(--basalto)}
.hero h1{max-width:9em;font-weight:300}
.cita-foto{position:relative;color:#fff;padding:180px 0;overflow:hidden;background:var(--basalto)}
.cita-foto img{position:absolute;top:0;right:0;bottom:0;left:auto;width:52%;height:100%;object-fit:cover;object-position:50% 40%;opacity:.85}
.cita-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--basalto) 0%,var(--basalto) 49%,rgba(14,20,19,.45) 64%,rgba(14,20,19,0) 88%)}
.cita-foto .cita{max-width:11.5em}
@media (max-width:760px){.cita-foto img{width:100%;opacity:.4}.cita-foto::after{background:linear-gradient(180deg,rgba(14,20,19,.5),rgba(14,20,19,.85))}}
.cita-foto .wrap{position:relative;z-index:1}
.cita-foto .cita-firma{color:rgba(255,255,255,.75)}
@media (max-width:760px){.cita-foto{padding:120px 0}}
.serie{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}
.serie img{width:100%;height:340px;object-fit:cover;border-radius:2px}
@media (max-width:760px){.serie{grid-template-columns:1fr}.serie img{height:260px}}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px;margin-top:64px}
.galeria figure{margin:0}
.galeria img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.galeria figcaption{margin-top:8px}
@media (max-width:760px){.galeria{grid-template-columns:1fr}}
.marca{align-items:center}
.marca-icono{display:inline-block;width:32px;height:22px;background:currentColor;-webkit-mask:url(../img/marca-icono.png) center/contain no-repeat;mask:url(../img/marca-icono.png) center/contain no-repeat;margin-right:2px}
.pie-logo{width:140px;height:auto;margin-bottom:22px;opacity:.92}
.onp-logo{width:58px;height:auto}
.operador{display:flex;align-items:center;gap:20px;margin-top:56px;padding-top:32px;border-top:1px solid var(--linea-oscura)}
.operador img{width:84px;height:auto}
.operador p{margin:0}
.banda-foto{position:relative;overflow:hidden;padding:150px 0}
.banda-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,19,.88) 0%,rgba(14,20,19,.55) 55%,rgba(14,20,19,.25) 100%)}
.banda-foto .wrap{position:relative;z-index:1}
@media (max-width:760px){.banda-foto{padding:100px 0}}


/* El envoltorio <picture> (WebP con respaldo JPG) no participa de la maquetacion */
picture{display:contents}
/* Servicios sin enlace: mismo lugar, sin subrayado de enlace */
.servicios span{color:var(--fg)}
/* Selector de idioma: ES y PT son enlaces reales; FR y EN siguen inactivos */
.idiomas a{background:none;border:0;color:var(--muted);font:500 13px var(--text),var(--fallback);padding:6px;text-decoration:none;cursor:pointer}
.idiomas a:hover{color:var(--fg)}
.idiomas a[aria-current="true"]{color:var(--fg);cursor:default;text-decoration:underline;text-underline-offset:5px}
.top.sobre-foto .idiomas a{color:rgba(255,255,255,.7)}
.top.sobre-foto .idiomas a[aria-current="true"]{color:var(--blanco)}
@media (max-width:600px){ .idiomas a{padding:6px 4px} }
/* Luis Acharez tambien realiza: cuatro servicios, cada uno con su consulta */
.servicios-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 56px;margin-top:24px}
.servicios-grid>div{border-top:1px solid var(--line);padding-top:20px}
.servicios-grid h3{font-size:21px;line-height:1.25;margin-bottom:10px}
.servicios-grid p{color:var(--muted);margin-bottom:14px}
.servicios-grid .leer{display:inline-block;padding:12px 0 5px}
@media (max-width:760px){.servicios-grid{grid-template-columns:1fr;gap:28px}}
/* Paginas legales: texto corrido, lectura comoda */
.texto-legal{max-width:720px;padding:8px 0 104px}
.texto-legal h1{font-size:clamp(34px,4.6vw,54px);margin:12px 0 22px}
.texto-legal h2{font-size:clamp(20px,2vw,24px);line-height:1.25;margin:44px 0 12px}
.texto-legal ul{margin:0 0 1em;padding-left:22px}
.texto-legal li{margin-bottom:8px}
.texto-legal .actualizado{margin-top:56px}
