/* Reusable opt-in editorial system. Layers: background 0, image 1, F 6, copy 7. */
body.ff2-editorial-page{--ed-ivory:#F7F3EB;--ed-green:#145248;--ed-soft:#DFE8DF;--ed-ink:#181A18;font-family:Manrope,sans-serif;background:var(--ed-ivory)}
body.ff2-editorial-page :is(p,li,a,button,label,input,summary,h3,h4){font-family:Manrope,sans-serif}
body.ff2-editorial-page :is(h1,h2,.ed-quote){font-family:Newsreader,serif}
body.ff2-editorial-page #main,body.ff2-editorial-page #main article,body.ff2-editorial-page #main .entry-content{position:relative;z-index:auto;isolation:auto;overflow:visible}
body.ff2-editorial-page #main>[class*="ct-container"]{width:100%;max-width:none;padding-top:0;padding-bottom:0}
body.ff2-editorial-page #main .entry-content{max-width:none;width:100%;margin:0}
.ff2-editorial .ed-section{--ed-bg:var(--ed-ivory);--ed-fg:var(--ed-ink);--ed-next:var(--ed-ivory);background:var(--ed-bg);color:var(--ed-fg);position:relative;padding:clamp(58px,7vw,104px) max(7vw,24px);margin:0!important;max-width:none!important;width:100%}
.ff2-editorial .ed-section[data-ed-theme=green]{--ed-bg:#145248;--ed-fg:#F7F3EB}
.ff2-editorial .ed-section[data-ed-theme=soft]{--ed-bg:#DFE8DF;--ed-fg:#181A18}
.ff2-editorial .ed-section[data-ed-theme=dark]{--ed-bg:#070707;--ed-fg:#F7F3EB}
.ff2-editorial .ed-section:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:34px;background:linear-gradient(to bottom,transparent,var(--ed-next));pointer-events:none}
.ff2-editorial .ed-copy{position:relative;z-index:7;max-width:780px;margin-inline:auto;background:none}
.ff2-editorial .ed-copy>:first-child{margin-top:0}
.ff2-editorial .ed-copy>:last-child{margin-bottom:0}
.ff2-editorial :is(h1,h2){font:400 clamp(36px,4.4vw,62px)/1.1 Newsreader,serif!important;letter-spacing:-.025em;color:inherit!important;margin:0 0 26px}
.ff2-editorial .ed-intro h2:first-child{font-size:clamp(48px,6.3vw,86px)!important;line-height:1.02!important;max-width:850px;margin-bottom:24px}
.ff2-editorial .ed-intro h2:nth-child(2){font-size:clamp(27px,3vw,39px)!important;line-height:1.2!important;margin-bottom:30px}
.ff2-editorial :is(p,li){font:400 clamp(17px,1.45vw,20px)/1.78 Manrope,sans-serif!important;color:inherit!important}
.ff2-editorial p{margin:0 0 23px}.ff2-editorial ul{padding-left:1.15em;margin:22px 0 26px}.ff2-editorial li{padding-left:7px;margin:12px 0}.ff2-editorial li::marker{color:#C5A15A}
.ff2-editorial strong{font-weight:650}.ff2-editorial .ed-quote{font:400 clamp(25px,2.8vw,38px)/1.35 Newsreader,serif!important;margin-top:32px}
.ed-f-layer{position:fixed;inset:0;z-index:6;pointer-events:none;mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}
body.ff2-editorial-page .ed-f-layer .ff2-brand-architecture{z-index:auto;pointer-events:none;background-color:var(--ed-f-color,#145248)!important;opacity:.30!important;transition:background-color 200ms linear}
/* Future real photos: use .ed-photo--left/right/contained. No assets are inserted. */
.ff2-editorial .ed-photo{position:relative;z-index:1;margin:0;pointer-events:auto}
.ff2-editorial .ed-photo img{display:block;width:100%;height:auto;object-fit:cover}
.ff2-editorial .ed-photo--left{margin-left:calc(-1 * max(7vw,24px));mask-image:linear-gradient(to right,#000 0 92%,transparent 100%)}
.ff2-editorial .ed-photo--right{margin-right:calc(-1 * max(7vw,24px));mask-image:linear-gradient(to left,#000 0 93%,transparent 100%)}
.ff2-editorial .ed-photo--contained{mask-image:linear-gradient(176deg,#000 0 93%,transparent 100%)}

@media(max-width:599px){.ff2-editorial .ed-section{padding:52px 23px}.ff2-editorial .ed-section:after{height:22px}.ff2-editorial .ed-copy{max-width:100%}body.ff2-editorial-page .ed-f-layer .ff2-brand-architecture{opacity:.19!important}.ff2-editorial .ed-photo--left{margin-left:-23px}.ff2-editorial .ed-photo--right{margin-right:-23px}}
@media(prefers-reduced-motion:reduce){body.ff2-editorial-page .ed-f-layer .ff2-brand-architecture{transition:none}}
/* Final Origen closure: remove the actual theme padding, not an overlay. */
body.ff2-editorial-page #main{padding-bottom:0!important}
.ff2-editorial .ed-section:last-child{padding-top:28px;padding-bottom:38px;min-height:0}
.ff2-editorial .ed-section:last-child .ed-copy{max-width:1100px}
.ff2-editorial .ed-section:last-child h2{margin-bottom:16px}
.ff2-editorial .ed-section:last-child p{margin-bottom:12px}
.ff2-editorial .ed-section:last-child ul{margin-block:12px 16px}
.ff2-editorial .ed-section:last-child li{margin-block:6px}
.ff2-editorial .ed-section:last-child .ed-quote{margin-top:18px}
body.ff2-editorial-page .ffg-footer,body.ff2-editorial-page .ffg-bottom{background:#070707;--ffg-target:#070707}
body.ff2-editorial-page .ffg-footer:before,body.ff2-editorial-page .ffg-bottom:before{display:none}
body.ff2-editorial-page .ed-f-layer .ff2-brand-architecture{background-image:var(--ed-f-paint)!important;transition:none;background-repeat:no-repeat;background-size:100% 100%}
@media(min-width:1000px){.ff2-editorial .ed-section:last-child ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ff2-editorial .ed-section:last-child li{margin:0}}
@media(max-width:599px){.ff2-editorial .ed-section:last-child{padding-top:24px;padding-bottom:30px}}
/* Origen master: one body-level F layer, with space before editorial copy. */
body.ff2-editorial-page #main-container{overflow:visible}
@media(min-width:900px){
 .ff2-editorial .ed-section{padding-left:24%;padding-right:8%}
 .ff2-editorial .ed-section .ed-copy{width:100%;max-width:none;margin-left:0;margin-right:0}
 body.ff2-editorial-page .ed-f-layer .ff2-brand-architecture{width:40vw;left:-10vw}
}
@media(min-width:600px) and (max-width:899px){
 body.ff2-editorial-page .ed-f-layer .ff2-brand-architecture{width:250px;height:370px;left:-50px;top:22vh}
}


/* Propósito adapter: preserve authored groups; inherit the editorial master. */
.ed-purpose .ed-copy{z-index:auto}
.ed-purpose .stk-block,.ed-purpose .stk-container,.ed-purpose .stk-inner-blocks{isolation:auto!important;z-index:auto;overflow:visible!important;background-color:transparent!important;background-image:none!important;min-height:0!important;box-shadow:none!important;border:0!important}
.ed-purpose .stk-block:before,.ed-purpose .stk-block:after{display:none!important}
.ed-purpose .stk-block{margin-top:0!important;margin-bottom:24px!important;padding:0!important}
.ed-purpose .stk-block-columns.alignfull{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.ed-purpose .stk-column-wrapper{padding:0!important;margin:0!important}
.ed-purpose .stk-row{gap:24px!important}
.ed-purpose .stk-column{min-width:0}
.ed-purpose .stk-block-text,.ed-purpose .stk-block-button-group{position:relative;z-index:7}
.ed-purpose :is(p,span){color:inherit!important}
.ed-purpose .stk-block-content{text-align:left!important}
.ed-purpose p.ed-purpose-title{font:400 clamp(36px,4.4vw,62px)/1.1 Newsreader,serif!important;letter-spacing:-.025em;margin-bottom:26px}
.ed-purpose p.ed-purpose-subtitle{font:400 clamp(25px,2.8vw,38px)/1.35 Newsreader,serif!important}
.ed-purpose .ed-photo{z-index:1!important}
.ed-purpose .ed-purpose-backdrop{position:absolute;inset:0;margin:0;z-index:1!important;background-size:cover;background-position:center;opacity:.16;mask-image:linear-gradient(176deg,#000 0 91%,transparent 100%);pointer-events:none}
.ed-purpose .ed-photo img{height:auto!important;max-height:none!important;object-fit:contain!important}
.ed-purpose .wp-block-video{position:relative;z-index:7;margin:0 0 24px}
.ed-purpose video{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}
.ed-purpose>.stk-block-spacer{display:none}
.ed-purpose .ed-section:last-of-type{padding-top:28px;padding-bottom:38px;min-height:0}
@media(max-width:767px){.ed-purpose .stk-row{flex-direction:column!important}.ed-purpose .stk-column{width:100%!important;flex-basis:auto!important}.ed-purpose video{max-height:480px}}
.ed-purpose .ed-section .stk-block-text p{color:var(--ed-fg)!important;text-align:left!important}
.ed-purpose .ed-section .stk-block-text p span{color:inherit!important}
/* Master photo integration, opt-in: every visible edge fades to its real backdrop.
   Apply to the photograph wrapper, not captions. A bleed modifier may be used
   only at a breakpoint where that edge actually extends outside the viewport. */
.ed-photo-integrated{--ed-photo-fade:clamp(16px,2.2vw,30px);--ed-photo-left:var(--ed-photo-fade);--ed-photo-right:calc(var(--ed-photo-fade)*.8);--ed-photo-top:calc(var(--ed-photo-fade)*.75);--ed-photo-bottom:calc(var(--ed-photo-fade)*1.1)}
.ed-photo-integrated img{
 -webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--ed-photo-left),#000 calc(100% - var(--ed-photo-right)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--ed-photo-top),#000 calc(100% - var(--ed-photo-bottom)),transparent 100%);
 mask-image:linear-gradient(to right,transparent 0,#000 var(--ed-photo-left),#000 calc(100% - var(--ed-photo-right)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--ed-photo-top),#000 calc(100% - var(--ed-photo-bottom)),transparent 100%);
 -webkit-mask-composite:source-in;mask-composite:intersect;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-size:100% 100%;mask-size:100% 100%
}

/* Reusable composition variants: asymmetric, bounded edge widths; transparency
   always reveals the actual section colour, never a generic white overlay. */
.ed-photo-integrated--landscape{--ed-photo-left:calc(var(--ed-photo-fade)*.7);--ed-photo-right:calc(var(--ed-photo-fade)*1.15);--ed-photo-top:calc(var(--ed-photo-fade)*.85);--ed-photo-bottom:var(--ed-photo-fade)}
.ed-photo-integrated--detail{--ed-photo-left:calc(var(--ed-photo-fade)*.9);--ed-photo-right:calc(var(--ed-photo-fade)*.7);--ed-photo-top:calc(var(--ed-photo-fade)*1.1);--ed-photo-bottom:calc(var(--ed-photo-fade)*.85)}
/* Definitive interior rules: explicit opt-in, no automatic page rollout. */
.ed-master-rules .ed-section[data-ed-theme=ivory],.ed-master-rules .ed-section[data-ed-theme=soft]{--ed-fg:#102E29}
.ed-master-rules .ed-section p.or-kicker{color:#C5A15A!important;opacity:1}
.ed-master-rules.or-master .or-values li:before{display:none;content:none}
.ed-master-rules.or-master .or-cta{background:transparent;color:#F7F3EB!important;border-color:#C5A15A}
.ed-master-rules.or-master .or-cta:hover,.ed-master-rules.or-master .or-cta:active{background:#145248;color:#F7F3EB!important;border-color:#F7F3EB}
.ed-master-rules .or-link{color:#C5A15A}
.ed-master-rules a:active{opacity:.8}
body.ed-compact-footer .ffg-footer.ed-footer-level1{background:#102E29!important;--ffg-target:#102E29;padding:0 6%!important;min-height:46px;position:relative;z-index:20;overflow:visible}
body.ed-compact-footer .ed-footer-menus{display:flex;align-items:center;justify-content:center;gap:clamp(22px,6vw,80px);min-height:46px}
.ed-footer-menus details{position:relative;margin:0}
.ed-footer-menus summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:46px;font:600 11px/1.4 Manrope,sans-serif;letter-spacing:.08em;color:#F7F3EB}
.ed-footer-menus summary::-webkit-details-marker{display:none}
.ed-footer-menus summary:after{content:'▾';color:#C5A15A}
.ed-footer-menus details[open] summary:after{content:'▴'}
.ed-footer-menus .ed-footer-links{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:190px;max-height:50vh;overflow:auto;background:#102E29;border:1px solid #C5A15A;padding:8px 12px;box-shadow:0 -8px 24px #0002}
body.ed-compact-footer .ed-footer-links a{display:block;min-height:40px;padding:10px 4px;color:#F7F3EB;font:400 13px/1.5 Manrope,sans-serif;text-decoration:none}
body.ed-compact-footer .ffg-bottom.ed-footer-level2{background:#070707!important;padding:0 6%!important;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:21}
.ed-footer-level2 .ed-footer-brands{margin:0;display:flex;gap:18px;align-items:center}
.ed-footer-level2 .ed-footer-brands a+a:before{content:'·';margin-right:18px;color:#C5A15A}
body.ed-compact-footer .ed-footer-level2 :is(a,button){font:500 10px/1.4 Manrope,sans-serif;color:#F7F3EB;display:inline-flex;align-items:center;min-height:38px;text-decoration:none}
body.ed-compact-footer .ed-footer-level2 nav{gap:20px}
body.ed-compact-footer :is(.ed-footer-level1,.ed-footer-level2) :is(a,button,summary):hover{color:#C5A15A}
body.ed-compact-footer :is(.ed-footer-level1,.ed-footer-level2) :is(a,button,summary):active{color:#C5A15A;background:#ffffff0c}
body.ed-compact-footer :is(.ed-footer-level1,.ed-footer-level2) :is(a,button,summary):focus-visible{outline:2px solid #C5A15A;outline-offset:2px}
body.ed-compact-footer .fv-mobile-nav{display:none!important}
@media(max-width:599px){
 body.ed-compact-footer{padding-bottom:0!important}
 body.ed-compact-footer .ffg-bottom.ed-footer-level2{padding:0 14px!important;gap:8px;min-height:44px}
 body.ed-compact-footer .ed-footer-level2 :is(a,button){font-size:8px;min-height:44px}
 body.ed-compact-footer .ed-footer-level2 nav{gap:11px}
 .ed-footer-level2 .ed-footer-brands a+a:before{margin-right:11px}
 .ed-footer-menus details:first-child .ed-footer-links{left:0;transform:none}
 .ed-footer-menus details:last-child .ed-footer-links{left:auto;right:0;transform:none}
}
body.ed-compact-footer{padding-bottom:0!important}
