@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: optional;
  src: url(/fonts/Archivo-latin-ext-k3kQo8UD.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: optional;
  src: url(/fonts/Archivo-latin-k3kQo8UD.woff2) format('woff2');
  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: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/DMSans-latin-ext-rP2Yp2yw.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/DMSans-latin-rP2Yp2yw.woff2) format('woff2');
  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: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(/fonts/DMSans-latin-ext-rP2Yp2yw.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(/fonts/DMSans-latin-rP2Yp2yw.woff2) format('woff2');
  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: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/DMSans-latin-ext-rP2Yp2yw.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/DMSans-latin-rP2Yp2yw.woff2) format('woff2');
  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;
}
:root{
  --paper:#f4f4f1; --paper-2:#e8e8e3; --ink:#14161a; --mute:#4b4f57; --tom:#d63a26;
  --ease:cubic-bezier(.16,1,.3,1); --ease-out:cubic-bezier(.23,1,.32,1); --ease-in:cubic-bezier(.55,.06,.68,.19);
  --head:"Archivo",system-ui,sans-serif; --body:"DM Sans",system-ui,sans-serif;
  --pad:clamp(1.1rem,3.4vw,3.5rem); --hh:68px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;accent-color:var(--tom);scrollbar-color:var(--ink) var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
::selection{background:var(--tom);color:#fff}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.25em}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.cta :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.75rem 1rem;z-index:100}
.skip:focus{left:0}
h1,h2,h3{font-family:var(--head);font-weight:800;font-stretch:72%;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;margin:0;text-wrap:balance}

.hd{position:sticky;top:0;z-index:50;height:var(--hh);display:flex;align-items:center;gap:1.5rem;padding:0 var(--pad);background:var(--paper);border-bottom:1.5px solid var(--ink)}
.logo{font:800 1.6rem/1 var(--head);font-stretch:72%;text-transform:uppercase;text-decoration:none;margin-right:auto;letter-spacing:.01em}
.logo span{font-weight:400}
.nav{display:flex;gap:1.75rem}
.nav a{text-decoration:none;font-weight:500;font-size:.98rem}
.nav a{position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--tom);transform:scaleX(0);transform-origin:left;transition:transform .15s var(--ease-in)}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1);transition:transform .25s var(--ease-out)}
.lang{display:flex;gap:.1rem;font-size:.85rem;font-weight:500}
.lang a{padding:.35rem .5rem;text-decoration:none}
.lang a[aria-current]{background:var(--ink);color:var(--paper)}
.btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--ink);color:var(--paper);font:700 1rem/1 var(--body);padding:1rem 1.5rem;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s var(--ease-out)}
.btn:hover{background:#b92f1c;transform:translate(-2px,-2px)}
.btn:active{transform:scale(.97);transition-duration:.1s}
.btn svg,.lnk svg,.row svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;transition:transform .3s var(--ease)}
.btn:hover svg,.lnk:hover svg{transform:translateX(4px)}
.hd .btn{padding:.75rem 1.1rem;font-size:.95rem}
.lnk{white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:.15rem}
.lnk:hover{color:var(--tom);border-color:var(--tom)}

/* Hero */
.hero{padding:clamp(1.5rem,4vh,3rem) var(--pad) 0;max-width:1700px;margin:0 auto}
.hero h1{font-size:clamp(2.2rem,5.2vw,5.4rem);max-width:none}
.hero-g{display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:clamp(1rem,3vw,3rem);margin-top:clamp(1.25rem,3vh,2.5rem);align-items:end}
.hero-t p{font-size:1.2rem;max-width:24ch;margin:0 0 1.75rem;font-weight:500}
.tiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(.5rem,1.2vw,1rem);align-items:start}
.tiles figure{margin:0;overflow:hidden;background:var(--paper-2)}
.tiles figure{aspect-ratio:3/4}
.tiles img{width:100%;height:100%;object-fit:cover}  /* sin zoom: no son enlaces */

/* Marquee (unico de la pagina) */
.mq{overflow:hidden;border-block:1.5px solid var(--ink);margin-top:clamp(2.5rem,6vw,5rem);white-space:nowrap;background:var(--ink);color:var(--paper)}
.mq-in{display:inline-flex;gap:3rem;padding:1rem 0;animation:mq 38s linear infinite}
.mq span{font:800 clamp(1.4rem,3vw,2.4rem)/1 var(--head);font-stretch:72%;text-transform:uppercase}
.mq span::after{content:"/";margin-left:3rem;color:var(--tom)}
@keyframes mq{to{transform:translateX(-50%)}}
.mq:hover .mq-in{animation-play-state:paused}

section{padding:clamp(3.5rem,8vw,7rem) 0}
.wrap{padding:0 var(--pad);max-width:1700px;margin:0 auto}
h2{font-size:clamp(2.2rem,5.4vw,5rem)}
.sec-hd{flex-wrap:wrap;display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(1.5rem,4vw,3rem)}

/* Arbeiten: mosaico escalonado */


/* Leistungen: filas tipograficas */
.rows{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.row{display:grid;grid-template-columns:7fr 5fr auto;gap:2rem;align-items:center;padding:1.6rem var(--pad);border-bottom:1.5px solid var(--ink);text-decoration:none;transition:background .15s var(--ease-in),color .15s var(--ease-in)}
.row h3{transition:transform .15s var(--ease-in)}
.row:hover,.row:focus-visible{transition-duration:.25s;transition-timing-function:var(--ease-out)}
.row:hover h3,.row:focus-visible h3{transform:translateX(14px);transition:transform .3s var(--ease-out)}
.row h3{font-size:clamp(1.9rem,4.4vw,4.2rem)}
.row p{margin:0;max-width:40ch}
.row:hover,.row:focus-visible{background:var(--tom);color:#fff}
.row:focus-visible{outline-offset:-3px}
.row svg{width:2rem;height:2rem}
.row:hover svg{transform:translateX(6px)}
.more{padding:1.4rem var(--pad) 0;max-width:1700px;margin:0 auto}
.more a{font-weight:700}

/* Vertrauen */
.trust{background:var(--paper-2)}
.trust-g{display:grid;grid-template-columns:6fr 5fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.trust p{max-width:50ch;margin:1.5rem 0 2rem;font-size:1.15rem}
.trust figure{margin:0;aspect-ratio:4/5;overflow:hidden;background:#c8281f}
.trust figure img{width:100%;height:100%;object-fit:cover}

/* CTA */
.cta{background:var(--tom);color:#fff;padding-block:clamp(4rem,10vw,9rem)}
.cta h2{font-size:clamp(2.6rem,8.4vw,8rem);max-width:14ch;line-height:.9}
.cta p{margin:1.5rem 0 2.25rem;font-size:1.2rem;font-weight:500}
.cta .btn{background:var(--ink)}
.cta .btn:hover{background:#fff;color:var(--ink)}

.ft{padding:2rem var(--pad);display:flex;flex-wrap:wrap;gap:1rem 2.5rem;font-size:.95rem;border-top:1.5px solid var(--ink)}
.ft .grow{margin-right:auto}.ft a{text-decoration:none;font-weight:500}.ft a:hover{text-decoration:underline}

/* Proyecto */
.ph-hd{padding:clamp(2.5rem,6vw,5rem) var(--pad) clamp(2rem,4vw,3rem);max-width:1700px;margin:0 auto}
.ph-hd h1{font-size:clamp(3rem,11vw,10rem);line-height:.86}
.ph-hd p{max-width:56ch;margin:1.75rem 0 2rem;font-size:1.2rem}
.others{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;font-weight:500}

@media (max-width:900px){
  .nav{display:none}
  .hero-g,.trust-g{grid-template-columns:1fr}
  .hero-t p{max-width:34ch}
  .row{grid-template-columns:1fr auto;padding:1.25rem var(--pad)}
  .row p{grid-column:1/2;grid-row:2}
  .row svg{grid-row:1;grid-column:2}
  .trust figure{max-width:340px}
}
@media (max-width:560px){
  .hd{gap:.5rem}.logo span{display:none}.lang a{padding:.3rem .35rem}.hd .btn{padding:.6rem .8rem}
}
@media (prefers-reduced-motion:no-preference){
  /* Titular: cada palabra sube desde una mascara (un unico momento de entrada) */
  .w{display:inline-block;overflow:hidden;vertical-align:top;padding-top:.14em;margin-top:-.14em}
  .w>span{display:inline-block;animation:word .6s var(--ease-out) backwards;animation-delay:calc(var(--i)*30ms)}
  @keyframes word{from{transform:translateY(105%)}}
  .hero-t,.tiles figure{animation:lift .6s var(--ease-out) both}
  .hero-t{animation-delay:.15s}.tiles figure:nth-child(2){animation-delay:.05s}.tiles figure:nth-child(3){animation-delay:.1s}
  @keyframes lift{from{transform:translateY(24px)}}
  .ph-hd p,.ph-hd .btn{animation:up .8s var(--ease-out) .4s both}
  @keyframes up{from{opacity:0;transform:translateY(24px)}}
  @supports (animation-timeline:view()){
    .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
    /* sin opacity: con opacity 0 Lighthouse mide mal el contraste del texto bajo el pliegue */
    @keyframes rv{from{transform:translateY(32px)}}
    /* Fotos: se abren como una persiana al entrar en pantalla */
    .card .ph,.gal figure,.trust figure{animation:blind linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    @keyframes blind{from{clip-path:inset(0 0 100% 0)}}
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*{transition-duration:.01ms!important}
  .mq{white-space:normal}.mq-in{animation:none;flex-wrap:wrap;padding-inline:var(--pad);gap:.5rem 2rem}.mq-in [aria-hidden]{display:none}
}

/* ---- anadido para la web real ---- */
img{height:auto}
.tiles img{height:100%}
.gal{column-gap:clamp(.6rem,1.4vw,1.25rem);padding:0 var(--pad) 4rem;max-width:1700px;margin:0 auto}
.gal figure{margin:0 0 clamp(.6rem,1.4vw,1.25rem);break-inside:avoid;overflow:hidden;background:var(--paper-2)}
.gal img{width:100%;transition:transform .6s var(--ease-out)}
.gal figure:hover img{transform:scale(1.04)}
.others a{text-decoration:none}.others a:hover{color:var(--tom)}
.ph-hd .btn{margin-top:.25rem}
.cards{display:grid;gap:clamp(.75rem,1.6vw,1.5rem);padding:0 var(--pad) 5rem;max-width:1700px;margin:0 auto}
.card{text-decoration:none;display:block}
.card .ph{aspect-ratio:4/5;overflow:hidden;background:var(--paper-2)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.card:hover img,.card:focus-visible img{transform:scale(1.05)}
.card b{display:block;margin-top:.7rem;font:800 1.4rem/1 var(--head);font-stretch:72%;text-transform:uppercase}
.card:hover b{color:var(--tom)}.card small{color:var(--mute)}
.txt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:clamp(2rem,5vw,5rem);padding:0 var(--pad) 6rem;max-width:1700px;margin:0 auto;align-items:start}
.txt:not(:has(.side)){grid-template-columns:minmax(0,1fr)}
.prose{max-width:62ch}
.prose h2{font-size:clamp(1.8rem,3.4vw,3rem);margin:2.5rem 0 1rem}
.prose h3,.prose h4{font:700 1.15rem/1.3 var(--body);text-transform:none;margin:1.75rem 0 .5rem}
.prose p,.prose li{margin:.8rem 0}.prose ul{padding-left:1.2rem}
.prose a{font-weight:700}
.legal .prose{max-width:78ch;font-size:1rem}
.side{margin:0}.side img{width:100%}
.form{display:grid;gap:1rem}.prose .form{margin-top:2.5rem}
.form label{display:grid;gap:.35rem;font-weight:500}
.form input,.form textarea{font:inherit;padding:.8rem 1rem;border:1.5px solid var(--ink);border-radius:0;background:#fff;color:var(--ink)}
.form .chk{display:flex;gap:.7rem;align-items:flex-start;font-weight:400;font-size:.95rem}.form .chk input{margin-top:.3rem}
.quotes{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.5rem,3vw,3rem);margin-top:2rem}
@media (min-width:900px){.quotes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.q{margin:0;border-top:1.5px solid var(--ink);padding-top:1.2rem}
.q blockquote{margin:0 0 1rem;font-size:1.15rem;line-height:1.5}
.q blockquote::before{content:"\201C";color:var(--tom);font:800 2.6rem/0 var(--head);display:block;margin-bottom:.8rem}
.q figcaption{color:var(--mute);font-size:.95rem}
.gmaps{margin:2.5rem 0 0}
.seo{background:var(--paper-2)}
.seo-lead{font:800 clamp(1.8rem,3.6vw,3.2rem)/1 var(--head);font-stretch:72%;text-transform:uppercase;max-width:22ch;margin:0 0 1.2rem}
.seo-intro{max-width:70ch;font-size:1.1rem;margin:0 0 3rem}
.seo-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:2.5rem clamp(1.5rem,3vw,3rem)}
.seo-g h2{font-size:clamp(1.5rem,2.4vw,2.2rem);margin-bottom:1rem}
.seo-g h3{font:700 1.05rem/1.3 var(--body);text-transform:none;margin:1.2rem 0 .4rem}
.seo-g ul{margin:.3rem 0;padding-left:1.2rem}.seo-g li,.seo-g p{margin:.4rem 0}
.cta .btn{margin-top:1.75rem}
.trust h2{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.trust p{margin:0 0 1rem}
@media (max-width:900px){.txt{grid-template-columns:1fr}.side{max-width:340px}.side:has(.form){max-width:none}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* home: mosaico uniforme 3x2 (2 columnas en movil); mismas tarjetas que el portfolio */
.mos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.5rem) clamp(.75rem,1.6vw,1.5rem)}
.card h3{margin:.7rem 0 0;font:800 1.4rem/1 var(--head);font-stretch:72%;text-transform:uppercase;letter-spacing:-.01em}
.card:hover h3{color:var(--tom)}.card small{display:block;margin-top:.3rem}
@media (max-width:900px){.mos{grid-template-columns:repeat(2,minmax(0,1fr))}.card h3{font-size:1.15rem}}
/* portfolio: columnas 2 / 4 (maximo 4) */
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:700px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gal{columns:2}
@media (min-width:900px){.gal{columns:4}}
/* SEO plegado bajo el CTA: a sangre; el contenido alinea con el resto de la pagina */
.seo-wrap{padding:0}
details.seo{--gut:max(var(--pad),calc((100% - 1700px)/2 + var(--pad)));background:var(--paper-2);border-top:1.5px solid var(--ink)}
details.seo summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem var(--gut);font:500 .95rem/1.4 var(--body);color:var(--mute)}
details.seo summary::-webkit-details-marker{display:none}
details.seo summary::after{content:"+";font:800 1.6rem/1 var(--head);color:var(--ink)}
details.seo[open] summary{color:var(--ink)}details.seo[open] summary::after{content:"\2013"}
details.seo summary:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
details.seo[open]{padding-bottom:3rem}

/* textos nuevos ES: categorias y bloques de la home */
.ph-hd h1{overflow-wrap:anywhere}
.ph-hd h1.long{font-size:clamp(1.8rem,6.5vw,6rem);line-height:.95}
.ph-hd h2.cl{font-size:1.1rem;margin:2rem 0 .75rem}
.ph-hd ul.cl{margin:0 0 1.5rem;padding-left:1.25rem;font-size:1.15rem}
.ph-hd .cl-links{margin:1.5rem 0 2rem}
.fl p,.brands p,.faq p{max-width:60ch;font-size:1.15rem;margin:1.25rem 0 1.5rem}
.faq h3{margin-top:2rem;font-size:1.25rem}
.faq p{margin:.5rem 0 0}
.brands p{font-weight:700;letter-spacing:.02em}

#leistungen,#sobre-mi{scroll-margin-top:5rem}
.ph-top{padding-bottom:clamp(1.25rem,3vw,2rem)}.ph-txt{padding-top:clamp(1rem,3vw,2rem)}.ph-txt>p:first-child{margin-top:0}
.others{margin-top:1.25rem}.others{gap:.5rem}.others a{padding:.2rem .7rem;border:1.5px solid #0003}.others a[aria-current]{background:var(--ink);color:var(--paper)}.others a[aria-current]:hover{color:var(--paper)}
.dd{position:relative;display:flex;align-items:center}
.sub{display:none;position:absolute;top:100%;left:-1rem;min-width:13rem;margin:0;padding:.5rem 0;list-style:none;background:var(--paper);border:1.5px solid var(--ink);z-index:60}
.dd::before{content:"";position:absolute;left:0;right:0;top:100%;height:var(--hh)}
.dd:hover .sub,.dd:focus-within .sub{display:block}
.sub a{display:block;padding:.5rem 1rem;white-space:nowrap}
.sub a::after{display:none}
.sub a:hover,.sub a:focus-visible{background:var(--ink);color:var(--paper)}
.sub a[aria-current]{border-left:4px solid var(--tom);padding-left:calc(1rem - 4px);font-weight:700}
.mm{display:none}
@media (max-width:900px){
  .mm{display:block}
  .mm summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:5px}
  .mm summary::-webkit-details-marker{display:none}
  .mm summary::before,.mm summary::after,.mm summary span{content:"";display:block;width:24px;height:2px;background:var(--ink)}
  .mm[open] summary span{opacity:0}
  .mm-p{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--hh));overflow:auto;background:var(--paper);border-bottom:1.5px solid var(--ink);padding:1rem var(--pad) 1.5rem}
  .mm-p a:not(.btn){display:block;padding:.6rem 0;font-weight:500;text-decoration:none}
  .mm-p ul{list-style:none;margin:0 0 .5rem;padding:0 0 0 1rem}
  .mm-p ul a{font-weight:400;padding:.4rem 0}
  .mm-cta{margin-top:1rem}
  .hd>.btn{display:none}
  .others{gap:.4rem}.others a{padding:.15rem .55rem;font-size:.92rem}
  .mm-p a[aria-current]{font-weight:700;border-left:4px solid var(--tom);padding-left:.6rem;margin-left:-.9rem}
}
.lb-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit}
dialog.lb{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:transparent;color:#fff}
dialog.lb[open]{display:grid;place-items:center}
dialog.lb::backdrop{background:rgba(17,17,17,.95)}
.lb img{max-width:min(92vw,1600px);max-height:84vh;object-fit:contain}
.lb button{position:fixed;display:grid;place-items:center;width:3rem;height:3rem;border:0;background:rgba(255,255,255,.12);color:#fff;font:400 2rem/1 var(--body);cursor:pointer}
.lb button:hover,.lb button:focus-visible{background:#fff;color:var(--ink)}
.lb :focus-visible{outline:3px solid #fff;outline-offset:2px}
.lb-x{top:1rem;right:1rem}.lb-p{left:1rem;top:50%;transform:translateY(-50%)}.lb-n{right:1rem;top:50%;transform:translateY(-50%)}
.lb-c{position:fixed;bottom:1rem;left:0;right:0;text-align:center;font-size:.9rem}
@media (max-width:900px){.lb-p,.lb-n{top:auto;bottom:1rem;transform:none}.lb-p{left:1rem}.lb-n{right:1rem}.lb img{max-height:76vh}}
