/* lacasadediego2.com — sistema visual calcado de mcdonalds.es: fondo blanco, negro, amarillo #FFBC0D, píldoras, tarjetas inclinadas */
@font-face{font-family:Archivo;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-var.woff2) format("woff2")}
:root{--yel:#FFBC0D;--yel-d:#e9a900;--ink:#0a0a0a;--ink-2:#2d2d2d;--mut:#6b7280;--green:#264D38;--red:#DA291C;--bg:#fff;--line:#eaeaea;--r:24px;
 --eo:cubic-bezier(.23,1,.32,1);--eio:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.5 Archivo,system-ui,-apple-system,sans-serif;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(34px,4.6vw,60px)}h3{font-size:24px}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}.sr{position:absolute;left:-9999px}
.kicker{margin:0 0 10px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--yel);padding:8px 14px;border-radius:999px;z-index:300}.skip:focus{left:8px}
/* píldoras */
.pill{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;line-height:1;border:2px solid transparent;transition:transform 160ms var(--eo),background 160ms ease,box-shadow 200ms ease;white-space:nowrap}
.pill:active{transform:scale(.97)}.pill-y{background:var(--yel);color:var(--ink)}.pill-w{background:#fff;color:var(--ink)}.pill-o{background:#fff;color:var(--ink);border-color:var(--red)}
.pill-lg{padding:20px 34px;font-size:15px}
@media(hover:hover) and (pointer:fine){.pill:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.14)}.pill-y:hover{background:var(--yel-d)}}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.rb{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:26px;line-height:1;font-weight:700;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.14);transition:transform 160ms var(--eo),background 160ms}.rb:active{transform:scale(.94)}
@media(hover:hover){.rb:hover{background:var(--yel)}}
/* cabecera flotante */
.hd{position:absolute;top:0;left:0;right:0;z-index:60;padding:14px 0}.hd-in{width:min(1360px,100% - 40px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:block;width:140px;height:140px;padding:6px;background:#fff;border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.3);transition:transform 200ms var(--eo),width 300ms var(--eo),height 300ms var(--eo)}.logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.logo:active{transform:scale(.96)}
.hd-r{display:flex;align-items:center;gap:12px}.ico{width:44px;height:44px;display:grid;place-items:center;color:#fff;border-radius:50%;transition:background 160ms}.ico:hover{background:rgba(255,255,255,.15)}
.burger{width:48px;height:48px;border:0;background:none;cursor:pointer;display:grid;place-items:center;gap:0;position:relative}.burger span{display:block;width:30px;height:4px;background:#fff;border-radius:4px;transition:transform 240ms var(--eo),opacity 200ms;position:absolute;left:9px}.burger span:first-child{top:16px}.burger span:last-child{top:28px}
.hd.fixed{position:fixed;background:#fff;padding:10px 0;box-shadow:0 2px 14px rgba(0,0,0,.08);animation:hdIn 300ms var(--eo)}.hd.fixed .logo{width:60px;height:60px;padding:3px;box-shadow:none;background:var(--ink)}.hd.fixed .ico{color:var(--ink)}.hd.fixed .burger span{background:var(--ink)}
@keyframes hdIn{from{transform:translateY(-100%)}}
body.menu-open .burger span{background:var(--ink)}body.menu-open .burger span:first-child{transform:translateY(6px) rotate(45deg)}body.menu-open .burger span:last-child{transform:translateY(-6px) rotate(-45deg)}
body.menu-open .hd .ico,body.menu-open .hd .pill-o{visibility:hidden}
.menu{position:fixed;inset:0;z-index:55;background:#fff;padding:120px 0 40px;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}.menu[hidden]{display:none}
.menu ul{list-style:none;margin:0;padding:0 max(20px,calc((100vw - 1240px)/2))}.menu li{opacity:0;transform:translateY(18px);animation:mIn 420ms var(--eo) forwards}.menu li:nth-child(n){animation-delay:calc(var(--i,0)*45ms)}
.menu li a{display:block;font-size:clamp(34px,6vw,72px);font-weight:800;letter-spacing:-.03em;line-height:1.1;text-decoration:none;padding:6px 0;transition:color 160ms}.menu li a:hover{color:var(--yel-d)}
.menu-f{padding:30px max(20px,calc((100vw - 1240px)/2)) 0;display:flex;gap:30px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:30px}.menu-f p{margin:0;color:var(--ink-2)}
@keyframes mIn{to{opacity:1;transform:none}}
.fab{position:fixed;right:22px;bottom:22px;z-index:50;width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;padding:4px;background:conic-gradient(from 180deg,var(--red),var(--yel),var(--red));box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform 160ms var(--eo)}.fab span{width:100%;height:100%;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--red)}.fab span svg{width:28px;height:28px}.fab:active{transform:scale(.94)}
@media(hover:hover){.fab:hover{transform:scale(1.06)}}
/* hero 100vh */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;background:#000;display:flex;align-items:center}
.hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.1) 60%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%)}
.hero-t{position:relative;z-index:2;width:min(1360px,100% - 40px);margin-inline:auto;color:#fff}
.hero h1{font-size:clamp(46px,8.2vw,104px);font-weight:800;letter-spacing:-.04em;line-height:.98;max-width:12ch;margin-bottom:34px}
.hero h1 .w{display:inline-block;opacity:0;transform:translateY(40px);animation:wIn 700ms var(--eo) forwards}.hero h1 .w:nth-child(2){animation-delay:60ms}.hero h1 .w:nth-child(4){animation-delay:120ms}.hero h1 .w:nth-child(5){animation-delay:180ms}.hero h1 .w:nth-child(7){animation-delay:240ms}
.hero-cta{opacity:0;animation:wIn 600ms var(--eo) 380ms forwards}
@keyframes wIn{to{opacity:1;transform:none}}
/* stories */
.sto{padding:90px 0 60px;overflow:hidden}.sto-g{display:grid;grid-template-columns:1fr 360px 400px;gap:44px;align-items:center}
.sto-l{position:relative;padding-right:20px}.sto-l p{color:var(--ink-2);font-size:18px}.sto-l h2{margin-bottom:16px}
.coin{position:absolute;width:var(--s,110px);height:var(--s,110px);border-radius:50%;padding:6px;background:conic-gradient(from 160deg,var(--red),var(--yel) 50%,var(--red));box-shadow:0 14px 30px rgba(0,0,0,.18);transform:translate(var(--px,0),var(--py,0)) rotate(var(--rot,0deg));transition:transform 600ms var(--eo);animation:float 5s ease-in-out infinite;z-index:1}
.coin img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff}.coin-logo{--s:84px;padding:0;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18)}.coin-logo img{object-fit:contain;padding:6px}
.c1{--s:120px;right:-10px;top:-70px;--rot:-10deg}.c2{--s:80px;left:-30px;top:40%;--rot:8deg;animation-delay:-1.5s}.c3{--s:64px;right:40px;bottom:-30px;animation-delay:-3s}.c4{--s:50px;left:40%;bottom:-60px;--rot:14deg;animation-delay:-2s}
@keyframes float{50%{margin-top:-12px}}
.sto-m{margin:0;position:relative;border-radius:28px;overflow:hidden;aspect-ratio:9/16;box-shadow:0 30px 60px rgba(0,0,0,.18)}.sto-m img{width:100%;height:100%;object-fit:cover}
.sto-m figcaption{position:absolute;left:18px;bottom:18px;background:var(--yel);padding:12px 18px;border-radius:16px;font-weight:800;font-size:16px;line-height:1;transform:rotate(-3deg)}.sto-m figcaption b{font-size:34px;display:block;letter-spacing:-.03em}
.stories{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:9/16;background:#111;box-shadow:0 30px 60px rgba(0,0,0,.18)}
.st-top{position:absolute;z-index:3;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:12px;color:#fff;font-weight:700;font-size:14px}.st-n b{font-size:16px}
.st-bars{flex:1;display:flex;gap:5px}.st-bars i{flex:1;height:3px;background:rgba(255,255,255,.35);border-radius:3px;overflow:hidden}.st-bars b{display:block;height:100%;width:0;background:var(--yel)}.st-bars i.done b{width:100%}.st-bars i.on b{animation:bar var(--t,5s) linear forwards}
@keyframes bar{to{width:100%}}
.st-nav{display:flex;gap:8px}.st-nav .rb{width:36px;height:36px;font-size:22px}
.st-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.st-track::-webkit-scrollbar{display:none}
.st-s{position:relative;flex:0 0 100%;scroll-snap-align:start;height:100%}.st-s img{width:100%;height:100%;object-fit:cover}
.st-s::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%,transparent 50%,rgba(0,0,0,.8))}
.st-c{position:absolute;z-index:2;left:22px;right:22px;bottom:24px;color:#fff}.st-k{margin:0 0 6px;font-weight:700;font-size:13px;color:var(--yel);text-transform:uppercase;letter-spacing:.1em}.st-c h3{font-size:30px;margin-bottom:8px}.st-c p{margin:0 0 14px;font-size:14px;opacity:.9}
/* marquesinas */
.mq{overflow:hidden;white-space:nowrap;padding:28px 0}.mq-t{display:inline-flex;align-items:center;gap:40px;padding-right:40px;animation:mq var(--mqt,28s) linear infinite;will-change:transform}.mq:hover .mq-t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-big{padding:10px 0 40px}.mq-big span{font-weight:900;font-stretch:72%;font-size:clamp(110px,19vw,290px);line-height:.9;letter-spacing:-.02em;color:var(--ink)}.mq-big span:nth-child(even){-webkit-text-stroke:3px var(--ink);color:transparent}
.mq-food{--mqt:34s;padding:60px 0}.mq-i{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;flex:none}.mq-i.y{background:var(--yel)}.mq-i.g{background:#4f9a5f}.mq-i img{width:122px;height:122px;border-radius:50%;object-fit:cover}
.mq-w{font-weight:800;font-size:clamp(50px,7vw,96px);letter-spacing:-.04em;line-height:1}
/* carta: tarjetas amarillas inclinadas */
.carta{padding:60px 0 90px;overflow:hidden}.carta-g{display:grid;grid-template-columns:420px 1fr;gap:50px;align-items:center}
.carta-l p{color:var(--ink-2);font-size:18px}.carta-l h2{margin:18px 0 14px}.tilt{transform:rotate(-8deg);margin-left:60%;pointer-events:none}
.carta-r{position:relative;min-width:0}.ytrack{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:40px 10px 50px;scrollbar-width:none}.ytrack::-webkit-scrollbar{display:none}
.ycard{flex:0 0 300px;scroll-snap-align:start;background:var(--yel);border-radius:26px;aspect-ratio:1/1.12;transform:rotate(var(--r));transition:transform 320ms var(--eo),box-shadow 320ms;box-shadow:0 18px 40px rgba(0,0,0,.08)}
.ycard a{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:22px;text-decoration:none;color:var(--ink)}
.ycard-i{display:block;width:78%;aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:0 12px 28px rgba(0,0,0,.18);transition:transform 400ms var(--eo)}.ycard-i img{width:100%;height:100%;object-fit:cover}
.ycard h3{font-size:30px;text-align:center;letter-spacing:-.03em;line-height:.95}
@media(hover:hover) and (pointer:fine){.ycard:hover{transform:rotate(0) translateY(-10px);box-shadow:0 30px 60px rgba(0,0,0,.18)}.ycard:hover .ycard-i{transform:scale(1.06)}}
.track-nav{display:flex;gap:10px;align-items:center;margin-top:4px}
.carta-lista{margin-top:30px}.carta-lista h3{font-size:34px;margin-bottom:18px}
.lista{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lista a{display:block;padding:18px 22px;border:2px solid var(--line);border-radius:18px;text-decoration:none;transition:border-color 160ms,transform 160ms var(--eo)}.lista a:active{transform:scale(.98)}.lista b{display:block;font-size:19px;letter-spacing:-.02em}.lista span{display:block;color:var(--mut);font-size:14px;margin-top:4px}
@media(hover:hover){.lista a:hover{border-color:var(--yel);background:#fffaea}}
.carta-mas{color:var(--ink-2);margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
/* tarjetas grandes */
.coc{padding:40px 0 60px}.coc h2{text-align:center;max-width:700px;margin:0 auto 40px}
.coc-g{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px}.bcard-tall{grid-row:1/3;grid-column:2}
.bcard{position:relative;border-radius:var(--r);overflow:hidden;min-height:320px;display:flex;align-items:flex-end;background:#333;color:#fff;isolation:isolate}.bcard picture{position:absolute;inset:0;z-index:-1}.bcard img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--eo)}
.bcard::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.78))}
.bcard-c{position:relative;z-index:1;padding:28px}.bcard h3{font-size:30px;margin-bottom:8px}.bcard p{margin:0 0 16px;font-size:15px;max-width:460px;opacity:.95}
@media(hover:hover){.bcard:hover img{transform:scale(1.05)}}
.coins-row{position:relative;height:150px;margin-top:10px}.coins-row .coin{animation-duration:6s}.r0{left:40%;top:0;--s:110px}.r1{left:30%;top:60px;--s:52px;--rot:-20deg}.r2{left:52%;top:70px;--s:60px;--rot:20deg}.r3{left:62%;top:20px;--s:46px}.r4{left:44%;top:120px;--s:40px}
/* horario + opiniones */
.hor{padding:60px 0}.hor-g{display:grid;grid-template-columns:420px 1fr;gap:50px;align-items:start}
.hor-c{background:var(--ink);color:#fff;border-radius:var(--r);padding:34px}.hor-c .kicker{color:var(--yel)}.hor-c h2{font-size:38px;margin-bottom:20px}
.hor-t{width:100%;border-collapse:collapse;font-size:17px}.hor-t th,.hor-t td{padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.hor-t td{text-align:right;font-weight:700}.hor-t tr.hoy th,.hor-t tr.hoy td{color:var(--yel)}
.hor-hoy{margin:18px 0 0;font-weight:800;background:var(--yel);color:var(--ink);padding:12px 16px;border-radius:14px;text-align:center}
.op-c{min-width:0}.op-c h2{margin-bottom:8px}.op-c>p{color:var(--ink-2);margin:0 0 20px}
.op-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 20px}.op-track::-webkit-scrollbar{display:none}
.op{flex:0 0 min(380px,85%);scroll-snap-align:start;margin:0;background:#f7f7f7;border-radius:22px;padding:26px}.stars{color:var(--yel-d);font-size:20px;letter-spacing:2px}.op p{margin:10px 0 12px;font-size:16px}.op footer{font-size:13px;font-weight:700;color:var(--mut)}
/* dos tarjetas */
.dos{padding:40px 0 70px}.dos-g{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.dcard{border-radius:var(--r);padding:60px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;min-height:400px;justify-content:center;position:relative;overflow:hidden}.dcard h2{font-size:clamp(32px,3.4vw,46px);max-width:14ch}.dcard p{margin:0;font-size:17px}
.dcard-g{background:var(--green);color:#fff}.dcard-g .dlogo{width:120px;height:120px;object-fit:contain}
.dcard-y{background:var(--yel);color:var(--ink)}.dcard-y::before{content:"";position:absolute;inset:0;opacity:.18;background:repeating-linear-gradient(35deg,transparent 0 60px,#fff 60px 64px),repeating-linear-gradient(-55deg,transparent 0 90px,#fff 90px 94px)}.dcard-y>*{position:relative}
.dpin{width:64px;height:64px;border-radius:50%;background:var(--green);color:var(--yel);display:grid;place-items:center}.dpin svg{width:32px;height:32px}
/* mapa */
.mapa{padding:20px 0 60px}.mapa-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:22px}.mapa-h address{font-style:normal;font-size:18px;font-weight:600;margin-top:8px}
.mapa-f{border-radius:var(--r);overflow:hidden;height:clamp(320px,42vw,520px);width:100%;box-shadow:0 20px 50px rgba(0,0,0,.12)}.mapa-f iframe{width:100%;height:100%}
/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:20px;animation:fade 200ms ease}.lb[hidden]{display:none}.lb figure{margin:0;text-align:center;max-width:min(1100px,100%)}.lb img{max-height:80vh;width:auto;margin:0 auto;border-radius:16px;animation:pop 320ms var(--eo)}.lb figcaption{color:#fff;font-weight:800;font-size:26px;margin-top:14px;letter-spacing:-.02em}
.lb-x{position:absolute;top:18px;right:18px;background:var(--yel);font-size:30px}
@keyframes fade{from{opacity:0}}@keyframes pop{from{transform:scale(.94);opacity:0}}
/* footer */
.ft{padding:60px 0 30px;border-top:1px solid var(--line);font-size:14px}.ft-g{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.ft h3{font-size:16px;margin-bottom:14px}.ft ul{list-style:none;padding:0;margin:0}.ft li{padding:5px 0;color:var(--ink-2)}.ft li a{text-decoration:none}.ft li a:hover{text-decoration:underline}.ft li span{display:inline-block;width:36px;font-weight:700}
.ft-legal{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}.ft-legal a{text-decoration:none;font-weight:600}
.ft-c{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;color:var(--ink-2)}.ft-c img{object-fit:contain}
/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity 700ms var(--eo),transform 700ms var(--eo);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}
/* legales */
body.pag main{padding:140px 0 60px;max-width:760px}.prose h1{font-size:clamp(34px,5vw,56px);margin-bottom:20px}.prose h2{font-size:26px;margin:34px 0 10px}.prose p,.prose li{color:var(--ink-2)}
body.pag .hd{position:relative;background:var(--ink)}body.pag .logo{width:72px;height:72px;padding:3px}
/* responsive */
@media(max-width:1180px){.sto-g{grid-template-columns:1fr 1fr}.sto-m{display:none}.carta-g{grid-template-columns:1fr}.tilt{margin-left:0}.hor-g{grid-template-columns:1fr}}
@media(max-width:860px){.hd-r .pill-o,.hd-r .ico{display:none}.logo{width:98px;height:98px;padding:4px}.sto-g{grid-template-columns:1fr;gap:40px}.sto-r{max-width:400px;margin:0 auto;width:100%}.sto-l{padding-right:0}.c1{right:0;top:-110px;--s:84px}.c3{right:0;bottom:-10px}.c4{display:none}
 .coc-g{grid-template-columns:1fr}.bcard-tall{grid-row:auto;grid-column:auto}.dos-g{grid-template-columns:1fr}.dcard{min-height:320px;padding:48px 24px}.lista{grid-template-columns:1fr}.ft-g{grid-template-columns:1fr 1fr}.hero h1{max-width:none}.hero{align-items:flex-end;padding-bottom:70px}.ycard{flex-basis:250px}.ycard h3{font-size:24px}}
@media(max-width:520px){.ft-g{grid-template-columns:1fr}.hd-in{width:100% ;padding:0 14px}.logo{width:84px;height:84px;padding:4px}.pill-y span{display:none}.hd-r .pill-y{padding:12px}.mq-big span{font-size:120px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rv,.hero h1 .w,.hero-cta,.menu li{opacity:1;transform:none}.coin{animation:none}html{scroll-behavior:auto}}
