
/*
Site Name: paper27
Author:
Stylesheet: Main Stylesheet 
*/
*,
*::before,
*::after { box-sizing:border-box; }

html { font-size:16px; }

body { margin:0 auto; background: #FAF9F7; }

img { max-width:100%; height:auto; display:block; margin: 0 auto; }

picture { display:block; }

svg { display:block; }

button { all:unset; cursor:pointer; }

input,
textarea,
select,
button { font:inherit; color:inherit; }

a { color:inherit; text-decoration:none; }

ul,
ol { margin:0; padding:0; list-style:none; }

h1,
h2,
h3,
h4,
h5,
h6,
p { margin:0; }

table { border-collapse:collapse; border-spacing:0; }

fieldset { margin:0; padding:0; border:0; }

iframe { border:0; }
.center { text-align: center; margin: auto; }
.upper { text-transform: uppercase;}

.neue,.neueC700{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:700;font-style:normal;}
.neueC300,.neuecondensed300{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:300!important;font-style:normal;}

.neue700{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:600;font-style:normal;}
.neue700i,.neue700 em{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:600;font-style:italic;}

.neue500{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:500;font-style:normal;}

.neue400{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;}
.neue400i,.neue400 em{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:400;font-style:italic;}

.neue300{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:300;font-style:normal;}
.neue300i,.neue300 em{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:300;font-style:italic;}

.neue100{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:300;font-style:normal;}
.neue100i,.neue100 em{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:300;font-style:italic;}

html,body{font-family:'Suisse Intl',Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
strong{font-weight:600;}
em{font-style:italic;}
strong em,em strong{font-weight:600;font-style:italic;}

.suisse-300{font-weight:300;}
.suisse-300i{font-weight:300;font-style:italic;}
.suisse-450{font-weight:450;}
.suisse-450i{font-weight:450;font-style:italic;}
.suisse-500{font-weight:500;}
.suisse-500i{font-weight:500;font-style:italic;}
.suisse-600{font-weight:600;}
.suisse-600i{font-weight:600;font-style:italic;}
.suisse-700{font-weight:700;}
.suisse-700i{font-weight:700;font-style:italic;}

.cond-300{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:300;}
.cond-300i, .cond-300 em {font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:300;font-style:italic;}

.cond-400{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:400;}
.cond-400i, .cond-400 em {font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:400;font-style:italic;}

.cond-500{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:500;}
.cond-500i, .cond-500 em {font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:500;font-style:italic;}
.cond-600{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:600;}
.cond-600i, .cond-600 em {font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight: 600;font-style:italic;}
.cond-700{font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:700;}
.cond-700i, .cond-700 em {font-family:'Suisse Intl Cond',Helvetica,Arial,sans-serif;font-weight:700;font-style:italic;}

.works-400, .works {font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:400;}
.works-450{font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:450;}
.works-500{font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:500;}
.works-700{font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:700;}

.works-400i, .works-400 em, .works em {font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:400;font-style:italic;}
.works-450i, .works-450 em {font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:450;font-style:italic;}
.works-500i, .works-500 em {font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:500;font-style:italic;}
.works-700i, .works-700 em{font-family:'Suisse Works',Helvetica,Arial,sans-serif;font-weight:700;font-style:italic;}

.mono-400, .mono {font-family:'Suisse Mono',monospace;font-weight:400;}
.mono-700{font-family:'Suisse Mono',monospace;font-weight:700;}

/* 5) Clears */
.clear80{display:block;clear:both;height: 5vw;width:100%; max-height: 80px}
.clear120{display:block;clear:both;height: 8vw;width:100%; max-height: 120px}
.clear160{display:block;clear:both;height: 10vw;width:100%; max-height: 160px}
.clear200{display:block;clear:both;height:12vw;width:100%; max-height: 200px}
@media(min-width:1600px){
.clear200{height:200px;}
.clear120{height:120px;}
.clear160{height:160px;}
.clear80{height:80px;}
}



p{font-size:1.125vw;line-height:1.4;font-weight:400;}
h2{font-size:2.1875vw;line-height:1.05;font-weight:600;letter-spacing:-0.04em;}
h3{font-size:1.5vw;line-height:1.1;font-weight:600;letter-spacing:-0.04em;}
h4{font-size:0.875vw;line-height:1.2;font-weight:500;letter-spacing:-0.04em;}
@media(min-width:1800px){
p{font-size:20px;}
h2{font-size:40px;}
h3{font-size:27px;}
h4{font-size:16px;}
}

@media(max-width:768px){
p{font-size:18px;line-height:1.4;}
h2{font-size:35px;line-height:1.05;}
h3{font-size:24px;line-height:1.1;}
h4{font-size:14px;line-height:1.2;}
}
/* ===================================================== OFFPAGE HEADER – BASE STRUCTURE ===================================================== */
.OffPageHeader{width:100%;z-index:9999;transition:background-color .3s ease,padding .3s ease;position:relative;--header-color:var(--ui-color,#000);padding-top:0.8vw;}
.OffPageHeader:not(.is-overlay){position:relative;}
.OffPageHeader.is-overlay{position:absolute;left:0;--header-color:var(--ui-color,#fff);}

/* ===================================================== INNER WRAP ===================================================== */
.OffPageHeader .header_wrap{width:100%;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:space-between;}

/* ===================================================== LOGO BLOCK ===================================================== */
.OffPageHeader .LogoMDheader{width:60%;margin:0 auto;position:relative;z-index:2;transition:width .4s ease,top .4s ease,transform .3s ease;max-width: 960px;}
.OffPageHeader .mdSVG{display:block;text-align:center;}
.OffPageHeader .svg-wrapper{width:100%;max-width:100%;margin:0 auto;text-align:center;}
.OffPageHeader .svg-wrapper svg{width:100%;height:auto;display:block;}
.OffPageHeader .LogoMDheader .LogoPaper{width:40.62%;}
.OffPageHeader .LogoMDheader .LogoOFF{width:59.08%;margin-top:0.45vw;}
.OffPageHeader .LogoMDheader .LogoOff{font-weight:600;background-color:transparent!important;font-size:6.6vw;letter-spacing:-0.06em;line-height:0.83em;width:100%;margin:0 auto;text-align:center!important;display:block;color:var(--header-color);text-decoration:none;}
.OffPageHeader .LogoMDheader .LogoOff:visited{color:var(--header-color);}
.OffPageHeader .LogoMDheader .LogoOff:hover{color:var(--header-color);}
.OffPageHeader .LogoMDheader .LogoOff span{display: block;}

/* ===================================================== MENU TOGGLE ===================================================== */

.OffPageHeader .menu__toggle{--menu-gap:0.44vw;position:absolute;right:0;top:1.7vw;width:3.8vw;max-width:80px!important;height:calc((var(--menu-gap)*2)+2px);padding:0;background:none;border:0;cursor:pointer;z-index:3; min-height: 12px;}
.OffPageHeader .icon-bar{position:absolute;left:0;right:0;height:2px;background:var(--header-color);transform:translateY(-50%);transform-origin:center;transition:transform .3s ease,top .3s ease,opacity .3s ease,background-color .45s ease;}
.OffPageHeader .icon-bar:first-child{top:calc(50% - var(--menu-gap));}
.OffPageHeader .icon-bar:last-child{top:calc(50% + var(--menu-gap));}

@media(hover:hover) and (pointer:fine){
.OffPageHeader .menu__toggle:hover{opacity:.94;}
}
@media(hover:hover) and (pointer:fine){
.OffPageHeader .menu__toggle:hover .icon-bar:first-child{top:calc(50% - var(--menu-gap) - 1px);}
}
@media(hover:hover) and (pointer:fine){
.OffPageHeader .menu__toggle:hover .icon-bar:last-child{top:calc(50% + var(--menu-gap) + 1px);}
}

@media (min-width:1800px){
/* DUPLICADO / PISADO MÁS ABAJO: aquí pones --menu-gap:8px pero luego lo vuelves a declarar a 18px */
.OffPageHeader .menu__toggle{--menu-gap:8px; --menu-hover-gap:20px;}
.OffPageHeader .LogoMDheader .LogoOff{font-size:120px; margin-top:10px;}
.menu-close{top:50px;}
}

/* ===================================================== MENU CLOSE ===================================================== */

.menu-close{position:absolute;top: 30px;right:3vw;width:18px;height:auto;background:none;border:0;cursor:pointer;z-index:3;transition:transform .15s ease-out;transform-origin:center;}
.menu-close:hover{transform:scale(1.1);}

/* ===================================================== MENU OPEN ===================================================== */

.OffPageHeader.open .LogoMDheader{display:none;}
.OffPageHeader.open .menu__toggle{opacity:0;pointer-events:none;}
body.menu-open{overflow:hidden;}

@media (min-width:1800px){

.OffPageHeader{width:100%;z-index:9999;transition:background-color .3s ease,padding .3s ease;position:relative;--header-color:var(--ui-color,#000);padding-top:30px;}
}

/* ===================================================== MOBILE MENU OVERLAY (VERSIÓN 1) ===================================================== */

#mobile-menu{position:fixed;inset:0;width:100%;padding-top:30px;height:100%;z-index:99999;transform:translateX(100%);transition:transform .35s ease;pointer-events:none;overflow:auto;-webkit-overflow-scrolling:touch;}
#mobile-menu::before{content:"";position:absolute;inset:0;background:#FAF9F7;}
#mobile-menu.show{transform:translateX(0);pointer-events:auto;}
#mobile-menu .menu-panel{position:relative;z-index:2;width:90%;max-width:1300px;margin:0 8% 0 auto;padding:0;}
@media(min-width:1800px){
#mobile-menu .menu-panel{margin:180px auto 0;}
}
@media(prefers-reduced-motion:reduce){
#mobile-menu{transition:none;}
}

/* ===================================================== MENU OPEN CONTENT ===================================================== */

.opMenuTop{display:flex;justify-content:space-between;align-items:center;margin:0.2em 0 3.5vw auto;width:65%;}
.opMenuTop__link{color:#000;text-decoration:none;text-transform:uppercase;font-size:13px;line-height:1;position:relative;display:inline-block;}
.opMenuTop__link::after{content:"";position:absolute;left:0;right:0;bottom:-0.25em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
@media(hover:hover) and (pointer:fine){.opMenuTop__link:hover::after{transform:scaleX(1);}}

.opMenuGrid{display:flex;justify-content:space-between;}
.opMenuThumb{width:20%;}
.opMenuThumb__inner{width:100%;aspect-ratio:3/4;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transform:translateX(1.2vw);transition:opacity .45s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1),filter .55s cubic-bezier(.22,.61,.36,1);filter:blur(2px);will-change:opacity,transform,filter;}
.opMenuThumb__inner.is-visible{opacity:1;transform:translateX(0);filter:blur(0);}
@media(prefers-reduced-motion:reduce){.opMenuThumb__inner{transition:none;transform:none;filter:none;}}




.opMenuCol{width:65%;display:flex;flex-direction:column;}
.opMenuBlock{margin:0 auto 3.4vw 0;}
.opMenuBlock__title{text-transform:uppercase;font-size:13px;line-height:1;margin:1.25em 0 2.5em;}
.opMenuList{display:flex;flex-direction:column;}

.opMenuItem{display:flex;align-items:baseline;gap:1.2vw;color:#000;text-decoration:none;font-size:14px;line-height:1.1;font-weight:500;margin-bottom:0.45em;}

.opMenuItem__title{display:inline-block;will-change:transform;transition:transform .45s cubic-bezier(.22,.61,.36,1); font-weight:600; text-transform:uppercase;}
.opMenuItem__meta{display:inline-block;will-change:transform;transition:transform .45s cubic-bezier(.22,.61,.36,1);}
@media(hover:hover) and (pointer:fine){.opMenuItem:hover .opMenuItem__title{transform:translateX(-20%);}}
@media(hover:hover) and (pointer:fine){.opMenuItem:hover .opMenuItem__meta{transform:translateX(-20%);}}

.opMenuLang{margin:auto auto 0.4em 0;text-transform:uppercase;font-size:12px;line-height:1;}
.opMenuLang__link{color:#000;text-decoration:none;}
.opMenuLang__link.is-active{ border-bottom: 1px solid #000 }

/* ===================================================== THEME STATES ===================================================== */

.OffPageHeader.theme-light{--header-color:var(--ui-color,#000);}
.OffPageHeader.theme-dark{--header-color:var(--ui-color,#fff);}


/* ===================================================== HOME CARDS – BASE ===================================================== */

.home-cards-stack{position:relative;z-index:0;overflow-x:clip;}
.stacked-cards-wrapper{position:relative;margin:0;padding:0;}
.stacked-card{position:sticky;top:0;left:0;width:100vw!important;height:100vh!important;overflow:hidden;z-index:1;background:#fff;--ui-color:var(--hero-ui-color,#fff);}
.stacked-card a{display:block;width:100%;height:100%;text-decoration:none;color:inherit;}
.stacked-card .card-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#000;}
.stacked-card .card-bg picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;}
.stacked-card .card-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;}
.pin-spacer{background-color:transparent!important;}


.stacked-card{margin-bottom: 120vh;}
.stacked-card:last-child{margin-bottom: 0;}
.stacked-cards-wrapper::after{content:"";display:block;height: 120vh;}

body.page-template-page-home-cards-php #container.end-of-home .OffPageHeader{position:absolute;top:auto;bottom:0;left:0;width:100%;}


/* ===================================================== OVERLAY – VARIABLES ===================================================== */
.stacked-card .card-overlay{position:absolute;left:0;right:0;bottom:var(--overlay-bottom,0);z-index:10;color:var(--overlay-color,#fff);padding:0 var(--overlay-side,4vw) 3.2vw;pointer-events:none;}
.stacked-card .card-overlay__inner{width:100%;max-width:var(--overlay-width,100%);margin:0 auto;display:flex;align-items:center;gap:2.2vw;pointer-events:auto;}
.stacked-card .card-overlay.overlay-left .card-overlay__inner{margin-left:0;margin-right:auto;}
.stacked-card .card-overlay.overlay-right .card-overlay__inner{margin-left:auto;margin-right:0;}
.stacked-card .card-overlay.overlay-center .card-overlay__inner{margin-left:auto;margin-right:auto;}
.stacked-card .cardBar__num{flex:0 0 auto;font-size: 11px;letter-spacing: 0;line-height:1;text-transform:uppercase; align-self:center; font-weight: 500;}
.stacked-card .cardBar__title{flex:1 1 auto;font-size: 1.67vw;letter-spacing:-0.04em;line-height:.95;text-transform:uppercase;text-align:var(--overlay-text-align,left);display:block;}
.stacked-card .cardBar__cat{flex:0 0 auto;font-size: 13px;letter-spacing: 0;line-height:1;font-weight: 500;margin-left:auto;align-self:center;}
.stacked-card .cardBar__arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width: 2.9vw;height: auto;align-self:center;}
.stacked-card .cardBar__arrow svg{width:100%;height:auto;display:block;}
.stacked-card .cardBar__arrow svg path{fill:currentColor;}
@media (min-width:1800px){
.stacked-card .cardBar__title{font-size: 30px;}
}

/* ===================================================== HERO – CONTENT MODE (BD antigua / sin campos ACF) ===================================================== */
/* Cuando el hero está vacío → muestra the_content() de la página sin restricciones de altura */
.hero-content-wrap { width: 100%; display: block; }
.hero-content-wrap > * { max-width: 100%; }

/* ===================================================== HERO – BASE (VIDEO/IMAGE) ===================================================== */

.hero-cards-first{position:relative;width:100vw;height:auto!important;overflow:hidden;--hero-ui-color:#fff;--hero-arrow-color:#fff;}
.hero-cards-first .v__desktop{display:block;}
.hero-cards-first .v__mobile{display:none!important;}
.hero-cards-first img{display:block;width:100%;height:auto!important;margin:0 auto!important;}
.hero-media{display:block;width:100%;}
.header-desktop{display:block;}
.header-mobile{display:none;}
.video-wrapper{position:relative;width:100%;padding-bottom:66.67%;height:0;overflow:hidden;}
.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;}
.video-wrapper video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;}
.video-background{position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;z-index:0;}
.video-background video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover;pointer-events:none;}

/* ===================================================== NEXT SECTION LINK ===================================================== */

.next-section-link{position:fixed;left:50%;bottom:3.2vw;transform:translateX(-50%);z-index:9998;width:1.2vw;height:auto;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease,visibility .25s ease;}
.next-section-link.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.next-section-link .next-arrow{width:100%;height:100%;display:block;animation:opNextBounce 1.4s ease-in-out infinite;transform-origin:center;}
.next-section-link svg path{fill:var(--hero-arrow-color);}

@keyframes opNextBounce{
0%{transform:translateY(0);}
50%{transform:translateY(0.7vw);}
100%{transform:translateY(0);}
}

body.menu-open .next-section-link{opacity:0;visibility:hidden;pointer-events:none;}


/* ===================================================== HEADER BEHAVIOUR IN STACK (OPTIONAL) ===================================================== */

body.page-template-page-home-cards-php .OffPageHeader{position:fixed;top:0;left:0;width:100%;}
body.page-template-page-home-cards-php .OffPageHeader.is-overlay{position:fixed;top:0;left:0;width:100%;}
body.page-template-page-home-cards-php.near-top .OffPageHeader.is-overlay{position:fixed;}
body.page-template-page-home-cards-php.scrolled-up .OffPageHeader{position:fixed;}

/* ===================================================== CLEAR SPACERS (LEGACY) ===================================================== */

.clear300{height:16.67vw;display:block;width:100%;clear:both;}

/* ===================================================== MOBILE (1) ===================================================== */

/* ===================================================== MOBILE (1) ===================================================== */
@media (min-width: 768px){
.cardBar__cat_mob { display: none; }
}

@media (max-width:660px), (max-width:767px) and (orientation: portrait){
.stacked-card .card-overlay{padding:0 var(--overlay-side,6vw) 8vw;}
.stacked-card .card-overlay__inner{gap:4vw;align-items:center;}
.stacked-card .cardBar__num{font-size:3vw;}
.stacked-card .cardBar__title{font-size:6.4vw;}
.stacked-card .cardBar__cat{font-size:3vw;}
.stacked-card .cardBar__arrow{width:10vw;height:4vw;}
/* Header / Logo */

	.OffPageHeader { padding-top: 3vw}
.OffPageHeader .header_wrap{width:100%;}
.OffPageHeader .LogoMDheader{width:100%;}
.OffPageHeader .LogoMDheader .LogoOff { font-size: 12.75vw;}
.OffPageHeader .menu__toggle{top:13vw; width: 9vw; z-index: 999; }
.OffPageHeader .icon-bar{width: 9vw;height: 2px;}
.OffPageHeader .icon-bar:first-child{transform:translate(-50%,-.6vw);}
.OffPageHeader .icon-bar:last-child{transform:translate(-50%,.6vw);}
.next-section-link{bottom:10vw;
	width:3.5vw !important; height: auto;}
	
/* Home */
.stacked-card .card-overlay{left:5vw!important;right:auto!important;width:80%!important;text-align:left!important;transform:none!important;bottom: 5vh;}
.stacked-card .card-overlay__inner {
    width: 100%;
    max-width: 100% !important;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 2.2vw;
    pointer-events: auto;
}
	
.cardBar__cat { display: none; }
	
.opMenuTop{justify-content:flex-start;gap:5vw;margin-bottom:6vw;}
.opMenuGrid{grid-template-columns:1fr;gap:6vw;}
.opMenuThumb{display:none;}
.opMenuBlock{margin:0 0 7vw;}
.opMenuBlock__title{margin:0 0 3vw;}
.opMenuList{gap:2.5vw;}
.opMenuLang{margin-top:8vw;}





body.scrolled-once .OffPageHeader .LogoMDheader{width:50%;}
body.near-top .OffPageHeader .LogoMDheader{width:100%;}
	


body.scrolled-up .OffPageHeader .LogoMDheader{top:1.5vw;}
body.scrolled-up .OffPageHeader .menu__toggle{top:1.5vw;}
body.near-top .OffPageHeader .menu__toggle{top:11.5vw;}

.hero-cards-first .v__desktop{display:none!important;}
.hero-cards-first .v__mobile{display:block!important;}
.header-desktop{display:none;}
.header-mobile{display:block;}
.video-wrapper{padding-bottom:177.78%;}



@keyframes opNextBounce{
0%{transform:translateY(0);}
50%{transform:translateY(2vw);}
100%{transform:translateY(0);}
}



}

/* ===================================================== TABLET / DESKTOP TUNING ===================================================== */

@media (min-width:768px){
.stacked-card .card-overlay{bottom:var(--overlay-bottom,20vh);}
}

/* ===================================================== EFECTO STICKY SINGLE ===================================================== */

body.near-top .OffPageHeader.is-overlay{position:absolute;top:0;left:0;background:transparent;}
body.near-top .OffPageHeader:not(.is-overlay){position:relative;background:transparent;}
body.near-top .OffPageHeader .LogoMDheader{width:64%;top:0;transform:none;transition:width .4s ease,top .4s ease,transform .3s ease;}

body.scrolled-up .OffPageHeader{position:fixed;top:0;left:0;z-index:999;}
body.scrolled-up .OffPageHeader .LogoMDheader{width:17.36%;top: 0;transform:scale(.8);transition:none;}

body.scrolled-up.near-top .OffPageHeader .LogoMDheader{width:64%;top:0;transform:none;transition:width .4s ease,top .4s ease,transform .3s ease;}
body.scrolled-up.near-top .OffPageHeader{background:transparent;position:absolute;top:0;left:0;}
body.scrolled-up.near-top .OffPageHeader:not(.is-overlay){position:relative;left:auto;}

body.scrolled-up .LogoMDheader{transition:none;}
body.scrolled-up .OffPageHeader .LogoMDheader{width:20%;top:2vw;transform:scale(.8);transition:none;}

body.scrolled-up .OffPageHeader .LogoMDheader .LogoOff{font-size:2.2vw;}

/* ===================================================== LOGO TYPO SHRINK (SINGLE) ===================================================== */

body.near-top .OffPageHeader .LogoMDheader{width:64%;top:0;transform:none;}
body.near-top .OffPageHeader .LogoMDheader .LogoOff{font-size:6.6vw;line-height:0.83em;transform:none;transition:font-size .4s ease;}

body.scrolled-once .OffPageHeader .LogoMDheader{width:17.36%;transform:none;}
body.scrolled-once .OffPageHeader .LogoMDheader .LogoOff{font-size:2.22vw;line-height:0.95em;transform:none;transition:font-size .2s ease;}
body.scrolled-up .OffPageHeader .LogoMDheader .LogoOff{font-size:2.22vw;line-height:0.95em;transform:none;transition:none;}

body.scrolled-up.near-top .OffPageHeader .LogoMDheader{width:64%;top:0;transform:none;transition:width .4s ease,top .4s ease,transform .3s ease;}
body.scrolled-up.near-top .OffPageHeader .LogoMDheader .LogoOff{font-size:6.6vw;line-height:0.83em;transition:font-size .4s ease;}

/* ===================================================== COLOR CAMBIO POR SCROLL ===================================================== */

body.scrolled .OffPageHeader{--header-color:#000;}
body.scrolled-up.classOscuro .OffPageHeader{--header-color:#fff;}
body.scrolled-up.classClaro .OffPageHeader{--header-color:#000;}

/* ===================================================== SINGLE POST ===================================================== */

.singleWrap{width:100%;}
.singleHero{width:100%;position:relative;}
.singleHero__media{display:block;width:100%;height:auto;overflow:hidden;margin:0 auto;}
.singleHero__img{width:100%;height:100%;object-fit:cover;object-position:center;}

.singleBody{width:100%;}
.singleBlock{width:100%;padding:0;}
.singleBlock__inner{width: 100%;margin:0 auto; }

.singleBlock--image{padding:0;}
.singleBlock__media{display:block;width:100%;}
.singleBlock__img{width:100%;height:auto;display:block;}
.singleBlock__caption{width:94%;margin:1rem auto 0 auto;font-size:.9rem;line-height:1.3;}

.singleBlock.Claro{}
.singleBlock.Oscuro{}
.singleHero.Claro{}
.singleHero.Oscuro{}

/* Entradilla 
*/

.Off_entry { width: 95%; margin: 8.5vw auto; display: flex; justify-content: space-between; max-width: 1910px;}
.Off_entry_center { width: 60%; max-width: 600px; text-align: center; margin: 8.5vw auto; }
.entry_1d4 span { padding-top: 2.85em; display: block;}
.Off_entry p, .Off_entry h1 { line-height: 1em; margin: 0 auto 0.75em 0; }
.Off_entry_center h1 { line-height: 1em; margin: 0 auto 0.75em 0; }
.Off_entry h1, .Off_entry_center h1 { font-size: 2.2vw; letter-spacing: -0.03em; font-weight: 600; text-transform: upercase;}
.entry_1d4 { width: 25%; margin: 0; }
.s13, .entry_1d4 span { font-size: 13px;}
.s15, .wrap__entry p { font-size: 13px; font-weight: 500;}
.entry_1d4.a-right, .a-right span{ margin: 0 0 0 auto; text-align: right;}

@media (min-width:1800px){
   .Off_entry, .Off_entry_center { margin: 150px auto;}
   .Off_entry h1 { font-size: 40px}



}

/* ===================================================== CAROUSEL ===================================================== */

.op-carousel--products{width:100%;margin:0 auto;}
.op-carousel--products .swiper-wrapper{display:flex;gap:4vw;}
@media(min-width:1024px){
.op-carousel--products .swiper-wrapper{gap:3vw;}
}
.op-slide{display:flex;flex-direction:column;}
.op-slide__meta{display:flex;justify-content:space-between;align-items:flex-end;margin-top:1.5vw;}
.op-slide__number{font-size: 10px;display:block;margin-bottom:.3vw;}
.op-slide__title{font-size: 12px;font-weight:500;}
.op-slide__plus{font-size:1.2rem;cursor:pointer;}

@media (min-width:1600px){
.op-carousel--products .swiper-wrapper{gap:48px;}
.op-slide__meta{margin-top:24px;}
.op-slide__number{margin-bottom:5px;}
}

/* ==========================================================================
   PAPER27 — LOGO (home H1 + inner pages)
   ========================================================================== */

/* Home: logo H1 a pantalla completa, tipografía grande centrada */
.OffPageHeader .LogoMDheader--h1 {
  width: 100%;
  max-width: 100%;
  margin: 0;
  text-align: center;
}
.OffPageHeader .LogoMDheader--h1 a {
  display: block;
  text-decoration: none;
  font-family: 'SuisseIntl', 'Suisse Intl', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(44px, 9vw, 160px);
  line-height: 0.88em;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  color: var(--header-color);
}
.OffPageHeader .LogoMDheader--h1 .LogoMD,
.OffPageHeader .LogoMDheader--h1 .LogoPaper { display: block; }

/* Inner pages: logo de tamaño pequeño, centrado, como barra fija */
.OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) {
  width: auto;
  max-width: none;
  margin: 0 auto;
}
.OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) a {
  display: block;
  text-decoration: none;
  font-family: 'SuisseIntl', 'Suisse Intl', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(13px, 1.3vw, 22px);
  line-height: 1em;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--header-color);
  text-align: center;
}
.OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) .LogoMD,
.OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) .LogoPaper { display: block; }

/* SVG inline: fill en el elemento raíz, los paths heredan.
   Así el CSS por post (.p25.header svg { fill: #EBC896 !important })
   sobreescribe el mismo elemento y la herencia llega a los paths.
   Transición de color suave (size + color en sync). */
.OffPageHeader .LogoMDheader svg {
  fill: var(--header-color);
  transition: fill .45s ease;
}
.OffPageHeader .LogoMDheader img { display: block; width: auto; height: 24px; }

@media (max-width: 768px) {
  .OffPageHeader .LogoMDheader--h1 a { font-size: clamp(36px, 11vw, 100px); }
}

/* ==========================================================================
   SINGLE POST HEADER — logo + menu toggle (legacy y nuevos posts)
   Scope: body.single-post — NO afecta home ni páginas.
   ========================================================================== */

/* Vertical spacing */
body.single-post .OffPageHeader {
    padding-top: 22px;
}

/* Logo: 35% ancho, max 450px, centrado. Transición suave al encoger/crecer. */
body.single-post .OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) {
    width: 35%;
    max-width: 450px;
    margin: 0 auto;
    transition: width .45s ease;
}

/* SVG dentro del logo: escala al 100% del contenedor */
body.single-post .OffPageHeader .LogoMDheader svg {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}

/* No expandir en near-top / scrolled-once (esos estados son de home) */
body.single-post.near-top .OffPageHeader .LogoMDheader,
body.single-post.scrolled-once .OffPageHeader .LogoMDheader {
    width: 35%;
    max-width: 450px;
    transform: none;
}

/* Sticky: logo se encoge, centrado */
body.single-post.scrolled-up .OffPageHeader .LogoMDheader {
    width: 18%;
    max-width: 290px;
    transform: none;
}

/* Menu toggle: lado IZQUIERDO — alineado al top del header_wrap */
body.single-post .OffPageHeader .menu__toggle {
    right:     auto;
    left:      22px;
    top:       4px;
    transform: none;
    width:     2.78vw;
    max-width: 50px;
    min-width: 32px;
}

/* Scroll states */
body.single-post.near-top .OffPageHeader .menu__toggle,
body.single-post.scrolled-up .OffPageHeader .menu__toggle {
    top:       4px;
    transform: none;
    left:      22px;
}

/* ── Mobile <=768px ── */
@media (max-width: 768px) {
    body.single-post .OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) {
        width: 38%;
        max-width: 260px;
    }
    body.single-post.near-top .OffPageHeader .LogoMDheader,
    body.single-post.scrolled-once .OffPageHeader .LogoMDheader {
        width: 38%;
        max-width: 260px;
    }
    body.single-post .OffPageHeader .menu__toggle {
        width:     6vw;
        min-width: 28px;
        left:      min(3vw, 18px);
        top:       4px;
        transform: none;
    }
    body.single-post.near-top .OffPageHeader .menu__toggle,
    body.single-post.scrolled-up .OffPageHeader .menu__toggle {
        left:      min(3vw, 18px);
        top:       4px;
        transform: none;
    }
}

/* ── Mobile <=480px ── */
@media (max-width: 480px) {
    body.single-post .OffPageHeader .LogoMDheader:not(.LogoMDheader--h1) {
        width: 48%;
        max-width: 200px;
    }
    body.single-post .OffPageHeader .menu__toggle {
        width:     8vw;
        min-width: 26px;
        left:      4vw;
        top:       4px;
        transform: none;
    }
}

/* ==========================================================================
   PAPER27 — MENÚ FULL-PAGE OVERLAY (.PaperMenu)
   ========================================================================== */

/* Overlay base */
#mobile-menu.PaperMenu {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #FAF9F7;
  opacity: 0;
  visibility: hidden;
  transform: none; /* anula el translateX del CSS anterior */
  transition: opacity .3s ease, visibility .3s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
}
#mobile-menu.PaperMenu.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.PaperMenu__inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* ── TOPBAR ── */
.PaperMenu__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 3vw 24px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.PaperMenu__back {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #000;
}
.PaperMenu__back:hover { text-decoration: underline; }

.PaperMenu__topnav {
  display: flex;
  gap: clamp(20px, 4vw, 60px);
  align-items: center;
}
.PaperMenu__toplink {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
}
.PaperMenu__toplink:hover { text-decoration: underline; }

.PaperMenu__lang {
  display: flex;
  gap: 4px;
  align-items: center;
  font-size: 12px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.PaperMenu__lang-link {
  color: #000;
  text-decoration: none;
  opacity: .45;
}
.PaperMenu__lang-link.is-active { opacity: 1; font-weight: 600; }
.PaperMenu__lang-link:hover { opacity: 1; }

/* ── BODY: imagen + columnas ── */
.PaperMenu__body {
  display: flex;
  gap: 5vw;
  padding: 5vw 8vw 4vw;
  flex: 1;
}

/* Imagen portada — desktop */
.PaperMenu__cover {
  width: 22%;
  flex-shrink: 0;
}
.PaperMenu__cover img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 3/4;
  object-fit: cover;
}
.PaperMenu__cover--empty {
  background: #e8e8e4;
  aspect-ratio: 3/4;
}

/* Columnas de enlaces */
.PaperMenu__cols {
  display: flex;
  flex: 1;
  gap: 6vw;
}
.PaperMenu__col { flex: 1; }

.PaperMenu__colLabel {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(0,0,0,.5);
  margin-bottom: 1.8em;
}

/* Lista de wp_nav_menu */
.PaperMenu__list {
  list-style: none;
  padding: 0;
  margin: 0 0 2em 0;
}
.PaperMenu__list li { margin: 0; }
.PaperMenu__list li a {
  display: block;
  font-size: 15px;
  font-weight: 400;
  color: #000;
  text-decoration: none;
  padding: .3em 0;
  line-height: 1.3;
}
.PaperMenu__list li a:hover { text-decoration: underline; }

/* Extras mobile: massimodutti.com + idioma */
.PaperMenu__mobileExtras { display: none; }

/* ── FEATURED BLOCK ── */
.PaperMenu__featured {
  padding: 4vw 8vw 5vw;
}
.PaperMenu__featured__header {
  display: flex;
  align-items: baseline;
  gap: 2em;
  margin-bottom: 1.2em;
}
.PaperMenu__featured__num {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .7;
}
.PaperMenu__featured__title {
  font-size: clamp(16px, 1.4vw, 24px);
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.PaperMenu__featured__text {
  font-size: 14px;
  line-height: 1.5;
  max-width: 420px;
  margin: 0 0 2.5em;
  opacity: .85;
}
.PaperMenu__featured__posts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2vw;
}
.PaperMenu__featured__post {
  display: block;
  text-decoration: none;
  color: #000;
}
.PaperMenu__featured__post:hover .PaperMenu__featured__post-title {
  text-decoration: underline;
}
.PaperMenu__featured__post-num {
  display: block;
  font-size: 10px;
  letter-spacing: .08em;
  margin-bottom: .4em;
  opacity: .7;
}
.PaperMenu__featured__post-title {
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .PaperMenu__topnav { display: none; }
  .PaperMenu__lang { display: none; } /* se muestra en mobileExtras */

  .PaperMenu__bar { border-bottom: 0; padding: 22px 5vw 18px; }

  .PaperMenu__body {
    flex-direction: column;
    padding: 4vw 5vw 3vw;
    gap: 0;
  }

  .PaperMenu__cover { display: none; }

  .PaperMenu__cols { flex-direction: column; gap: 0; }

  .PaperMenu__col { margin-bottom: .5em; }
  .PaperMenu__colLabel { margin-bottom: 1em; }

  .PaperMenu__list li a { font-size: 17px; padding: .45em 0; }

  .PaperMenu__mobileExtras {
    display: block;
    padding: 2em 5vw;
    border-top: 1px solid rgba(0,0,0,.08);
  }
  .PaperMenu__mobileLink {
    display: block;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #000;
    text-decoration: none;
    margin-bottom: 1.2em;
  }
  .PaperMenu__mobileLink:hover { text-decoration: underline; }
  .PaperMenu__lang--mobile { display: flex; }

  .PaperMenu__featured {
    padding: 5vw 5vw 6vw;
  }
  .PaperMenu__featured__header { gap: 1em; flex-direction: column; }
  .PaperMenu__featured__title { font-size: clamp(18px, 5.5vw, 32px); }
  .PaperMenu__featured__posts {
    grid-template-columns: 1fr;
    gap: 1.4em;
  }
}

/* Body con menú abierto: bloquea scroll */
body.menu-open { overflow: hidden; }
