@font-face{font-family:"Jost";src:url(../fonts/jost-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";src:url(../fonts/jost-latin-ext-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2-variations");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2-variations");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

img,video{max-width:100%}
img[height],video[height]{height:auto}
body{margin:0;background:#F4F3F1;color:#2A2A29;font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:#8B6539;text-underline-offset:3px}a:hover{color:#5E4224}
::selection{background:#C8A078;color:#262626}
*{box-sizing:border-box}
.sf{min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:Jost,Manrope,sans-serif;font-weight:500;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0;line-height:1.65}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid #8B6539;outline-offset:3px;border-radius:6px}
.top :focus-visible,.hero :focus-visible,.proc :focus-visible,.cierre :focus-visible,.pie :focus-visible,.cinta :focus-visible,.mnav :focus-visible{outline-color:#C8A078}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:15px;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s}
.btn:active{transform:scale(.98)}
.btn-cobre{background:#C8A078;color:#262626}.btn-cobre:hover{background:#D8B48E;color:#262626}
.btn-linea{background:transparent;color:#F4F3F1;border-color:rgba(244,243,241,.45)}.btn-linea:hover{border-color:#C8A078;color:#fff}
.btn-oscuro{background:#2F2F2F;color:#F4F3F1}.btn-oscuro:hover{background:#4B4B4B;color:#fff}
.btn-claro{background:#fff;color:#2A2A29;border-color:#D9D6D1}.btn-claro:hover{border-color:#8B6539;color:#2A2A29}
/* cabecera */
.top{position:sticky;top:0;z-index:30;background:#4B4B4B;color:#F4F3F1}
.top-in{display:flex;align-items:center;gap:20px;height:76px}
.logo-btn{background:none;border:0;padding:0;display:flex;align-items:center;min-height:48px}
.logo-btn img{height:46px;width:auto;display:block}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-b{background:none;border:0;color:#E9E7E3;padding:0 13px;min-height:44px;border-radius:999px;font-weight:500;font-size:15px}
.nav-b:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-b.on{color:#fff;box-shadow:inset 0 -2px 0 #C8A078;border-radius:0}
.lsel{position:relative;margin-left:10px}
.lsel-b{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid rgba(244,243,241,.35);color:#fff;min-height:44px;padding:0 14px;border-radius:999px;font-weight:700;font-size:13px}
.lsel-b:hover{border-color:#C8A078}
.flag{display:block;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.18);flex:none}
.lmenu{position:absolute;right:0;top:52px;background:#fff;color:#2A2A29;border-radius:16px;box-shadow:0 24px 50px -20px rgba(0,0,0,.45);padding:6px;min-width:190px;display:flex;flex-direction:column;z-index:40}
.lmenu button{background:none;border:0;text-align:left;min-height:44px;padding:0 14px;border-radius:10px;font-size:15px;display:flex;justify-content:space-between;align-items:center;color:#2A2A29}
.lmenu button:hover{background:#F4F3F1}
.lmenu button.on{font-weight:700;color:#8B6539}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(244,243,241,.35);color:#fff;width:48px;height:48px;border-radius:12px;align-items:center;justify-content:center}
.mnav{display:none}
.mlangs{display:flex;flex-wrap:wrap;gap:6px}
.mlangs button{display:inline-flex;align-items:center;gap:8px;padding:0 12px;background:none;border:1px solid rgba(244,243,241,.35);color:#E9E7E3;min-height:44px;min-width:48px;border-radius:999px;font-weight:700;font-size:13px}
.mlangs button.on{background:#C8A078;color:#262626;border-color:#C8A078}
@media (max-width:980px){.nav{display:none}.burger{display:inline-flex}.top-in{height:68px}.logo-btn img{height:38px}
.mnav{display:flex;flex-direction:column;gap:4px;padding:8px 24px 20px}.mnav .nav-b{text-align:left;padding:0 4px;min-height:48px;font-size:17px}.mnav .nav-b.on{box-shadow:none;color:#C8A078}}
/* portada */
.hero{background:#2F2F2F;color:#F4F3F1;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-20% -10% auto auto;width:760px;height:760px;background:radial-gradient(closest-side,rgba(200,160,120,.16),rgba(200,160,120,0));pointer-events:none}
.hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;min-height:calc(100dvh - 76px);max-height:880px;padding-top:56px;padding-bottom:56px}
.hero h1{font-size:clamp(40px,5vw,72px);line-height:1.04;font-weight:500}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .w{display:inline-block;animation:up .9s cubic-bezier(.2,.7,.1,1) both;animation-delay:calc(var(--i) * 90ms + 250ms)}
.hero h1 em{font-style:normal;color:#C8A078}
.hero .sub{font-size:19px;color:#D6D3CE;max-width:520px;margin-top:24px;animation:fade .8s ease both .9s}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px;animation:fade .6s ease both .5s}
.hero .datos{display:flex;gap:40px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid rgba(244,243,241,.14);animation:fade .8s ease both 1.2s}
.hero .dato b{display:block;font-family:Jost,sans-serif;font-size:34px;font-weight:500;color:#fff;font-variant-numeric:tabular-nums}
.hero .dato span{font-size:14px;color:#BDB9B3}
.stage{position:relative;justify-self:center;width:100%;max-width:520px;aspect-ratio:1/1.02}
.stage .mark{position:absolute;left:-6%;top:-4%;width:46%;overflow:visible;z-index:2}
.stage .photo{position:absolute;right:0;bottom:0;width:86%;aspect-ratio:4/3.4;border-radius:26px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);animation:rise 1.2s cubic-bezier(.2,.8,.2,1) both 1.1s}
.stage .photo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);animation:settle 2.4s cubic-bezier(.2,.8,.2,1) both 1.1s}
.stage .tag-f{position:absolute;left:4%;bottom:6%;z-index:3;background:#C8A078;color:#262626;border-radius:16px;padding:12px 16px;font-size:13px;font-weight:700;line-height:1.35;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);animation:fade .7s ease both 2s}
.stage .tag-f b{display:block;font-family:Jost,sans-serif;font-size:20px;font-weight:500}
.mark polygon{fill:#C8A078;fill-opacity:0;stroke:#C8A078;stroke-width:2;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s cubic-bezier(.65,0,.25,1) forwards,fillin .7s ease forwards}
.mark .p1{animation-delay:.2s,1.3s}.mark .p2{animation-delay:.45s,1.45s}.mark .p3{animation-delay:.7s,1.6s}
.mark .g1{animation:drop1 1.4s cubic-bezier(.2,.8,.2,1) both 1.2s}
.mark .g3{animation:drop3 1.4s cubic-bezier(.2,.8,.2,1) both 1.2s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillin{to{fill-opacity:1}}
@keyframes drop1{from{transform:translateY(-26px)}to{transform:none}}
@keyframes drop3{from{transform:translateY(26px)}to{transform:none}}
@keyframes up{from{transform:translateY(105%)}to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes settle{to{transform:scale(1)}}
@media (max-width:980px){.hero-in{grid-template-columns:1fr;min-height:0;max-height:none;padding-top:36px;padding-bottom:44px;gap:32px}.hero .sub{font-size:17px}.hero .datos{gap:24px;margin-top:36px}.hero .dato b{font-size:28px}.stage{max-width:440px}}
/* cinta */
.cinta{background:#C8A078;color:#262626;overflow:hidden;white-space:nowrap;border-block:1px solid #B48C63}
.cinta-t{display:inline-flex;gap:48px;padding:20px 0;animation:marq 60s linear infinite;font-family:Jost,sans-serif;font-size:30px;font-weight:500}
.cinta:hover .cinta-t{animation-play-state:paused}
.cinta-t span{display:inline-flex;align-items:center;gap:48px}
.cinta-t svg{width:30px;height:32px;flex:none}
@keyframes marq{to{transform:translateX(-50%)}}
/* secciones */
.sec{padding:112px 0}
.sec-h{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.sec-h h2{font-size:clamp(32px,3.6vw,52px);line-height:1.08;max-width:700px}
.sec-h p{max-width:430px;color:#5C5A57}
.kick{font-size:14px;font-weight:700;color:#8B6539;margin-bottom:14px;display:block}
@media (max-width:900px){.sec{padding:72px 0}.sec-h{margin-bottom:30px}}
/* familias */
.fams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fam{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4;padding:0;border:0;text-align:left;color:#fff;background:#2F2F2F}
.fam img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.fam:hover img{transform:scale(1.06)}
.fam .sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,0) 40%,rgba(20,20,20,.82) 100%)}
.fam .tx{position:absolute;left:22px;right:22px;bottom:20px}
.fam .tx b{display:block;font-family:Jost,sans-serif;font-weight:500;font-size:24px;line-height:1.15}
.fam .tx span{font-size:14px;color:#E2DFDA}
@media (max-width:1000px){.fams{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fams{grid-template-columns:1fr}.fam{aspect-ratio:4/3}}
/* productos */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.pc{background:#fff;border:1px solid #E4E1DC;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;text-align:left;padding:0;color:inherit;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;grid-column:span 2}
.pc:hover{transform:translateY(-6px);box-shadow:0 22px 40px -24px rgba(47,47,47,.45);border-color:#C8A078}
.pc .im{aspect-ratio:4/3;background:#ECEAE6;overflow:hidden}
.pc .im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pc:hover .im img{transform:scale(1.05)}
.pc .bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.pc .fam-l{font-size:12.5px;font-weight:700;color:#8B6539}
.pc h3{font-size:23px}
.pc p{font-size:15px;color:#5C5A57}
.pc .fm{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.tag{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:#F4F3F1;color:#4B4B4B;border:1px solid #E4E1DC}
.ver{font-weight:700;font-size:14px;color:#8B6539;display:inline-flex;gap:6px;align-items:center;margin-top:10px}
.ver svg{transition:transform .25s}.pc:hover .ver svg{transform:translateX(4px)}
@media (max-width:1000px){.pc{grid-column:span 3}}
@media (max-width:640px){.bento{grid-template-columns:1fr}.pc{grid-column:auto}}
/* formatos */
.fmts{background:#fff;border-block:1px solid #E4E1DC}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.chip{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #D9D6D1;background:#fff;color:#2A2A29;font-weight:600;font-size:14px}
.chip:hover{border-color:#8B6539}
.chip.on{background:#2F2F2F;border-color:#2F2F2F;color:#fff}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.fvis{background:#EEECE8;border-radius:24px;aspect-ratio:4/3;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;gap:6px}
.fvis.trio{grid-template-columns:repeat(3,minmax(0,1fr))}
.fvis img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .45s ease both}
.fvis:after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(20,20,20,0),rgba(20,20,20,.7));pointer-events:none}
.fvis .lbl{position:absolute;left:22px;bottom:18px;font-family:Jost,sans-serif;font-size:24px;color:#fff;z-index:2}
.flist{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding-right:4px}
.fi{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;border:1px solid #E4E1DC;background:#fff;text-align:left;color:inherit;min-height:56px;transition:border-color .2s,background .2s,opacity .2s}
.fi{flex:none}.fi:hover{border-color:#C8A078;background:#FBFAF8}
.fi b{font-family:Jost,Manrope,sans-serif;font-weight:500;font-size:19px;display:block;margin-bottom:2px}
.fi span{font-size:13.5px;color:#5C5A57}
.fi.off{opacity:.55}
@media (max-width:900px){.fgrid{grid-template-columns:1fr}.flist{max-height:none}}
/* proceso */
.proc{background:#2F2F2F;color:#F4F3F1;view-timeline-name:--proc}
.proc-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.proc-l{align-self:start}
.proc-l h2{font-size:clamp(32px,3.6vw,52px);line-height:1.08}
.proc-l p{color:#CFCCC7;margin-top:20px;max-width:430px}
.rail{position:relative;margin-top:36px;height:4px;background:rgba(244,243,241,.12);border-radius:4px;overflow:hidden;max-width:360px}
.rail i{position:absolute;inset:0;background:#C8A078;transform-origin:left}
.steps{display:flex;flex-direction:column;gap:20px}
.st{border:1px solid rgba(244,243,241,.12);border-radius:22px;padding:30px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;background:rgba(255,255,255,.02)}
.st .ic{width:56px;height:56px;border-radius:16px;background:rgba(200,160,120,.14);display:flex;align-items:center;justify-content:center;color:#C8A078}
.st h3{font-size:24px;margin-bottom:6px}
.st p{color:#CFCCC7;font-size:15.5px}
@supports (animation-timeline: view()){
.rail i{animation:grow linear both;animation-timeline:--proc;animation-range:entry 40% exit 60%}
.st{animation:lit linear both;animation-timeline:view();animation-range:cover 20% cover 55%}
.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lit{from{opacity:.4;border-color:rgba(244,243,241,.08)}to{opacity:1;border-color:rgba(200,160,120,.55)}}
@keyframes rv{from{opacity:.001;transform:translateY(30px)}to{opacity:1;transform:none}}
@media (max-width:900px){.proc-g{grid-template-columns:1fr;gap:32px}.proc-l{position:static}.st{grid-template-columns:44px minmax(0,1fr);padding:22px}.st .ic{width:44px;height:44px}}
.nave{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:36px;max-width:480px}
.nave figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#3a3a3a}
.nave .n1{grid-column:1 / -1}
.nave img{width:100%;display:block;object-fit:cover;aspect-ratio:3/4}
.nave .n1 img{aspect-ratio:4/3}
.nave figcaption{position:absolute;left:10px;bottom:10px;background:rgba(30,30,30,.72);color:#F4F3F1;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px}
@media (max-width:900px){.nave{max-width:none}}
/* nosotros */
.nos-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fotos .f{border-radius:22px;overflow:hidden;aspect-ratio:3/4;background:#ECEAE6}
.fotos .f:nth-child(2){margin-top:48px}
.fotos img{width:100%;height:100%;object-fit:cover;display:block}
.nos-g .txt p{color:#4A4845;font-size:17px}
.nos-g .txt p+p{margin-top:16px}
.sellos{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
@media (max-width:900px){.nos-g{grid-template-columns:1fr;gap:36px}}
/* ferias */
.fer{background:#fff;border-block:1px solid #E4E1DC}
.fer-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.fer-m{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:16px;align-items:end}
.fer-m video,.fer-m img{width:100%;display:block;border-radius:22px;object-fit:cover;background:#2F2F2F}
.fer-m video{aspect-ratio:9/16}
.fer-m img{aspect-ratio:5/6}
.fer-badge{display:inline-flex;align-items:center;gap:8px;background:#2F2F2F;color:#F4F3F1;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:700;margin-top:24px}
.fer-badge i{width:8px;height:8px;border-radius:50%;background:#C8A078}
@media (max-width:900px){.fer-g{grid-template-columns:1fr;gap:32px}}
/* cierre */
.cierre{background:#2F2F2F;color:#F4F3F1;text-align:center;padding:120px 0;overflow:hidden}
.cierre h2{font-size:clamp(48px,9vw,140px);line-height:.95;font-weight:500;letter-spacing:-.03em}
.cierre h2 em{font-style:normal;color:#C8A078}
.cierre p{color:#D6D3CE;margin:24px auto 36px;max-width:540px;font-size:18px}
.cierre .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@supports (animation-timeline: view()){.cierre h2{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% cover 45%}}
@keyframes zoom{from{transform:scale(.84);opacity:.25}to{transform:none;opacity:1}}
/* interiores */
.ph{background:#2F2F2F;color:#F4F3F1;padding:72px 0 56px}
.ph h1{font-size:clamp(36px,4.6vw,64px);line-height:1.05}
.ph p{color:#CFCCC7;margin-top:16px;max-width:640px;font-size:18px}
.crumb{background:none;border:0;color:#8B6539;font-weight:700;font-size:14px;padding:0;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.crumb:hover{color:#5E4224}
/* ficha */
.ficha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.ficha .gal{position:sticky;top:100px}
.ficha .main{border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:#ECEAE6}
.ficha .main img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.thumb{width:86px;height:66px;border-radius:12px;overflow:hidden;border:2px solid transparent;padding:0;background:#ECEAE6}
.thumb.on{border-color:#8B6539}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ficha h1{font-size:clamp(34px,4vw,54px);line-height:1.05}
.ficha .lead{font-size:18px;color:#4A4845;margin-top:16px}
.dt{margin-top:28px;border-top:1px solid #E4E1DC}
.dt .row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid #E4E1DC;font-size:15px}
.dt .row b{font-weight:700;color:#2A2A29}
.dt .row span{color:#4A4845;line-height:1.6}
.dt .row small{display:block;color:#5C5A57;font-size:12.5px;margin-top:4px}
.alg{display:flex;gap:10px;align-items:flex-start;background:#FFF6E8;border:1px solid #F0DDB8;border-radius:12px;padding:10px 12px;color:#4A3410;font-weight:600}
.alg svg{flex:none;color:#8B6539;margin-top:2px}
.nut{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.nut td{padding:6px 0;border-bottom:1px dashed #E4E1DC}
.nut td:last-child{text-align:right;font-weight:600;color:#2A2A29}
.nut tr.sub td:first-child{padding-left:14px;color:#5C5A57}
.ficha .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid #E4E1DC;flex-wrap:wrap}
@media (max-width:900px){.ficha{grid-template-columns:1fr;gap:28px}.ficha .gal{position:static}.dt .row{grid-template-columns:1fr;gap:4px}}
.hueco{background:#FFF1D6;color:#6B4A12;border-radius:6px;padding:1px 6px;font-weight:600}
/* contacto */
.ct-g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.ct-card{background:#fff;border:1px solid #E4E1DC;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:20px}
.ct-it{display:flex;gap:14px;align-items:flex-start}
.ct-it .ic{width:44px;height:44px;border-radius:12px;background:#F4F3F1;display:flex;align-items:center;justify-content:center;color:#8B6539;flex:none}
.ct-it b{display:block;font-size:13px;color:#5C5A57;font-weight:600}
.ct-it a,.ct-it span{font-size:17px;font-weight:600;color:#2A2A29;text-decoration:none;line-height:1.45}
.ct-it a:hover{color:#8B6539}
.mapa{border-radius:22px;overflow:hidden;aspect-ratio:16/11;background:#E9E6E1;position:relative;border:1px solid #E4E1DC}
.mapa .bloq{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(244,243,241,.9)}
.mapa .bloq p{font-size:14.5px;color:#4A4845;max-width:320px}
.form{background:#fff;border:1px solid #E4E1DC;border-radius:22px;padding:32px;display:flex;flex-direction:column;gap:18px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fl{display:flex;flex-direction:column;gap:6px}
.fl label{font-size:14px;font-weight:700}
.fl label small{font-weight:500;color:#5C5A57}
.fl input,.fl select,.fl textarea{font:inherit;font-size:16px;color:#2A2A29;background:#FBFAF8;border:1.5px solid #D9D6D1;border-radius:12px;min-height:50px;padding:12px 14px;caret-color:#8B6539;transition:border-color .2s,box-shadow .2s}
.fl textarea{min-height:130px;resize:vertical}
.fl input:focus,.fl select:focus,.fl textarea:focus{outline:none;border-color:#8B6539;box-shadow:0 0 0 4px rgba(200,160,120,.25)}
.fl.err input,.fl.err textarea{border-color:#B3261E;background:#FFF8F7}
.fl .msg{font-size:13.5px;color:#B3261E;font-weight:600}
.info1{font-size:13px;line-height:1.55;color:#4A4845;background:#F4F3F1;border-radius:14px;padding:14px 16px}
.info1 b{color:#2A2A29}
.ok{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:8px 0}
.ok .ic{width:56px;height:56px;border-radius:50%;background:#E8F1EA;color:#1E6B3A;display:flex;align-items:center;justify-content:center}
@media (max-width:900px){.ct-g{grid-template-columns:1fr}.fr{grid-template-columns:1fr}.form{padding:22px}}
/* legal */
.legal{max-width:760px}
.legal h2{font-size:26px;margin:40px 0 12px}
.legal p,.legal li{color:#3A3937;font-size:16.5px;line-height:1.7}
.legal p+p{margin-top:12px}
.legal ul{padding-left:22px;margin:8px 0}
.legal table{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
.legal th,.legal td{text-align:left;padding:12px 14px;border-bottom:1px solid #E4E1DC;vertical-align:top}
.legal th{background:#2F2F2F;color:#F4F3F1;font-weight:600}
.tbl{overflow-x:auto;border-radius:14px;border:1px solid #E4E1DC;margin-top:12px}
.legal-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.note{font-size:14px;line-height:1.55;color:#4A4845;background:#fff;border:1px solid #E4E1DC;border-radius:14px;padding:14px 16px;max-width:760px;margin-bottom:24px}
/* pie */
.pie{background:#4B4B4B;color:#E2DFDA;padding:72px 0 28px;margin-top:auto;border-top:1px solid rgba(255,255,255,.12)}
.pie-g{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.8fr)) minmax(0,1.3fr);gap:40px}
.pie img{height:52px;width:auto;display:block;margin-left:-8px}
.pie h4{font-family:Jost,sans-serif;font-weight:500;font-size:17px;color:#fff;margin:0 0 14px}
.pie p,.pie li{font-size:14.5px;line-height:1.7;color:#E2DFDA}
.pie ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.pl{background:none;border:0;padding:0;color:#F0EEEA;font-size:14.5px;min-height:36px;text-align:left}
.pl:hover{color:#C8A078;text-decoration:underline;text-underline-offset:3px}
.soc{display:inline-flex;gap:8px;align-items:center;min-height:40px;color:#F0EEEA;text-decoration:none;font-size:14.5px}
.soc:hover{color:#C8A078}
.ue{background:#fff;color:#1F1F1F;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
.ue-logos{display:flex;gap:12px;align-items:center}
.ue-logos svg{width:66px;height:44px;flex:none}
.ue-logos b{font-size:12.5px;line-height:1.3;color:#1F1F1F}
.ue p{font-size:12px;line-height:1.5;color:#3A3937}
.pie-b .sgo{grid-column:2}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sgo{display:inline-flex;align-items:center;gap:12px;padding:7px 18px 7px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:linear-gradient(180deg,rgba(15,40,70,.6),rgba(11,30,54,.6));color:#fff;text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.sgo img{width:40px;height:40px;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.sgo-t{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;line-height:1}
.sgo-k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#C9C5BE}
.sgo-w svg{display:block;height:13px;width:auto;color:#fff;transition:color .25s ease}
.sgo:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.55);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.sgo:hover .sgo-w svg{color:#D4AF37}
.sgo:focus-visible{outline:2px solid #D4AF37;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.sgo,.sgo-w svg{transition:none}.sgo:hover{transform:none}}
.pie-b{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px;color:#E2DFDA}
@media (max-width:760px){.pie-b{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px}.pie-b .sgo{grid-column:1;grid-row:1}}
@media (max-width:1000px){.pie-g{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pie-g{grid-template-columns:1fr}}
/* cookies */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;justify-content:center;animation:fade .5s ease both .6s}
.ck-in{background:#fff;color:#2A2A29;border-radius:22px;box-shadow:0 30px 60px -20px rgba(20,20,20,.45);border:1px solid #E4E1DC;padding:24px 26px;max-width:980px;width:100%;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.ck-in .t{flex:1 1 420px}
.ck-in h3{font-size:20px;margin-bottom:6px}
.ck-in p{font-size:14.5px;color:#4A4845;line-height:1.55}
.ck-b{display:flex;gap:10px;flex-wrap:wrap;flex:1 1 380px;justify-content:flex-end}
.ck-b .btn{flex:1 1 0;min-width:110px;padding:0 16px}
.modal{position:fixed;inset:0;z-index:70;background:rgba(30,30,30,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.modal-in{background:#fff;border-radius:24px;max-width:600px;width:100%;padding:28px;display:flex;flex-direction:column;gap:16px;max-height:90dvh;overflow:auto}
.cat{border:1px solid #E4E1DC;border-radius:16px;padding:16px 18px;display:flex;gap:16px;justify-content:space-between;align-items:flex-start}
.cat b{font-size:16px}
.cat p{font-size:13.5px;color:#4A4845;margin-top:4px;line-height:1.5}
.sw{position:relative;width:52px;height:30px;flex:none}
.sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:2}
.sw i{position:absolute;inset:0;border-radius:999px;background:#C9C5BF;box-shadow:inset 0 0 0 1.5px #8F8B85;transition:background .2s}
.sw i:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.sw input:checked+i{background:#8B6539}
.sw input:checked+i:after{transform:translateX(22px)}
.sw input:disabled+i{background:#A8A49E}
.sw input:focus-visible+i{outline:3px solid #C8A078;outline-offset:2px}
.ck-st{font-size:13px;font-weight:700;color:#1E6B3A;background:#E8F1EA;border-radius:999px;padding:6px 12px;display:inline-block}
.toast{position:fixed;left:16px;right:16px;margin:0 auto;width:fit-content;bottom:24px;z-index:80;background:#2F2F2F;color:#fff;padding:14px 20px;border-radius:14px;font-size:14.5px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);animation:fade .3s ease both;max-width:calc(100% - 32px)}
@media (max-width:640px){.ck{left:8px;right:8px;bottom:8px}.ck-in{padding:16px 18px;gap:12px}.ck-in .h3{font-size:18px}.ck-in p{font-size:13.5px}.ck-b .btn{min-width:0;min-height:44px}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none !important;transition:none !important}.mark polygon{fill-opacity:1;stroke-dashoffset:0}.stage .photo img{transform:none}}

/* WordPress / tema */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#C8A078;color:#262626;padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{left:16px}
.nav-b,.pl,.crumb,.chip,.fi,.pc,.fam,.logo-btn,.lmenu button,.mlangs button,.thumb{text-decoration:none}
a.nav-b,a.pl{display:inline-flex;align-items:center}
a.pc,a.fi{color:inherit}
a.fam{color:#fff}
.lmenu a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;font-size:15px;color:#2A2A29;text-decoration:none}
.lmenu a:hover{background:#F4F3F1;color:#2A2A29}
.lmenu a.on{font-weight:700;color:#8B6539}
.mlangs a{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(244,243,241,.35);color:#E9E7E3;min-height:44px;border-radius:999px;font-weight:700;font-size:13px;text-decoration:none}
.mlangs a.on{background:#C8A078;color:#262626;border-color:#C8A078}
[hidden]{display:none !important}
.mnav[hidden]{display:none !important}
@media (min-width:981px){.mnav{display:none !important}}
.hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}
.alert{border-radius:14px;padding:14px 16px;font-size:14.5px;font-weight:600}
.alert.err{background:#FFF8F7;color:#8C1D18;border:1px solid #F2C9C6}
.pc.off{display:none}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.legal a{color:#8B6539}
.pie .h4{font-family:Jost,Manrope,sans-serif;font-weight:500;font-size:17px;color:#fff;margin:0 0 14px}
.ck-in .h3{font-size:20px;margin-bottom:6px}
.pc .h3{font-size:23px}
.lsel{position:relative}
.lsel>summary{list-style:none;cursor:pointer}
.lsel>summary::-webkit-details-marker{display:none}
.lsel .flag,.mlangs .flag{display:block;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.18);flex:none}
.lsel .lmenu{display:flex}
.legal-nav .chip{display:inline-flex;align-items:center}
.chips .chip{display:inline-flex;align-items:center}
.thumb{display:block}
.ck .btn,.modal .btn{min-height:48px}
.fvis [data-one]{width:100%;height:100%;object-fit:cover;display:block;grid-column:1 / -1}
.toast[hidden]{display:none}
@media print{.top,.pie,.ck,.modal{display:none !important}}

.cinta{position:relative}
.cinta-p{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(38,38,38,.85);color:#F4F3F1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.cinta.paused .cinta-t{animation-play-state:paused}
/* Protección básica de fotos: sin arrastrar, sin menú de «guardar imagen» en móvil */
main img,main video,.fam,.pc .im,.fotos,.nave,.fer-m,.fvis,.gal{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
