/* LIVIAMORENZI.COM — Editorial luxury system */
@font-face{font-family:"Bodoni LM";src:url(/assets/fonts/bodoni-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Bodoni LM";src:url(/assets/fonts/bodoni-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Bodoni LM";src:url(/assets/fonts/bodoni-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Manrope LM";src:url(/assets/fonts/manrope-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Manrope LM";src:url(/assets/fonts/manrope-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --ink:#101010;--ivory:#F7F4EF;--wine:#701F39;--champ:#D8C4A5;--grey:#AAA5A0;--line:rgba(16,16,16,.14);
  --serif:"Bodoni LM","Didot","Bodoni 72",Georgia,serif;--sans:"Manrope LM",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:min(1320px,100% - clamp(40px,8vw,128px));--hdr:84px;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--hdr)}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}
:focus-visible{outline:1px solid var(--wine);outline-offset:4px}
::selection{background:var(--wine);color:var(--ivory)}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:var(--ivory);padding:10px 16px}
.skip:focus{left:8px}
.wrap{width:var(--wrap);margin-inline:auto}
.muted{color:var(--grey)}
.center{text-align:center}

/* progreso de lectura */
.progress{position:fixed;inset:0 0 auto;height:2px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;background:var(--wine);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ---------- tipografía editorial ---------- */
.display{font:400 clamp(2.1rem,4.6vw,4.4rem)/1.04 var(--serif);letter-spacing:-.01em;margin:0 0 .4em;text-wrap:balance}
.display em{font-style:italic;color:var(--wine)}
.dark .display em,.soon-dark .display em{color:var(--champ)}
.display.xl{font-size:clamp(2.6rem,6.4vw,6.2rem)}
.display.xxl{font-size:clamp(3rem,9vw,8.8rem);line-height:.95}
.kicker{font:600 .72rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;margin:0 0 1.6rem;display:flex;align-items:center;gap:14px}
.kicker .num{font:italic 400 1rem/1 var(--serif);letter-spacing:0;color:var(--wine);display:inline-flex;align-items:center;gap:14px}
.kicker .num::after{content:"";width:38px;height:1px;background:currentColor;opacity:.6}
.dark .kicker .num,.soon-dark .kicker .num{color:var(--champ)}
.sub{font:italic 400 clamp(1.1rem,1.6vw,1.45rem)/1.45 var(--serif);color:#4a4644;max-width:46ch;margin:0 0 2rem}
.dark .sub{color:#cfc8bf}
.prose{max-width:60ch}
.prose p{margin:0 0 1.2em}
.prose .lead{font:400 clamp(1.3rem,2vw,1.75rem)/1.4 var(--serif)}
.prose .claim{font:italic 400 1.35rem/1.4 var(--serif);color:var(--wine);border-left:1px solid var(--wine);padding-left:1.2em}
.prose h2{font:400 1.6rem/1.2 var(--serif);margin:2em 0 .6em}
.prose.narrow{max-width:72ch}
.sec{padding:clamp(80px,12vw,170px) 0;position:relative}
.sec-head{margin-bottom:clamp(40px,6vw,80px);max-width:900px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.dark{background:var(--ink);color:var(--ivory)}
.note{color:var(--grey);font-style:italic;font-family:var(--serif);font-size:1.15rem}
.mini-h{font:600 .72rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;margin:80px 0 30px}

/* ---------- botones ---------- */
.btn{--bg:transparent;--fg:var(--ink);--bd:var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;
  font:600 .72rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:var(--fg);background:var(--bg);border:1px solid var(--bd);
  cursor:pointer;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fill,var(--ink));transform:scaleY(0);transform-origin:50% 100%;transition:transform .55s var(--ease-out)}
.btn:hover::before,.btn:focus-visible::before{transform:scaleY(1)}
.btn:hover,.btn:focus-visible{color:var(--hfg,var(--ivory))}
.btn-solid{--bg:var(--ink);--fg:var(--ivory);--fill:var(--wine);--bd:var(--ink)}
.btn-solid:hover{border-color:var(--wine)}
.btn-light{--bg:var(--ivory);--fg:var(--ink);--bd:var(--ivory);--fill:var(--champ);--hfg:var(--ink)}
.btn-ghost{--fg:var(--ivory);--bd:rgba(247,244,239,.55);--fill:var(--ivory);--hfg:var(--ink)}
.btn-ghost-dark{--fg:var(--ink);--bd:var(--line);--fill:var(--ink)}
.btn-line{--fill:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- cabecera ---------- */
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr);color:var(--ink);transition:background .5s var(--ease),color .5s var(--ease),height .4s var(--ease),box-shadow .5s}
.has-hero .site-header{color:var(--ivory)}
.site-header.is-solid{background:rgba(247,244,239,.94);color:var(--ink);height:68px;box-shadow:0 1px 0 var(--line);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px)}
.hdr-in{height:100%;width:min(1600px,100% - clamp(32px,5vw,80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:block;color:inherit;flex:0 0 auto}
.wordmark{width:clamp(150px,15vw,210px);height:auto}
.nav ul{display:flex;gap:clamp(14px,1.8vw,30px);list-style:none;margin:0;padding:0}
.nav a{font:600 .66rem/1 var(--sans);letter-spacing:.22em;text-decoration:none;position:relative;padding:8px 0;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1);transform-origin:0 50%}
.burger{display:none;width:46px;height:46px;border:0;background:none;color:inherit;cursor:pointer;position:relative;z-index:130}
.burger span{position:absolute;left:11px;right:11px;height:1px;background:currentColor;transition:transform .45s var(--ease),top .45s var(--ease)}
.burger span:first-child{top:19px}.burger span:last-child{top:27px}
.burger[aria-expanded=true]{color:var(--ivory)}
.burger[aria-expanded=true] span:first-child{top:23px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:23px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:110;background:var(--ink);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;padding:100px 8vw 40px;
  clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-out)}
.mnav.is-open{clip-path:inset(0)}
.mnav ol{list-style:none;margin:0;padding:0}
.mnav li{opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease),transform .6s var(--ease-out);transition-delay:calc(var(--i)*45ms + 150ms)}
.mnav.is-open li{opacity:1;transform:none}
.mnav a{display:flex;align-items:baseline;gap:16px;font:400 clamp(1.6rem,7vw,2.6rem)/1.35 var(--serif);text-decoration:none}
.mnav a small{font:italic .9rem var(--serif);color:var(--champ)}
.mnav a[aria-current]{color:var(--champ)}
.mnav-foot{margin-top:auto;font:italic 1rem var(--serif);color:var(--grey)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--ivory);background:var(--ink);overflow:hidden}
.hero-media{position:absolute;inset:-6% 0 0;will-change:transform}
.hero-media img,.hero-media .ph{width:100%;height:100%;object-fit:cover;object-position:center 25%;aspect-ratio:auto!important}
.hero-img{animation:heroIn 2.4s var(--ease-out) both}
@keyframes heroIn{from{transform:scale(1.08);opacity:0}to{transform:scale(1);opacity:1}}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,16,.45) 0%,rgba(16,16,16,0) 26%,rgba(16,16,16,0) 45%,rgba(16,16,16,.78) 100%)}
.hero-in{position:relative;padding:0 0 clamp(70px,11vh,130px)}
.edition{display:flex;align-items:center;gap:16px;font:600 .66rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;margin:0 0 26px;color:var(--champ)}
.edition i{width:60px;height:1px;background:currentColor}
.hero-title{font:400 clamp(3.4rem,12.5vw,13rem)/.86 var(--serif);letter-spacing:-.02em;margin:0;text-transform:uppercase}
.hero-title span{display:inline-block}
.hero-title span:last-child{font-style:italic;text-transform:none;letter-spacing:-.03em}
.hero-sub{font:italic 400 clamp(1.2rem,2.2vw,1.9rem)/1.3 var(--serif);margin:22px 0 10px;color:var(--champ)}
.hero-roles{font:600 .7rem/1.8 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin:0 0 34px;max-width:70ch;opacity:.9}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.js .hero-anim{opacity:0;transform:translateY(26px);animation:rise 1.4s var(--ease-out) forwards;animation-delay:var(--d,0ms)}
@keyframes rise{to{opacity:1;transform:none}}
.scroll-cue{position:absolute;right:clamp(20px,4vw,60px);bottom:clamp(30px,6vh,60px);writing-mode:vertical-rl;font:600 .6rem/1 var(--sans);letter-spacing:.35em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:16px;color:var(--ivory)}
.scroll-cue span{width:1px;height:70px;background:rgba(247,244,239,.25);position:relative;overflow:hidden}
.scroll-cue span::after{content:"";position:absolute;inset:0;background:var(--ivory);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* reemplazo editorial cuando falta foto */
.ph{position:relative;width:100%;background:radial-gradient(120% 90% at 30% 20%,#2a1d22 0%,#151213 55%,#0d0c0c 100%);display:grid;place-items:center;overflow:hidden}
.ph::before{content:"";position:absolute;inset:14px;border:1px solid rgba(216,196,165,.22)}
.ph span{font:italic 400 clamp(2rem,6vw,5rem)/1 var(--serif);color:rgba(216,196,165,.35)}
.hero .ph span{font-size:clamp(8rem,30vw,26rem);color:rgba(216,196,165,.07)}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease-out);transition-delay:var(--d,0ms)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-mask{clip-path:inset(12% 0 12% 0);transition:clip-path 1.6s var(--ease-out),opacity 1s var(--ease),transform 1.6s var(--ease-out)}
.js .reveal-mask.in{clip-path:inset(0)}

/* ---------- meet ---------- */
.meet-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,8vw,140px);align-items:center}
.meet-img img,.meet-img .ph,.story-img img,.story-img .ph{width:100%;aspect-ratio:4/5;object-fit:cover}
.sign-row{color:var(--wine);margin:10px 0 34px}
.firma{width:min(320px,80%);height:auto}
.ai-note{font-size:.78rem;color:var(--grey);margin-top:26px;letter-spacing:.02em}

/* ---------- fashion masonry ---------- */
.tags{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;padding:0;margin:-30px 0 60px;font:600 .66rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#6a6562}
.tags li::before{content:"— ";color:var(--wine)}
.masonry{columns:4 260px;column-gap:clamp(12px,1.6vw,24px)}
.tile{break-inside:avoid;margin:0 0 clamp(12px,1.6vw,24px);position:relative;overflow:hidden;background:#e9e4dc}
.tile a{display:block;color:var(--ivory);text-decoration:none}
.tile img{width:100%;transition:transform 1.4s var(--ease-out),filter 1s var(--ease)}
.tile figcaption{position:absolute;inset:auto 0 0;padding:60px 20px 18px;background:linear-gradient(transparent,rgba(16,16,16,.72));display:flex;flex-direction:column;gap:4px;
  opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .7s var(--ease-out)}
.t-kicker{font:600 .6rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--champ)}
.t-title{font:italic 400 1.25rem/1.2 var(--serif)}
.tile:hover img,.tile a:focus-visible img{transform:scale(1.05)}
.tile:hover figcaption,.tile a:focus-visible figcaption{opacity:1;transform:none}
@media (hover:none){.tile figcaption{opacity:1;transform:none;padding-top:40px}}
.tile.is-hidden{display:none}
.tile.is-entering{animation:tileIn .7s var(--ease-out) both;animation-delay:var(--d,0ms)}
@keyframes tileIn{from{opacity:0;transform:translateY(24px) scale(.98)}}
.fashion .center{margin-top:60px}

/* marquee */
.quote{padding:0;border-block:1px solid var(--line);overflow:hidden}
.marquee{display:flex;width:max-content;margin:0;font:italic 400 clamp(2rem,5vw,4.4rem)/1.6 var(--serif);color:var(--wine);white-space:nowrap;animation:marq 48s linear infinite}
.marquee span{padding-right:.3em}
@keyframes marq{to{transform:translateX(-50%)}}

/* travel */
.dest{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(24px,3vw,44px)}
.dest-card{text-decoration:none;display:block}
.dest-img{overflow:hidden;aspect-ratio:3/4;background:#e9e4dc}
.dest-img img,.dest-img .ph{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.dest-card:hover .dest-img img{transform:scale(1.05)}
.dest-meta{display:flex;gap:12px;align-items:center;margin:20px 0 4px;font:600 .64rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#6a6562}
.dest-meta span{font:italic .95rem var(--serif);color:var(--wine);letter-spacing:0}
.dest-card h3{font:400 2.2rem/1.1 var(--serif);margin:0 0 8px}
.dest-link{font-size:.8rem;color:#6a6562;margin:0}

/* creator */
.creator{background:#efe9e0}
.caps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.caps li{display:flex;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font:400 1.15rem/1.3 var(--serif)}
.caps span{font:italic .85rem var(--serif);color:var(--wine)}
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-self:center}
.reel{position:relative;aspect-ratio:9/16;background:var(--ink);overflow:hidden;color:var(--ivory)}
.reel img,.reel video{width:100%;height:100%;object-fit:cover}
.reel-play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;border:1px solid rgba(247,244,239,.7);background:rgba(16,16,16,.25);cursor:pointer;backdrop-filter:blur(4px);transition:transform .4s var(--ease)}
.reel-play span{display:block;margin-left:26px;width:0;height:0;border-left:14px solid var(--ivory);border-block:9px solid transparent}
.reel-play:hover{transform:scale(1.08)}
.reel-t{position:absolute;left:14px;right:14px;bottom:10px;margin:0;font:italic .95rem var(--serif)}
.reel-empty{grid-column:1/-1;aspect-ratio:auto;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--ink) radial-gradient(80% 60% at 50% 30%,#2a1d22,transparent)}
.reel-empty p{font:italic 2rem var(--serif);color:var(--champ);margin:0}
.reel-empty .btn{--fg:var(--ivory);--bd:rgba(247,244,239,.5);--fill:var(--ivory);--hfg:var(--ink)}

/* work */
.svc{list-style:none;counter-reset:s;padding:0;margin:0}
.svc li{counter-increment:s;display:flex;gap:22px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(247,244,239,.14);font:400 clamp(1.2rem,1.8vw,1.6rem)/1.3 var(--serif)}
.svc li::before{content:counter(s,decimal-leading-zero);font:italic .9rem var(--serif);color:var(--champ)}
.svc-light li{border-color:var(--line);flex-wrap:wrap}
.svc-light li::before{color:var(--wine)}
.svc-light strong{font-weight:400}
.svc-light span{flex-basis:100%;padding-left:46px;font:400 .9rem/1.5 var(--sans);color:#6a6562}

/* social */
.soc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,320px));gap:16px}
.soc-card{display:grid;gap:6px;padding:36px 30px;border:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.soc-card::before{content:"";position:absolute;inset:0;background:var(--ink);z-index:-1;transform:translateY(101%);transition:transform .6s var(--ease-out)}
.soc-card:hover{color:var(--ivory)}.soc-card:hover::before{transform:none}
.ico{width:30px;height:30px;margin-bottom:18px}
.soc-name{font:400 1.8rem/1 var(--serif)}
.soc-handle{font-size:.85rem;color:var(--grey)}
.soc-cta{margin-top:18px;font:600 .64rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}

/* modules */
.modules{padding-top:0}
.mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mod{display:block;padding:clamp(40px,6vw,90px) clamp(30px,4vw,60px);text-decoration:none;min-height:440px;position:relative;overflow:hidden}
.mod-renueva{background:var(--champ)}
.mod-emb{background:var(--wine);color:var(--ivory)}
.mod-emb .display em,.mod-emb .kicker .num{color:var(--champ)}
.mod-emb .sub{color:#e7d9cc}
.mod-state{position:absolute;left:clamp(30px,4vw,60px);bottom:40px;margin:0;font:600 .66rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}
.mod::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border:1px solid currentColor;border-radius:50%;opacity:.18;transition:transform 1.2s var(--ease-out)}
.mod:hover::after{transform:scale(1.4)}

.contact-teaser{border-top:1px solid var(--line)}
.contact-teaser .sub{margin-inline:auto}
.contact-teaser .kicker{justify-content:center}

/* ---------- páginas internas ---------- */
.page-hero{padding:calc(var(--hdr) + clamp(60px,10vw,140px)) 0 clamp(40px,6vw,80px)}
.dark-hero{background:var(--ink);color:var(--ivory)}
.dark-hero .display em,.dark-hero .kicker .num{color:var(--champ)}
.dark-hero .sub{color:#cfc8bf}
.dark-hero .crumbs{color:var(--grey)}
.dark-hero{padding-bottom:clamp(60px,8vw,120px)}
.ph-frame img,.ph-frame .ph{width:100%;aspect-ratio:4/5;object-fit:cover}
.crumbs{display:flex;gap:10px;font:600 .62rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#6a6562;margin-bottom:40px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--wine)}
.story{padding-top:0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:start}
.story-img{position:sticky;top:100px}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.fact{border-top:1px solid rgba(247,244,239,.2);padding-top:24px}
.fact .kicker{color:var(--champ)}
.fact-v{font:400 1.35rem/1.35 var(--serif);margin:0}
.wide-photo{padding:0}
.wide-photo img,.wide-photo .ph{width:100%;max-height:90vh;object-fit:cover}
.filters{display:flex;flex-wrap:wrap;gap:8px 26px;margin-bottom:50px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.filters a{font:600 .66rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:8px 0;color:#6a6562;position:relative;transition:color .4s}
.filters a sup{font:italic .75rem var(--serif);letter-spacing:0;color:var(--wine)}
.filters a[aria-current]{color:var(--ink)}
.filters a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-23px;height:1px;background:var(--ink)}
.empty{padding:80px 0;text-align:center}.empty .sub{margin-inline:auto}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.steps span{font:italic 1rem var(--serif);color:var(--champ)}
.steps h3{font:400 1.8rem/1.2 var(--serif);margin:14px 0 8px}
.steps p{color:#cfc8bf;margin:0;font-size:.95rem}
.soon{min-height:100svh;display:flex;align-items:center;padding:calc(var(--hdr) + 40px) 0 80px;background:radial-gradient(70% 60% at 85% 20%,rgba(216,196,165,.45),transparent 70%),var(--ivory)}
.soon-dark{background:radial-gradient(60% 60% at 80% 20%,rgba(112,31,57,.55),transparent 70%),var(--ink);color:var(--ivory)}
.soon-dark .sub{color:#cfc8bf}.soon-dark .crumbs{color:var(--grey)}
.soon-badge{display:inline-block;margin:10px 0 36px;padding:10px 18px;border:1px solid currentColor;font:600 .64rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase}
.legal-sec{padding-top:0}

/* ---------- formularios ---------- */
.lm-form{display:grid;gap:22px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
.f-wide{grid-column:1/-1}
.f-field label{display:block;font:600 .64rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}
.f-field input,.f-field select,.f-field textarea{width:100%;font:400 1rem/1.5 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(16,16,16,.35);border-radius:0;padding:10px 0;transition:border-color .3s;appearance:none;-webkit-appearance:none}
.f-field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23101010'/%3E%3C/svg%3E") right 4px center no-repeat}
.f-field textarea{resize:vertical;min-height:140px}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:0;border-color:var(--wine)}
[aria-invalid=true]{border-color:var(--wine)!important}
.f-err{color:var(--wine);font-size:.8rem;margin:6px 0 0}
.f-check{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;line-height:1.5;cursor:pointer}
.f-check input{margin-top:3px;accent-color:var(--wine);width:16px;height:16px;flex:0 0 auto}
.f-ok{padding:18px 22px;border:1px solid var(--ink);background:#fff}
.f-alert{padding:18px 22px;border:1px solid var(--wine);color:var(--wine)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.lm-form .btn{justify-self:start}
.contact-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:40px 0}
.contact-dl dt{font:600 .64rem/1.9 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#6a6562}
.contact-dl dd{margin:0}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:var(--ivory);padding:clamp(80px,10vw,130px) 0 40px}
.ft-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(247,244,239,.14)}
.ft-logo .wordmark{width:clamp(220px,34vw,520px)}
.ft-sign{color:var(--champ)}
.ft-sign .firma{width:min(260px,40vw)}
.ft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:60px 0}
.ft-h{font:600 .62rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--champ);margin:0 0 22px}
.ft-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ft-grid a{text-decoration:none;font-size:.9rem;opacity:.85}
.ft-grid a:hover{opacity:1;color:var(--champ)}
.count{font:400 clamp(2.4rem,4vw,3.6rem)/1 var(--serif);margin:0;font-variant-numeric:lining-nums tabular-nums}
.ft-sig{border-top:1px solid rgba(247,244,239,.14);padding-top:40px;text-align:center}
.sig-main{font:italic 400 clamp(1.15rem,2vw,1.5rem)/1.4 var(--serif);margin:0 0 6px}
.sig-main a{color:var(--champ)}
.sig-sub{font:600 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--grey);margin:0 0 30px}
.legal{font-size:.75rem;color:var(--grey);margin:0}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:150;background:rgba(10,10,10,.97);color:var(--ivory);display:grid;place-items:center;opacity:0;transition:opacity .45s var(--ease)}
.lb.is-open{opacity:1}
.lb figure{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center}
.lb img{max-width:92vw;max-height:80vh;width:auto;height:auto;object-fit:contain;transition:opacity .35s var(--ease),transform .5s var(--ease-out)}
.lb img.is-loading{opacity:0;transform:scale(.985)}
.lb figcaption{margin-top:16px;font:italic 1.05rem var(--serif);color:var(--champ);text-align:center}
.lb button{position:absolute;background:none;border:0;color:var(--ivory);cursor:pointer;font:300 2.6rem/1 var(--serif);padding:16px;opacity:.75;transition:opacity .3s}
.lb button:hover{opacity:1}
.lb-x{top:10px;right:16px}.lb-prev{left:10px;top:50%;transform:translateY(-50%)}.lb-next{right:10px;top:50%;transform:translateY(-50%)}
.lb .lb-share{bottom:18px;right:24px;font:600 .62rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:6px 0}
.lb-count{position:absolute;bottom:20px;left:24px;margin:0;font:italic .95rem var(--serif);color:var(--grey)}
body.no-scroll{overflow:hidden}

/* ---------- responsive ---------- */
@media (max-width:1180px){.nav{display:none}.burger{display:block}}
@media (max-width:900px){
  :root{--hdr:70px}
  .split,.meet-grid,.story-grid,.mod-grid{grid-template-columns:1fr}
  .story-img{position:static}
  .facts-grid,.steps,.ft-grid{grid-template-columns:1fr 1fr}
  .reels{grid-template-columns:repeat(3,1fr)}
  .ft-top{flex-direction:column;align-items:flex-start}
  .mod{min-height:360px}
}
@media (max-width:600px){
  .f-grid,.caps{grid-template-columns:1fr}
  .facts-grid,.steps{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr;gap:34px 20px}
  .masonry{columns:2;column-gap:10px}.tile{margin-bottom:10px}
  .tile figcaption{padding:30px 12px 10px}.t-title{font-size:1rem}
  .reels{grid-template-columns:1fr 1fr}.reels .reel:nth-child(3){display:none}
  .hero-cta .btn{flex:1 1 100%}
  .edition span:last-child,.edition i{display:none}
  .soc-grid{grid-template-columns:1fr}
  .scroll-cue{display:none}
  .lb-prev,.lb-next{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal,.js .hero-anim{opacity:1;transform:none;clip-path:none}
  .marquee{animation:none}
}
@media print{.site-header,.progress,.mnav,.lb,.scroll-cue{display:none}}
