/*
Theme Name: RevaLab
Author: RevaLab
Version: 2.0.2
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,700;1,400&family=Merriweather:ital,wght@0,400;0,700;1,400&family=Jost:wght@400;500;600;700&display=swap');
:root{--blormevo-bg:#0A0F1C;--blormevo-bg-alt:#11182B;--blormevo-text:#E6ECFA;--blormevo-text-sec:#8C97B4;--blormevo-accent:#00D9FF;--blormevo-accent-light:#0F2538;--blormevo-accent-dark:#0091AE;--blormevo-border:#1D2742;--blormevo-card:#0F1626;--blormevo-f-display:'Cormorant Garamond',Georgia,serif;--blormevo-f-body:'Merriweather',Georgia,serif;--blormevo-f-ui:'Jost',system-ui,sans-serif;--blormevo-radius:999px;--blormevo-radius-lg:32px;--blormevo-shadow:0 8px 28px rgba(0,0,0,0.45);--blormevo-shadow-lg:0 20px 60px rgba(0,0,0,0.55);--blormevo-h1:5rem;--blormevo-h2:2.6rem;--blormevo-h3:1.55rem;--blormevo-body:1.1rem;--blormevo-lh:1.7;--blormevo-pad-y:3rem}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--blormevo-bg);color:var(--blormevo-text);font-family:var(--blormevo-f-body);font-size:var(--blormevo-body);line-height:var(--blormevo-lh)}
img{max-width:100%;display:block}
a{color:var(--blormevo-accent);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--blormevo-f-display);color:var(--blormevo-text);margin:0 0 1rem;font-weight:500;line-height:1.15}
h1{font-size:var(--blormevo-h1)}h2{font-size:var(--blormevo-h2)}h3{font-size:var(--blormevo-h3)}
p{margin:0 0 1.1rem}
.u-container{max-width:1240px;margin:0 auto;padding:0 1.5rem}
.u-label{font-family:var(--blormevo-f-ui);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--blormevo-accent);font-variant:small-caps;font-weight:600}
.blormevo-section{padding:var(--blormevo-pad-y) 0;border-bottom:1px solid var(--blormevo-border)}
.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.8rem 1.6rem;border-radius:var(--blormevo-radius);border:2px solid transparent;font-family:var(--blormevo-f-ui);font-weight:600;cursor:pointer;transition:all 0.2s;min-height:44px;min-width:120px;box-sizing:border-box;white-space:nowrap;flex-shrink:0;line-height:1.2;font-size:0.95rem;text-decoration:none}
.c-btn--primary{background:var(--blormevo-accent);color:#06121C}.c-btn--primary:hover{background:var(--blormevo-accent-dark);text-decoration:none}
.c-btn--ghost{background:transparent;border-color:var(--blormevo-accent);color:var(--blormevo-accent)}.c-btn--ghost:hover{background:var(--blormevo-accent-light)}
/* Header double-row */
.blormevo-header{position:sticky;top:0;z-index:50;background:rgba(10,15,28,0.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--blormevo-border)}
.blormevo-header.is-solid{background:var(--blormevo-bg)}
.blormevo-header__row1{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;max-width:1240px;margin:0 auto}
.blormevo-header__row2{display:flex;justify-content:flex-end;gap:1.6rem;padding:0.6rem 1.5rem;max-width:1240px;margin:0 auto;border-top:1px solid var(--blormevo-border)}
.blormevo-logo-wrap{display:inline-flex;align-items:baseline}
a.logo{font-family:var(--blormevo-f-display);font-size:2rem;font-weight:700;color:var(--blormevo-text);letter-spacing:0.01em;text-decoration:none}
.blormevo-logo-dot{color:var(--blormevo-accent);font-size:2rem;line-height:1;margin-left:2px;font-family:var(--blormevo-f-display)}
.blormevo-nav{display:flex;gap:1.6rem;flex-wrap:wrap}
.blormevo-nav a{color:var(--blormevo-text);font-family:var(--blormevo-f-ui);font-size:0.92rem;letter-spacing:0.04em;text-decoration:none}
.blormevo-nav a:hover{color:var(--blormevo-accent)}
.blormevo-burger{display:none;background:none;border:0;color:var(--blormevo-text);font-size:1.6rem;cursor:pointer;padding:0.4rem}
.blormevo-mobile{display:none;opacity:0;transition:opacity 0.3s;background:var(--blormevo-bg);padding:1.5rem;border-top:1px solid var(--blormevo-border)}
.blormevo-mobile.is-open{display:block;opacity:1}
.blormevo-mobile a{display:block;padding:0.6rem 0;color:var(--blormevo-text);font-family:var(--blormevo-f-ui);border-bottom:1px solid var(--blormevo-border)}
@media(max-width:900px){.blormevo-header__row2{display:none}.blormevo-burger{display:inline-block}}
/* Hero issue strip */
.blormevo-issue-strip{font-family:var(--blormevo-f-ui);font-variant:small-caps;letter-spacing:0.15em;color:var(--blormevo-accent);font-size:0.85rem;padding-bottom:0.6rem;border-bottom:1px solid var(--blormevo-border);margin-bottom:1.4rem}
.post-byline{font-family:var(--blormevo-f-ui);font-size:0.88rem;color:var(--blormevo-text-sec);margin:0.6rem 0 1.4rem;letter-spacing:0.02em}
.post-byline cite{font-style:normal;color:var(--blormevo-text)}
/* Headline wall */
.blormevo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;padding:var(--blormevo-pad-y) 0}
.blormevo-wall__lead{grid-column:span 2;grid-row:span 2;background:var(--blormevo-card);padding:1.6rem;border:1px solid var(--blormevo-border)}
.blormevo-wall__lead img{margin-bottom:1rem;border:1px solid var(--blormevo-border)}
.blormevo-wall__sub{grid-column:span 1;grid-row:span 1;padding:1.2rem;border:1px solid var(--blormevo-border);background:var(--blormevo-bg-alt)}
.blormevo-wall__brief{grid-column:span 1;padding:1rem;border:1px solid var(--blormevo-border)}
.blormevo-wall h2,.blormevo-wall h3{font-size:1.4rem;margin:0.4rem 0 0.6rem}
.blormevo-wall__lead h2{font-size:2.2rem}
@media(max-width:900px){.blormevo-wall{grid-template-columns:1fr}.blormevo-wall__lead,.blormevo-wall__sub,.blormevo-wall__brief{grid-column:span 1;grid-row:auto}}
/* Ribbon */
.blormevo-ribbon{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--blormevo-border);border-bottom:1px solid var(--blormevo-border);padding:0.8rem 0;margin:0.6rem 0}
.blormevo-ribbon span{padding:0 1.2rem;border-right:1px solid var(--blormevo-border);font-variant:small-caps;letter-spacing:0.14em;color:var(--blormevo-text-sec);font-family:var(--blormevo-f-ui);font-size:0.82rem}
.blormevo-ribbon span:last-child{border-right:0}
/* Lede two-column */
.blormevo-lede{padding:var(--blormevo-pad-y) 0}
.blormevo-lede__body{column-count:1;column-gap:3rem}
@media(min-width:900px){.blormevo-lede__body{column-count:2;column-rule:1px solid var(--blormevo-border)}}
.blormevo-lede__body p:first-of-type::first-letter{font-family:var(--blormevo-f-display);font-size:4rem;float:left;line-height:0.9;padding:0.3rem 0.6rem 0 0;color:var(--blormevo-accent);font-weight:700}
/* Two-column page (article + sidebar) */
.blormevo-two{display:grid;grid-template-columns:1fr;gap:2.4rem}
@media(min-width:980px){.blormevo-two{grid-template-columns:minmax(0,1fr) 300px}}
.blormevo-sidebar{background:var(--blormevo-bg-alt);padding:1.4rem;border:1px solid var(--blormevo-border)}
.blormevo-sidebar h4{font-family:var(--blormevo-f-ui);font-size:0.82rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--blormevo-accent);border-bottom:1px solid var(--blormevo-border);padding-bottom:0.4rem;margin-top:1.4rem}
.blormevo-sidebar h4:first-child{margin-top:0}
.blormevo-sidebar ul{list-style:none;padding:0;margin:0 0 0.6rem}
.blormevo-sidebar li{padding:0.5rem 0;border-bottom:1px solid var(--blormevo-border);font-size:0.92rem}
.blormevo-sidebar li:last-child{border-bottom:0}
.blormevo-sidebar .meta{display:block;font-family:var(--blormevo-f-ui);font-size:0.74rem;color:var(--blormevo-text-sec);letter-spacing:0.1em;text-transform:uppercase;margin-top:0.2rem}
.blormevo-sidebar ol{padding-left:1.4rem;margin:0}
.blormevo-sidebar ol li{font-family:var(--blormevo-f-display);font-size:1.05rem}
.blormevo-sidebar .mini-cta{background:var(--blormevo-accent-light);padding:1rem;border:1px solid var(--blormevo-accent-dark);margin-top:1rem}
.blormevo-sidebar .mini-cta p{font-size:0.92rem;margin-bottom:0.8rem}
/* Archive grid */
.blormevo-archive{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:var(--blormevo-pad-y) 0}
.blormevo-archive article{border:2px solid var(--blormevo-border);padding:1.2rem;background:var(--blormevo-card)}
.blormevo-archive h3{font-size:1.2rem;margin:0.3rem 0 0.6rem}
.blormevo-archive .meta{font-family:var(--blormevo-f-ui);font-size:0.75rem;color:var(--blormevo-text-sec);letter-spacing:0.1em;text-transform:uppercase}
/* Pull quote */
.blormevo-pull{padding:var(--blormevo-pad-y) 1rem;text-align:center;border-top:1px solid var(--blormevo-border);border-bottom:1px solid var(--blormevo-border);background:var(--blormevo-bg-alt)}
.blormevo-pull blockquote{font-family:var(--blormevo-f-display);font-style:italic;font-size:2rem;line-height:1.3;max-width:900px;margin:0 auto 1rem;color:var(--blormevo-text)}
.blormevo-pull cite{font-style:normal;color:var(--blormevo-text-sec);font-family:var(--blormevo-f-ui);letter-spacing:0.08em;font-size:0.9rem}
/* Numbered list */
.blormevo-numbered{padding:var(--blormevo-pad-y) 0;list-style:none;counter-reset:n;padding-left:0;max-width:900px;margin:0 auto}
.blormevo-numbered li{counter-increment:n;padding:1rem 0 1rem 4rem;position:relative;border-bottom:1px solid var(--blormevo-border);font-size:1.05rem}
.blormevo-numbered li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:0.8rem;font-family:var(--blormevo-f-display);font-size:2.4rem;color:var(--blormevo-accent);line-height:1;pointer-events:none}
/* Rail */
.blormevo-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;padding:var(--blormevo-pad-y) 0}
.blormevo-rail article{padding:1.2rem;border:1px solid var(--blormevo-border);background:var(--blormevo-card)}
.blormevo-rail h3{font-size:1.15rem;margin:0.4rem 0}
.blormevo-rail .meta{font-size:0.75rem;color:var(--blormevo-text-sec);font-family:var(--blormevo-f-ui);letter-spacing:0.1em;text-transform:uppercase}
/* CTA */
.blormevo-cta{padding:var(--blormevo-pad-y) 0;background:var(--blormevo-bg-alt);border-top:1px solid var(--blormevo-accent-dark);border-bottom:1px solid var(--blormevo-accent-dark)}
.blormevo-cta__inner{max-width:760px;margin:0 auto;padding:0 1.5rem;text-align:center}
.blormevo-cta h2{color:var(--blormevo-text)}
.blormevo-cta form{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;margin:1.2rem 0 0.8rem}
.blormevo-cta input[type=email]{flex:1;min-width:240px;max-width:360px;padding:0.8rem 1rem;border:1px solid var(--blormevo-border);background:var(--blormevo-bg);color:var(--blormevo-text);font-family:var(--blormevo-f-body);border-radius:var(--blormevo-radius)}
.blormevo-cta .micro{font-size:0.82rem;color:var(--blormevo-text-sec);font-family:var(--blormevo-f-ui)}
/* Contact card-stack */
.blormevo-purpose-list{display:flex;flex-direction:column;gap:1rem;padding:var(--blormevo-pad-y) 0}
.blormevo-purpose{padding:2rem;border:1px solid var(--blormevo-border);background:var(--blormevo-card);transition:background 0.3s}
.blormevo-purpose__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
.blormevo-purpose__title{font-family:var(--blormevo-f-display);font-size:1.6rem;margin:0}
.blormevo-purpose__arrow{font-family:var(--blormevo-f-ui);font-size:1.4rem;color:var(--blormevo-accent);transition:transform 0.3s;display:inline-block}
.blormevo-purpose.is-open .blormevo-purpose__arrow{transform:rotate(90deg)}
.blormevo-purpose__form{display:none;margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--blormevo-border)}
.blormevo-purpose.is-open .blormevo-purpose__form{display:block}
.blormevo-purpose__form label{display:block;margin:0.6rem 0 0.3rem;font-family:var(--blormevo-f-ui);font-size:0.85rem;color:var(--blormevo-text-sec)}
.blormevo-purpose__form input,.blormevo-purpose__form select,.blormevo-purpose__form textarea{width:100%;padding:0.7rem;background:var(--blormevo-bg);border:1px solid var(--blormevo-border);color:var(--blormevo-text);font-family:var(--blormevo-f-body);border-radius:8px}
.blormevo-purpose__form textarea{min-height:120px;resize:vertical}
/* Office block */
.blormevo-office{display:grid;grid-template-columns:1fr;gap:1.4rem;padding:var(--blormevo-pad-y) 0}
@media(min-width:900px){.blormevo-office{grid-template-columns:1fr 1fr}}
.blormevo-office iframe{width:100%}
/* Footer */
.blormevo-footer{background:var(--blormevo-bg-alt);border-top:1px solid var(--blormevo-border);padding:4rem 0 2rem}
.blormevo-footer__grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1240px;margin:0 auto;padding:0 1.5rem}
@media(min-width:900px){.blormevo-footer__grid{grid-template-columns:1.4fr 1fr 1.2fr 1fr}}
.blormevo-footer h5{font-family:var(--blormevo-f-ui);font-size:0.82rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--blormevo-accent);margin:0 0 0.8rem}
.blormevo-footer ul{list-style:none;padding:0;margin:0}
.blormevo-footer li{padding:0.3rem 0;font-size:0.92rem}
.blormevo-footer__brand p{font-size:0.95rem;color:var(--blormevo-text-sec)}
.blormevo-footer__social{display:flex;gap:0.6rem;margin-top:0.8rem}
.blormevo-footer__social a{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--blormevo-border);border-radius:999px}
.blormevo-footer__bottom{max-width:1240px;margin:2rem auto 0;padding:1.4rem 1.5rem 0;border-top:1px solid var(--blormevo-border);font-size:0.82rem;color:var(--blormevo-text-sec);display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.6rem}
/* Cookie */
.cc-consent{position:fixed;left:0;right:0;bottom:0;z-index:9999}
.cc-consent.cc-hidden{display:none}
.cc-banner{background:var(--blormevo-bg-alt);border-top:2px solid var(--blormevo-accent);padding:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.cc-banner__text{flex:1;min-width:280px}
.cc-banner__text h3{font-size:1.1rem;margin:0 0 0.4rem}
.cc-banner__text p{margin:0;font-size:0.9rem;color:var(--blormevo-text-sec)}
.cc-banner__actions{display:flex;gap:0.5rem;flex-wrap:wrap}
.cc-banner__actions button{padding:0.6rem 1rem;border:1px solid var(--blormevo-accent);background:transparent;color:var(--blormevo-text);font-family:var(--blormevo-f-ui);font-size:0.85rem;cursor:pointer;border-radius:999px;min-width:130px}
.cc-banner__actions button[data-cc-action=accept-all]{background:var(--blormevo-accent);color:#06121C}
.cc-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);align-items:center;justify-content:center;padding:1rem}
.cc-consent.cc-modal-open .cc-modal{display:flex}
.cc-modal__inner{background:var(--blormevo-bg);padding:2rem;max-width:560px;width:100%;border:1px solid var(--blormevo-border);max-height:90vh;overflow-y:auto}
.cc-cat{display:flex;justify-content:space-between;align-items:center;padding:0.8rem 0;border-bottom:1px solid var(--blormevo-border)}
.cc-cat__info h4{margin:0 0 0.2rem;font-size:1rem}
.cc-cat__info p{margin:0;font-size:0.82rem;color:var(--blormevo-text-sec)}
.cc-modal__actions{display:flex;gap:0.6rem;margin-top:1.2rem;flex-wrap:wrap}
.cc-modal__actions button{padding:0.7rem 1.2rem;border:1px solid var(--blormevo-accent);background:transparent;color:var(--blormevo-text);cursor:pointer;border-radius:999px;font-family:var(--blormevo-f-ui)}
.cc-modal__actions button[data-cc-action=save]{background:var(--blormevo-accent);color:#06121C}
/* Page hero */
.blormevo-page-hero{padding:4rem 0 2rem}
.blormevo-page-hero h1{font-size:3.4rem}
/* Team */
.blormevo-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;padding:var(--blormevo-pad-y) 0}
.blormevo-team article{padding:1.2rem;border:1px solid var(--blormevo-border);background:var(--blormevo-card)}
.blormevo-team h3{font-size:1.2rem}
.blormevo-team .role{font-family:var(--blormevo-f-ui);font-size:0.82rem;color:var(--blormevo-accent);letter-spacing:0.1em;text-transform:uppercase}
/* Tables / lists policy */
.blormevo-legal h2{font-size:1.8rem;margin-top:2rem}
.blormevo-legal h3{font-size:1.2rem;margin-top:1.4rem}
.blormevo-legal dl dt{font-weight:700;margin-top:1rem}
.blormevo-legal dl dd{margin:0 0 0.6rem;color:var(--blormevo-text-sec)}
.blormevo-disclaimer{font-size:0.85rem;color:var(--blormevo-text-sec);border-top:1px dashed var(--blormevo-border);padding-top:1rem;margin-top:2rem}
/* Related */
.blormevo-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:var(--blormevo-pad-y) 0}
.blormevo-related article{padding:1.2rem;border:1px solid var(--blormevo-border);background:var(--blormevo-card)}
@media(max-width:600px){:root{--blormevo-h1:3rem;--blormevo-h2:2rem}}